.quote-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:38px 0 26px; }
.quote-intro h1 { font-size:clamp(1.8rem,3vw,3rem); margin:10px 0; }
.quote-intro p { color:#64748b; max-width:650px; margin:0; }
.quote-eyebrow { color:#bf5234; font-size:.72rem; letter-spacing:.13em; font-weight:700; }
.quote-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:20px; }
.quote-card { border:1px solid #e3e7ed; border-radius:20px; padding:26px; background:white; min-width:0; overflow-wrap:anywhere; }
.quote-card h2 { font-size:1.4rem; margin:16px 0 10px; }
.quote-card p { color:#64748b; }
.quote-state { display:inline-block; padding:6px 12px; border-radius:30px; font-size:.76rem; background:#fff0e9; color:#a34226; font-weight:700; }
.quote-price { font-size:clamp(1.3rem,2.3vw,2rem); font-weight:750; color:#183f32; margin:18px 0; }
.quote-detail-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); align-items:start; gap:24px; }
.quote-specs { margin:24px 0 0; }
.quote-specs > div { display:grid; grid-template-columns:140px 1fr; border-bottom:1px solid #edf0f4; gap:16px; padding:14px 0; }
.quote-specs dt { color:#64748b; font-size:.88rem; }
.quote-specs dd { margin:0; }
.quote-specs small,.quote-history-item small { display:block; color:#64748b; margin-top:4px; }
.quote-prewrap { white-space:pre-wrap; overflow-wrap:anywhere; }
.quote-history-item { padding:14px 0; border-bottom:1px solid #edf0f4; }
.quote-history-item p { margin:6px 0 0; }
.quote-empty { text-align:center; background:white; border:1px dashed #d6dce5; border-radius:24px; padding:60px 20px; }
.quote-empty > i { font-size:3rem; color:#e16445; }
.quote-gallery > img { width:100%; height:360px; object-fit:contain; background:#f7f8fa; border-radius:16px; }
.quote-thumbnails { display:flex; gap:8px; overflow:auto; padding:12px 0; }
.quote-thumbnail { border:1px solid #e3e7ed; background:white; border-radius:10px; padding:4px; flex-shrink:0; }
.quote-thumbnail[aria-pressed="true"] { border-color:#d45a39; }
.quote-thumbnail img { height:64px; width:72px; object-fit:contain; }
.quote-photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.quote-photo-option { border:1px solid #e3e7ed; padding:10px; border-radius:14px; font-size:.8rem; }
.quote-photo-option img { display:block; width:100%; height:110px; object-fit:contain; margin-bottom:10px; }
.quote-promise { padding:20px; border-radius:16px; background:#ecf6f0; color:#225740; }
.quote-custom-part { padding:20px; border-radius:16px; background:#f5f7fa; }
.quote-custom-fields[hidden] { display:none; }
.quote-validation.validation-summary-valid { display:none; }
.quote-toast { position:fixed; bottom:26px; right:24px; max-width:calc(100vw - 32px); z-index:1090; background:#183f32; color:white; border-radius:16px; padding:18px 22px; box-shadow:0 14px 40px #0002; }
.quote-toast a { color:white; font-weight:700; }
.quote-home { display:flex; align-items:center; gap:24px; justify-content:space-between; background:#131c2c; color:white; padding:32px; border-radius:22px; margin-top:24px; }
.storefront .quote-home h2 { color:white; margin:8px 0; }
.quote-home p { color:#c9d3e2; margin:0; }
.quote-home .quote-eyebrow { color:#ffb497; }
.quote-home .btn { white-space:nowrap; }
@media(max-width:767px) {
    .quote-intro,.quote-home { flex-direction:column; align-items:flex-start; padding:24px 18px; }
    .quote-intro { padding-left:0; padding-right:0; }
    .quote-detail-grid { grid-template-columns:1fr; }
    .quote-card { padding:20px; }
    .quote-specs > div { grid-template-columns:1fr; gap:5px; }
    .quote-gallery > img { height:240px; }
    .quote-toast { bottom:88px; right:16px; }
    #quoteForm .pc-model { font-size:.85rem; max-width:100%; }
    #quoteForm .pc-actions { gap:10px; flex-wrap:wrap; }
}
