/* Simulateur IR 2027-2031 : feuille partagee par la page FR et la page EN. Charte Verion (teal #0E6459 + carmin), Space Grotesk et Inter. */
/* ============================================================
     CHARTE VERION : alignée sur verion.ma (teal #0E6459 + carmin).
     Polices du site : Space Grotesk (titres) · Inter (corps).
     ============================================================ */
  :root{
    --ink:        #0F1412;
    --navy:       #0E6459;
    --navy-700:   #12877A;
    --accent:     #12877A;
    --accent-700: #0E6459;
    --carmine:    #960018;
    --carmine-bg: #FBE8EB;
    --carmine-100:#F1C0C6;
    --teal-50:    #E6F0EE;
    --teal-100:   #C2DBD7;
    --teal-200:   #95BDB6;
    --teal-300:   #5F9991;
    --teal-400:   #2F7D72;
    --teal-600:   #0A5249;
    --teal-700:   #08423C;
    --teal-800:   #06322E;
    --teal-900:   #04221F;
    --slate:      #5C6E6A;
    --paper:      #F7F6F3;
    --card:       #FFFFFF;
    --line:       rgba(14,100,89,0.16);
    --line-soft:  rgba(14,100,89,0.07);
    --neutral-100:#EEEEEA;
    --neutral-200:#DEDCD6;
    --neutral-300:#C2BFB6;
    --neutral-400:#94908A;
    --neutral-500:#6B6862;
    --neutral-600:#4A4844;
    --neutral-700:#33312E;
    --shadow:     0 1px 3px rgba(0,0,0,.06), 0 12px 40px rgba(14,100,89,.10);
    --shadow-brand: 0 16px 40px rgba(8,66,60,.14);
    --radius:     16px;
    --font-head:  'Space Grotesk', sans-serif;
    --font-body:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;
    font-variant-numeric:tabular-nums;
  }
  .mono{font-family:var(--font-body);font-variant-numeric:tabular-nums;}
  a{color:var(--navy);}

  /* ---------- Navbar site (cohérence avec verion.ma) ---------- */
  /* Barre, menu mobile et pied de page : css/site-nav.css (source unique). */

  .back-link{
    display:inline-flex;align-items:center;gap:7px;margin:0 0 20px;
    color:var(--navy);text-decoration:none;font-size:13px;font-weight:600;
    font-family:var(--font-body);transition:color .2s;
  }
  .back-link:hover{color:var(--carmine);}

  /* ---------- Hero de l'outil (identique aux autres simulateurs) ---------- */
  .wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
  .topbar{
    position:relative;overflow:hidden;padding:140px 0 104px;
    background:
      linear-gradient(to right, rgba(247,246,243,0.96) 0%, rgba(247,246,243,0.82) 52%, rgba(247,246,243,0.34) 100%),
      url('../img/Cover_Outils.webp') center/cover no-repeat;
  }
  .topbar .wrap{position:relative;max-width:1120px;}
  .hero-copy{max-width:640px;}
  .hero-fade{position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(to bottom,transparent 0%,var(--paper) 100%);pointer-events:none;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:5px 14px;border-radius:100px;
    background:rgba(14,100,89,.08);border:1px solid rgba(14,100,89,.18);
    font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  }
  .eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--navy);flex:0 0 auto;}
  h1{font-family:var(--font-head);font-size:clamp(28px,4vw,52px);line-height:1.05;margin:0;font-weight:700;letter-spacing:-.03em;max-width:16ch;}
  h1 .h1-a{color:var(--carmine);}
  h1 .h1-b{color:var(--navy);}
  .lede{color:#3A4A47;font-size:clamp(15px,1vw,16px);line-height:1.75;margin:18px 0 0;max-width:60ch;}
  .meta-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
  .pill{font-family:var(--font-body);font-size:12px;background:rgba(14,100,89,.06);border:1px solid rgba(14,100,89,.16);color:var(--slate);padding:6px 13px;border-radius:999px;}
  .pill b{color:var(--navy);font-weight:600;}

  /* ---------- Layout ---------- */
  main{padding:72px 0 24px;}
  .eyebrow-num{margin:0 0 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--carmine);}
  h2.sec{font-family:var(--font-head);font-weight:600;font-size:clamp(26px,3.2vw,36px);line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;color:var(--ink);}
  h3.sub{font-family:var(--font-head);font-weight:600;font-size:clamp(22px,2.6vw,28px);line-height:1.15;letter-spacing:-.01em;margin:0;}
  .intro{margin:0 0 40px;color:var(--neutral-600);font-size:16px;line-height:1.6;}

  /* ---------- Carte du simulateur ---------- */
  .sim{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));
    background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-brand);overflow:hidden;border:1px solid var(--line);
  }
  .sim-form{padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:30px;}
  .sim-head{display:flex;flex-direction:column;gap:8px;padding-bottom:22px;border-bottom:1px solid var(--neutral-200);}
  .sim-head h2{margin:0;font-family:var(--font-head);font-weight:600;font-size:24px;line-height:1.2;}
  .sim-head p{margin:0;font-size:15px;line-height:1.55;color:var(--neutral-600);}
  .lbl-up{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--neutral-500);}
  .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
  .modes button{
    border:0;border-radius:8px;padding:11px 6px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
    transition:background .12s,color .12s,box-shadow .12s;
  }
  .modes button[data-k="net"]{background:var(--teal-50);color:var(--navy);}
  .modes button[data-k="rni"]{background:var(--neutral-100);color:var(--neutral-700);}
  .modes button[data-k="brut"]{background:var(--carmine-bg);color:var(--carmine);}
  .modes button[aria-pressed="true"][data-k="net"]{background:var(--navy);color:#fff;box-shadow:0 1px 2px rgba(17,17,16,.12);}
  .modes button[aria-pressed="true"][data-k="rni"]{background:var(--neutral-700);color:#fff;box-shadow:0 1px 2px rgba(17,17,16,.12);}
  .modes button[aria-pressed="true"][data-k="brut"]{background:var(--carmine);color:#fff;box-shadow:0 1px 2px rgba(17,17,16,.12);}

  .field{display:flex;flex-direction:column;gap:12px;}
  .field-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
  .field-h label,.field-h .lab{font-size:15px;font-weight:600;}
  .field-h span.hint,.hint{font-size:13px;color:var(--neutral-500);}
  .amount{
    display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--teal-200);border-radius:10px;
    padding:10px 18px;cursor:text;box-shadow:inset 0 1px 2px rgba(17,17,16,.06);transition:border-color .12s,box-shadow .12s;
  }
  .amount:hover{border-color:var(--teal-300);}
  .amount:focus-within{border-color:var(--navy);box-shadow:0 0 0 4px var(--teal-50);}
  .amount input{
    flex:1;min-width:0;border:0;outline:none;background:transparent;padding:0;
    font-family:var(--font-head);font-weight:500;font-size:clamp(30px,4vw,42px);letter-spacing:-.02em;color:var(--ink);
    font-variant-numeric:tabular-nums;
  }
  .amount span{font-size:15px;color:var(--neutral-500);white-space:nowrap;}
  input[type="range"]{width:100%;accent-color:var(--navy);cursor:pointer;margin:4px 0 0;}
  .ticks{display:flex;justify-content:space-between;font-size:12px;color:var(--neutral-500);}
  .equiv{margin:0;font-size:14px;color:var(--neutral-600);}
  .equiv b{color:var(--navy);font-weight:600;}

  .two{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;}
  .field-t{display:flex;flex-direction:column;gap:2px;}
  .field-t .lab{font-size:15px;font-weight:600;}
  .pacs{display:flex;gap:6px;flex-wrap:wrap;}
  .pacs button{
    width:44px;height:44px;border-radius:8px;font-family:var(--font-body);font-size:15px;font-weight:500;cursor:pointer;
    border:1px solid var(--neutral-200);background:#fff;color:var(--neutral-700);transition:background .12s,color .12s,border-color .12s;
  }
  .pacs button:hover{border-color:var(--teal-300);}
  .pacs button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy);}
  select.cimr{
    height:44px;max-width:240px;border:1px solid var(--neutral-200);border-radius:8px;padding:0 38px 0 12px;
    font-family:var(--font-body);font-size:15px;color:var(--ink);background:#fff;cursor:pointer;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235A6B7B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 13px center;
  }
  select.cimr:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(14,100,89,.14);}
  .reset{
    align-self:flex-start;background:none;border:none;color:var(--slate);font-family:var(--font-body);font-size:12px;cursor:pointer;
    text-decoration:underline;text-underline-offset:3px;padding:0;
  }
  .reset:hover{color:var(--accent);}

  /* panneau résultat (sombre) */
  .sim-res{background:linear-gradient(160deg,#17706A 0%,var(--navy) 55%,var(--teal-600) 100%);color:#fff;padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:24px;}
  .years{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;border:1px solid rgba(255,255,255,.18);border-radius:8px;}
  .years button{
    border:0;border-radius:6px;padding:9px 0;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;
    background:transparent;color:var(--teal-100);transition:background .12s,color .12s;
  }
  .years button:hover{background:rgba(255,255,255,.08);color:#fff;}
  .years button[aria-pressed="true"]{background:#fff;color:var(--navy);}
  .res-lbl{margin:0;font-size:15px;color:var(--teal-50);}
  .res-net{margin:0;font-family:var(--font-head);font-weight:500;font-size:clamp(48px,6vw,72px);line-height:1;letter-spacing:-.03em;}
  .res-net .dec{font-size:.45em;color:var(--teal-50);}
  .res-net .unit{font-family:var(--font-body);font-size:18px;font-weight:500;letter-spacing:0;color:var(--teal-50);}
  .delta{display:inline-flex;padding:8px 12px;border-radius:6px;font-size:14.5px;font-weight:600;background:rgba(255,255,255,.12);color:var(--teal-50);}
  .delta.gain{background:var(--carmine-bg);color:var(--carmine);}
  .res-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);}
  .res-grid .k{font-size:13px;color:var(--teal-50);display:block;}
  .res-grid .v{font-family:var(--font-head);font-size:24px;font-weight:500;display:block;}
  .res-grid .was{font-size:13px;color:var(--teal-50);text-decoration:line-through;display:block;min-height:1.4em;}
  .res-grid .note{font-size:12.5px;color:var(--teal-50);display:block;}
  .augm{
    margin-top:4px;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    font-size:13.5px;line-height:1.55;color:var(--teal-50);
  }
  .augm b{color:#fff;font-weight:600;}
  .augm .tag{display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--carmine-bg);margin-bottom:6px;}

  /* actions : partager, imprimer */
  .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0 0;}
  .actions .lab{font-size:13px;font-weight:600;color:var(--slate);margin-right:4px;}
  .act{
    display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:9px;border:1px solid var(--line);background:#fff;
    color:var(--navy);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:.15s;
  }
  .act:hover{background:var(--teal-50);border-color:var(--teal-200);}
  .act svg{width:15px;height:15px;}
  .act-msg{font-size:13px;color:var(--navy);font-weight:600;min-height:1.2em;}

  /* ---------- Trajectoire ---------- */
  .traj{padding:88px 0 40px;}
  .steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(4px,1vw,12px);align-items:end;height:300px;border-bottom:1px solid var(--ink);}
  .steps button{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:inherit;font-family:inherit;}
  .steps .g{font-family:var(--font-head);font-size:clamp(15px,2vw,26px);font-weight:600;line-height:1.1;}
  .steps .n{font-size:12px;color:var(--neutral-500);display:block;}
  .steps .g .court{display:none;}
  @media(max-width:520px){.steps .g .court{display:inline;}}
  .steps .bar{display:block;height:12px;background:var(--teal-100);border-top:3px solid transparent;border-radius:4px 4px 0 0;transition:height .36s cubic-bezier(.2,.7,.2,1),background .2s;}
  .steps button:hover .bar{background:var(--teal-200);}
  .steps button[aria-pressed="true"] .bar{background:var(--navy);border-top-color:var(--carmine);}
  .steps button[aria-pressed="true"] .g{color:var(--carmine);}
  .steps-x{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(4px,1vw,12px);padding-top:12px;}
  .steps-x .a{font-size:14px;font-weight:600;display:block;}
  .steps-x .s{font-size:12px;color:var(--neutral-500);display:block;}
  .yoy-wrap{margin-top:64px;display:flex;flex-direction:column;gap:28px;}
  .yoy{border-top:3px solid var(--carmine);box-shadow:0 -2px 0 var(--ink);}
  .yoy button{
    width:100%;display:flex;flex-direction:column;gap:14px;padding:20px clamp(14px,2vw,20px);background:transparent;border:0;
    border-bottom:1px solid var(--neutral-200);text-align:left;cursor:pointer;font-family:inherit;color:inherit;transition:background .12s;
  }
  .yoy button:hover{background:var(--paper);}
  .yoy button[aria-pressed="true"]{background:var(--teal-50);}
  .yoy .row{display:flex;align-items:center;gap:32px;}
  .yoy .lab{display:flex;flex-direction:column;gap:2px;min-width:120px;font-size:17px;color:var(--neutral-600);}
  .yoy .lab b{font-weight:700;color:var(--ink);}
  .yoy .lab small{font-size:14px;color:var(--neutral-500);}
  .yoy .val{font-family:var(--font-head);font-size:clamp(28px,3.5vw,36px);font-weight:600;line-height:1;letter-spacing:-.01em;color:var(--carmine);}
  .yoy .val.zero{color:var(--neutral-400);}
  .yoy .track{display:block;height:8px;border-radius:4px;background:var(--teal-100);overflow:hidden;}
  .yoy .fill{display:block;height:100%;background:var(--carmine);border-radius:4px;transition:width .36s cubic-bezier(.2,.7,.2,1);}
  .yoy .why{font-size:14px;color:var(--neutral-600);}
  .insight{margin:40px 0 0;font-family:var(--font-head);font-weight:400;font-size:clamp(20px,2.4vw,26px);line-height:1.45;}
  .insight b{font-weight:600;color:var(--carmine);}

  /* ---------- Détail ---------- */
  .detail{padding:40px 0 80px;display:flex;flex-direction:column;gap:32px;}
  .cards2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:24px;}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow);}
  .card h3{margin:0 0 4px;font-family:var(--font-head);font-weight:600;font-size:20px;}
  .card .sub{margin:0 0 24px;font-size:14px;color:var(--neutral-500);}
  .slip{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:20px;font-size:14px;}
  .slip .th{font-size:12px;font-weight:600;color:var(--neutral-500);padding-bottom:8px;border-bottom:1px solid var(--neutral-200);}
  .slip .th.r{text-align:right;}
  .slip .th.cur{color:var(--navy);}
  .slip .c{padding:11px 0;border-bottom:1px solid var(--neutral-100);}
  .slip .c.r{text-align:right;white-space:nowrap;font-size:13.5px;}
  .slip .c.a{color:var(--neutral-500);}
  .slip .c.strong{font-weight:600;}
  .slip .c.tot{font-weight:700;border-bottom:2px solid var(--ink);}
  .slip .c.ir{color:var(--carmine);}
  .slip .c.net{color:var(--navy);}
  .slip .grp{grid-column:1 / -1;padding:24px 0 4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--neutral-500);}
  .bareme-bar{position:relative;}
  .segs{display:flex;height:56px;border-radius:8px;overflow:hidden;gap:2px;}
  .segs div{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;overflow:hidden;min-width:0;white-space:nowrap;transition:flex-basis .36s cubic-bezier(.2,.7,.2,1);}
  @media(max-width:520px){.tr{font-size:13px;column-gap:10px;}.tr .c.r{font-size:12.5px;}.slip{column-gap:12px;}}
  .tr .c.lib .moi{display:block;font-size:11px;color:var(--carmine);font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
  .marker{position:absolute;top:-30px;bottom:-6px;border-left:2px solid var(--carmine);pointer-events:none;transition:left .36s cubic-bezier(.2,.7,.2,1);}
  .marker span{position:absolute;top:0;white-space:nowrap;font-size:12px;font-weight:700;color:var(--carmine);}
  .axis{display:flex;justify-content:space-between;font-size:12px;color:var(--neutral-500);margin:10px 0 28px;}
  .tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;column-gap:16px;font-size:14px;}
  .tr .th{font-size:12px;font-weight:600;color:var(--neutral-500);padding-bottom:8px;border-bottom:1px solid var(--neutral-200);}
  .tr .th.r{text-align:right;}
  .tr .th.cur{color:var(--navy);}
  .tr .c{padding:10px 0;border-bottom:1px solid var(--neutral-100);}
  .tr .c.lib{display:flex;align-items:center;gap:10px;}
  .tr .c.r{text-align:right;font-size:13.5px;}
  .tr .sw{width:10px;height:10px;border-radius:2px;flex:none;display:inline-block;}
  .tr .c.off{color:var(--neutral-400);}
  .tr .c.marg{font-weight:600;}
  .tr .c.span2{grid-column:span 2;}
  .tr .c.tot{font-weight:700;border-bottom:2px solid var(--ink);color:var(--carmine);}
  .tr .c.mid{font-weight:600;border-bottom:1px solid var(--neutral-200);}
  .marg-note{margin:14px 0 0;font-size:13px;color:var(--neutral-600);background:var(--teal-50);border-radius:9px;padding:10px 13px;}
  .marg-note b{color:var(--navy);}

  /* ---------- Annexes : tableau complet ---------- */
  .annexes{background:var(--teal-50);padding:72px 0;}
  .annexes details{border-top:1px solid var(--teal-100);}
  .annexes details:last-of-type{border-bottom:1px solid var(--teal-100);}
  .annexes summary{
    cursor:pointer;list-style:none;padding:20px 0;display:flex;justify-content:space-between;align-items:center;
    font-family:var(--font-head);font-size:20px;font-weight:600;color:var(--ink);
  }
  .annexes summary::-webkit-details-marker{display:none;}
  .annexes .plus{font-size:26px;font-weight:300;color:var(--navy);transition:transform .2s;line-height:1;}
  .annexes details[open] .plus{transform:rotate(45deg);}
  .annexes .hyp{margin:0;padding:0 0 28px 20px;font-size:14px;line-height:1.6;color:var(--neutral-700);display:flex;flex-direction:column;gap:8px;}
  .annexes .src{margin:28px 0 0;font-size:13px;line-height:1.6;color:var(--neutral-600);}

  .tab-wrap{padding:0 0 28px;}
  .tab-scroll{overflow-x:auto;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;}
  table.tab-complet{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;min-width:720px;}
  .tab-complet caption{caption-side:top;text-align:left;padding:16px 18px 10px;font-size:13px;color:var(--neutral-500);}
  .tab-complet caption b{color:var(--ink);font-weight:600;}
  .tab-complet th,.tab-complet td{padding:11px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--neutral-100);}
  .tab-complet th:first-child,.tab-complet td:first-child{text-align:left;white-space:normal;min-width:180px;max-width:230px;line-height:1.3;padding-left:16px;position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 0 var(--neutral-100);}
  .tab-complet thead th{background:var(--teal-50);color:var(--teal-700);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--teal-100);}
  .tab-complet thead th:first-child{background:var(--teal-50);}
  .tab-complet thead th.sel,.tab-complet td.sel{background:rgba(14,100,89,.09);}
  .tab-complet thead th.sel{color:var(--navy);border-bottom-color:var(--navy);}
  .tab-complet thead th .sel-tag{display:block;font-size:10px;letter-spacing:.08em;color:var(--carmine);font-weight:700;margin-top:2px;}
  .tab-complet tr.grp td{background:var(--paper);color:var(--neutral-500);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:9px 16px;border-bottom:1px solid var(--neutral-200);}
  .tab-complet tr.grp td:first-child{background:var(--paper);}
  .tab-complet tbody tr:not(.grp):hover td{background:rgba(14,100,89,.04);}
  .tab-complet tbody tr:not(.grp):hover td.sel{background:rgba(14,100,89,.12);}
  .tab-complet tr.ir td{color:var(--carmine);font-weight:600;}
  .tab-complet tr.net td{font-weight:700;color:var(--navy);border-bottom:2px solid var(--ink);}
  .tab-complet tr.gain td{color:var(--carmine);font-weight:600;}
  .tab-complet tr.gain2 td{color:var(--navy);font-weight:600;}
  .tab-complet tr.muted td{color:var(--neutral-600);}
  .tab-complet tbody tr:last-child td{border-bottom:none;}
  .tab-complet .neg{color:var(--neutral-500);font-weight:400;}
  .tab-help{margin:10px 0 0;font-size:12.5px;color:var(--neutral-500);}

  /* ---------- Guide (contenu indexable) et FAQ ---------- */
  .guide{padding:80px 0 24px;}
  .guide .intro{max-width:none;}
  .bar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:28px;}
  .bar-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px 14px;box-shadow:var(--shadow);}
  .bar-card h3{margin:0 0 4px;font-family:var(--font-head);font-size:19px;font-weight:600;display:flex;align-items:baseline;gap:10px;}
  .bar-card h3 small{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--carmine);}
  .bar-card p.m{margin:0 0 12px;font-size:13px;color:var(--neutral-500);}
  .bar-card table{width:100%;border-collapse:collapse;font-size:13.5px;}
  .bar-card th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-500);font-weight:700;padding:6px 0;border-bottom:1px solid var(--neutral-200);}
  .bar-card th:last-child,.bar-card td:last-child{text-align:right;}
  .bar-card td{padding:8px 0;border-bottom:1px solid var(--neutral-100);}
  .bar-card tr:last-child td{border-bottom:none;}
  .bar-card td.tx{font-weight:600;color:var(--navy);}
  .bar-card.cur{border-color:var(--navy);box-shadow:0 0 0 2px rgba(14,100,89,.12),var(--shadow);}
  .guide-txt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin-top:40px;}
  .guide-txt h3{margin:0 0 8px;font-family:var(--font-head);font-size:19px;font-weight:600;}
  .guide-txt p{margin:0;font-size:15px;line-height:1.65;color:var(--neutral-700);}
  .guide-txt p+p{margin-top:8px;}

  .faq{padding:48px 0 8px;}
  .faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;box-shadow:var(--shadow);}
  .faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:600;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary .plus{font-size:22px;font-weight:300;color:var(--navy);transition:transform .2s;flex:0 0 auto;}
  .faq details[open] summary .plus{transform:rotate(45deg);}
  .faq .ans{padding:0 20px 18px;font-size:14.5px;line-height:1.65;color:var(--neutral-700);}
  .faq .ans p{margin:0;}

  /* ---------- CTA, avertissement, footer ---------- */
  .cta{margin-top:32px;background:var(--navy);color:#fff;border-radius:var(--radius);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
  .cta-txt h3{margin:0;font-size:15px;font-weight:700;font-family:var(--font-body);}
  .cta-txt p{margin:4px 0 0;font-size:13px;color:#A9C2D8;max-width:48ch;}
  .cta a{background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:11px 20px;border-radius:10px;white-space:nowrap;transition:.15s;}
  .cta a:hover{background:var(--accent-700);}
  .disclaimer{margin-top:16px;font-size:12.5px;color:#235C4E;line-height:1.6;background:#EAF7F1;border:1px solid #C6E6D8;border-radius:12px;padding:18px 22px;}
  .disclaimer p{margin:0;}
  .disclaimer b{color:#123F34;}
  .disclaimer-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px solid #C6E6D8;}
  .disclaimer-cta span{font-size:13px;font-weight:600;color:#123F34;}
  .disclaimer-cta a{background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:13px;padding:9px 17px;border-radius:9px;white-space:nowrap;transition:.15s;flex:0 0 auto;}
  .disclaimer-cta a:hover{background:var(--accent-700);}

  .print-head{display:none;}

  @media(max-width:768px){
    .topbar{padding:104px 0 72px;}
    main{padding:48px 0 16px;}
    .hero-copy{max-width:none;}
    .steps{height:220px;}
    .yoy .row{gap:16px;}
    .res-grid{grid-template-columns:1fr;}
  }
  @media(max-width:520px){
    .modes button{font-size:12.5px;padding:10px 4px;}
    .years button{font-size:12px;}
    .steps .n{display:none;}
    .steps .g .long{display:none;}
    .steps .g{font-size:13px;}
    .steps-x .a{font-size:12px;}
    .steps-x .s{font-size:10.5px;}
    .yoy .row{flex-wrap:wrap;gap:8px 16px;}
  }

  /* ---------- Impression : la simulation seule, sur une feuille ---------- */
  @media print{
    @page{margin:14mm;}
    body{background:#fff;}
    .navbar,.mobile-menu,.hero-fade,.actions,.reset,.annexes,.guide,.faq,.cta,.site-footer,.back-link,.steps button .bar,.yoy .track{display:none !important;}
    .topbar{padding:0 0 16px;background:none;}
    .topbar .wrap{padding:0;}
    .print-head{display:block;margin:0 0 14px;font-size:12px;color:#555;border-bottom:1px solid #ccc;padding-bottom:8px;}
    main{padding:0;}
    .sim{box-shadow:none;border:1px solid #ccc;break-inside:avoid;}
    .sim-res{background:var(--navy) !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
    .traj,.detail{padding:24px 0;break-inside:avoid;}
    .steps{height:120px;}
    .card{box-shadow:none;break-inside:avoid;}
    .disclaimer{break-inside:avoid;}
  }

  @media (prefers-reduced-motion:reduce){*{transition:none!important;}}
  select:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
