@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root { --ink:#14251f; --muted:#69776f; --green:#147a4a; --green-dark:#0d5d38; --mint:#eaf5ee; --cream:#f5f6f1; --line:#dfe6e0; --white:#fff; --danger:#a33c3c; --shadow:0 22px 60px rgba(26,63,47,.09); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { color:inherit; font:inherit; }
.commerce-header { position:sticky; z-index:20; top:0; display:flex; align-items:center; justify-content:space-between; min-height:74px; padding:12px max(24px,calc((100% - 1180px)/2)); border-bottom:1px solid rgba(214,225,217,.9); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
.commerce-brand img { display:block; width:126px; height:auto; }
.commerce-header nav { display:flex; gap:5px; align-items:center; }
.commerce-header nav a { padding:9px 11px; border-radius:9px; color:#53645b; font-size:12px; font-weight:700; }
.commerce-header nav a:hover { color:var(--green); background:#edf5f0; }
.commerce-main { width:min(1180px,calc(100% - 40px)); min-height:calc(100vh - 150px); margin:0 auto; padding:38px 0 70px; }
.commerce-footer { display:flex; justify-content:space-between; gap:20px; padding:25px max(24px,calc((100% - 1180px)/2)); border-top:1px solid var(--line); color:var(--muted); background:#fff; font-size:11px; }
.commerce-footer span { color:var(--ink); font-weight:800; }.commerce-footer p{margin:0}
.flow-steps { display:flex; align-items:center; justify-content:center; margin:0 auto 38px; color:#8a968f; font-size:10px; font-weight:700; }
.flow-steps span { display:flex; align-items:center; gap:7px; white-space:nowrap; }.flow-steps i { display:grid; place-items:center; width:25px; height:25px; border:1px solid #ccd7cf; border-radius:50%; background:#fff; font-style:normal; }.flow-steps b{width:62px;height:1px;margin:0 8px;background:#d7dfd9}.flow-steps .active{color:var(--green)}.flow-steps .active i{color:#fff;border-color:var(--green);background:var(--green)}.flow-steps .done{color:#3f6955}.flow-steps .done i{color:var(--green);border-color:#9bc4aa;background:var(--mint)}
.eyebrow { color:#789083; font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.split-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); align-items:end; gap:50px; margin-bottom:26px; }.split-hero h1,.result-heading h1,.success-card h1{margin:9px 0 10px;font:800 clamp(34px,5vw,56px)/1.03 Manrope,sans-serif;letter-spacing:-.055em}.split-hero p,.result-heading p,.success-card p{max-width:680px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.formula-card{display:grid;gap:7px;padding:19px;border:1px solid #d7e5db;border-radius:17px;background:var(--mint)}.formula-card strong{margin-bottom:4px;font:700 14px Manrope,sans-serif}.formula-card span{color:#567064;font-size:10px}.formula-card span:before{content:'✓';margin-right:7px;color:var(--green);font-weight:800}
.calculator-card,.bom-card,.checkout-form,.order-summary,.next-card,.dealer-card,.success-card{border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:var(--shadow)}.calculator-card{padding:27px}.card-heading,.result-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.card-heading h2,.next-card h2,.order-summary h2{margin:6px 0 0;font:800 21px Manrope,sans-serif;letter-spacing:-.035em}.reference-chip,.estimate-badge,.status-pill{display:inline-flex;padding:7px 10px;border-radius:99px;color:#29704d;background:var(--mint);font-size:9px;font-weight:800;text-transform:uppercase}.surface-list{display:grid;gap:10px;margin-top:22px}.surface-row{display:grid;grid-template-columns:38px minmax(150px,1fr) 125px 15px 125px;align-items:end;gap:13px;padding:15px;border:1px solid #e5ebe6;border-radius:14px;background:#fbfcfb}.colour-dot{align-self:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;background:var(--dot);box-shadow:0 0 0 1px #d6ded8}.surface-row strong,.surface-row small{display:block}.surface-row small{margin-top:4px;color:var(--muted);font-size:9px}.surface-row label span,.form-grid label>span,.calculator-footer label span{display:block;margin-bottom:6px;font-size:10px;font-weight:700}.times{align-self:center;color:#9aa59e;text-align:center}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:22px}.form-grid .full{grid-column:1/-1}.form-grid small{color:var(--muted);font-weight:400}input,select,textarea{width:100%;border:1px solid #ccd7cf;border-radius:10px;outline:none;background:#fbfcfb}input,select{height:44px;padding:0 12px}textarea{padding:11px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#4e8a6d;box-shadow:0 0 0 3px rgba(31,122,73,.1)}.calculator-footer{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:21px;padding-top:20px;border-top:1px solid var(--line)}.calculator-footer label{width:190px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:11px 19px;border:1px solid var(--green);border-radius:11px;color:#fff;background:var(--green);box-shadow:0 9px 24px rgba(20,122,74,.18);font-size:12px;font-weight:800;cursor:pointer}.primary-button:hover{background:var(--green-dark)}
.alert{margin-bottom:25px;padding:14px 17px;border-radius:12px;font-size:11px}.alert-error{color:#842d2d;border:1px solid #edc0c0;background:#fff0f0}.alert ul{margin:6px 0 0;padding-left:18px}.result-heading{align-items:end;margin-bottom:25px}.result-heading h1{font-size:clamp(34px,5vw,50px)}.result-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);align-items:start;gap:22px}.bom-card{overflow:hidden}.bom-table-heading{display:grid;grid-template-columns:1fr 130px 145px;gap:15px;padding:14px 20px 12px 84px;color:#8a968f;background:#fafbf9;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.bom-line{display:grid;grid-template-columns:48px minmax(180px,1fr) 130px 145px;align-items:center;gap:16px;padding:17px 20px;border-top:1px solid #edf0ed}.product-mark{display:grid;place-items:center;width:46px;height:43px;border:1px solid rgba(20,40,30,.08);border-radius:10px;color:#587065;background:var(--mark,#eef1ed);font-size:11px;font-weight:800}.bom-line div strong,.bom-line div small,.bom-line div em,.bom-line>span strong,.bom-line>span small{display:block}.bom-line div strong{font-size:12px}.bom-line div small,.bom-line>span small{margin-top:4px;color:var(--muted);font-size:9px}.bom-line div em{margin-top:5px;color:#56806a;font-size:8px;font-style:normal}.bom-line>span strong{font-size:11px}.line-price{text-align:right;font-size:12px;font-weight:800}.bom-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px;border-top:1px solid #dce5df;background:#f2f7f3}.bom-total span{font-size:12px;font-weight:800}.bom-total span small{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}.bom-total>strong{font:800 21px Manrope,sans-serif}.next-card{padding:24px}.next-card p{color:var(--muted);font-size:11px;line-height:1.65}.next-card .primary-button{width:100%;margin-top:11px}.text-link{display:block;margin-top:15px;color:var(--green);font-size:10px;font-weight:800;text-align:center}.disclaimer{margin:19px 0 0;padding-left:4px;color:#7a877f;font-size:9px}
.dealer-heading{align-items:center}.location-button{min-height:42px;padding:9px 15px;border:1px solid #bcd5c5;border-radius:11px;color:var(--green);background:#fff;font-size:11px;font-weight:800;cursor:pointer}.dealer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dealer-card{padding:20px}.dealer-top{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px}.dealer-top>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px 12px 12px 4px;color:#fff;background:var(--green);font-weight:800}.dealer-top strong,.dealer-top small{display:block}.dealer-top strong{font-size:13px}.dealer-top small{margin-top:3px;color:var(--muted);font-size:9px}.dealer-top em{color:var(--green);font-size:11px;font-style:normal;font-weight:800}.dealer-card>p{min-height:34px;color:var(--muted);font-size:10px;line-height:1.6}.dealer-card dl{display:flex;gap:25px;margin:14px 0}.dealer-card dl div{display:grid;gap:2px}.dealer-card dt{color:#8a968f;font-size:8px;text-transform:uppercase}.dealer-card dd{margin:0;font-size:10px;font-weight:700}.dealer-actions{display:flex;align-items:center;gap:7px;padding-top:15px;border-top:1px solid var(--line)}.dealer-actions a{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:9px;font-weight:800}.dealer-actions .select-dealer{margin-left:auto;color:#fff;border-color:var(--green);background:var(--green)}.empty-state{grid-column:1/-1;padding:50px;text-align:center}.empty-state p{color:var(--muted);font-size:11px}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.6fr);align-items:start;gap:22px}.checkout-form{padding:26px}.order-summary{padding:23px}.order-summary>div:not(.summary-total):not(.chosen-dealer){display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf0ed;font-size:10px}.order-summary>div span small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.summary-total{display:flex;align-items:center;justify-content:space-between;margin:15px -23px 0;padding:18px 23px;background:#f1f7f3}.summary-total strong{font:800 18px Manrope,sans-serif}.chosen-dealer{display:grid;gap:4px;margin:17px 0;padding:13px;border-radius:10px;background:#f7f8f6}.chosen-dealer small{color:var(--muted);font-size:8px}.chosen-dealer strong{font-size:11px}.chosen-dealer span{color:var(--muted);font-size:9px;line-height:1.45}.order-summary .primary-button{width:100%}.order-summary>p{color:var(--muted);font-size:8px;line-height:1.5;text-align:center}
.success-card{max-width:760px;margin:0 auto 25px;padding:36px;text-align:center}.success-icon{display:grid;width:48px;height:48px;margin:0 auto 14px;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:22px}.success-card h1{font-size:42px}.success-card p{margin:0 auto}.order-number{display:block;margin:21px 0 10px;font:800 25px Manrope,sans-serif;letter-spacing:.05em}.status-pill{margin:auto}.confirmation-layout{max-width:980px;margin:auto}.compact-line{padding-block:13px}
@media(max-width:800px){.commerce-header nav a:nth-child(-n+3){display:none}.commerce-main{width:min(100% - 28px,1180px);padding-top:25px}.flow-steps b{width:20px;margin:0 3px}.flow-steps span{font-size:0}.flow-steps i{font-size:10px}.split-hero,.result-layout,.checkout-layout{grid-template-columns:1fr}.split-hero{gap:18px}.surface-row{grid-template-columns:32px 1fr 1fr}.surface-row label:last-child{grid-column:3}.surface-row .times{display:none}.dealer-grid{grid-template-columns:1fr}.bom-table-heading{display:none}.bom-line{grid-template-columns:42px 1fr auto}.bom-line>span:nth-child(3){grid-column:2}.line-price{grid-column:3;grid-row:1/3}.commerce-footer{display:block}.commerce-footer p{margin-top:5px}}
@media(max-width:520px){.commerce-brand img{width:105px}.commerce-header nav a{display:none}.commerce-header nav a:nth-last-child(2){display:block}.split-hero h1,.result-heading h1{font-size:34px}.calculator-card,.checkout-form{padding:18px}.surface-row{grid-template-columns:30px 1fr;align-items:center}.surface-row label{grid-column:auto}.surface-row label:last-child{grid-column:auto}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.calculator-footer{align-items:stretch;flex-direction:column}.calculator-footer label{width:100%}.result-heading{align-items:start;flex-direction:column}.dealer-top{grid-template-columns:38px 1fr}.dealer-top em{grid-column:2}.dealer-actions{flex-wrap:wrap}.dealer-actions .select-dealer{width:100%;margin:3px 0 0;text-align:center}.bom-line{padding:14px 12px}.bom-total{align-items:start;flex-direction:column}.success-card{padding:25px 18px}}
