/* Unified quote materials: scoped to the public quote form. */
#qRequestForm { min-width: 0; }
#qRequestForm .quote-form-section { min-width: 0; }
#qMaterialDetails { padding: 0; border: 0; }
#qMaterialDetails #sectionCatalog { padding-bottom: 0; }
#qMaterialDetails #sectionCustom { margin: 0; padding-top: 0; border: 0; }
#qMaterialDetails #sectionCustom:has(#qCustomItems:empty):not(:has(#qHardwareToggleWrap[style*="display: block"])) { padding-bottom: 0; }
#qRequestForm .q-discovery-toggle { min-height: 44px; min-width: 44px; padding: .55rem .75rem; margin-top: .35rem; border: 1px solid var(--timber-border); border-radius: 5px; background: #fff; color: var(--timber-green); font: inherit; font-size: .9rem; }
#qRequestForm .q-discovery-results { max-height: min(20rem, 45vh); max-height: min(20rem, 45dvh); overflow-y: auto; overscroll-behavior: contain; padding: .3rem; border: 1px solid var(--timber-border); border-radius: 6px; scroll-padding: .4rem; }
#qSpeciesGrid { min-width: 0; }
#qSpeciesGrid .q-material-group { margin: .6rem .35rem .25rem; font-size: .9rem; font-weight: 700; }
#qSpeciesGrid .q-material-list { list-style: none; margin: 0; padding: 0; }
#qSpeciesGrid .q-material-list > li { margin: 0; padding: 0; }
#qSpeciesGrid .q-material-result { display: flex; align-items: center; justify-content: flex-start; gap: .75rem; width: 100%; min-width: 44px; min-height: 48px; margin: .2rem 0; padding: .65rem; border: 1px solid var(--timber-border); border-radius: 5px; background: #fff; color: var(--timber-text, #333); font: inherit; line-height: 1.35; text-align: left; }
#qSpeciesGrid .q-material-label { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
#qSpeciesGrid .q-material-name { display: block; font-size: .95rem; font-weight: 600; }
#qSpeciesGrid .q-material-category { display: block; font-size: .78rem; color: var(--timber-muted); }
#qSpeciesGrid .q-material-action { flex: 0 0 auto; max-width: 5.5rem; font-size: .85rem; color: var(--timber-green); text-align: right; }
#qSpeciesGrid .q-material-added { background: #f2fbf5; border-color: var(--timber-green); }
#qRequestForm .q-discovery-toggle:focus-visible, #qSpeciesGrid .q-material-result:focus-visible { outline: 3px solid var(--timber-gold); outline-offset: 1px; }
#qRequestForm #qNoSpeciesResults { margin: .75rem; }
#qRequestForm .q-material-status { min-height: 1.4em; margin: .35rem 0; font-size: .85rem; }
#qRequestForm .q-optional { font-size: .85em; font-weight: 400; }
#qRequestForm .q-inline-action { border: 0; background: transparent; color: var(--timber-green); padding: 0; text-decoration: underline; }
#qRequestForm .q-custom-action { margin: .5rem 0 1rem; }
#qRequestForm .quote-selected-card { min-width: 0; }
#qRequestForm .quote-selected-header { align-items: flex-start; gap: .75rem; }
#qRequestForm .quote-selected-header strong { overflow-wrap: anywhere; }
#qRequestForm .quote-selected-header .btn-remove-item { min-width: 44px; min-height: 44px; }
#qRequestForm .q-material-summary { color: var(--timber-muted); font-size: .88rem; margin: .3rem 0 .7rem; }
#qRequestForm .q-specification-details > summary { padding: .5rem 0; color: var(--timber-green); font-weight: 600; cursor: pointer; }
#qRequestForm .q-specification-details > .row { margin-top: .5rem; }
#qRequestForm .q-quantity-help { margin: .5rem 0; font-size: .85rem; }
#qRequestForm .q-quantity-help p { margin: .5rem 0; }
#qRequestForm .q-planner-link { display: inline-block; margin: 0 0 .5rem; }
#qRequestForm .q-confirmation-note { background: #fff8ee; padding: .65rem; margin: .5rem 0; font-size: .85rem; }
#qRequestForm select, #qRequestForm input, #qRequestForm textarea { max-width: 100%; }
#qRequestForm [hidden] { display: none !important; }
#qCompactReview { padding: 1rem; background: #f5f7f3; border-radius: 6px; }
