/* Keep conditional fields hidden even when an older rule sets display:flex. */
#quote-form [hidden]{display:none!important}
.receipt-back-actions{justify-content:flex-start;margin:0 0 24px}
.quote-return-note{margin:0 0 24px;padding:14px 18px;border-left:3px solid #91b9cf;background:#102b3b;color:#d5e3eb;line-height:1.7;font-size:.9rem}
.quote-layout>div,.quote-result{min-width:0}
#film-addons-field .addon-scroll{max-height:284px;grid-template-columns:1fr;padding:4px 8px 4px 2px;scrollbar-gutter:stable}
#film-addons-field .addon-scroll label{display:grid!important;grid-template-columns:minmax(0,1fr) 94px auto;gap:10px!important}
#film-addons-field .addon-scroll input{width:100%!important;min-height:44px!important;padding:9px 8px;text-align:center}
.quote-checkout{grid-column:1/-1;padding:28px;border:1px solid #708795;background:#0b1e2d}
.quote-checkout h2{margin:7px 0 12px;font-size:1.3rem}
.quote-calculation{margin:20px 0;padding:15px 0;border-top:1px solid #526675;border-bottom:1px solid #526675}
.quote-calculation summary{cursor:pointer;font-size:.9rem;padding:4px 0}
#quote-price-breakdown{white-space:pre-line;font-size:.88rem;line-height:1.8;color:#b9cbd6}
#quote-total{margin:24px 0 20px}
#quote-total dl{margin:0;display:grid;gap:12px}
#quote-total dl>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline}
#quote-total dt{color:#b9cbd6}
#quote-total dd{margin:0;white-space:nowrap;font-weight:700}
#quote-total .grand-total{border-top:1px solid #526675;padding-top:18px;margin-top:6px}
#quote-total .grand-total dt{color:#fff}
#quote-total .grand-total dd{font-size:1.8rem;color:#fff}
#door-order-submit{display:block;width:100%}
#quote-addon-notice{border-left:3px solid #c9b99f;padding:12px 16px;background:#172e3c}
#quote-form .accessory-footer{grid-template-columns:1fr}
#quote-form .accessory-footer>div{padding:22px;border:1px solid #526675;background:#0b1e2d}
#quote-form .accessory-footer p{text-align:left}
@media(max-width:540px){.quote-checkout{padding:20px 16px}#quote-total dt{font-size:.84rem}#quote-total .grand-total dd{font-size:1.45rem}}

/* The unified card stays in normal form flow immediately before the notes. */
#quote{max-width:1560px}
#quote .category-content,#vendor-order,#quote-form{min-width:0}
#quote-form .quote-layout{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
#quote-configurator{position:static;top:auto;z-index:auto;display:flex;flex-direction:column;align-self:start;min-width:0;width:100%;box-sizing:border-box;max-height:none;margin:0;padding:0;overflow:visible;border:1px solid #506b7c;border-radius:10px;box-shadow:0 18px 50px #0003;background:#0b1e2d}
.configurator-body{min-height:0;overflow:visible;padding:20px 22px 12px}
#quote-configurator h2{margin:0 0 12px;font-size:1.05rem;line-height:1.3}
.selected-door{display:grid;grid-template-columns:minmax(80px,130px) minmax(0,1fr);gap:16px;align-items:center;margin-bottom:16px}
#quote-configurator #door-preview{min-width:0;line-height:0;background:white;border-radius:3px;padding:6px}
#quote-configurator #door-preview svg,#quote-configurator #door-preview img{display:block;width:100%;height:160px;max-height:none;object-fit:contain;margin:0}
#door-preview [data-pane]{cursor:pointer;outline:none}#door-preview [data-pane]:focus rect{stroke:#16749a;stroke-width:4}
#quote-configurator #quote-summary{margin:0;font-size:.8rem;line-height:1.65;overflow-wrap:anywhere;word-break:normal;color:#d5e3eb}
#product-finish-field{margin:0 0 28px}
#product-finish-field legend{margin-bottom:12px;font-size:.9rem}
#product-finish-field .finish-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#product-finish-field .finish-options label{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;text-align:center;border-radius:4px}
#product-finish-field .finish-options strong{font-size:.88rem}
#product-finish-field .finish-options label:focus-within{outline:2px solid #8dd5f1;outline-offset:2px}
#quote-configurator .quote-calculation{margin:12px 0 8px;padding:8px 0}
#quote-configurator .quote-calculation summary{font-size:.78rem}
#quote-configurator .configurator-body>.quote-note{font-size:.72rem!important;line-height:1.55;margin:8px 0 0}
#quote-configurator .quote-checkout{flex:none;min-width:0;padding:16px 22px;border:0;border-top:1px solid #506b7c;border-radius:0 0 10px 10px;background:#112a3b}
#quote-configurator .quote-checkout h2{font-size:.78rem;color:#a9c0cf;margin:0 0 10px}
#quote-configurator #quote-total{margin:0 0 12px}
#quote-configurator #quote-total dl{gap:7px}
#quote-configurator #quote-total dl>div{gap:10px;flex-wrap:wrap;font-size:.8rem}
#quote-configurator #quote-total .grand-total{margin-top:3px;padding-top:9px}
#quote-configurator #quote-total .grand-total dd{font-size:1.5rem}
#quote-configurator #door-order-submit{min-height:44px;padding:12px;font-weight:700}
#quote-configurator #quote-status{min-height:0;margin:6px 0 0;font-size:.78rem}#quote-status:empty{display:none}
#quote-configurator .checkout-help{margin:9px 0 0;font-size:.66rem;text-align:center;color:#adbfcb}
.glass-options-field{margin:0;min-width:0;padding:20px;border:1px solid #526675;border-radius:6px}
.glass-options-field legend{padding:0 8px;font-size:1rem}.glass-options-field p{margin:4px 0 14px!important}
.glass-bulk{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:18px}
.glass-bulk button{padding:12px;min-height:48px;border:1px solid #7894a6;border-radius:3px;background:#264254;color:#fff;font:inherit;font-size:.85rem;cursor:pointer}
#glass-pane-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
#glass-pane-options label{padding:10px;background:#102535;border:1px solid #354f60;border-radius:3px;font-size:.76rem}
#glass-pane-options label:focus-within{border-color:#92d7f2}#glass-pane-options select{background:#0b1e2d;padding:10px 8px;font-size:.85rem}
#glass-selection-preview{margin:0 0 20px;padding:16px;background:#fff;border-radius:5px}
#glass-selection-preview svg{display:block;width:100%;height:360px;max-width:430px;margin:auto}
#glass-selection-preview [data-pane]{cursor:pointer;outline:none}
#glass-selection-preview [data-pane]:focus>rect:first-child{stroke:#16749a;stroke-width:4}
@media(max-width:980px){
  #quote-form .quote-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .configurator-body{padding:12px 16px 8px}
  #quote-configurator h2{font-size:.9rem;margin-bottom:8px}
  .selected-door{grid-template-columns:70px minmax(0,1fr);gap:14px;margin-bottom:10px}
  #quote-configurator #door-preview svg,#quote-configurator #door-preview img{height:96px}
  #quote-configurator #quote-summary{font-size:.72rem;line-height:1.5}
  #product-finish-field legend{font-size:.85rem;margin-bottom:10px}
  #product-finish-field .finish-options label{min-height:48px;padding:12px}
  #product-finish-field .finish-options strong{font-size:.9rem}
  #quote-configurator .quote-checkout{padding:10px 16px}
  #quote-configurator .quote-checkout h2,#quote-configurator .checkout-help{display:none}
  #quote-configurator #quote-total dl{grid-template-columns:1fr 1fr;gap:4px 12px}
  #quote-configurator #quote-total dl>div{font-size:.7rem}
  #quote-configurator #quote-total .grand-total{grid-column:1/-1;padding-top:5px;margin-top:2px}
  #quote-configurator #quote-total .grand-total dd{font-size:1.2rem}
  #quote-configurator #quote-total{margin-bottom:8px}
}
@media(max-width:420px){.glass-options-field{padding:12px}.glass-bulk{grid-template-columns:1fr}.glass-bulk button{min-height:40px}.design-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}#quote{padding-left:4vw;padding-right:4vw}}
#glass-pane-options select{scroll-margin-top:140px}
@media(max-width:540px){#glass-selection-preview{padding:12px}#glass-selection-preview svg{height:300px}#glass-pane-options{grid-template-columns:1fr}}

.custom-film-field{min-width:0;margin:0;padding:18px;border:1px solid #526675;border-radius:6px}
.custom-film-field legend{padding:0 8px;font-size:.9rem}
.custom-film-field .quote-note{margin:0 0 14px!important}
.custom-film-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.custom-film-inputs label{min-width:0}
@media(max-width:540px){.custom-film-inputs{grid-template-columns:1fr}}
