.quote-header,.quote-main,.quote-footer { max-width:1000px; margin:auto; padding:24px; }
.quote-header { display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid #2c3040; }
.quote-logo { display:flex; align-items:center; gap:8px; color:#fff; font-weight:700; text-decoration:none; }
.quote-logo strong,.quote-eyebrow { color:#b6e94d; }
.quote-header nav { display:flex; flex-wrap:wrap; gap:20px; font-size:.9rem; }
.quote-header a,.quote-back,.quote-other a,.quote-footer a { color:#c6ed8e; }
.quote-main { padding-top:36px; }
.quote-back { display:inline-block; margin-bottom:32px; }
.quote-eyebrow { font-size:.8rem; letter-spacing:.1em; margin-bottom:12px; }
.quote-main h1 { font-size:clamp(2rem,5vw,3.4rem); line-height:1.15; margin-bottom:16px; }
.quote-intro { color:#c2c7d2; max-width:650px; line-height:1.7; margin-bottom:28px; }
.quote-selector { display:grid; grid-template-columns:1fr 1.4fr 1.3fr; gap:18px; padding:24px; border:1px solid #353b4b; border-radius:18px; background:#161b24; }
.quote-selector label { display:block; font-size:.9rem; margin-bottom:10px; font-weight:700; }
.quote-selector select { width:100%; min-height:48px; border:1px solid #626b80; border-radius:10px; padding:10px; background:#10141d; color:white; font:inherit; }
.quote-selector select:disabled { opacity:.6; }
.quote-main :is(button,a,input,select):focus-visible { outline:3px solid #bbec62; outline-offset:4px; }
#quote-status { color:#c1c8d3; margin:22px 0; line-height:1.6; }
#quote-results h2 { font-size:1.45rem; margin-bottom:10px; }
.quote-instructions { color:#bdc4d0; margin-bottom:20px; }
#quote-options { border:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; }
.quote-option { display:flex; align-items:flex-start; gap:12px; padding:22px; border:1px solid #555f72; border-radius:16px; background:#171c26; cursor:pointer; }
.quote-option:has(input:checked) { border-color:#b9ed65; box-shadow:0 0 0 1px #b9ed65; background:#202c20; }
.quote-option input { margin-top:5px; accent-color:#b6e94d; width:20px; height:20px; flex-shrink:0; }
.quote-option strong,.quote-option .quote-price { display:block; }
.quote-option .quote-price { font-size:1.65rem; color:#c6f483; font-weight:800; margin:12px 0; }
.quote-option small { color:#ccd2dd; font-size:.85rem; line-height:1.65; display:block; }
.quote-conditions { padding:18px 0; color:#d2d7df; line-height:1.6; }
.quote-next { border-top:1px solid #353b4b; padding-top:24px; }
#quote-summary { font-weight:600; margin-bottom:18px; line-height:1.6; }
.quote-actions { display:flex; flex-wrap:wrap; gap:14px; }
.quote-actions a,.quote-actions button { font:inherit; font-weight:700; border-radius:12px; padding:14px 20px; min-height:48px; cursor:pointer; text-decoration:none; text-align:center; }
.quote-actions .quote-wa { background:#b6e94d; color:#17230c; }
.quote-actions button { background:transparent; color:#e1e5ed; border:1px solid #626b80; }
.quote-fine,.quote-other,.quote-footer { font-size:.85rem; color:#b5bdca; line-height:1.7; margin-top:20px; }
.quote-other { padding-top:22px; }
.quote-footer { border-top:1px solid #353b4b; }
.quote-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
[hidden] { display:none !important; }
@media(max-width:700px) { .quote-header { align-items:flex-start; flex-direction:column; gap:14px; } .quote-header,.quote-main,.quote-footer { padding:20px; } .quote-selector { grid-template-columns:1fr; padding:18px; } #quote-options { grid-template-columns:1fr; } .quote-actions { flex-direction:column; } .quote-main h1 { font-size:2.2rem; } }
