.budget-intro{max-width:850px;margin:35px 0}.budget-intro h1{font-size:clamp(38px,5vw,64px)}.budget-workspace{display:grid;grid-template-columns:minmax(270px, .85fr) minmax(0,1.2fr);gap:36px;align-items:start;margin:35px 0 55px}.budget-controls{padding:28px;background:#fffef9;border:1px solid var(--line);border-radius:12px}.budget-controls fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}.budget-controls legend{font:22px Georgia,serif;margin-bottom:18px;display:block}.budget-step{display:inline-flex;width:29px;height:29px;align-items:center;justify-content:center;border-radius:50%;background:#e4ead9;font:14px 'Segoe UI',sans-serif;margin-right:8px}.budget-controls label{font-size:14px}.budget-controls select{margin:8px 0 18px}.budget-choices{display:grid;gap:10px}.budget-choices label{position:relative;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.budget-choices label:has(input:checked){background:#e9efdf;border-color:#52744b;box-shadow:inset 3px 0 #52744b}.budget-choices input,.budget-check input{width:18px;height:18px;accent-color:#264f40;flex-shrink:0}.budget-choices strong{font-size:14px}.budget-choices small{display:block;margin:4px 0 0 17px;color:var(--muted)}.budget-controls input[type=number]{margin:8px 0 14px}.budget-controls input[type=range]{width:100%;padding:0;min-height:32px;accent-color:#52744b;margin:4px 0}.area-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.area-presets button{border:1px solid #c7d0bd;background:#f3f5ec;color:var(--ink);border-radius:18px;padding:8px 12px;cursor:pointer}.budget-check{display:flex!important;align-items:center;gap:10px;margin:14px 0}.roof-stage{background:#e9eddf;border-radius:12px 12px 0 0;text-align:center;padding:24px 12px 5px}.roof-stage svg{width:100%;max-width:460px;display:block;margin:auto}.roof-stage text{fill:#21483c;font:30px Georgia,serif;paint-order:stroke;stroke:#e9eddf;stroke-width:6px}.roof-stage #roof-dimensions{font:12px 'Segoe UI',sans-serif;stroke:none}.budget-preview{min-width:0}.budget-heading{margin:26px 0 18px}.budget-preview h2{font-size:32px;margin:10px 0}.budget-preview h3{font-size:19px;margin:0}.budget-heading p{font-size:13px}.budget-empty{padding:24px;background:#f0f2e8;border-radius:0 0 12px 12px}.budget-scenarios{display:grid;gap:12px}.budget-scenario{padding:18px 20px;background:#fffef9;border:1px solid var(--line);border-radius:10px}.budget-scenario>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.budget-scenario small{margin-left:auto;font-size:12px;color:var(--muted)}.budget-scenario>strong{display:block;font:27px Georgia,serif;margin:14px 0}.swatch{width:23px;height:23px;border-radius:4px;background:repeating-linear-gradient(0deg,#3a4843 0 5px,#728171 5px 6px)}.swatch-1{background:#6d7f69}.swatch-2{background:#b8aa84}.budget-track{height:7px;background:#e8ebdf;border-radius:6px;overflow:hidden}.budget-track span{display:block;height:100%;background:#668557;border-radius:6px}.budget-caution{background:#f2eddc;border-left:3px solid #b8a36a;padding:14px 16px;font-size:14px}.budget-checklist{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:14px}.budget-checklist li{margin:12px 0}.budget-preview .actions{flex-wrap:wrap;margin:24px 0}.budget-preview .btn{font-size:13px}.budget-method{max-width:950px}.budget-controls button:focus-visible,.budget-controls input:focus-visible{outline:3px solid #819957;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:800px){.budget-workspace{grid-template-columns:1fr;gap:24px}.budget-controls{padding:22px}.budget-intro{margin-top:25px}.budget-preview h2{font-size:29px}.budget-controls .fields{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{header,footer,.demo,.crumb,.skip,.budget-controls button,.area-presets,#area-slider,#budget-actions,.budget-preview>.micro{display:none!important}body{background:white;font-size:11px}main{max-width:none;margin:0;padding:0}.budget-intro{margin:0}.budget-intro h1{font-size:27px}.budget-intro .intro{font-size:13px}.budget-workspace{display:block;margin:15px 0}.budget-controls{padding:10px;display:flex;gap:20px}.budget-controls fieldset{flex:1;font-size:11px;margin:0}.budget-controls legend{font-size:14px}.budget-choices label:not(:has(input:checked)){display:none}.budget-choices label,.budget-controls select,.budget-controls input{padding:4px;font-size:11px}.budget-controls .micro{font-size:10px}.roof-stage{display:none}.budget-preview h2{font-size:22px}.budget-scenarios{grid-template-columns:repeat(3,1fr)}.budget-scenario{padding:10px;break-inside:avoid}.budget-scenario>strong{font-size:19px}.budget-checklist,.budget-method{break-inside:avoid}.budget-method{padding:12px 0}.budget-method h2{font-size:20px}.budget-method p{font-size:11px}a{color:inherit}}

.budget-jump{display:block;margin:0 0 20px}#budget-result{scroll-margin-top:25px}@media print{.budget-jump{display:none}}

/* Revue du simulateur : budget prioritaire, schéma conservé. */
.budget-preview{display:flex;flex-direction:column}.budget-preview #budget-result{order:0}.budget-preview #budget-actions{order:1}.budget-preview>.micro{order:2}.budget-preview .roof-stage{order:3;border-radius:12px;margin-top:20px}.budget-total{font-size:clamp(28px,3.1vw,40px)!important;line-height:1.2}.budget-recap{font-weight:600;margin-bottom:8px}.budget-scope{font-size:15px}.budget-calculation,.budget-checklist{font-size:14px}.budget-checklist{margin-top:12px}.budget-empty{border-radius:12px}.budget-preview .actions .btn{white-space:normal;text-align:center}

/* Aperçu lié directement aux commandes de surface. */
.budget-controls .roof-stage{border-radius:10px;margin-top:16px;padding:14px 8px 4px}.budget-controls .roof-stage .eyebrow{font-size:10px;letter-spacing:.1em}.budget-controls .roof-stage svg{height:155px;width:100%}

/* Disposition : projet commun, réglages et aperçu équilibrés. */
.budget-workspace{display:block;margin:28px 0}
.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"project project" "surface roof" "options preview" "reset preview";gap:22px 32px;padding:0;background:none;border:0}
.budget-layout fieldset{margin:0;padding:22px;background:#fffef9;border:1px solid var(--line);border-radius:12px}
.budget-layout .budget-project{grid-area:project}.budget-layout legend{float:left;width:100%;margin-bottom:16px}.budget-layout legend+*{clear:both}
.budget-project .budget-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-project .budget-choices label{padding:14px 12px}
.budget-surface{grid-area:surface}#budget-options{grid-area:options}.budget-reset{grid-area:reset}.budget-layout .budget-preview{grid-area:preview}
.budget-layout>.roof-stage{grid-area:roof;margin:0;border-radius:12px;padding:22px 12px;display:flex;flex-direction:column;justify-content:center}
.budget-layout>.roof-stage svg{height:220px;max-width:100%}.budget-layout>.roof-stage .eyebrow{font-size:11px}
.budget-layout .budget-preview .actions{margin:16px 0 8px;gap:10px}.budget-layout .budget-preview .actions .btn{padding:13px 16px}.budget-layout .budget-preview>.micro{font-size:11px}
.budget-layout .budget-preview h2{margin:12px 0}.budget-layout .budget-total{font-size:clamp(27px,3vw,38px)!important}
.budget-explanations{border-top:1px solid var(--line);margin-top:30px}.budget-explanations details{margin:0;padding:18px 0;border-top:0;border-bottom:1px solid var(--line)}.budget-method{max-width:none}
@media(max-width:800px){.budget-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"project" "surface" "roof" "options" "preview" "reset";gap:16px}.budget-project .budget-choices{grid-template-columns:1fr}.budget-layout fieldset{padding:18px}.budget-layout>.roof-stage{padding:16px 8px}.budget-layout>.roof-stage svg{height:170px}.budget-layout .budget-preview .actions{flex-direction:column;align-items:stretch}.budget-layout .budget-preview .actions #budget-demand{order:-1}.budget-reset button{padding:10px 16px}}
@media print{.budget-layout{display:block}.budget-layout>.roof-stage,.budget-reset{display:none!important}.budget-layout fieldset{margin-bottom:10px}.budget-project .budget-choices{display:block}}

@media(min-width:801px){.budget-layout.is-leak{grid-template-areas:"project project" "surface preview" "reset preview"}}

