:root{
  color-scheme:light;
  --bg:#F4F7FF; --surface:#FFFFFF; --line:#DCE4F2; --line-strong:#C9D5EC;
  --fg:#0D1421; --muted:#566178; --accent:#1D5CEC; --accent-dark:#1548BF;
  --accent-soft:#E7EEFE; --accent-pale:#C3D3F7; --orange:#F07A57; --warn-bg:#FDEEE8;
  --sans:"DM Sans","Segoe UI",Arial,sans-serif; --mono:"DM Mono",Consolas,ui-monospace,monospace; --r:8px;
}
*{box-sizing:border-box}
[hidden]{display:none !important} /* l'attribut hidden l'emporte sur les display:flex/grid des classes */
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans)}
a{color:var(--accent)}a:hover{color:var(--accent-dark)}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hl{color:var(--accent)}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.conteneur{max-width:1240px;margin:0 auto;padding-inline:24px}

/* En-tête */
.top{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}
.top-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-block:12px}
.marques{display:flex;align-items:center;gap:14px}
.logo-biifor img{display:block;height:40px;width:auto}
.filet{width:1px;height:28px;background:var(--line-strong)}
.credit{display:flex;align-items:center;gap:6px;text-decoration:none}
.credit span{font:400 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.credit img{display:block;height:24px;width:auto}
.libelle{flex-grow:1;font:400 12px var(--mono);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}

/* Boutons */
.btn{font-weight:650;font-size:14px;border-radius:7px;padding:11px 16px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.btn:hover{border-color:var(--accent-pale)}
.btn.primaire{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 18px rgba(29,92,236,.16)}
.btn.primaire:hover{background:var(--accent-dark)}
.lien{background:none;border:0;padding:0 0 0 8px;color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline}

/* Accroche */
.hero{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);border-bottom:1px solid var(--line);padding:36px 0 28px}
.surtitre{margin:0;font:400 12px var(--mono);letter-spacing:.055em;text-transform:uppercase;color:var(--accent)}
.hero .surtitre::before,.resultat .surtitre::before{content:"+";margin-right:9px}
h1{margin:12px 0;font-size:clamp(2.1rem,4.6vw,3rem);line-height:1.04;font-weight:850;letter-spacing:-.05em;max-width:900px;text-wrap:balance}
.intro{margin:0 0 16px;font-size:18px;font-weight:500;color:var(--muted);max-width:64ch}
.pastilles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pastilles li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.pastilles span{color:var(--accent)}

/* Accès à « Comprendre le RUAMM » */
.btn-comprendre{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}
.btn-comprendre span,.bandeau-icone{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:13px;flex:none}
.bandeau-comprendre{margin-top:18px;display:flex;align-items:center;gap:14px;max-width:760px;padding:14px 18px;border:1px solid var(--accent-pale);border-left:4px solid var(--accent);border-radius:var(--r);background:var(--surface);color:var(--fg);text-decoration:none;font-size:15px;box-shadow:0 7px 18px rgba(29,92,236,.08)}
.bandeau-comprendre:hover{border-color:var(--accent);color:var(--fg)}
.bandeau-comprendre b{color:var(--accent-dark);margin-right:4px}
.bandeau-icone{width:32px;height:32px;font-size:17px}
.bandeau-fleche{margin-left:auto;font-size:20px;color:var(--accent);transition:transform .15s}
.bandeau-comprendre:hover .bandeau-fleche{transform:translateX(4px)}
.bandeaux{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:12px;max-width:1000px}
.bandeaux .bandeau-comprendre{margin-top:0;max-width:none}
.bandeau-comprendre.reforme{border-color:#F6C2B2;border-left-color:var(--orange)}
.bandeau-comprendre.reforme:hover{border-color:var(--orange)}
.bandeau-comprendre.reforme b{color:#9A3D1F}
.bandeau-comprendre.reforme .bandeau-icone{background:var(--orange)}
.bandeau-comprendre.reforme .bandeau-fleche{color:var(--orange)}
@media (max-width:1320px){
  .top-ligne:has(.btn-comprendre) .libelle{visibility:hidden;min-width:0;flex-basis:0}
}

/* Disposition */
.disposition{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;padding-block:28px 40px}
.colonne-saisie{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.colonne-resultat{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:20px;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto;padding-bottom:4px}

/* Cartes */
.carte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.carte-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.etape{margin:0;font:400 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
h2{margin:2px 0 0;font-size:24px;line-height:1.12;font-weight:850;letter-spacing:-.04em}
h3{margin:0 0 4px;font-size:18px;font-weight:750;letter-spacing:-.02em}
.sous-titre{margin:6px 0 0;font-size:14px;font-weight:500;color:var(--muted)}
.numero{font:400 34px/1 var(--mono);color:var(--accent-pale)}

/* Champs */
.grille-2,.grille-3{display:grid;gap:16px 20px}
.grille-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grille-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.champ{display:flex;flex-direction:column;gap:6px}
.champ.large{grid-column:1 / -1}
.champ.etroit{max-width:320px}
.champ label,.etiquette{font-size:14px;font-weight:650}
.facultatif{font-weight:500;color:var(--muted)}
.aide{font-size:13px;color:var(--muted)}
input[type=text],input[type=date],input.montant{font-weight:500;font-size:16px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);min-height:44px;width:100%}
input.montant{text-align:right;font-variant-numeric:tabular-nums}
input:hover{border-color:var(--accent-pale)}

/* Choix segmentés */
.segments{display:flex;gap:6px}
.segments.deux,.segments.trois{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.segments.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg{flex:1;font-weight:650;font-size:14px;border-radius:7px;padding:10px 14px;border:1px solid var(--line-strong);background:var(--surface);min-height:44px;cursor:pointer}
.seg:hover:not(:disabled){border-color:var(--accent-pale)}
.seg.actif{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.resultat .seg.actif{background:var(--accent);color:#fff}
.seg:disabled{border-style:dashed;color:var(--muted);cursor:not-allowed}

/* Parcours guidé (arbre de décision) */
.parcours{display:flex;flex-direction:column;gap:22px}
.question{animation:question-entre .35s ease}
@keyframes question-entre{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.question+.question{border-top:1px dashed var(--line);padding-top:20px}
.question-titre{margin:0 0 10px;font-size:16px;font-weight:700}
.question .segments{margin-top:0}
.question .aide{display:block;margin-top:8px}
.question .message{margin-top:12px}
.question .champ{margin-top:14px}
.choix-cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.choix-cartes .regime{min-height:84px}
.choix-cartes .regime small{margin-top:4px}
.aide-question{margin-top:10px;font-size:14px}
.aide-question summary{cursor:pointer;font-weight:600;color:var(--accent)}
.aide-question p{margin:8px 0 0;color:var(--muted)}
.fil{margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}
.fil span{border:1px solid var(--line);border-radius:999px;padding:4px 12px;background:var(--surface)}
.fil .fil-regime{border-color:var(--accent-pale);background:var(--accent-soft);color:var(--accent-dark)}
.mode-saisie{margin:14px 0 0;font-size:14px}
.mode-saisie .lien{padding:0}
.ajustements summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.ajustements summary::-webkit-details-marker{display:none}
.ajustements summary::after{content:"+";margin-left:auto;font:400 20px var(--mono);color:var(--accent)}
.ajustements[open] summary::after{content:"−"}
.ajustements[open] summary{margin-bottom:12px}
#regimes-expert{margin-bottom:18px}

/* Régimes */
.regimes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.regime{text-align:left;border-radius:var(--r);padding:12px 14px;min-height:64px;cursor:pointer;border:1px solid var(--line);background:var(--surface)}
.regime b{display:block;font-size:15px}
.regime i{font-style:normal;color:var(--accent)}
.regime small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.regime:hover{border-color:var(--accent-pale)}
.regime[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.vide{margin:14px 0 0;font-size:14px;color:var(--muted)}
.blocs{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.blocs:empty{display:none}
.bloc{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--r);padding:16px 18px}
.bloc-titre{margin:0 0 10px;font:400 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.retenu{margin:10px 0 0;font-size:14px;color:var(--muted)}
.retenu b{color:var(--fg)}
.aide-div{margin-top:12px}
.aide-div summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--accent);padding:6px 0}
.aide-div .grille-2{margin-top:10px}

/* Résultat */
.resultat{border-top:3px solid var(--accent)}
.resultat-tete{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.badge{font:400 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px}
.badge.ajuste{color:#9A3D1F;border-color:var(--orange);background:var(--warn-bg)}
.option-pe{margin-top:8px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;border:1px solid var(--line);border-radius:7px;padding:10px 12px;min-height:44px;cursor:pointer}
.option-pe input{width:18px;height:18px;accent-color:var(--accent);margin:0}
.option-pe em{font-style:normal;font-weight:500;color:var(--muted)}
.montant-principal{margin-top:22px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
#total{font-size:52px;line-height:1;font-weight:850;letter-spacing:-.05em;color:var(--accent);font-variant-numeric:tabular-nums}
#libelle-periode{font-size:16px;font-weight:600;color:var(--muted)}
.repartition{margin:6px 0 0;font-size:14px;color:var(--muted)}
.repartition b{color:var(--fg)}
.resultat.en-cours #total{opacity:.45}
.message{margin:12px 0 0;background:var(--warn-bg);border-left:3px solid var(--orange);border-radius:0 var(--r) var(--r) 0;padding:10px 14px;font-size:14px}
.chiffres{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.chiffres b{display:block;font-size:22px;font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.chiffres span{font-size:13px;color:var(--muted)}
.note{margin:12px 0 0;font-size:13px;color:var(--muted)}
.echeances{margin:14px 0 0;font:400 12px var(--mono);letter-spacing:.03em;color:var(--muted)}

/* Simulateur : une seule colonne, on remplit puis on voit le résultat */
.page-simu{max-width:880px;display:flex;flex-direction:column;gap:20px;padding-block:28px 40px}
.saisie{display:flex;flex-direction:column;gap:20px}
.btn.grand{font-size:16px;padding:14px 26px;min-height:54px}
.action-calcul{text-align:center;padding:4px 0 8px}
.action-calcul .btn{min-width:min(360px,100%);justify-content:center}
.action-calcul .aide{display:block;margin-top:10px}
.resultats{display:flex;flex-direction:column;gap:20px;scroll-margin-top:160px;animation:resultats-entre .45s ease}
@keyframes resultats-entre{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.resultats-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.resultats-tete .lien{padding:0;font-size:14px}
.resultat-corps{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:10px}
.resultat-montant .montant-principal{margin-top:6px}
.resultat-montant .segments.trois{margin-top:16px}
.resultat-reglages .segments{margin-top:6px}
.resultat-reglages .chiffres{margin-top:14px}
.grille-resultats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}

/* Appel vers la comparaison avec la réforme (débloquée après l'intermède) */
.appel-reforme{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:center;border:2px solid var(--orange);background:linear-gradient(135deg,#FFF4EF 0%,var(--surface) 65%);box-shadow:0 18px 40px rgba(240,122,87,.16);padding:26px 28px}
.appel-reforme h3{margin:12px 0 8px;font-size:24px;line-height:1.15;font-weight:850;letter-spacing:-.035em}
.appel-reforme p{margin:0;font-size:15px}
.appel-reforme .btn{margin-top:18px;background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(240,122,87,.35);animation:appel-pulse 2.6s ease-in-out infinite}
.appel-reforme .btn:hover{background:#D9603D;border-color:#D9603D}
@keyframes appel-pulse{0%,70%,100%{box-shadow:0 10px 24px rgba(240,122,87,.35),0 0 0 0 rgba(240,122,87,.45)}85%{box-shadow:0 10px 24px rgba(240,122,87,.35),0 0 0 10px rgba(240,122,87,0)}}
.ic-cadenas{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.apercu-flou{position:relative;display:grid;gap:12px;padding:18px;border-radius:14px;background:var(--surface);border:1px solid #F6C2B2}
.af-ligne{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px;font-weight:650;color:var(--muted)}
.af-ligne i{display:block;height:12px;border-radius:6px;width:var(--l);background:linear-gradient(90deg,#F9C3B1,var(--orange));animation:af-respire 2.4s ease-in-out infinite}
.af-ligne:nth-child(2) i{animation-delay:.3s}
.af-ligne:nth-child(3) i{animation-delay:.6s}
@keyframes af-respire{0%,100%{opacity:.55}50%{opacity:1}}
.af-ligne b{font-size:16px;color:#9A3D1F;filter:blur(5px);user-select:none}
.af-cadenas{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;display:grid;place-items:center;background:var(--orange);box-shadow:0 0 0 6px rgba(255,255,255,.85),0 10px 24px rgba(240,122,87,.4)}
.af-cadenas svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}

/* Barre de rappel du résultat, quand on remonte modifier la saisie */
.barre-resultat{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-top:3px solid var(--accent);box-shadow:0 -10px 26px rgba(29,92,236,.12);padding:10px max(16px,calc((100vw - 880px) / 2)) 14px}
.barre-resultat b{display:block;font-size:28px;line-height:1.1;font-weight:850;letter-spacing:-.05em;color:var(--accent)}
.barre-resultat .surtitre{font-size:11px}
body.avec-barre{padding-bottom:90px}

/* Intermède : présentation d'une des sociétés du site, 3 secondes */
body.intermede-ouvert{overflow:hidden}
.intermede{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(13,20,33,.55);backdrop-filter:blur(3px);animation:intermede-voile .3s ease both}
.intermede.sortie{animation:intermede-voile .3s ease reverse both}
@keyframes intermede-voile{from{opacity:0}to{opacity:1}}
.intermede-carte{width:min(560px,100%);overflow:hidden;background:var(--surface);border-radius:18px;padding:34px 34px 26px;text-align:center;box-shadow:0 30px 80px rgba(13,20,33,.35);position:relative}
.intermede-carte:focus{outline:none}
.intermede-carte::before{content:"";position:absolute;inset:-40% -40% auto auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 70%);animation:intermede-halo 3s ease-in-out both}
.marque-techapply .intermede-carte::before{inset:auto auto -40% -40%;background:radial-gradient(circle,#FDE3D9,transparent 70%)}
@keyframes intermede-halo{from{transform:scale(.4);opacity:0}to{transform:scale(1.1);opacity:1}}
.intermede-carte>*{position:relative}
.intermede-sur{margin:0;font:400 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);animation:intermede-entre .5s ease both}
.intermede-logo{display:block;height:64px;width:auto;margin:18px auto 6px;animation:intermede-logo .8s cubic-bezier(.2,1.4,.4,1) .15s both}
@keyframes intermede-logo{from{opacity:0;transform:scale(.5) rotate(-6deg)}to{opacity:1;transform:none}}
.intermede-role{margin:0;font-size:13px;font-weight:650;color:var(--accent);animation:intermede-entre .5s ease .5s both}
.intermede h2{margin:14px 0 6px;font-size:clamp(1.3rem,3.6vw,1.75rem);line-height:1.15;letter-spacing:-.035em;animation:intermede-entre .5s ease .6s both}
.intermede-texte{margin:0 auto;max-width:44ch;color:var(--muted);font-size:15px;animation:intermede-entre .5s ease .8s both}
@keyframes intermede-entre{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.intermede-points{list-style:none;margin:18px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.intermede-points li{border:1px solid var(--accent-pale);background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;animation:intermede-entre .45s ease both;animation-delay:var(--d)}
.marque-techapply .intermede-points li{border-color:#F6C2B2;background:var(--warn-bg);color:#9A3D1F}
.intermede-carte .btn{animation:intermede-entre .5s ease 1.6s both}
.intermede-texte+.btn{margin-top:20px;animation-delay:1.1s}
.intermede-barre{margin-top:22px;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.intermede-barre i{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--accent),var(--orange));animation:intermede-progres linear both}
@keyframes intermede-progres{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.intermede-attente{margin:8px 0 0;font-size:12px;color:var(--muted)}
@media (max-width:640px){
  .intermede-carte{padding:26px 20px 20px}
  .intermede-logo{height:52px}
}
@media (prefers-reduced-motion:reduce){
  .intermede *,.intermede,.intermede-carte::before{animation-duration:.01ms !important;animation-delay:0s !important}
  .intermede-barre i{animation-duration:3000ms !important}
}

/* Bloc « Et avec le projet réforme RUAMM ? » */
#bloc-reforme .resultat-tete h3{margin:0}
#bloc-reforme .segments.trois{margin-top:14px}
.verdict{margin-top:14px;border-radius:var(--r);padding:14px 16px;background:var(--accent-soft);border:1px solid var(--accent-pale)}
.verdict-chiffre{margin:0;font-size:30px;line-height:1.1;font-weight:850;letter-spacing:-.05em;color:var(--accent);font-variant-numeric:tabular-nums}
.verdict-texte{margin:6px 0 0;font-size:14px;font-weight:500}
.verdict.hausse{background:var(--warn-bg);border-color:var(--orange)}
.verdict.hausse .verdict-chiffre{color:#B4441F}
.verdict.baisse{background:#E8F6EE;border-color:#7BC49A}
.verdict.baisse .verdict-chiffre{color:#1E7A46}
.tableau.tableau-phases td:first-child{padding:10px;font-weight:600}
.tableau.tableau-phases td.hausse{color:#B4441F}
.tableau.tableau-phases td.baisse{color:#1E7A46}
.tableau.tableau-phases tr.choisie td:first-child::before{content:"● ";color:var(--accent)}

/* Tableau */
.tableau-defile{overflow-x:auto;margin-top:12px}
.tableau{width:100%;border-collapse:collapse;font-size:14px}
.tableau th{text-align:right;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:#F8FAFF;padding:8px 10px}
.tableau th:first-child{text-align:left}
.tableau td{border-top:1px solid var(--line);padding:10px;text-align:right;font-variant-numeric:tabular-nums}
.tableau td:first-child{padding:0;text-align:left}
.tableau td:last-child{font-weight:700}
.tableau tr.choisie{background:var(--accent-soft)}
.tableau button{width:100%;text-align:left;background:none;border:0;padding:10px;min-height:44px;font-size:14px;font-weight:600;cursor:pointer}

/* Détail */
.detail{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14px}
.detail li{display:flex;gap:12px}
.detail li>span:first-child{font:400 13px var(--mono);color:var(--accent);flex:none}
.avertissement{margin:0;background:var(--warn-bg);border-left:3px solid var(--orange);border-radius:0 var(--r) var(--r) 0;padding:12px 16px;font-size:13px}

/* Pied */
.pied{background:var(--surface);border-top:1px solid var(--line);padding-block:16px}
.pied-ligne{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font:400 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pied .liens{display:flex;gap:18px}
.pied a{text-decoration:none}

/* Barre mobile */
.barre-mobile{display:none}
.fiche{display:none}

@media (max-width:900px){
  .colonne-resultat{position:static;max-height:none;overflow:visible}
  .barre-mobile{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-top:3px solid var(--accent);box-shadow:0 -10px 26px rgba(29,92,236,.12);padding:10px 16px 14px}
  .barre-mobile b{display:block;font-size:30px;line-height:1.1;font-weight:850;letter-spacing:-.05em;color:var(--accent)}
  .barre-mobile .surtitre{font-size:11px}
  body{padding-bottom:90px}
}
@media (max-width:760px){
  .resultat-corps,.grille-resultats,.appel-reforme{grid-template-columns:minmax(0,1fr)}
  .appel-reforme{padding:22px 18px;gap:18px}
  .appel-reforme .btn{width:100%;justify-content:center}
  .appel-reforme h3{font-size:21px}
}
@media (prefers-reduced-motion:reduce){
  .appel-reforme .btn,.af-ligne i,.resultats{animation:none}
}
@media (max-width:640px){
  .conteneur{padding-inline:16px}
  .libelle{display:none}
  .top-ligne .btn{flex:1;justify-content:center}
  .grille-2,.grille-3{grid-template-columns:minmax(0,1fr)}
  .regimes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choix-cartes{grid-template-columns:minmax(0,1fr)}
  .choix-cartes .regime{min-height:0}
  .question .segments.trois{grid-template-columns:minmax(0,1fr)}
  .carte{padding:18px 16px}
  #total{font-size:42px}
}

/* Fiche imprimable (A4) */
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;padding:0}
  body>*:not(.fiche){display:none !important}
  .fiche{display:block;font-size:12px;line-height:1.5;color:var(--fg)}
  .fiche .f-tete{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
  .fiche .f-marques{display:flex;align-items:center;gap:12px}
  .fiche .f-marques .logo{height:34px}
  .fiche .f-marques .credit-logo{height:18px}
  .fiche .f-marques small{font:400 8px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
  .fiche h1{font-size:24px;margin:0 0 4px}
  .fiche .f-sous{color:var(--muted);margin:0 0 16px}
  .fiche .f-grille{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
  .fiche .f-boite{border:1px solid var(--line);border-radius:6px;padding:10px 12px}
  .fiche .f-boite p{margin:2px 0}
  .fiche .f-titre{font:400 9px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 4px}
  .fiche .f-chiffre{font-size:20px;font-weight:850;color:var(--accent)}
  .fiche table{width:100%;border-collapse:collapse;margin:6px 0 14px}
  .fiche th{font:500 9px var(--mono);text-transform:uppercase;color:var(--accent);background:#F8FAFF;text-align:right;padding:6px 8px}
  .fiche th:first-child,.fiche td:first-child{text-align:left}
  .fiche td{border-top:1px solid var(--line);padding:6px 8px;text-align:right}
  .fiche tr.choisie td{font-weight:700;background:#E7EEFE}
  .fiche ol{margin:4px 0 12px;padding-left:16px}
  .fiche .f-pied{border-top:1px solid var(--line);padding-top:8px;margin-top:16px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}
}
