/* BLC simulator: official website colours, typography and component proportions. */
.blc-calculator{max-width:1280px;margin:0 auto;padding:46px 32px 68px;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.65}
.blc-calculator .intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:55px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.blc-calculator .intro h1{font-size:clamp(38px,4.2vw,56px);line-height:1.1;letter-spacing:-.035em;font-weight:650;margin:14px 0 22px;max-width:740px}
.blc-calculator .intro h1 span{color:var(--accent)}
.blc-calculator .eyebrow,.blc-calculator .small-label{font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.blc-calculator .lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:690px;margin:0}
.blc-calculator .intro-note{border-left:3px solid var(--accent);background:#f2f5f4;padding:25px 28px}
.blc-calculator .intro-note strong{display:block;font-size:22px;line-height:1.3;font-weight:650;letter-spacing:-.02em;margin:12px 0}
.blc-calculator .intro-note p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:14px}
.blc-calculator .intro-note a{color:var(--accent);font-size:12px;font-weight:700}
.blc-calculator .toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-top:26px}
.blc-calculator .project-label{width:min(420px,42%);font-size:12px;color:var(--muted);font-weight:600}
.blc-calculator .project-label input{font-size:16px;font-weight:600;margin-top:7px}
.blc-calculator .actions{display:flex;gap:9px;flex-wrap:wrap;margin:0}
.blc-calculator button{font:inherit;cursor:pointer;border:1px solid #9eadae;color:var(--ink);background:#fff;padding:12px 15px;border-radius:2px;font-size:12px;font-weight:700;line-height:1.5;min-height:44px}
.blc-calculator button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.blc-calculator button:hover{filter:brightness(.94)}
.blc-calculator input:focus-visible,.blc-calculator textarea:focus-visible,.blc-calculator button:focus-visible,.blc-calculator summary:focus-visible{outline:3px solid #e56331;outline-offset:3px}
.blc-calculator #feedback{min-height:20px;color:var(--ink);font-size:12px;margin:12px 0 18px}
.blc-calculator .notice{border:1px solid #e0c3aa;border-left:3px solid var(--accent);background:#fcf4ec;color:#664432;padding:15px 18px;margin-bottom:22px;font-size:12px;line-height:1.7}
.blc-calculator .workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:30px;align-items:start}
.blc-calculator .section-heading{display:flex;gap:12px;align-items:center;margin:0 0 19px}
.blc-calculator .section-heading>span{border-top:2px solid var(--accent);padding-top:3px;color:var(--accent);font-size:11px;font-weight:750;line-height:1.6}
.blc-calculator .section-heading h2{font-size:18px;line-height:1.35;letter-spacing:-.02em;font-weight:650;margin:0}
.blc-calculator aside{background:#f3f5f4;padding:23px;border:1px solid var(--line);border-radius:0}
.blc-calculator details{border:0;border-top:1px solid #d2dbdc;background:transparent;padding:0;margin:0}
.blc-calculator summary{cursor:pointer;font-size:13px;font-weight:700;padding:18px 21px 18px 0;line-height:1.5;position:relative;list-style:none;color:var(--ink)}
.blc-calculator summary:after{content:'+';position:absolute;right:0;font-size:18px;font-weight:400;color:var(--accent);top:14px}
.blc-calculator details[open]>summary:after{content:'−'}
.blc-calculator details[open]>summary{color:var(--ink)}
.blc-calculator .fixed-foundation{background:#fff;border-left:3px solid var(--accent);padding:14px 15px;margin-bottom:18px;color:var(--ink)}
.blc-calculator .fixed-foundation strong{display:block;font-size:20px;font-weight:650;line-height:1.35;letter-spacing:-.025em}
.blc-calculator .fixed-foundation span{display:block;font-size:11px;line-height:1.7;margin-top:6px;color:var(--muted)}
.blc-calculator .fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px}
.blc-calculator .fields.one{grid-template-columns:1fr}
.blc-calculator label{display:block;font-size:11px;color:var(--muted);line-height:1.55;font-weight:500}
.blc-calculator input,.blc-calculator textarea{display:block;width:100%;min-width:0;background:#fff;border:1px solid #b5c0c3;border-radius:2px;padding:10px;color:var(--ink);font:inherit;font-size:16px;line-height:1.4;margin-top:6px;min-height:44px}
.blc-calculator input:invalid{border-color:var(--accent)}
.blc-calculator .full{grid-column:1/-1}
.blc-calculator .hint{font-size:11px;line-height:1.8;color:var(--muted);margin:13px 0 18px}
.blc-calculator .compare-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:2px 0 14px}
.blc-calculator .notes-label{border-top:1px solid #d2dbdc;padding-top:18px}
.blc-calculator .reset{margin-top:15px;width:100%;font-size:11px;background:transparent;border-color:#b9c5c8}
.blc-calculator .kpis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:12px;margin-bottom:22px}
.blc-calculator .kpis article{padding:20px 18px;background:#fff;border:1px solid var(--line);border-top:3px solid #a0aeb3;border-radius:0;min-width:0}
.blc-calculator .kpis p,.blc-calculator .secondary-kpis p{font-size:11px;color:var(--muted);margin:0 0 14px;line-height:1.5}
.blc-calculator .kpis strong{display:block;font-size:27px;line-height:1.2;font-weight:650;letter-spacing:-.04em;overflow-wrap:anywhere}
.blc-calculator .kpis small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:9px}
.blc-calculator .kpis article.material{background:var(--dark);border-color:var(--dark);border-top-color:var(--accent);color:#fff}
.blc-calculator .material p,.blc-calculator .material small{color:#d7e1e3}
.blc-calculator .comparison,.blc-calculator .detail-card,.blc-calculator .source-card{background:#fff;border:1px solid var(--line);border-radius:0;padding:26px;margin-bottom:22px}
.blc-calculator .card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.blc-calculator .card-top h3,.blc-calculator h3{font-size:22px;line-height:1.3;letter-spacing:-.02em;font-weight:650;margin:8px 0 25px}
.blc-calculator .card-top .eyebrow{margin:0;font-size:10px}
.blc-calculator .pill{font-size:9px;padding:6px 8px;background:#edf1f2;color:var(--muted);border:1px solid var(--line);border-radius:1px;white-space:nowrap}
.blc-calculator .bar-row{margin:19px 0}
.blc-calculator .bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;margin-bottom:9px}
.blc-calculator .bar-row strong{font-weight:700;white-space:nowrap}
.blc-calculator .track{height:16px;border-radius:0;background:#eff2f2;overflow:hidden}
.blc-calculator .bar{height:100%;min-width:0;transition:width .2s ease}
.blc-calculator .conventional{background:#94a3a9}
.blc-calculator .blc{background:var(--accent)}
.blc-calculator .delta{background:#f2f5f4;border-left:3px solid var(--accent);padding:17px 18px;font-size:15px;font-weight:600;line-height:1.6;border-radius:0;color:var(--ink);margin-top:25px}
.blc-calculator .secondary-kpis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:22px}
.blc-calculator .secondary-kpis article{background:#f2f5f4;padding:22px;border-top:3px solid var(--ink);border-radius:0}
.blc-calculator .secondary-kpis article+article{border-top-color:var(--accent)}
.blc-calculator .secondary-kpis strong{display:block;font-size:25px;line-height:1.3;font-weight:650;letter-spacing:-.03em}
.blc-calculator .secondary-kpis small{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:9px}
.blc-calculator table{border-collapse:collapse;width:100%;min-width:0;font-size:11px;table-layout:fixed}
.blc-calculator thead{background:var(--dark);color:#fff}
.blc-calculator th{font-size:10px;line-height:1.5;text-align:right;font-weight:600;padding:12px 10px;color:#fff}
.blc-calculator th:first-child{width:46%;text-align:left}
.blc-calculator td{text-align:right;font-size:11px;line-height:1.7;padding:13px 10px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top;overflow-wrap:anywhere}
.blc-calculator td:first-child{text-align:left;color:var(--muted)}
.blc-calculator tbody tr:nth-child(even){background:#f4f6f5}
.blc-calculator .source-card{background:#f4f6f5;border:0;border-left:3px solid var(--accent)}
.blc-calculator .source-card h3{font-size:22px;margin-bottom:16px}
.blc-calculator .source-card p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.9}
.blc-calculator .source-card a{color:var(--accent)}
.blc-calculator .storage-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:28px 0 0}
@media(max-width:1100px){.blc-calculator .intro{gap:30px}.blc-calculator .workspace{grid-template-columns:310px minmax(0,1fr);gap:22px}.blc-calculator .kpis{grid-template-columns:1fr 1fr}.blc-calculator .kpis .material{grid-column:1/-1}.blc-calculator .toolbar{align-items:flex-start;flex-direction:column}.blc-calculator .project-label{width:100%}.blc-calculator .kpis strong{font-size:26px}}
@media(max-width:800px){.blc-calculator{padding:34px 22px 50px}.blc-calculator .intro{grid-template-columns:1fr;gap:24px}.blc-calculator .intro h1{font-size:42px;max-width:none}.blc-calculator .intro-note{padding:20px 24px}.blc-calculator .workspace{grid-template-columns:1fr}.blc-calculator .kpis{grid-template-columns:1fr 1fr 1.2fr}.blc-calculator .kpis .material{grid-column:auto}.blc-calculator .kpis article{padding:16px 14px}.blc-calculator .kpis strong{font-size:24px}.blc-calculator .fields{gap:15px 18px}.blc-calculator aside{padding:22px}.blc-calculator .results{margin-top:9px}.blc-calculator label{font-size:12px}}
@media(max-width:500px){.blc-calculator{padding:29px 18px 42px}.blc-calculator .intro h1{font-size:36px}.blc-calculator .lead{font-size:17px}.blc-calculator .intro-note{padding:19px 20px}.blc-calculator .intro-note strong{font-size:21px}.blc-calculator .actions{width:100%}.blc-calculator .actions button{flex:1 1 auto;font-size:11px;padding:11px 10px}.blc-calculator .kpis{grid-template-columns:1fr 1fr}.blc-calculator .kpis .material{grid-column:1/-1}.blc-calculator .kpis .material strong{font-size:30px}.blc-calculator .comparison,.blc-calculator .detail-card,.blc-calculator .source-card{padding:20px 16px}.blc-calculator .card-top{align-items:flex-start}.blc-calculator .card-top h3{font-size:21px}.blc-calculator .pill{font-size:8px}.blc-calculator .secondary-kpis{gap:12px}.blc-calculator .secondary-kpis article{padding:17px 14px}.blc-calculator .secondary-kpis strong{font-size:22px}.blc-calculator th{font-size:9px;padding:11px 7px}.blc-calculator td{font-size:10px;padding:12px 7px}.blc-calculator th:first-child{width:43%}.blc-calculator .bar-row>div:first-child{font-size:11px}.blc-calculator .delta{font-size:14px;padding:14px}.blc-calculator .source-card h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.blc-calculator .bar{transition:none}}

/* Annual market scenario: same BLC visual system as the reference budget. */
.blc-calculator .market-panel{margin:30px 0 4px;padding:26px;border:1px solid var(--line);border-top:3px solid var(--accent);background:#f3f5f4;scroll-margin-top:24px}
.blc-calculator .market-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.blc-calculator .market-heading h2{font-size:28px;font-weight:650;letter-spacing:-.025em;line-height:1.25;margin:0 0 10px}
.blc-calculator .market-heading .eyebrow{margin-bottom:8px}
.blc-calculator .market-intro{font-size:14px;color:var(--muted);margin:8px 0 20px;max-width:780px}
.blc-calculator .market-controls{max-width:560px}
.blc-calculator .market-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.blc-calculator .market-kpis article{background:#fff;border:1px solid var(--line);padding:18px;min-width:0}
.blc-calculator .market-kpis p{font-size:11px;color:var(--muted);line-height:1.5;min-height:34px;margin:0 0 10px}
.blc-calculator .market-kpis strong{display:block;font-size:clamp(19px,2.2vw,28px);font-weight:650;letter-spacing:-.035em;line-height:1.3;overflow-wrap:anywhere}
.blc-calculator .market-kpis small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:8px}
.blc-calculator .market-reference{font-size:12px;line-height:1.8;padding-top:16px;margin:8px 0 0;border-top:1px solid var(--line)}
.blc-calculator .market-method a{color:var(--accent)}
@media(max-width:1000px){.blc-calculator .market-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.blc-calculator .market-kpis strong{font-size:25px}}
@media(max-width:500px){.blc-calculator .market-panel{padding:20px 16px}.blc-calculator .market-heading{align-items:flex-start;flex-direction:column;gap:10px}.blc-calculator .market-heading h2{font-size:25px}.blc-calculator .market-heading button{width:100%}.blc-calculator .market-kpis{gap:10px}.blc-calculator .market-kpis article{padding:14px 11px}.blc-calculator .market-kpis strong{font-size:21px}}

.blc-calculator .savings-mode{display:block;max-width:600px;margin-top:16px}
.blc-calculator select{display:block;width:100%;min-height:44px;margin-top:6px;padding:10px;border:1px solid #b5c0c3;border-radius:2px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.blc-calculator select:focus-visible{outline:3px solid #e56331;outline-offset:3px}
.blc-calculator .savings-panel .market-kpis p{min-height:48px}
.blc-calculator .savings-panel .market-kpis strong{font-size:clamp(18px,2.05vw,27px)}
@media(max-width:500px){.blc-calculator .savings-panel .market-kpis strong{font-size:20px}}

.blc-calculator .schedule-fields{max-width:740px;margin-bottom:16px}
.blc-calculator #scheduled-panel{margin-top:22px}
.blc-calculator #scheduled-panel h3{margin-top:22px}
.blc-calculator .schedule-table th:first-child{width:12%}
.blc-calculator .schedule-table th:nth-child(2){width:44%;text-align:left}
.blc-calculator .schedule-table td:nth-child(2){text-align:left}
.blc-calculator .schedule-table th:nth-child(3){width:20%}
.blc-calculator #schedule-summary tr:last-child{font-weight:700}

#marche-annuel .market-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){#marche-annuel .market-kpis{grid-template-columns:1fr}}
