/* Page d'accueil : comparateur de la réforme du RUAMM (la base est styles.css) */
:root{--rouge:#C62828;--vert:#1E7A46}

/* Premier écran */
.hero-court{padding:20px 0 16px}
.hero-court h1{margin:0 0 8px;font-size:clamp(1.75rem,4.6vw,3rem)}
.hero-court .intro{margin:0 0 10px;font-size:16px}
.bandeau-projet{display:inline-block;margin:0;padding:3px 10px;border-radius:6px;background:var(--warn-bg);color:#7A3016;font-size:13px;font-weight:600}

/* Aperçu en un geste */
.apercu{margin-top:18px;padding:26px 28px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 36px;align-items:start}
.ap-resultat{padding-left:36px;border-left:1px solid var(--line)}
.ap-libelle{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;font-size:14px;font-weight:650}
.ap-libelle small{font-size:13px;font-weight:500;color:var(--muted)}
.ap-revenu{display:flex;align-items:baseline;gap:10px}
.ap-revenu input[type=text]{max-width:220px;padding:4px 10px;font-size:26px;font-weight:700;letter-spacing:-.01em}
.ap-revenu span{font-size:14px;color:var(--muted)}
#ap-curseur{width:100%;height:28px;margin:6px 0 0;accent-color:var(--accent)}
.ap-bornes{display:flex;justify-content:space-between;font:400 11px var(--mono);color:var(--muted)}
.ap-quel{margin:6px 0 14px;font-size:14px}
.ap-quel summary{min-height:32px;padding-block:5px;font-weight:600;color:var(--accent);cursor:pointer}
.ap-quel ul{margin:8px 0 0;padding-left:18px;color:var(--muted)}
.apercu .segments.deux{margin-top:0}

.ap-verdict.hausse .montant-ligne{color:var(--rouge)}
.ap-verdict.baisse .montant-ligne{color:var(--vert)}
.ap-verdict.en-cours .montant-ligne,.ap-verdict.en-cours .graphe-empile{opacity:.45}
.ap-verdict.sans-changement .montant-ligne{white-space:normal}
.ap-verdict.sans-changement .montant-ligne b{font-size:28px;letter-spacing:-.03em}
.ap-verdict .message{margin-top:10px}
.ap-cta{display:flex;justify-content:center;margin-top:16px;min-height:50px;font-size:16px;font-weight:700}
.ap-cta-sous{margin:6px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.separateur{display:flex;align-items:center;gap:12px;margin-top:28px;font:400 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.separateur::before,.separateur::after{content:"";flex:1;height:1px;background:var(--line-strong)}
#etape-1{scroll-margin-top:80px}

/* Disposition : saisie à gauche, résumé fixé à droite, sans défilement interne */
.disposition{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:24px;align-items:start;padding-block:24px}
.colonne-saisie{min-width:0;display:flex;flex-direction:column;gap:20px}
.colonne-resultat{min-width:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:80px}

/* Étape 2 */
.volet-titre{flex:1;min-width:0}
.volet-titre b,.volet-titre small{display:block}
.volet-titre small{margin-top:2px;font-size:13px;font-weight:400;color:var(--muted)}
.champ-annee{max-width:220px;margin-top:18px}
.champ-annee .aide{width:min(480px,calc(100vw - 80px))}
#ligne-pe{margin-top:12px}

/* Résultat */
.resultat{scroll-margin-top:80px;padding:18px 20px}
.resultat.hausse{border-top-color:var(--rouge)}
.resultat.baisse{border-top-color:var(--vert)}
.resultat.neutre{border-top-color:var(--muted)}
.petit-libelle{margin:0;font-size:14px;font-weight:600;color:var(--muted)}
.resultat-vide{margin:0;font-size:15px;font-weight:500;color:var(--muted)}
.zone-montant{container-type:inline-size;margin-top:4px}
.montant-ligne{--n:12;margin:0;white-space:nowrap;line-height:1.1}
.montant-ligne b{font-size:min(52px,calc(100cqw / (var(--n) * .57)));font-weight:850;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.montant-ligne b+span{font-size:15px;font-weight:650}
.montant-prefixe{display:block;font-size:15px;font-weight:650}
.montant-prefixe:empty{display:none}
.resultat.hausse .montant-ligne{color:var(--rouge)}
.resultat.baisse .montant-ligne{color:var(--vert)}
.resultat.en-cours .montant-ligne{opacity:.45}
.resultat.sans-changement .montant-ligne{white-space:normal}
.resultat.sans-changement .montant-ligne b{font-size:28px;letter-spacing:-.03em}
.sous-montant{margin:6px 0 0;font-size:14px;font-weight:500}
.contrepartie{margin:10px 0 0;font-size:13px;font-weight:500}
.resultat .segments.trois{margin-top:12px}
.resultat .seg{padding:8px 4px;font-size:12.5px;white-space:nowrap}
.mention-resultat{margin:10px 0 0;font:400 11px var(--mono);letter-spacing:.03em;color:var(--muted)}
.note{margin-top:8px}

/* Graphique à trois barres empilées : pourcentage et total au-dessus de chaque barre, phase en dessous */
.graphe-empile{--bas-haut:60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:220px;margin-top:12px}
.graphe-col{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;height:100%;text-align:center}
.graphe-tete{flex:none;display:flex;flex-direction:column;margin-bottom:4px;line-height:1.2}
.graphe-ecart{font-size:13px;font-weight:700;color:var(--muted)}
.graphe-ecart.hausse{color:var(--rouge)}
.graphe-ecart.baisse{color:var(--vert)}
.graphe-total{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.graphe-pile{flex:none;display:flex;flex-direction:column;height:calc((100% - var(--bas-haut)) * var(--h));min-height:6px;overflow:hidden;border-radius:7px 7px 3px 3px}
.graphe-seg{container-type:size;display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100% * var(--part));overflow:hidden;color:#fff;font-size:13px;font-weight:700;line-height:1.15;white-space:nowrap}
@container (max-height:31px){.graphe-seg>span+span{display:none}}
@container (max-height:15px){.graphe-seg>span{display:none}}
.graphe-seg.gris{background:#8D9AB3;color:var(--fg)}
.graphe-seg.hausse{background:var(--rouge)}
.graphe-seg.baisse{background:repeating-linear-gradient(45deg,rgba(30,122,70,.18) 0 6px,rgba(30,122,70,.06) 6px 12px);border:2px dashed var(--vert);border-bottom:0;color:var(--vert)}
.graphe-nom{flex:none;margin-top:5px;font-size:12.5px;line-height:1.2;color:var(--muted)}
.graphe-legende{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:13px}
.graphe-legende span{display:inline-flex;align-items:center;gap:6px}
.graphe-legende i{display:inline-block;width:11px;height:11px;border-radius:3px;background:#8D9AB3}
.graphe-legende i.hausse{background:var(--rouge)}
.graphe-legende i.baisse{background:repeating-linear-gradient(45deg,rgba(30,122,70,.5) 0 3px,rgba(30,122,70,.12) 3px 6px);border:1px dashed var(--vert)}

/* Actions */
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.actions .btn{padding:8px 12px;font-size:13px;flex:1 1 auto;justify-content:center}
.actions .lien{padding:0 4px;font-size:14px;min-height:44px}
.partage-options{flex-basis:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.partage-options .btn{padding:8px 4px}

/* Après le résultat */
.apres-resultat{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}
.apres-resultat .bandeau-comprendre{margin-top:0;max-width:none}
.tableau-detail th,.tableau-detail td{white-space:nowrap}
.tableau-detail td:first-child{padding:10px;font-weight:600}
.tableau-detail td.hausse{color:var(--rouge)}
.tableau-detail td.baisse{color:var(--vert)}

.bloc-biifor{position:relative;overflow:hidden;display:grid;gap:16px;padding:24px 22px;border-radius:12px;background:#0D1421;color:#fff}
.bloc-biifor::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(29,92,236,.55),rgba(29,92,236,0) 70%);pointer-events:none}
.bloc-biifor img{display:block;justify-self:start;height:34px;width:auto;padding:4px 8px;border-radius:6px;background:#fff}
.bloc-biifor h3{margin:0;font-size:24px;line-height:1.2;font-weight:850;letter-spacing:-.015em;max-width:30ch}
.bloc-biifor h3 em{font-style:normal;color:#8FB0FF}
.bloc-biifor p{margin:0;color:#C9D3E6;font-size:15px;max-width:58ch}
.bloc-biifor-atouts{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.bloc-biifor-atouts li{padding:5px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);font-size:13px;font-weight:600}
.bloc-biifor-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.bloc-biifor .lien-externe{color:#C3D3F7;font-size:14px;text-underline-offset:3px}
.bloc-biifor-note{font-size:12px;color:#8B97AE}
.lien-externe{font-weight:600;min-height:44px;display:inline-flex;align-items:center}

/* Bas de page */
.hypotheses-repli,.faq,main>.alerte{margin-bottom:20px}
.hypotheses-repli>summary{display:flex;align-items:center;width:fit-content;min-height:44px;padding:0;font-size:14px;list-style:none}
.hypotheses-repli>summary::-webkit-details-marker{display:none}
.hypotheses-repli .masquer,.hypotheses-repli[open] .voir{display:none}
.hypotheses-repli[open] .masquer{display:inline}
.faq details{border-top:1px solid var(--line)}
.faq details:first-of-type{margin-top:10px}
.faq summary{cursor:pointer;font-weight:650;padding:11px 0;min-height:44px}
.faq p{margin:0 0 12px;font-size:15px;color:var(--muted)}
#avertissement{margin-bottom:24px}
main>.bloc-biifor{margin-bottom:28px}

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

@media (max-height:800px) and (min-width:1024px){
  .colonne-resultat .graphe-empile{height:140px}
}
@media (min-width:1024px){
  body.avec-barre{padding-bottom:0} /* pas de barre basse sur deux colonnes */
}
@media (max-width:900px){
  .resultat{scroll-margin-top:16px}
  #etape-1{scroll-margin-top:16px}
}
@media (max-width:899px){
  .hero-court{padding:12px 0 14px}
  .hero-court h1{font-size:24px}
  .hero-court .intro{display:none}
  .bandeau-projet{font-size:12px}
  .apercu{display:block;margin-top:10px;padding:14px}
  .ap-resultat{padding-left:0;border-left:0}
  .ap-revenu input[type=text]{padding:2px 10px;font-size:22px}
  .ap-bornes{display:none}
  .ap-quel{margin:2px 0 8px}
  .apercu .option-pe{margin-top:6px}
  .ap-verdict{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
  .ap-verdict .graphe-empile{height:150px;margin-top:6px}
  .ap-verdict .graphe-legende{margin-top:6px}
}
@media (max-width:1023px){
  .disposition{grid-template-columns:minmax(0,1fr);padding-block:16px}
  .colonne-resultat{position:static}
  .barre-mobile:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;padding:6px 16px;background:var(--surface);border-top:3px solid var(--rouge);box-shadow:0 -8px 22px rgba(13,20,33,.12)}
  .barre-mobile[data-sens=baisse]:not([hidden]){border-top-color:var(--vert)}
  .barre-mobile[data-sens=neutre]:not([hidden]){border-top-color:var(--muted)}
  .barre-mobile b{font-size:15px;font-weight:800;color:var(--rouge);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .barre-mobile[data-sens=baisse] b{color:var(--vert)}
  .barre-mobile[data-sens=neutre] b{color:var(--fg)}
  body.avec-barre{padding-bottom:64px}
}
@media (min-width:640px){
  .bloc-biifor{padding:30px 32px}
  .bloc-biifor h3{font-size:27px}
}
@media (max-width:640px){
  .carte-tete{margin-bottom:12px}
  .graphe-empile{gap:6px}
  .partage-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Version imprimable : une page A4 */
@media print{
  .fiche{font-size:9.5px;line-height:1.35}
  .fiche .f-tete{align-items:center;padding-bottom:6px;margin-bottom:8px}
  .fiche .f-tete .logo{height:30px}
  .fiche .f-tete p{margin:0;text-align:right}
  .fiche h1{font-size:18px;margin:0 0 8px}
  .fiche .f-grille{margin-bottom:8px;gap:8px}
  .fiche .f-boite{padding:6px 8px}
  .fiche .f-chiffre{display:block;font-size:17px;color:var(--rouge);white-space:nowrap}
  .fiche .f-montant.baisse .f-chiffre{color:var(--vert)}
  .fiche .f-montant.neutre .f-chiffre{color:var(--fg)}
  .fiche .graphe-empile{--bas-haut:40px;height:120px;margin:0}
  .fiche .graphe-legende{margin:2px 0 8px;font-size:8.5px}
  .fiche .graphe-legende i{width:8px;height:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fiche .graphe-total{font-size:10px}
  .fiche .graphe-ecart{font-size:9px}
  .fiche .graphe-nom{margin-top:2px;font-size:8px}
  .fiche .graphe-seg{font-size:9px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fiche .graphe-seg>span{display:inline}
  .fiche .f-detail{margin:2px 0 4px;font-size:9px}
  .fiche .f-detail td{padding:2px 6px}
  .fiche .f-detail br{display:none}
  .fiche .f-detail small{margin-left:4px}
  .fiche ol{margin:2px 0 6px;padding-left:14px}
  .fiche .f-hypotheses{font-size:8.5px}
  .fiche .f-pied{display:block;margin-top:6px;padding-top:4px;font-size:8px}
  .fiche .f-pied p{margin:0 0 2px}
}
