.quote-basket-dialog {
  width:min(74rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem);
  background:#fff; color:#272b25; border:1px solid #b6a58a; border-radius:.65rem; color-scheme:light;
}
.quote-basket-dialog [hidden] { display:none !important; }
.quote-basket-surface { display:block; min-height:0; max-height:calc(100dvh - 2rem); padding:0; overflow-y:auto; overscroll-behavior:contain; }
.quote-basket-header { position:sticky; top:0; z-index:2; padding:1.35rem 2rem; background:#080a08; color:#fff; border-bottom:2px solid #b7945c; align-items:center; gap:1.5rem; }
.quote-basket-header p { margin:0 0 .45rem; font-size:.75rem; letter-spacing:.15em; color:#d5b785; }
.quote-basket-header h2 { margin:0; font:400 clamp(1.9rem,2.8vw,2.65rem)/1.1 Georgia,serif; letter-spacing:-.025em; }
.rfq-header-caption { display:block; font-size:.875rem; line-height:1.5; color:#bcbfb6; margin-top:.6rem; }
.quote-basket-header .dialog-close { position:static; flex-shrink:0; color:#fff; border-color:#ffffff45; width:2.75rem; height:2.75rem; }
.rfq-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:start; }
.rfq-selection { padding:2rem; background:#f5f5f0; border-right:1px solid #e0e2d8; min-width:0; align-self:stretch; }
.rfq-section-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.7rem 1rem; width:100%; }
.rfq-section-title h3,.rfq-section-title .rfq-legend-label { display:flex; gap:.7rem; align-items:center; margin:0; font-size:1.2rem; font-weight:600; color:#272b25; }
.rfq-section-title h3 > span,.rfq-legend-label > span { display:grid; place-items:center; width:1.6rem; height:1.6rem; background:#e9e2d4; color:#765a30; font-size:.75rem; font-weight:600; border-radius:50%; }
.rfq-section-title p { font-size:.875rem; color:#4e5946; margin:0; padding:.35rem .65rem; background:#e7ebdf; border-radius:1rem; }
.quote-basket-intro { color:#65705c; font-size:.9375rem; line-height:1.65; margin:.85rem 0 1.25rem; }
.quote-basket-list { display:grid; align-content:start; overflow-y:auto; max-height:clamp(20rem,48dvh,34rem); gap:.85rem; padding:.15rem; scrollbar-width:thin; }
.quote-line { display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:.6rem .9rem; padding:1rem; background:#fff; border:1px solid #d9ddd0; border-radius:.4rem; }
.quote-line-media { grid-row:span 2; width:4.5rem; height:4.5rem; background:#f6f6f2; padding:.3rem; aspect-ratio:1; }
.quote-line-media img,.quote-line-media svg { width:100%; height:100%; object-fit:contain; object-position:center; }
.quote-line h3 { margin:0 0 .3rem; font-size:1rem; line-height:1.4; color:#272b25; overflow-wrap:anywhere; }
.quote-line p { color:#687360; font-size:.8125rem; line-height:1.5; margin:0; overflow-wrap:anywhere; }
.quote-line-controls { grid-column:2; display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.5rem; }
.quote-line-quantity { display:grid; grid-template-columns:2.75rem 3rem 2.75rem; background:#fafbf7; border:1px solid #d6dccd; border-radius:.2rem; overflow:hidden; }
.quote-line-action { color:#45523d; border:0; min-width:2.75rem; min-height:2.75rem; font:inherit; background:transparent; cursor:pointer; }
.quote-line-action:hover { background:#e8eddf; color:#252b23; }
.quote-line-action:disabled { opacity:.35; cursor:not-allowed; }
.quote-line-quantity input { width:3rem; min-width:0; padding:0 .1rem; border:0; border-inline:1px solid #d6dccd; background:#fff; font:inherit; font-size:1rem; text-align:center; color:#252b23; appearance:textfield; -moz-appearance:textfield; }
.quote-line-quantity input::-webkit-inner-spin-button,.quote-line-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.quote-line-remove { color:#687360; font-size:.875rem; padding:.25rem; text-decoration:underline; text-underline-offset:3px; }
.rfq-item-notes { grid-column:1/-1; display:block; font-size:.875rem; color:#626d5c; margin-top:.2rem; }
.rfq-item-notes textarea { display:block; width:100%; box-sizing:border-box; margin-top:.4rem; padding:.65rem .75rem; border:1px solid #d9ddd0; border-radius:.2rem; font:inherit; font-size:1rem; line-height:1.4; resize:vertical; color:#252b23; background:#fafbf7; }
.rfq-item-notes textarea::placeholder { font-size:.875rem; color:#77816f; }
.rfq-basket-feedback { font-size:.875rem; line-height:1.5; color:#58634e; margin:.5rem 0; }
.rfq-basket-feedback:empty { display:none; }
.quote-basket-continue { display:inline-block; background:transparent; color:#4d5945; border:0; padding:.85rem 0; font:inherit; font-size:.875rem; cursor:pointer; text-align:left; }
.rfq-document-note { display:flex; gap:.85rem; margin-top:.5rem; padding-top:1.25rem; border-top:1px solid #d8ddcf; }
.rfq-document-note > span { display:grid; place-items:center; align-self:flex-start; flex-shrink:0; width:2.6rem; height:3.1rem; border:1px solid #baa57f; border-radius:.2rem; color:#765a30; font-size:.75rem; letter-spacing:.06em; }
.rfq-document-note strong { display:block; font-size:.875rem; font-weight:600; line-height:1.5; }
.rfq-document-note p { margin:.35rem 0 0; font-size:.875rem; line-height:1.65; color:#65705c; }
.quote-basket-empty { color:#687160; background:#fff; border:1px dashed #bfc8af; line-height:1.7; border-radius:.35rem; padding:2rem 1.25rem; text-align:center; }
.quote-basket-empty strong { font-size:1.15rem; color:#35412d; }
.quote-basket-empty p { margin:.65rem 0; font-size:1rem; }
.quote-basket-empty a { display:inline-block; padding:.5rem; color:#3d4c31; text-decoration:underline; font-size:.9375rem; }
.rfq-form { padding:2rem; min-width:0; background:#fff; }
.rfq-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.rfq-form legend { padding:0; }
.rfq-form-intro { font-size:.9375rem; line-height:1.6; color:#626d59; margin:.85rem 0 1.4rem; }
.rfq-form-intro > span { display:block; font-size:.8125rem; margin-top:.25rem; color:#737e6a; }
.rfq-field-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 1rem; }
.rfq-form label { display:block; font-size:.875rem; font-weight:500; color:#36412e; margin-bottom:1rem; }
.rfq-form label small { color:#737e6a; font-size:.8125rem; font-weight:400; }
.rfq-required { color:#895e29; }
.rfq-form input,.rfq-form textarea,.rfq-form select { display:block; width:100%; min-width:0; box-sizing:border-box; padding:.75rem .8rem; min-height:2.9rem; margin-top:.45rem; font:inherit; font-size:1rem; font-weight:400; color:#252b23; background:#fafbf8; border:1px solid #cdd4c3; border-radius:.25rem; line-height:1.4; }
.rfq-form textarea { resize:vertical; min-height:6rem; }
.rfq-form input::placeholder,.rfq-form textarea::placeholder { color:#77816f; font-size:.9375rem; }
.quote-basket-dialog input:focus-visible,.quote-basket-dialog textarea:focus-visible,.quote-basket-dialog select:focus-visible,.quote-basket-dialog button:focus-visible,.quote-basket-dialog a:focus-visible,.quote-basket-dialog summary:focus-visible { outline:2px solid #9e8250; outline-offset:3px; }
.rfq-project-details { border:1px solid #dce1d4; background:#fafbf8; border-radius:.3rem; margin:.25rem 0 1.35rem; }
.rfq-project-details summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.95rem 1rem; list-style:none; cursor:pointer; color:#36412e; }
.rfq-project-details summary::-webkit-details-marker { display:none; }
.rfq-project-details summary strong { display:block; font-size:.9375rem; font-weight:600; }
.rfq-project-details summary small { display:block; font-size:.8125rem; margin-top:.3rem; color:#687360; }
.rfq-details-toggle { font-size:1.5rem; font-weight:400; transition:transform 180ms ease; }
.rfq-project-details[open] .rfq-details-toggle { transform:rotate(45deg); }
.rfq-project-fields { padding:0 1rem .1rem; border-top:1px solid #e3e7da; }
.rfq-project-fields .rfq-field-grid { padding-top:1rem; }
.rfq-submit-area { border-top:1px solid #e0e5d7; padding-top:1.2rem; margin-top:1.25rem; }
.rfq-delivery { display:grid; gap:.4rem; margin:0 0 1rem; font-size:.8125rem; line-height:1.6; color:#66715d; overflow-wrap:anywhere; }
.rfq-delivery-label { font-size:.875rem; font-weight:600; color:#37412e; }
.rfq-submit { display:flex; justify-content:space-between; align-items:center; gap:1rem; width:100%; box-sizing:border-box; padding:1rem 1.2rem; background:#273820; color:#fff; border:1px solid #273820; border-radius:.25rem; font:inherit; font-size:1rem; font-weight:600; cursor:pointer; text-decoration:none; }
.rfq-submit:hover { background:#3b4e2f; }
.rfq-submit:disabled { opacity:.45; cursor:not-allowed; }
.rfq-send-note { font-size:.8125rem; color:#69745e; text-align:center; line-height:1.6; margin:.8rem 0 0; }
.rfq-mode-note { color:#71572b; background:#fbf4e6; border:1px solid #e2d1ae; border-radius:.25rem; padding:.75rem .85rem; font-size:.8125rem; line-height:1.6; margin:0 0 .9rem; }
.rfq-status { margin:1rem 0 0; color:#4c6640; font-size:.9375rem; line-height:1.6; }
.rfq-status:empty { display:none; }
.rfq-status.is-error { color:#9a3428; }
.rfq-download { display:inline-block; padding:.8rem 0; color:#4c6640; text-decoration:underline; font-size:.9375rem; }
.rfq-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.rfq-success { text-align:center; padding:clamp(1.25rem,3vw,2.5rem); max-width:64rem; margin:auto; outline:none; }
.rfq-success-mark { width:4rem; height:4rem; margin:0 auto 1.5rem; display:grid; place-items:center; border-radius:50%; background:#e2ead7; color:#4d6936; font-size:1.8rem; }
.rfq-eyebrow { font-size:.75rem; letter-spacing:.12em; color:#806132; }
.rfq-success h3 { margin:1rem 0; font:400 clamp(2rem,3vw,2.7rem)/1.15 Georgia,serif; color:#252b23; }
.rfq-success > p:not(.rfq-eyebrow) { line-height:1.8; font-size:1rem; color:#626d59; max-width:42rem; margin-inline:auto; }
.rfq-reference { display:grid; gap:.5rem; max-width:42rem; margin:1.5rem auto; padding:1rem; border:1px solid #d7decc; border-radius:.3rem; }
.rfq-reference span { font-size:.875rem; color:#626d59; }
.rfq-reference strong { font-size:1rem; overflow-wrap:anywhere; }
.rfq-another { display:block; border:0; background:none; padding:1.2rem; margin:auto; color:#4c6640; font:inherit; text-decoration:underline; cursor:pointer; }
.rfq-success > .rfq-submit { max-width:30rem; margin-inline:auto; }
.rfq-pdf-preview { margin:1.5rem 0; text-align:left; border:1px solid #d5dacd; border-radius:.4rem; overflow:hidden; background:#ebece6; }
.rfq-pdf-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem 1.25rem; padding:1rem 1.25rem; background:#f7f8f3; border-bottom:1px solid #d5dacd; }
.rfq-pdf-toolbar h4 { margin:0; font-size:1rem; font-weight:600; color:#303a29; }
.rfq-pdf-toolbar p { margin:.35rem 0 0; font-size:.875rem; color:#637057; line-height:1.5; }
.rfq-pdf-toolbar > a { display:inline-flex; align-items:center; gap:.75rem; padding:.65rem .9rem; min-height:2.75rem; border:1px solid #b8c1aa; border-radius:.25rem; color:#37492c; text-decoration:none; font-size:.875rem; white-space:nowrap; }
.rfq-pdf-toolbar > a:hover { background:#e6ecde; }
.rfq-pdf-document { display:block; width:100%; height:clamp(25rem,65dvh,48rem); border:0; background:#e1e3db; }
.rfq-pdf-fallback { display:grid; align-content:center; justify-items:center; padding:2rem; min-height:16rem; text-align:center; color:#3f4b35; font-size:1rem; line-height:1.7; }
.rfq-pdf-fallback a { color:inherit; text-decoration:underline; padding:.5rem; }
.rfq-pdf-help { padding:.8rem 1.25rem; margin:0; background:#f7f8f3; font-size:.8125rem; line-height:1.5; color:#647057; }
@media (max-width:1050px) and (min-width:801px) { .rfq-selection,.rfq-form { padding:1.5rem; } .rfq-field-grid { grid-template-columns:1fr; } .quote-line-controls { grid-column:1/-1; } }
@media(max-width:800px) {
  .quote-basket-dialog { width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); border:1px solid #b6a58a; border-radius:.5rem; }
  .quote-basket-surface { min-height:0; max-height:calc(100dvh - 1rem); }
  .quote-basket-header { padding:1.2rem 1.25rem; align-items:flex-start; }
  .rfq-layout { grid-template-columns:1fr; }
  .rfq-selection,.rfq-form { padding:1.5rem; }
  .rfq-selection { border-right:0; border-bottom:1px solid #d9dcd0; }
  .quote-basket-list { max-height:25rem; }
}
@media(max-width:520px) {
  .rfq-field-grid { grid-template-columns:1fr; }
  .rfq-selection,.rfq-form { padding:1.25rem; }
  .quote-line-controls { grid-column:1/-1; }
  .quote-basket-header p { letter-spacing:.1em; }
  .rfq-header-caption { font-size:.8125rem; }
}
@media(prefers-reduced-motion:reduce) { .rfq-details-toggle { transition:none; } }
