/* Approved editorial direction — shared by all nine pages. */

.editorial-site{--b-bg:#f7f8f5;--b-paper:#fff;--b-ink:#103c38;--b-muted:#526761;--b-line:#dce5df;--b-soft:#eaf1eb;--b-action:#073b3a;--b-on:#fff;font:15px/1.6 Inter,Arial,sans-serif;color:var(--b-ink);background:var(--b-bg);border-radius:16px;overflow:hidden}
.editorial-site *{box-sizing:border-box}.editorial-site button,.editorial-site select{font:inherit;color:inherit}.editorial-site button{cursor:pointer}.editorial-site .bp-review{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 24px;border-bottom:1px solid var(--b-line);flex-wrap:wrap;font-size:12px}.editorial-site select{background:var(--b-paper);border:1px solid var(--b-line);border-radius:8px;padding:9px;max-width:100%}.editorial-site .bp-shell{max-width:1100px;margin:auto;background:var(--b-bg)}.editorial-site .bp-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:18px;background:var(--b-paper);border-bottom:1px solid var(--b-line);flex-wrap:wrap}.editorial-site .bp-logo{font-size:28px;font-weight:750;letter-spacing:-1.5px}.editorial-site .bp-links{display:flex;gap:18px;flex-wrap:wrap}.editorial-site .bp-links button,.editorial-site .bp-footer button{border:0;background:none;padding:5px 0;font-size:13px;text-align:left}.editorial-site .bp-main{padding:40px 5% 48px}.editorial-site .bp-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--b-muted);margin-bottom:14px}.editorial-site h1,.editorial-site h2{font-family:var(--bp-heading,Georgia,serif);font-weight:400;letter-spacing:-1.5px;line-height:1.08;margin:0 0 20px}.editorial-site h1{font-size:clamp(34px,5.4vw,57px);max-width:680px}.editorial-site h2{font-size:32px}.editorial-site h3{font-size:18px;line-height:1.35;margin:0 0 12px;letter-spacing:-.3px}.editorial-site p{margin:0 0 20px;color:var(--b-muted)}.editorial-site .bp-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;align-items:center;margin-bottom:48px}.editorial-site .bp-photo{width:100%;height:345px;object-fit:cover;object-position:58% center;border-radius:var(--bp-radius,18px)}.editorial-site .bp-action{display:inline-block;border:0;border-radius:8px;padding:13px 20px;background:var(--b-action);color:var(--b-on);font-weight:600}.editorial-site .bp-proof{font-size:12px;margin-top:17px;color:var(--b-muted)}.editorial-site .bp-section{margin-top:44px}.editorial-site .bp-split{display:grid;grid-template-columns:1fr 1.05fr;gap:22px}.editorial-site .bp-panel{background:var(--b-paper);border:1px solid var(--b-line);border-radius:var(--bp-radius,18px);padding:26px;min-width:0}.editorial-site .bp-step{font-size:12px;color:var(--b-muted);padding-bottom:18px;border-bottom:1px solid var(--b-line);margin-bottom:24px}.editorial-site .bp-field{margin:14px 0}.editorial-site .bp-label{font-size:12px;margin-bottom:6px;color:var(--b-muted)}.editorial-site .bp-input{border:1px solid var(--b-line);background:var(--b-bg);border-radius:8px;padding:11px 12px;display:flex;justify-content:space-between;gap:10px}.editorial-site .bp-big{font-size:43px;line-height:1.2;font-weight:600;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;margin:10px 0}.editorial-site .bp-small{font-size:12px;color:var(--b-muted)}.editorial-site .bp-row{display:flex;justify-content:space-between;gap:12px;margin:15px 0 6px;font-size:13px}.editorial-site .bp-track{height:11px;background:var(--b-soft);border-radius:3px;overflow:hidden;display:flex}.editorial-site .bp-bar{height:100%;background:var(--b-action)}.editorial-site .bp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.editorial-site .bp-number{font-size:12px;color:var(--b-muted);margin-bottom:20px}.editorial-site .bp-tile{border-top:1px solid var(--b-line);padding-top:20px}.editorial-site .bp-tile button{border:0;background:none;padding:0;text-align:left;font-weight:600;text-decoration:underline;text-underline-offset:5px}.editorial-site .bp-banner{background:var(--b-soft);padding:28px;border-radius:var(--bp-radius,18px);margin-top:32px}.editorial-site details{border-bottom:1px solid var(--b-line);padding:16px 0}.editorial-site summary{font-weight:500;cursor:pointer}.editorial-site details p{margin-top:14px}.editorial-site .bp-footer{border-top:1px solid var(--b-line);padding:26px 5%;display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;background:var(--b-paper)}.editorial-site .bp-footerlinks{display:flex;gap:10px 20px;flex-wrap:wrap;max-width:620px}.editorial-site .bp-reading{max-width:680px;margin:auto}.editorial-site .bp-reading h2{margin-top:32px;font-size:27px}.editorial-site .bp-caption{font-size:11px;color:var(--b-muted);margin:12px 0}.editorial-site .bp-table{width:100%;border-collapse:collapse;font-size:13px}.editorial-site .bp-table th,.editorial-site .bp-table td{padding:12px 7px;border-bottom:1px solid var(--b-line);text-align:left}.editorial-site .bp-table td:last-child{text-align:right}.editorial-site .bp-gauge{height:15px;background:var(--b-soft);position:relative;margin:28px 0 10px}.editorial-site .bp-gauge:before{content:'';position:absolute;left:0;top:0;bottom:0;width:59%;background:#2563eb}.editorial-site .bp-gauge:after{content:'';position:absolute;left:78%;top:-6px;height:27px;border-left:2px solid var(--b-ink)}.editorial-site .bp-time{display:flex;height:28px;gap:3px;margin:20px 0}.editorial-site .bp-time span{background:#7c3aed}.editorial-site .bp-time span:nth-child(2){opacity:.55}.editorial-site .bp-time span:nth-child(3){opacity:.25}.editorial-site[data-mobile=true] .bp-shell{max-width:390px}.editorial-site[data-mobile=true] .bp-hero,.editorial-site[data-mobile=true] .bp-split,.editorial-site[data-mobile=true] .bp-grid{grid-template-columns:1fr}.editorial-site[data-mobile=true] h1{font-size:36px}.editorial-site[data-mobile=true] .bp-photo{height:230px}.editorial-site[data-mobile=true] .bp-main{padding:28px 20px}.editorial-site[data-mobile=true] .bp-nav{gap:10px}.editorial-site[data-mobile=true] .bp-links{gap:14px}.editorial-site[data-mobile=true] .bp-panel{padding:20px}@media(max-width:620px){.editorial-site .bp-hero,.editorial-site .bp-split,.editorial-site .bp-grid{grid-template-columns:1fr}.editorial-site .bp-main{padding:28px 20px}.editorial-site .bp-panel{padding:20px}.editorial-site .bp-photo{height:230px}.editorial-site .bp-links{gap:12px}}


.editorial-site .bp-reading-nav{display:flex;flex-wrap:wrap;gap:12px 25px;padding:18px 0;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line)}.editorial-site .bp-reading-nav button,.editorial-site .bp-textlink{font:inherit;color:var(--b-ink);border:0;background:none;padding:8px 0;text-align:left;text-decoration:underline;text-underline-offset:5px;font-size:14px}.editorial-site .bp-editorial{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;padding-top:24px}.editorial-site .bp-editorial h3:not(:first-child){margin-top:28px}.editorial-site .bp-section{margin-top:64px}.editorial-site .bp-lead{max-width:690px}.editorial-site .bp-help{font-size:13px;line-height:1.6;color:var(--b-muted);margin-top:8px}.editorial-site .bp-note{background:var(--b-soft);padding:18px 20px;border-radius:8px;font-size:14px;line-height:1.65}.editorial-site .bp-example{background:var(--b-paper);border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line);padding:32px}.editorial-site .bp-photo{height:420px}.editorial-site[data-mobile=true] .bp-editorial{grid-template-columns:1fr;gap:15px}.editorial-site[data-mobile=true] .bp-example{padding:22px 16px}.editorial-site[data-mobile=true] .bp-section{margin-top:44px}.editorial-site[data-mobile=true] .bp-photo{height:240px}@media(max-width:620px){.editorial-site .bp-editorial{grid-template-columns:1fr;gap:15px}.editorial-site .bp-example{padding:22px 16px}.editorial-site .bp-section{margin-top:44px}.editorial-site .bp-photo{height:240px}}


