/* Guided four-step estimator */
.step-form{display:block;border:1px solid var(--taupe);background:rgba(255,253,248,.55);padding:clamp(22px,3vw,38px)}
.step-progress{margin-bottom:30px}.step-progress>span{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700;color:var(--gold);margin-bottom:12px}.step-progress>div{height:2px;background:var(--taupe);overflow:hidden}.step-progress i{display:block;height:100%;width:25%;background:var(--gold);transition:width .25s ease}
.form-step{display:none;border:0;padding:0;margin:0}.form-step.is-active{display:block}.form-step>legend{float:left;width:100%;font-family:Georgia,serif;font-size:31px;margin:0 0 8px}.form-step>legend span{font-family:Arial,Helvetica,sans-serif;color:var(--gold);font-size:10px;letter-spacing:.14em;margin-right:10px}.form-step>p{clear:both;color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 25px}
.step-grid,.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.step-grid .wide-field{grid-column:1/-1}.step-grid label,.addon-grid>label{min-width:0}.step-grid label:nth-child(n),.addon-grid label:nth-child(n){grid-column:auto}
.step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.step-actions .button{min-height:54px}.step-back{background:transparent;border:1px solid var(--taupe);color:var(--ink)}.step-back:hover{border-color:var(--gold);color:var(--gold)}
.addons{display:none;border:0;padding:0;margin:0;background:transparent;grid-column:auto;grid-template-columns:none;gap:0}.addons.is-active{display:block}.addon-grid{clear:both}.addons .addon-grid label{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:bold}.addons .addon-grid label small{display:block;color:var(--muted);font-size:10px;letter-spacing:0;text-transform:none;margin-top:4px}.addons .check-option{display:flex!important;align-items:center!important;gap:12px!important;border:1px solid #c9baa2;background:#fffdf8;padding:14px 16px}.addons .check-option input{width:18px;height:18px;flex:0 0 auto;margin:0}.addons .check-option span{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-transform:none;letter-spacing:0}.addons .check-option span b{font-size:13px;font-weight:600}.addons .check-option span small{margin:0;color:var(--gold)}
.form-step .estimate-result{margin-bottom:26px}.contact-fields{display:grid;border-top:1px solid var(--taupe)}.contact-fields button{width:100%}.final-actions{justify-content:flex-start;margin-top:14px}.step-form>.form-status,.step-form>.consent-note{display:block;margin-top:15px}.step-form>.consent-note{font-size:10px;color:var(--muted)}
.marketing-optin{display:flex!important;align-items:flex-start;gap:10px;border:1px solid var(--taupe);padding:14px 16px;text-transform:none!important;letter-spacing:0!important}.marketing-optin input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0}.marketing-optin span{font-size:12px;line-height:1.45;font-weight:600}.marketing-optin small{display:inline!important;font-size:11px!important;font-weight:400}.step-save-status{min-height:20px;margin:14px 0 -8px!important;color:var(--muted)!important;font-size:12px!important}.contact-fields>p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}
.field-note{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:400}
.route-status{display:block;min-height:15px;margin-top:5px;font-size:10px;line-height:1.4;letter-spacing:0;text-transform:none;font-weight:600}.route-status.is-loading{color:var(--muted)}.route-status.is-success{color:#2f6b48}.route-status.is-warning{color:#8a5a24}
@media(max-width:560px){.step-form{padding:22px 16px}.step-grid,.addon-grid{grid-template-columns:1fr}.step-grid .wide-field{grid-column:auto}.step-actions{justify-content:stretch}.step-actions .button{flex:1;padding:0 15px}.form-step>legend{font-size:27px}.addons .check-option span{flex-wrap:wrap}}
