.btn-estimate{background:#fff;color:#0a2d5e;border:2px solid #39a9e8;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.btn-estimate:hover{background:#eaf7ff;color:#08254d}
.estimate-builder{padding:clamp(4rem,7vw,6.5rem) 0;background:#f5f8fc;border-top:1px solid #dbe4ef;scroll-margin-top:5rem;color:#18283a}
.estimate-intro{max-width:760px;margin:0 auto 2.25rem;text-align:center}
.estimate-intro h2{margin:.35rem 0 .8rem;color:#0a2d5e;font-size:clamp(2rem,4vw,3rem)}
.estimate-intro p:last-child{font-size:1.05rem;color:#516274}
.estimate-progress{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;margin:0 auto 2rem;border:1px solid #cdd9e6;border-radius:14px;overflow:hidden;background:#fff}
.estimate-progress-step{appearance:none;border:0;border-right:1px solid #dce5ef;background:#fff;color:#617083;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.9rem .75rem;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}
.estimate-progress-step:last-child{border-right:0}.estimate-progress-step span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#e8eef5;color:#4b5c70;font-size:.8rem}
.estimate-progress-step.active{color:#0a2d5e;background:#edf8ff}.estimate-progress-step.active span{background:#168fd1;color:#fff}.estimate-progress-step.complete span{background:#0a6b4d;color:#fff}
.estimate-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.5rem;align-items:start}
.estimate-main{min-width:0}.estimate-step{display:none}.estimate-step.active{display:block}.estimate-step>.estimate-section-heading,.estimate-fieldset,.estimate-product-card,.final-review,.estimate-consent,.step-actions{background:#fff;border:1px solid #d7e1ec;border-radius:16px;box-shadow:0 8px 24px rgba(15,45,78,.06)}
.estimate-step>.estimate-section-heading{padding:1.5rem 1.6rem;margin-bottom:1rem}.estimate-section-heading h3{margin:.2rem 0 0;color:#0a2d5e;font-size:1.55rem}.estimate-section-heading p{margin:.45rem 0 0;color:#5c6e81}.estimate-kicker{color:#168fd1;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}
.estimate-product-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.25rem;align-items:center;padding:1rem 1.4rem;margin-bottom:1rem}.estimate-product-card img{width:150px;height:150px;object-fit:contain}.estimate-product-card h4{font-size:1.25rem;color:#0a2d5e;margin:0 0 .35rem}.estimate-product-card p{margin:.25rem 0}.estimate-price{color:#0a6b4d}
.estimate-fieldset{padding:1.45rem 1.5rem;margin:0 0 1rem;border:1px solid #d7e1ec}.estimate-fieldset legend{padding:0 .35rem;color:#0a2d5e;font-size:1.12rem;font-weight:800}.field-label{display:block;color:#0a2d5e;font-weight:800;margin-bottom:.65rem}.field-help{color:#66778a;font-size:.9rem;margin:.35rem 0 1rem}.field-notice{margin:1rem 0 0;padding:.8rem 1rem;border-left:4px solid #39a9e8;background:#f0f9ff;color:#41566d;font-size:.9rem}
.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.color-tile{position:relative;display:block;border:2px solid #d6e0eb;border-radius:12px;padding:.55rem;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.color-tile:hover{border-color:#8ec8e8;transform:translateY(-1px)}.color-tile.selected{border-color:#168fd1;box-shadow:0 0 0 3px rgba(22,143,209,.13)}.color-tile input{position:absolute;opacity:0;pointer-events:none}.color-image{display:grid;place-items:center;width:100%;aspect-ratio:1.3/1;border-radius:8px;overflow:hidden;background:#f3f6f9}.color-image img{width:100%;height:100%;object-fit:contain}.color-image.installation img{object-fit:cover}.color-image.maroon-focus img{object-position:23% 48%}.color-image.placeholder{border:1px dashed #a9b8c8;background:repeating-linear-gradient(135deg,#f7f9fb,#f7f9fb 10px,#eef2f6 10px,#eef2f6 20px);color:#697a8c;text-align:center;font-size:.74rem;font-weight:700}.color-name{display:block;padding:.62rem .1rem .15rem;color:#24384e;font-size:.9rem;font-weight:800}.selected-mark{position:absolute;right:.55rem;top:.55rem;width:1.55rem;height:1.55rem;border-radius:50%;display:none;place-items:center;background:#168fd1;color:#fff;font-weight:900}.color-tile.selected .selected-mark{display:grid}
.quantity-control{display:grid;grid-template-columns:48px minmax(100px,160px) 48px;width:max-content;border:1px solid #bccbda;border-radius:12px;overflow:hidden}.quantity-control button{border:0;background:#edf4fa;color:#0a2d5e;font-size:1.45rem;font-weight:800;cursor:pointer}.quantity-control input{min-width:0;border:0;border-left:1px solid #cbd7e3;border-right:1px solid #cbd7e3;padding:.8rem;text-align:center;font:inherit;font-size:1rem;font-weight:800;color:#172d44}.quantity-control input::-webkit-inner-spin-button{appearance:none}
.accessory-list{display:grid;gap:.75rem}.accessory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #dce5ee;border-radius:12px}.accessory-row h4{margin:0 0 .2rem;color:#17324e}.accessory-row p{margin:0;color:#647589;font-size:.9rem}.included-badge{background:#e7f7f0;color:#0a6b4d;border-radius:999px;padding:.4rem .7rem;text-transform:uppercase;font-size:.74rem;font-weight:900}.accessory-row.selectable{grid-template-columns:auto minmax(0,1fr) auto;cursor:pointer}.accessory-row.selectable>input{width:1.2rem;height:1.2rem;accent-color:#168fd1}.accessory-qty{display:flex;align-items:center;gap:.4rem;color:#52667b;font-size:.8rem;font-weight:700}.accessory-qty input{width:78px;padding:.6rem;border:1px solid #b9c8d8;border-radius:8px;font:inherit}.accessory-row:not(.selected) .accessory-qty{opacity:.55}
.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid label{position:relative;display:flex;cursor:pointer}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:flex;width:100%;align-items:center;justify-content:center;min-height:54px;padding:.7rem;border:2px solid #d5e0ea;border-radius:10px;background:#fff;color:#31485f;text-align:center;font-weight:700;font-size:.88rem}.choice-grid input:checked+span{border-color:#168fd1;background:#eaf7ff;color:#082f59;box-shadow:0 0 0 2px rgba(22,143,209,.12)}
.conditional-field{display:none}.conditional-field.show{display:block}.shipping-message{margin-top:1rem;padding:1rem;border:1px solid #f0c76d;border-radius:10px;background:#fff8e7}.shipping-message strong{color:#8a5400;text-transform:uppercase}.shipping-message p{margin:.4rem 0 0;color:#5c5260}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;color:#243a51;font-weight:700}.form-field.full{grid-column:1/-1}.form-field span{font-size:.92rem}.form-field em{font-style:normal;font-weight:400;color:#788797}.form-field input,.form-field select,.form-field textarea{width:100%;padding:.78rem .85rem;border:1px solid #b9c8d8;border-radius:9px;background:#fff;color:#162c42;font:inherit;font-weight:400}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid rgba(57,169,232,.18);border-color:#168fd1}.inline-choice{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem}.inline-choice>span{flex:1 1 100%}.inline-choice label{display:flex;align-items:center;gap:.4rem}.inline-choice input{width:auto;accent-color:#168fd1}.upload-field small{color:#718094;font-weight:400}.needs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.needs-grid label{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem;border-radius:8px;background:#f5f8fb;color:#354b62;font-size:.9rem;font-weight:700}.needs-grid input{margin-top:.16rem;accent-color:#168fd1}
.step-actions{display:flex;justify-content:flex-end;padding:1rem 1.2rem;margin-top:1rem}.step-actions.split{justify-content:space-between;gap:1rem}.step-actions .btn{text-align:center}.generate-estimate{text-transform:uppercase;letter-spacing:.03em}
.estimate-summary{position:sticky;top:1rem;background:#0a2d5e;color:#fff;border-radius:18px;padding:1.35rem;box-shadow:0 14px 35px rgba(5,30,60,.2)}.estimate-summary h3{margin:0 0 1rem;color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem}.summary-product{display:grid;grid-template-columns:72px 1fr;gap:.8rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.18)}.summary-product img{width:72px;height:72px;object-fit:contain;border-radius:9px;background:#fff}.summary-product strong,.summary-product span{display:block}.summary-product span{margin-top:.2rem;color:#c9d8e8;font-size:.85rem}.estimate-summary dl{margin:1rem 0}.estimate-summary dl>div{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.48rem 0;border-bottom:1px solid rgba(255,255,255,.11)}.estimate-summary dt{color:#cbd8e6}.estimate-summary dd{margin:0;text-align:right;font-weight:700}.estimate-summary .callout-value{color:#8fdbff;text-transform:uppercase}.summary-total{margin-top:1rem;padding:1rem;border-radius:11px;background:#fff;color:#0a2d5e}.summary-total span,.summary-total strong{display:block}.summary-total span{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.summary-total strong{margin-top:.3rem;font-size:1.1rem}.estimate-summary>p{margin:.85rem 0 0;color:#cbd8e6;font-size:.8rem;line-height:1.45}
.final-review{padding:1.35rem}.review-section{padding:1rem 0;border-bottom:1px solid #dce5ed}.review-section:first-child{padding-top:0}.review-section:last-child{border-bottom:0;padding-bottom:0}.review-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.review-header h4{margin:0;color:#0a2d5e}.review-edit{border:0;background:transparent;color:#0877b5;font-weight:800;cursor:pointer}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem}.review-grid div{display:flex;flex-direction:column}.review-grid span{font-size:.78rem;color:#738296;text-transform:uppercase;letter-spacing:.04em}.review-grid strong{margin-top:.1rem;color:#273c51;overflow-wrap:anywhere}.lead-flag{display:inline-block;margin:.3rem .35rem .2rem 0;padding:.35rem .55rem;border-radius:6px;background:#fff0cf;color:#744900;font-weight:900;font-size:.82rem}.estimate-consent{display:flex;gap:.7rem;align-items:flex-start;padding:1rem 1.2rem;margin-top:1rem;color:#3e5368;font-weight:700}.estimate-consent input{margin-top:.2rem;accent-color:#168fd1}.form-error{display:none;margin-top:1rem;padding:.9rem 1rem;border-radius:9px;background:#fff0f0;color:#9a2424;font-weight:700}.form-error.show{display:block}
.estimate-confirmation{max-width:800px;margin:0 auto;padding:2.5rem;border:1px solid #c9d9e7;border-radius:18px;background:#fff;text-align:center;box-shadow:0 14px 40px rgba(17,49,82,.1)}.confirmation-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#0a6b4d;color:#fff;font-size:2rem;font-weight:900}.estimate-confirmation h3{font-size:1.7rem;color:#0a2d5e;margin:.4rem 0}.confirmation-number{font-size:1.08rem}.estimate-confirmation .actions{justify-content:center;margin-top:1.5rem}.confirmation-next-card{margin:1rem 0;padding:1rem;border-radius:10px;background:#eef8ff;text-align:left}.confirmation-next-card strong{color:#0a2d5e}
@media(max-width:980px){.estimate-shell{grid-template-columns:1fr}.estimate-summary{position:relative;top:auto;grid-row:1;margin-bottom:.25rem}.color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.estimate-builder{padding:3.5rem 0}.estimate-progress-step{flex-direction:column;font-size:.75rem;padding:.7rem .35rem}.estimate-step>.estimate-section-heading,.estimate-fieldset,.estimate-product-card,.final-review,.estimate-consent{border-radius:12px}.estimate-product-card{grid-template-columns:100px minmax(0,1fr);padding:1rem}.estimate-product-card img{width:100px;height:100px}.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid,.choice-grid.three{grid-template-columns:1fr 1fr}.form-grid,.needs-grid,.review-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.accessory-row.selectable{grid-template-columns:auto minmax(0,1fr)}.accessory-row.selectable .accessory-qty{grid-column:2}.step-actions.split{flex-direction:column-reverse}.step-actions .btn{width:100%}.estimate-confirmation{padding:1.5rem}.estimate-confirmation .actions{display:grid}.estimate-confirmation .btn{width:100%}}
@media(max-width:420px){.color-grid,.choice-grid,.choice-grid.three{grid-template-columns:1fr}.estimate-product-card{grid-template-columns:1fr;text-align:center}.estimate-product-card img{margin:auto}.quantity-control{width:100%;grid-template-columns:48px 1fr 48px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