.editorial-site a{color:var(--b-ink);overflow-wrap:anywhere}.editorial-site a.bp-action{color:var(--b-on);text-decoration:none}.editorial-site .bp-partner{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px;padding:34px 0;border-top:1px solid var(--b-line)}.editorial-site .bp-legalbody{max-width:730px;margin:40px auto 0}.editorial-site .bp-legalbody h2{font-size:27px;margin:36px 0 18px}.editorial-site .bp-legalbody table{width:100%;border-collapse:collapse;font-size:13px}.editorial-site .bp-legalbody th,.editorial-site .bp-legalbody td{padding:12px 8px;vertical-align:top;text-align:left;border-bottom:1px solid var(--b-line);overflow-wrap:anywhere}.editorial-site .bp-legalbody table{table-layout:fixed}.editorial-site .bp-legalbody p{line-height:1.8}.editorial-site[data-page=tva]{--b-action:#224f9b;--b-soft:#edf3fc}.editorial-site[data-page=tjm]{--b-action:#653c9b;--b-soft:#f3eff8}.editorial-site[data-page=charges]{--b-action:#955019;--b-soft:#fbf1e7}.editorial-site[data-mobile=true] .bp-partner{grid-template-columns:1fr;gap:12px}.editorial-site .bp-panel h3{overflow-wrap:anywhere}@media(max-width:620px){.editorial-site .bp-partner{grid-template-columns:1fr;gap:12px}.editorial-site .bp-legalbody th,.editorial-site .bp-legalbody td{padding:10px 4px;font-size:12px}}

.editorial-site .bp-sources{border-top:1px solid var(--b-line);padding-top:28px}.editorial-site .bp-sources h2{font-size:25px}.editorial-site .bp-sources li{margin:10px 0;color:var(--b-muted)}.editorial-site .bp-sources ul{padding-left:20px}.editorial-site .bp-legalnav{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:25px}.editorial-site .bp-legalnav button{background:none;border:0;padding:6px 0;color:var(--b-ink);text-align:left;text-decoration:underline;font-size:13px}

.editorial-site .bp-ad{margin:40px 0;padding:12px 16px;background:var(--b-paper);border:1px dashed var(--b-line);border-radius:8px;min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;color:var(--b-muted)}.editorial-site .bp-ad span{font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.editorial-site .bp-ad strong{font-size:14px;font-weight:400}.editorial-site .bp-ad small{font-size:11px}.editorial-site[data-mobile=true] .bp-ad{min-height:180px}@media(max-width:620px){.editorial-site .bp-ad{min-height:180px}}
/* Production layout: shared shell, real calculators and native anchor navigation. */
body { background:#f7f8f5; color:#103c38; }
.editorial-site { max-width:1216px; margin:0 auto; padding:56px 32px 80px; overflow:visible; border-radius:0; --bp-radius:16px; --bp-heading:Georgia,serif; }
.editorial-site .bp-hero > img { width:100%; height:420px; object-fit:cover; object-position:58% center; border-radius:18px; }
.editorial-site h1 { font-size:clamp(36px,4.6vw,60px); max-width:850px; }
.editorial-site .bp-reading-nav a { display:inline-flex;align-items:center;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px; }
.editorial-site .bp-action { text-decoration:none; min-height:46px; }
.editorial-site .bp-textlink { display:inline-block;min-height:44px;text-decoration:underline; }
.editorial-site .bp-section { scroll-margin-top:105px; }
.editorial-site :is(.simulator-shell,.days-section) { margin-top:48px; }
.editorial-site .simulator-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px; }
.editorial-site .simulator-intro { grid-column:1 / -1; }
.editorial-site .step-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.editorial-site .step-item { margin:0; }
.editorial-site .step-note { display:none; }
.editorial-site .step-button { width:100%;padding:12px; }
.editorial-site .simulator-form,.editorial-site .simulator-results,.editorial-site .tjm-form,.editorial-site .tjm-results { min-width:0; }
.editorial-site .simulator-form { padding:28px;background:#fff;border:1px solid #dce5df;border-radius:16px; }
.editorial-site .simulator-results { padding:0; }
.editorial-site .section-heading h2 { font-family:Georgia,serif;font-weight:400;letter-spacing:-1px; }
.editorial-site .field-label { font-size:14px;line-height:1.5; }
.editorial-site .field-help { font-size:13px;line-height:1.6; }
.editorial-site .simulator-shell p { margin-bottom:14px; }
.editorial-site .card { border-radius:12px;box-shadow:none; }
.editorial-site .card[id^=card-]:hover { transform:none; }
.editorial-site .simulator-results .card:not(.winner) { background:#fff; }
.editorial-site .tva-fields { min-width:0; }
.editorial-site .tva-result { min-width:0; }
.editorial-site .ad-placement { margin:40px 0; clear:both; }
.ad-label { display:block;text-align:center;font:10px/1.6 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:1.6px;color:#526761;margin-bottom:8px; }
.editorial-site details { scroll-margin-top:105px; }
.editorial-site .mobile-block { margin-top:40px; }
.editorial-site .mobile-block summary span { letter-spacing:normal; }
.editorial-site .bp-legalbody table { table-layout:auto; }
.editorial-site .bp-legalbody { overflow-wrap:anywhere; }
.editorial-site .bp-legalbody > div:has(table) { overflow-x:auto; }
.editorial-site .bp-legalbody table { min-width:540px; }
.editorial-anchor { display:block;scroll-margin-top:100px; }
.editorial-site #cta-block .card .recommandé { display:block;background:#eaf1eb;color:#103c38; }
.editorial-site #cta-block .card.recommended { border-color:#dce5df; }
.editorial-site .bp-hero { margin-bottom:36px; }
.site-header .site-container,.site-footer .site-container { max-width:1216px; }
@media(max-width:900px){
 .editorial-site{padding:36px 24px 64px;}
 .editorial-site .bp-editorial{grid-template-columns:1fr;gap:20px;}
 .editorial-site .bp-hero{gap:26px;}
 .editorial-site .step-desc{display:none;}
 .editorial-site .step-list{gap:6px;}
 .editorial-site .step-button{padding:9px 5px;font-size:12px;}
}
@media(max-width:640px){
 .editorial-site{padding:28px 20px 64px;}
 .editorial-site h1{font-size:38px;line-height:1.1;}
 .editorial-site .bp-hero{grid-template-columns:1fr;}
 .editorial-site .bp-hero > img{height:260px;}
 .editorial-site .simulator-grid{grid-template-columns:1fr;gap:20px;}
 .editorial-site .simulator-intro{grid-column:auto;}
 .editorial-site .step-list{grid-template-columns:repeat(2,minmax(0,1fr));}
 .editorial-site .simulator-form{padding:20px;}
 .editorial-site .bp-section{margin-top:44px;}
 .editorial-site .bp-table{font-size:12px;}
 .editorial-site .bp-table th,.editorial-site .bp-table td{padding:12px 5px;overflow-wrap:anywhere;}
 .editorial-site .bp-partner{grid-template-columns:1fr;gap:12px;}
}
@media(max-width:359px){.editorial-site{padding-inline:16px}.editorial-site h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.editorial-site *{scroll-behavior:auto;animation:none!important;transition:none!important;}}
.calculation-source-link { font-size:13px;line-height:1.6;margin:14px 0;grid-column:1 / -1; }
.calculation-source-link a { text-decoration:underline;text-underline-offset:4px; }
.source-table-wrap { overflow-x:auto; }
.editorial-site .source-table-wrap table { min-width:540px; }
.editorial-site .source-table-wrap td { vertical-align:top; }
.editorial-site .source-table-wrap td:last-child { text-align:left; }
/* Intrinsic form controls must shrink within a 320px layout. */
.editorial-site .grid > *, .editorial-site .tjm-layout > *, .editorial-site .flex > * { min-width:0; }
.editorial-site input.field,.editorial-site select.field { min-width:0;max-width:100%; }
.editorial-site .bp-action { transition:transform 160ms ease,box-shadow 160ms ease,filter 160ms ease; }
@media(hover:hover){.editorial-site .bp-action:hover{transform:translateY(-2px);box-shadow:0 6px 16px #073b3a18;filter:brightness(1.08)}}
.editorial-site .bp-reading-nav a { transition:color 160ms ease,text-decoration-color 160ms ease; }
.editorial-site .bp-reading-nav a:hover { color:var(--b-action);text-decoration-thickness:2px; }
.editorial-site :target { scroll-margin-top:110px; }
.editorial-site .bp-section:target > h2 { text-decoration:underline;text-decoration-color:var(--b-line);text-underline-offset:8px; }
.editorial-site details[open] > summary { color:var(--b-action); }
@media(prefers-reduced-motion:reduce){.editorial-site .bp-action:hover{transform:none}}
.editorial-site .result-link { min-width:0;max-width:100%;white-space:normal;text-align:center; }
/* Preserve readable text on filled controls inherited from the calculators. */
.editorial-site .btn-primary,.editorial-site .partner-btn,.editorial-site .mode-btn.active { color:#fff; }
.editorial-site #impact-title { font-family:Inter,Arial,sans-serif;font-size:18px!important;font-weight:600;letter-spacing:0;line-height:1.4; }

/* Approved editorial composition: quiet chrome, two calm panels and one visual result. */
.site-header { background:#f7f8f5; }
.site-header .site-container,.site-footer .site-container { max-width:1100px; }
.header-inner { min-height:74px; flex-wrap:wrap; padding-block:18px; }
.brand-mark { gap:0; font-family:Inter,Arial,sans-serif!important; font-size:27px!important; font-weight:750!important; letter-spacing:-1.8px!important; text-transform:none!important; }
.brand-baseline { display:none!important; }
.site-header .nav-desktop { display:flex; flex-wrap:wrap; gap:8px 22px!important; margin-left:auto; }
.nav-desktop a { font-size:13px!important; text-transform:none!important; letter-spacing:0!important; }
.header-actions .btn-primary { display:none!important; }
.site-header .header-actions,.nav-overlay,.nav-drawer { display:none; }
.editorial-site { max-width:1100px; padding:40px 55px 48px; --bp-radius:18px; --tool-accent:#1f756d; --tool-accent-strong:#175d56; --tool-accent-light:#eaf1eb; }
.site-header .site-container,.site-footer .site-container { padding-inline:55px; }
.editorial-site h1 { font-size:clamp(38px,5.2vw,57px); line-height:1.06; font-weight:400; letter-spacing:-1.7px; }
.editorial-site h2 { font-size:32px; line-height:1.1; font-weight:400; letter-spacing:-1.3px; }
.editorial-site .bp-hero { grid-template-columns:1.05fr 1fr; gap:38px; margin:48px 0 68px; }
.editorial-site .bp-hero > img { height:420px; border-radius:18px; }
.editorial-site .simulator-shell { margin-top:52px; background:transparent; border:0; box-shadow:none; padding:0; }
.editorial-site .simulator-grid { gap:26px; align-items:start; }
.editorial-site .simulator-form,.editorial-site .simulator-results,.editorial-site .tjm-form,.editorial-site .tjm-results { background:#fff; border:1px solid #dce5df; border-radius:18px; padding:26px; }
.editorial-site .simulator-form { grid-column:1; }
.editorial-site .simulator-results { grid-column:2; }
.editorial-site .simulator-grid .simulator-intro { grid-column:1/-1; background:transparent; padding:0; }
.editorial-site .step-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:22px; }
.editorial-site .step-button { padding:8px 4px; background:transparent; color:#526761; border:0; border-bottom:1px solid #dce5df; border-radius:0; font-size:12px; }
.editorial-site .step-button[aria-current=step] { color:#103c38; border-bottom:2px solid #103c38; background:transparent; }
.editorial-site .step-number { background:transparent; color:inherit; width:auto; height:auto; font-size:11px; }
.editorial-site .step-desc { display:none; }
.editorial-site .section-heading { margin-bottom:20px; }
.editorial-site .comparison-row { background:transparent!important; border:0!important; border-bottom:1px solid #dce5df!important; border-radius:0!important; padding:14px 0!important; display:block; }
.editorial-site .comparison-line { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.editorial-site .comparison-row .rank { position:static; display:inline-flex; width:20px; height:20px; margin-bottom:6px; }
.editorial-site .comparison-row .amount { font-size:16px!important; color:#103c38; }
.editorial-site .comparison-track { height:10px; background:#edf2ee; border-radius:999px; margin-top:9px; overflow:hidden; }
.editorial-site .comparison-track span { display:block; height:100%; width:0; background:#1f756d; border-radius:inherit; transition:width 300ms ease; }
.editorial-site .comparison-explanation { margin-top:8px; font-size:12px; color:#526761; }
.editorial-site .comparison-explanation summary { cursor:pointer; }
.editorial-site .bp-big { font:400 42px/1.05 Georgia,serif; letter-spacing:-1px; margin:12px 0 2px; }
.editorial-site .bp-small { color:#526761; font-size:13px; }
.editorial-site .tjm-layout { grid-template-columns:1fr 1fr; gap:26px; align-items:start; }
.editorial-site .tva-grid > div { background:#fff; border:1px solid #dce5df!important; border-radius:18px; padding:26px!important; min-width:0; }
.editorial-site .tva-result > .surface-tint { background:transparent; border:0; padding:12px 0 0; }
.editorial-site .charges-form { background:#fff; border:1px solid #dce5df; border-radius:18px; padding:26px; }
.editorial-site .tjm-results { padding:26px!important; border:1px solid #dce5df!important; }
.editorial-site .tjm-result-list { display:grid; gap:0; }
.editorial-site .tjm-result-list .card,.editorial-site .charges-results .card { background:transparent!important; border:0!important; border-bottom:1px solid #dce5df!important; border-radius:0!important; box-shadow:none!important; padding:15px 0!important; }
.editorial-site .tjm-result-list .recommandé,.editorial-site .charges-results .recommandé { display:none!important; }
.editorial-site .charges-results { background:#fff; border:1px solid #dce5df; border-radius:18px; padding:26px; }
.editorial-site .charges-results .grid { grid-template-columns:1fr!important; gap:0!important; }
.editorial-site .charges-results .amount { font-size:20px!important; }
.editorial-site .net-comparison { margin-top:28px; }
.editorial-site .bp-section { margin-top:64px; }
.site-footer { background:#f7f8f5; border-top:1px solid #dce5df; }
@media(max-width:900px){
 .editorial-site { padding:36px 24px 64px; }
 .site-header .site-container,.site-footer .site-container { padding-inline:24px; }
}
@media(max-width:640px){
 .site-header .nav-desktop { width:100%; margin-left:0; gap:4px 18px!important; }
 .site-header .nav-desktop a { display:inline-flex; align-items:center; min-height:44px; }
 .editorial-site { padding:28px 20px 64px; }
 .editorial-site .bp-hero { grid-template-columns:1fr; gap:26px; margin-top:32px; }
 .editorial-site .bp-hero > img { height:260px; }
 .editorial-site .simulator-grid,.editorial-site .tjm-layout { grid-template-columns:1fr; }
 .editorial-site .simulator-form,.editorial-site .simulator-results,.editorial-site .tjm-form,.editorial-site .tjm-results { grid-column:auto; padding:20px; }
 .editorial-site .tva-grid > div,.editorial-site .tjm-results { padding:20px!important; }
 .editorial-site .bp-big { font-size:36px; }
}

/* Les paramètres fiscaux et les résultats hors périmètre suivent l’état du formulaire. */
[data-fiscal-options] > [hidden], #cards-col[hidden], #tool-results[hidden], #courbe-section[hidden] { display: none !important; }
#details[hidden], #verdict[hidden], .calculation-unsupported #sticky-result { display: none !important; }

/* Des cartes complètes, sans ombre de survol découpée entre les lignes. */
.editorial-site .simulator-results,.editorial-site .tjm-results,.editorial-site .charges-results { min-width:0; height:auto; max-height:none; overflow:visible; }
.editorial-site .simulator-results > .grid { gap:12px; }
.editorial-site .comparison-row,.editorial-site .comparison-row:hover {
  border:1px solid #dce5df!important;border-radius:12px!important;padding:16px!important;
  background:#fff!important;box-shadow:none!important;transform:none!important;min-width:0;
}
.editorial-site .comparison-row.winner { border-color:#95bcb0!important;background:#f0f7f2!important; }
.editorial-site .comparison-line { flex-wrap:wrap;gap:8px 14px; }
.editorial-site .comparison-line > :first-child { flex:1 1 140px;min-width:0;overflow-wrap:break-word; }
.editorial-site .comparison-row .amount { flex:0 0 auto;max-width:100%;white-space:normal;line-height:1.35; }
.editorial-site .comparison-explanation { padding:8px 0 0;border:0; }
.editorial-site .comparison-explanation summary { line-height:1.5; }
.editorial-site .comparison-explanation .delta { flex-wrap:wrap; }
.editorial-site .partner-btn { color:#103c38;background:#fff;border-color:#aac4bb; }
.editorial-site .card.winner .partner-btn { color:#fff;background:#175d56;border-color:#175d56; }
.editorial-site .partner-btn:hover { color:#fff;background:#175d56;border-color:#175d56; }
.editorial-site .partner-btn:focus-visible { outline:3px solid #1f756d;outline-offset:4px; }
@media (max-width:850px) {
 .editorial-site .simulator-grid,.editorial-site .tjm-layout { grid-template-columns:minmax(0,1fr); }
 .editorial-site .simulator-form,.editorial-site .simulator-results { grid-column:1; }
 .editorial-site .simulator-grid > .simulator-results { padding:22px;border:1px solid #dce5df; }
}

/* Repères de lecture : un rail léger, des intitulés à la demande. */
.page-outline { position:fixed;z-index:45;right:16px;top:50%;transform:translateY(-50%);width:40px;font:12px/1.4 Inter,Arial,sans-serif;color:#103c38; }
.outline-toggle { display:flex;align-items:center;justify-content:center;gap:9px;width:40px;min-height:40px;border:1px solid #dce5df;border-radius:50%;background:#fff;color:inherit;cursor:pointer;box-shadow:0 3px 12px #103c380c; }
.outline-toggle svg { flex-shrink:0; }
.outline-toggle > span { display:none; }
.outline-list { list-style:none;margin:12px 0 0;padding:0; }
.outline-list li { margin:0;padding:0; }
.outline-list a { position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:27px;padding:4px 8px;text-decoration:none;color:inherit;border-radius:6px; }
.outline-list a::after { content:'';width:17px;height:3px;background:#aabcb5;border-radius:3px;flex-shrink:0;transition:width .16s,background .16s; }
.outline-list a[aria-current=location]::after { width:27px;background:#175d56;height:4px; }
.outline-label { position:absolute;right:42px;white-space:nowrap;padding:5px 10px;border-radius:6px;background:#fff;box-shadow:0 2px 12px #103c3812;opacity:0;pointer-events:none;transform:translateX(4px);transition:opacity .16s,transform .16s; }
.page-outline:hover .outline-label,.page-outline:focus-within .outline-label,.page-outline[data-expanded=true] .outline-label { opacity:1;pointer-events:auto;transform:none; }
.outline-list a[aria-current=location] .outline-label { font-weight:700;color:#175d56;background:#eaf1eb; }
.outline-list a:focus-visible,.outline-toggle:focus-visible { outline:2px solid #175d56;outline-offset:3px; }
@media(max-width:1000px) {
 .page-outline { top:auto;bottom:calc(92px + env(safe-area-inset-bottom));right:14px;transform:none;width:auto; }
 .outline-toggle { width:auto;border-radius:24px;padding:10px 14px; }
 .outline-toggle > span { display:inline; }
 .outline-list { display:none;position:absolute;bottom:52px;right:0;width:230px;max-height:60vh;overflow:auto;padding:10px;margin:0;background:#fff;border:1px solid #dce5df;border-radius:14px;box-shadow:0 10px 40px #103c3824; }
 .page-outline[data-expanded=true] .outline-list { display:block; }
 .outline-list a { min-height:40px;justify-content:space-between;gap:10px; }
 .outline-label { position:static;white-space:normal;opacity:1;pointer-events:auto;transform:none;box-shadow:none;padding:5px; }
}
@media(prefers-reduced-motion:reduce) { .outline-label,.outline-list a::after { transition:none; } }

/* Le curseur accompagne la progression entre les rubriques. */
.outline-marker { position:absolute;top:0;right:8px;width:27px;height:4px;border-radius:4px;background:#175d56;pointer-events:none;z-index:2;transition:transform 180ms ease-out; }
.outline-list a[aria-current=location]::after { background:#aabcb5;height:3px;width:17px; }
.outline-list a:hover::after { width:27px;background:#628f82; }
.outline-toggle { transition:box-shadow 180ms ease,background 180ms ease; }
.outline-toggle:hover { background:#eaf1eb;box-shadow:0 4px 16px #103c3818; }
@media(max-width:1000px){.outline-marker{display:none}.outline-list a[aria-current=location]::after{background:#175d56;width:27px;height:4px}}
@media(prefers-reduced-motion:reduce){.outline-marker,.outline-toggle{transition:none}}

/* Ergonomie téléphone uniquement : la composition ordinateur reste inchangée. */
@media(max-width:640px){
 .site-header .site-container,.site-footer .site-container{padding-inline:18px}
 .site-header .header-inner{padding-block:14px 10px;gap:10px;min-height:0}
 .site-header .brand-mark{font-size:25px!important}
 .site-header .nav-desktop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px!important;width:100%}
 .site-header .nav-desktop a{min-height:44px;font-size:12px!important;line-height:1.3;white-space:normal}
 .editorial-site{padding:22px 18px 100px}
 .editorial-site .bp-hero{margin:14px 0 32px;gap:22px}
 .editorial-site h1{font-size:36px;line-height:1.12;letter-spacing:-1.2px}
 .editorial-site h2{font-size:28px;line-height:1.17;letter-spacing:-.8px}
 .editorial-site p{line-height:1.65;margin-bottom:16px}
 .editorial-site .bp-hero > img{height:210px}
 .editorial-site .bp-section{margin-top:36px}
 .editorial-site :is(.simulator-shell,.days-section){margin-top:30px}
 .editorial-site .bp-action,.editorial-site .btn-primary,.editorial-site .partner-btn,.editorial-site .result-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;text-align:center;padding:12px 16px}
 .editorial-site input.field,.editorial-site select.field,.editorial-site textarea{font-size:16px!important;min-height:48px}
 .editorial-site input[type=checkbox],.editorial-site input[type=radio]{width:20px;height:20px;flex-shrink:0}
 .editorial-site label:has(input[type=checkbox]),.editorial-site label:has(input[type=radio]){min-height:44px;align-items:center}
 .editorial-site .step-list{gap:4px;margin-bottom:18px}
 .editorial-site .step-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;padding:8px 3px;font-size:11px;line-height:1.3;text-align:center}
 .editorial-site .simulator-form,.editorial-site .tjm-form,.editorial-site .simulator-grid > .simulator-results,.editorial-site .charges-form{padding:18px}
 .editorial-site .comparison-row,.editorial-site .comparison-row:hover{padding:14px!important}
 .editorial-site .comparison-explanation summary,.editorial-site details > summary{min-height:44px;align-content:center;line-height:1.5}
 .editorial-site .bp-jump{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
 .editorial-site .bp-jump a{display:flex;align-items:center;min-height:44px;font-size:13px}
 .editorial-site :target,.editorial-site .bp-section,.editorial-site details{scroll-margin-top:20px}
 .outline-list{width:min(290px,calc(100vw - 28px));max-height:55dvh;overscroll-behavior:contain}
 .outline-list a{min-height:44px}
 .page-outline{bottom:calc(18px + env(safe-area-inset-bottom))}
 body:has(.sticky-result:not([hidden])) .page-outline{bottom:calc(92px + env(safe-area-inset-bottom))}
 body:has(input:focus,select:focus,textarea:focus) .page-outline{visibility:hidden}
}
@media(max-width:359px){.editorial-site h1{font-size:32px}.editorial-site{padding-inline:14px}}

/* Accès discret aux services, sans concurrence avec les résultats. */
.site-header .nav-desktop a.nav-equipment{font-weight:800!important;color:var(--b-ink,#103c38);border-bottom:2px solid #b9cbc5;padding-bottom:4px;gap:6px}
.site-header .nav-desktop a.nav-equipment:hover{border-bottom-color:#103c38}
.equipment-next{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0;padding:22px 0;border-top:1px solid var(--b-line,#dce2dd);border-bottom:1px solid var(--b-line,#dce2dd)}
.equipment-next strong{font-size:16px}.equipment-next p{font-size:14px;line-height:1.65;margin:8px 0 0;max-width:600px}.equipment-next>a{font-weight:700;font-size:14px;flex-shrink:0;padding:12px 0;text-underline-offset:5px}
@media(max-width:1100px) and (min-width:641px){.site-header .header-inner{flex-wrap:wrap}.site-header .nav-desktop{justify-content:flex-start}}
@media(max-width:640px){.site-header .nav-desktop a.nav-equipment{grid-column:1/-1;justify-self:start;margin-top:4px}.equipment-next{align-items:flex-start;flex-direction:column;gap:8px;margin:24px 0;padding:18px 0}.equipment-next>a{flex-shrink:1}}
@media(min-width:1101px){.site-header .site-container{max-width:1320px;padding-inline:32px}.site-header .header-inner{flex-wrap:nowrap;gap:24px}.site-header .nav-desktop{gap:8px 16px!important;flex-wrap:nowrap}.site-header .nav-desktop a{white-space:nowrap}}

/* Mobile reading navigation; the desktop rail stays unchanged. */
.outline-toggle > .outline-current,.outline-toggle > .outline-count{display:none}
@media(max-width:640px){
 .page-outline{left:12px;right:12px;width:auto}
 .outline-toggle{width:100%;min-height:52px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:#fff;box-shadow:0 4px 24px #103c3820}
 .outline-toggle > span:not(.outline-current):not(.outline-count){display:none}
 .outline-toggle > .outline-current{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:600}
 .outline-toggle > .outline-count{display:block;flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:#52655e}
 .outline-toggle svg{flex:none}
 .outline-list{bottom:62px;left:0;right:0;width:100%;max-height:min(65dvh,520px);padding:16px 12px;border-radius:20px;overscroll-behavior:contain;scroll-padding:12px}
 .page-outline[data-expanded=true] .outline-list{animation:outline-sheet-in .18s ease-out}
 .outline-list a{min-height:52px;padding:7px 10px;border-radius:10px}
 .outline-list a[aria-current=location]{background:#eaf1eb}
 .outline-list .outline-label{font-size:14px;line-height:1.45;background:none}
 body:has(.page-outline){padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}
@keyframes outline-sheet-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.page-outline[data-expanded=true] .outline-list{animation:none}}
