/* ============================================================================
   admissibilite — LA FEUILLE DES DEUX LANGUES.

   Le CSS n'a pas de langue. Cette feuille etait ecrite DEUX FOIS : une dans
   admissibilite.html, une recopiee a la main dans en/admissibilite.html. Reunies le 09/09/2026 —
   une retouche se fait desormais a UN seul endroit.

   Preuve du deplacement : tools/empreinte-styles.py, qui compare le style
   CALCULE de chaque element avant et apres, aux deux largeurs et dans les
   deux themes.
   ============================================================================ */

/* 13/10/2026 (passe finale) : les deux verts sombres de la fin des jauges, nommés ici
   au lieu d'être écrits en dur dans les dégradés (controle-charte.py). Mêmes valeurs
   dans les deux thèmes, comme avant : la jauge ne change pas la nuit. */
:root { --jauge-vert: #0A5C33; --jauge-vert-fin: #06371E; }

  /* Calculateur IV Check — styles locaux */
  .ivc-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 26px; align-items: start; }
  @media (max-width: 920px) { .ivc-grid { grid-template-columns: 1fr; } .ivc-panel-col { position: static !important; } }
  .ivc-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; margin-bottom: 16px; box-shadow: var(--shadow-sm); }
  .ivc-card h3 { font-family: 'Sora', sans-serif; font-size: var(--fs-md, 1rem); color: var(--navy-dark); margin-bottom: 12px; display: flex; align-items: center; gap: 9px; }
  .ivc-num { width: 25px; height: 25px; border-radius: 50%; background: var(--blush); color: var(--red-dark); display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-xs, .75rem); font-weight: 700; flex-shrink: 0; }
  .ivc-card h4 { font-size: var(--fs-sm, .875rem); color: var(--navy-dark); margin: 12px 0 8px; }
  .ivc-card h4 small { font-weight: 400; color: var(--muted); font-size: var(--fs-xs, .75rem); }
  .ivc-note { font-size: var(--fs-sm, .875rem); color: var(--amber-ink); background: var(--amber-light); border: 1px solid color-mix(in srgb, var(--amber) 34%, transparent); padding: 8px 12px; border-radius: var(--r-sm); margin-bottom: 12px; line-height: 1.5; }
  .ivc-field { margin-bottom: 12px; }
  .ivc-field label { display: block; font-size: var(--fs-sm, .875rem); font-weight: 600; color: var(--ink); margin-bottom: 5px; }
  .ivc-field select, .ivc-field input, .ivc-score input { width: 100%; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); font-size: var(--fs-md, 1rem); font-family: inherit; background: var(--white); }
  .ivc-field .hint { font-size: var(--fs-xs, .75rem); color: var(--muted); display: block; margin-top: 4px; }
  .ivc-scores { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; }
  .ivc-score label { font-size: var(--fs-xs, .75rem); font-weight: 600; display: block; margin-bottom: 4px; color: var(--ink); }
  .ivc-badge { display: inline-block; margin-top: 5px; font-size: var(--fs-xs, .75rem); font-weight: 700; padding: 2px 8px; border-radius: var(--r-lg); background: #F1EEED; color: var(--ink); }
  .ivc-badge.good { background: var(--teal-light); color: var(--teal-ink); }
  .ivc-badge.zero { background: #FBEAE8; color: var(--red-dark); }
  .ivc-score input.invalid { border-color: var(--red-dark); color: var(--red-dark); background: #fff6f5; font-weight: 700; }
  .ivc-check { display: flex; align-items: flex-start; gap: 9px; padding: 7px 0; font-size: var(--fs-sm, .875rem); cursor: pointer; }
  .ivc-check input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--red-dark); }
  .ivc-tag { font-size: var(--fs-xs, .75rem); font-weight: 700; color: var(--teal-ink); background: var(--teal-light); border-radius: var(--r-lg); padding: 1px 8px; white-space: nowrap; }
  .ivc-panel-col { position: sticky; top: 90px; }
  .ivc-panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; box-shadow: var(--shadow-sm); }
  .ivc-panel .lbl { font-size: var(--fs-xs, .75rem); text-transform: uppercase; letter-spacing: 1px; color: var(--muted); font-weight: 700; text-align: center; }
  #ivc-total { font-family: 'Sora', sans-serif; font-size: var(--fs-h1, clamp(1.9rem, 4.6vw, 3.1rem)); font-weight: 700; color: var(--navy-dark); text-align: center; line-height: 1.1; margin: 4px 0 8px; }
  .ivc-bar { height: 9px; background: #EFEBEA; border-radius: var(--r-sm); position: relative; }
  /* Jauge 2 tons : rouge foncé qui s'éclaircit jusqu'au seuil des 67 points, puis bascule NETTE
     au vert pile à 67 (admissible = vert), vert qui fonce à mesure que le score monte.
     background-size est ajusté en JS pour que le dégradé couvre toute la piste. */
  #ivc-fill { height: 100%; width: 0; background: linear-gradient(90deg, var(--red-deep) 0%, var(--red) 66.2%, var(--teal) 66.9%, var(--jauge-vert) 85%, var(--jauge-vert-fin) 100%); background-repeat: no-repeat; border-radius: var(--r-sm); transition: width .3s, background-size .3s; }
  .ivc-mark { position: absolute; top: -3px; bottom: -3px; left: 67%; width: 3px; background: var(--navy-dark); border-radius: 2px; }
  .ivc-max { text-align: center; font-size: var(--fs-xs, .75rem); color: var(--muted); margin-top: 7px; }
  .ivc-verdict { margin-top: 12px; padding: 9px 12px; border-radius: var(--r-sm); text-align: center; font-size: var(--fs-base, .9375rem); font-weight: 700; background: var(--bg); color: var(--muted); }
  .ivc-verdict.pass { background: var(--teal-light); color: var(--teal-ink); }
  .ivc-verdict.fail { background: #FBEAE8; color: var(--red-dark); }
  #ivc-warnings { list-style: none; margin: 8px 0 0; padding: 0; }
  #ivc-warnings li { font-size: var(--fs-xs, .75rem); color: var(--red-dark); line-height: 1.45; padding: 3px 0 3px 17px; position: relative; }
  #ivc-warnings li::before { content: '⚠'; position: absolute; left: 0; }
  #ivc-advice { margin-top: 12px; background: var(--amber-light); border: 1px solid #EBDCB6; border-radius: var(--r-sm); padding: 11px 13px; }
  #ivc-advice h5 { font-size: var(--fs-sm, .875rem); color: var(--amber-ink); margin: 0 0 7px; }
  #ivc-advice ul { list-style: none; margin: 0; padding: 0; }
  #ivc-advice li { font-size: var(--fs-xs, .75rem); line-height: 1.5; color: var(--ink); padding: 3px 0 3px 15px; position: relative; }
  #ivc-advice li::before { content: '▸'; position: absolute; left: 0; color: var(--amber); font-weight: 700; }
  #ivc-advice li.info { color: var(--muted); } #ivc-advice li.info::before { content: 'ℹ'; color: var(--muted); }
  #ivc-advice li strong { color: var(--teal-ink); }
  .ivc-train { display: block; margin-top: 9px; padding-top: 8px; border-top: 1px dashed #EBDCB6; font-size: var(--fs-xs, .75rem); font-weight: 600; color: var(--red-dark); }
  .ivc-train:hover { text-decoration: underline; }
  .ivc-group { display: block; text-align: center; margin-top: 10px; font-size: var(--fs-xs, .75rem); font-weight: 600; color: var(--teal-ink); }
  .ivc-group:hover { text-decoration: underline; }
  .ivc-bk { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 6px; }
  .ivc-bk div { display: flex; justify-content: space-between; font-size: var(--fs-sm, .875rem); padding: 4px 0; color: var(--ink); }
  .ivc-bk b { color: var(--navy-dark); }
  .ivc-small { margin-top: 12px; font-size: var(--fs-xs, .75rem); color: var(--muted); text-align: center; line-height: 1.5; }
  .ivc-wa-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: 11px 14px; border-radius: var(--r-sm); background: var(--teal-dark, #0E7A40); color: #fff !important; font-weight: 700; font-size: var(--fs-sm, .875rem); text-decoration: none; }
  .ivc-wa-btn:hover { box-shadow: inset 0 0 0 100vmax rgba(0, 0, 0, .14); }
  .ivc-wa-btn svg { width: 17px; height: 17px; fill: currentColor; flex-shrink: 0; }
  /* Chantier I — après le verdict, la preuve : dernier tirage réel + un témoignage daté */
  .ivc-preuve { margin-top: 12px; padding: 11px 13px; background: var(--blush); border: 1px solid var(--line); border-radius: var(--r-sm); }
  .ivc-preuve p { font-size: var(--fs-sm, .875rem); line-height: 1.5; color: var(--ink); margin: 0 0 4px; }
  .ivc-preuve p b { color: var(--navy-dark); }
  .ivc-preuve-lien { display: flex; align-items: center; min-height: 44px; font-size: var(--fs-sm, .875rem); font-weight: 700; color: var(--red-dark); text-decoration: none; }
  .ivc-preuve-lien:hover { text-decoration: underline; }
  .ivc-temoin { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--line); }
  /* Plancher téléphone : rien sous 14 px (audit #38 / #66). */
  @media (max-width: 768px) { .ivc-card h4 small, .ivc-num, .ivc-field .hint, .ivc-score label, .ivc-badge, .ivc-tag, .ivc-panel .lbl, .ivc-max, #ivc-warnings li, #ivc-advice li, .ivc-train, .ivc-group, .ivc-small { font-size: .875rem; } }
    @media (max-width: 768px) { .ivc-field select, .ivc-field input, .ivc-score input, .ivc-field select { min-height: 44px; } }

  /* Calculateur CRS — styles locaux (mêmes gabarits que la page admissibilité) */
  .ivc-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 26px; align-items: start; }
  @media (max-width: 920px) { .ivc-grid { grid-template-columns: 1fr; } .ivc-panel-col { position: static !important; } }
  .ivc-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; margin-bottom: 16px; box-shadow: var(--shadow-sm); }
  .ivc-card h3 { font-family: 'Sora', sans-serif; font-size: var(--fs-md, 1rem); color: var(--navy-dark); margin-bottom: 12px; display: flex; align-items: center; gap: 9px; }
  .ivc-num { width: 25px; height: 25px; border-radius: 50%; background: var(--blush); color: var(--red-dark); display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-xs, .75rem); font-weight: 700; flex-shrink: 0; }
  .ivc-card h4 { font-size: var(--fs-sm, .875rem); color: var(--navy-dark); margin: 12px 0 8px; }
  .ivc-card h4 small { font-weight: 400; color: var(--muted); font-size: var(--fs-xs, .75rem); }
  .ivc-note { font-size: var(--fs-sm, .875rem); color: var(--amber-ink); background: var(--amber-light); border: 1px solid color-mix(in srgb, var(--amber) 34%, transparent); padding: 8px 12px; border-radius: var(--r-sm); margin-bottom: 12px; line-height: 1.5; }
  .ivc-field { margin-bottom: 12px; }
  .ivc-field label { display: block; font-size: var(--fs-sm, .875rem); font-weight: 600; color: var(--ink); margin-bottom: 5px; }
  .ivc-field select, .ivc-field input, .ivc-score input { width: 100%; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); font-size: var(--fs-md, 1rem); font-family: inherit; background: var(--white); }
  .ivc-field .hint { font-size: var(--fs-xs, .75rem); color: var(--muted); display: block; margin-top: 4px; }
  .ivc-scores { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; }
  .ivc-score label { font-size: var(--fs-xs, .75rem); font-weight: 600; display: block; margin-bottom: 4px; color: var(--ink); }
  .ivc-badge { display: inline-block; margin-top: 5px; font-size: var(--fs-xs, .75rem); font-weight: 700; padding: 2px 8px; border-radius: var(--r-lg); background: #F1EEED; color: var(--ink); }
  .ivc-badge.good { background: var(--teal-light); color: var(--teal-ink); }
  .ivc-badge.zero { background: #FBEAE8; color: var(--red-dark); }
  .ivc-score input.invalid { border-color: var(--red-dark); color: var(--red-dark); background: #fff6f5; font-weight: 700; }
  .ivc-check { display: flex; align-items: flex-start; gap: 9px; padding: 7px 0; font-size: var(--fs-sm, .875rem); cursor: pointer; }
  .ivc-check input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--red-dark); }
  .ivc-tag { font-size: var(--fs-xs, .75rem); font-weight: 700; color: var(--teal-ink); background: var(--teal-light); border-radius: var(--r-lg); padding: 1px 8px; white-space: nowrap; }
  .ivc-panel-col { position: sticky; top: 90px; }
  .ivc-panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; box-shadow: var(--shadow-sm); }
  .ivc-panel .lbl { font-size: var(--fs-xs, .75rem); text-transform: uppercase; letter-spacing: 1px; color: var(--muted); font-weight: 700; text-align: center; }
  #crs-total { font-family: 'Sora', sans-serif; font-size: var(--fs-h1, clamp(1.9rem, 4.6vw, 3.1rem)); font-weight: 700; color: var(--navy-dark); text-align: center; line-height: 1.1; margin: 4px 0 8px; }
  .ivc-bar { height: 9px; background: #EFEBEA; border-radius: var(--r-sm); position: relative; overflow: hidden; }
  /* Jauge 2 tons : rouge foncé qui s'éclaircit jusqu'à 300 points (300/1200 = 25 %), puis
     transition vers un vert qui fonce à mesure que le score monte. background-size est ajusté
     en JS pour que le dégradé couvre toute la piste, pas le seul remplissage. */
  #crs-fill { height: 100%; width: 0; background: linear-gradient(90deg, var(--red-deep) 0%, var(--red) 25%, var(--teal) 33%, var(--jauge-vert) 70%, var(--jauge-vert-fin) 100%); background-repeat: no-repeat; border-radius: var(--r-sm); transition: width .3s, background-size .3s; }
  .ivc-max { text-align: center; font-size: var(--fs-xs, .75rem); color: var(--muted); margin-top: 7px; }
  .ivc-manque { text-align: left; font-size: var(--fs-xs, .75rem); line-height: 1.5; margin-top: 12px;
    padding: 10px 12px; border-radius: var(--r-sm); background: #fdf3e2; color: #8a5a06;
    border: 1px solid rgba(138, 90, 6, .28); }
  .ivc-bk { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 6px; }
  .ivc-bk div { display: flex; justify-content: space-between; font-size: var(--fs-sm, .875rem); padding: 4px 0; color: var(--ink); }
  .ivc-bk b { color: var(--navy-dark); }
  .ivc-small { margin-top: 12px; font-size: var(--fs-xs, .75rem); color: var(--muted); text-align: center; line-height: 1.5; }
  .ivc-wa-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: 11px 14px; border-radius: var(--r-sm); background: var(--teal-dark, #0E7A40); color: #fff !important; font-weight: 700; font-size: var(--fs-sm, .875rem); text-decoration: none; }
  .ivc-wa-btn:hover { box-shadow: inset 0 0 0 100vmax rgba(0, 0, 0, .14); }
  .ivc-wa-btn svg { width: 17px; height: 17px; fill: currentColor; flex-shrink: 0; }
  /* Blocs rondes et recommandations */
  #crs-rounds-box, #crs-reco-box { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 8px; }
  #crs-rounds-box h5, #crs-reco-box h5, #crs-rounds-box .h5-visuel, #crs-reco-box .h5-visuel { font-size: var(--fs-xs, .75rem); color: var(--navy-dark); margin: 0 0 6px; }
  #crs-rounds div { display: flex; justify-content: space-between; font-size: var(--fs-xs, .75rem); padding: 3px 0; color: var(--ink); }
  #crs-rounds small { color: var(--muted); font-size: inherit; } /* la date garde la taille de la ligne : 14 px mini sur téléphone */
  #crs-rounds em { font-style: normal; font-weight: 700; margin-left: 4px; }
  #crs-rounds em.ok, #crs-reco b.ok { color: var(--teal-ink); }
  #crs-rounds em.ko, #crs-reco b.ko { color: var(--red-dark); }
  #crs-reco { list-style: none; margin: 0; padding: 0; }
  #crs-reco li { font-size: var(--fs-xs, .75rem); line-height: 1.5; color: var(--ink); padding: 3px 0 3px 15px; position: relative; }
  #crs-reco li::before { content: '▸'; position: absolute; left: 0; color: var(--amber); font-weight: 700; }
  #crs-reco b { float: right; }
  .ivc-train { display: block; margin-top: 9px; padding-top: 8px; border-top: 1px dashed #EBDCB6; font-size: var(--fs-xs, .75rem); font-weight: 600; color: var(--red-dark); }
  .ivc-train:hover { text-decoration: underline; }
  .ivc-group { display: block; text-align: center; margin-top: 10px; font-size: var(--fs-xs, .75rem); font-weight: 600; color: var(--teal-ink); }
  .ivc-group:hover { text-decoration: underline; }
  /* Chantier I — sous le score, la preuve : « Où vous situez-vous ? » (tirages réels) + un témoignage daté */
  .ivc-preuve { margin-top: 12px; padding: 11px 13px; background: var(--blush); border: 1px solid var(--line); border-radius: var(--r-sm); }
  .ivc-preuve .h5-visuel { font-size: var(--fs-sm, .875rem); font-weight: 700; color: var(--navy-dark); margin: 0 0 6px; }
  .ivc-preuve p { font-size: var(--fs-sm, .875rem); line-height: 1.5; color: var(--ink); margin: 0 0 4px; }
  .ivc-preuve p b { color: var(--navy-dark); }
  .ivc-preuve-lien { display: flex; align-items: center; min-height: 44px; font-size: var(--fs-sm, .875rem); font-weight: 700; color: var(--red-dark); text-decoration: none; }
  .ivc-preuve-lien:hover { text-decoration: underline; }
  .ivc-temoin { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--line); }
  /* Plancher téléphone : rien sous 14 px (audit #38 / #66). */
  @media (max-width: 768px) { .ivc-card h4 small, .ivc-num, .ivc-field .hint, .ivc-score label, .ivc-badge, .ivc-tag, .ivc-panel .lbl, .ivc-max, .ivc-small, #crs-rounds-box h5, #crs-reco-box h5, #crs-rounds div, #crs-reco li, .ivc-train, .ivc-group { font-size: .875rem; } }
    @media (max-width: 768px) { .ivc-field select, .ivc-field input, .ivc-score input, .ivc-field select { min-height: 44px; } }

/* L'asterisque des champs obligatoires (30/08/2026, choix d'Alex :
   une remarque sur les elements, plus de phrase sous le score). */
.champ-oblig { color: var(--red-dark); font-weight: 700; margin-left: 2px; }
.oblig-note { font-size: .875rem; color: var(--muted); margin: 14px auto 0; }

/* ── 10/09/2026 — modernisation : l'étiquette ne coiffe plus le titre, elle le
   SUIT, comme une ligne d'appoint (une étiquette AU-DESSUS d'un titre est le
   premier signe d'un gabarit). Le code des pages n'a pas bougé : seul l'ordre
   à l'écran change — l'étiquette ne contient rien qu'on puisse cliquer. ── */
.section-head:has(> .eyebrow), .section-head-left:has(> .eyebrow) { display: flex; flex-direction: column; }
.section-head:has(> .eyebrow) { align-items: center; }
.section-head:has(> .eyebrow) > *, .section-head-left:has(> .eyebrow) > * { order: 2; }
.section-head:has(> .eyebrow) > h2, .section-head-left:has(> .eyebrow) > h2 { order: 0; }
.section-head:has(> .eyebrow) > .eyebrow, .section-head-left:has(> .eyebrow) > .eyebrow { order: 1; margin: 12px 0 0; }

/* 28/09/2026 — « il y a encore des zones grises qui s'affichent quand le site
   est en mode nuit » (Alex). Ces teintes claires sont écrites en dur et
   n'avaient pas d'équivalent de nuit : elles n'apparaissent qu'après un geste
   (un résultat, une erreur, un survol), là où le robot, qui ouvre les pages
   sans y toucher, ne regarde pas. Équivalents repris de la Prépa TCF (14/09)
   et du guichet (07/09) : lavis rouge, vert, ambre du thème nuit. */
:where(:root[data-theme="nuit"]) .ivc-badge, :where(:root[data-theme="nuit"]) .ivc-bar { background: var(--line); }
:where(:root[data-theme="nuit"]) .ivc-badge.zero, :where(:root[data-theme="nuit"]) .ivc-verdict.fail, :where(:root[data-theme="nuit"]) .ivc-score input.invalid { background: var(--blush); }
:where(:root[data-theme="nuit"]) .ivc-manque { background: var(--amber-light); color: var(--amber-ink); border-color: #5A4A20; }

/* ══ 12/10/2026 — REFONTE DE LA PRISE EN MAIN ════════════════════════════════
   Mesuré avant. Téléphone (375 × 812) : deux boutons « Test d'admissibilité
   (67 points) » et « Score CRS (Entrée Express) », rien pour dire lequel
   choisir, puis le pied de page ; une fois un calcul ouvert, le score arrivait
   après les six cartes de questions. Ordinateur (1280 × 900) : premier champ
   à 1 105 px, le panneau du score sous le pli lui aussi ; une étiquette
   au-dessus de chaque titre ; dans le volet CRS, un second bandeau de titre
   et un fil d'Ariane en double.
   · Téléphone : un vrai CHOIX — chaque bouton dit à quoi il sert ; le score
     suit le visiteur dans une barre en bas de l'écran (js/score-mini.js).
   · Ordinateur : le titre et l'introduction passent dans la colonne des
     questions, le panneau du score se pose à côté dès le premier écran. */

/* 1. Le choix des calculs. La phrase d'aide ne se montre qu'au téléphone :
   sur un grand écran, le calcul ouvert s'explique juste en dessous. */
.adm-choix-txt { display: inline-flex; flex-direction: column; gap: 2px; }
.adm-choix-txt small { display: none; }
@media (max-width: 768px) {
  .adm-choix { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); padding-top: var(--sp-5); }
  .adm-choix .fus-onglet { justify-content: flex-start; gap: var(--sp-3); min-height: 76px;
    padding: var(--sp-3) var(--sp-4); border-radius: var(--r); text-align: left; font-size: var(--fs-md); }
  .adm-choix .onglet-ico { width: 40px; height: 40px; }
  .adm-choix .onglet-ico svg { width: 20px; height: 20px; }
  .adm-choix-txt { flex: 1 1 auto; min-width: 0; }
  .adm-choix-txt small { display: block; font-size: var(--fs-sm); font-weight: 400; line-height: 1.4; color: var(--muted); }
  .adm-choix .fus-onglet[aria-expanded="true"] .adm-choix-txt small { color: inherit; }
  /* Le chevron dit « ça s'ouvre ici » — et se retourne quand c'est ouvert. */
  .adm-choix .fus-onglet::after { content: ""; flex: none; width: 9px; height: 9px; margin: 0 var(--sp-1) 4px var(--sp-2);
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
    transition: transform .2s ease; }
  .adm-choix .fus-onglet[aria-expanded="true"]::after { transform: rotate(-135deg); margin-bottom: -4px; }
}

/* 2. Le titre du calcul vit dans la colonne des questions. */
.ivc-grid .adm-tete { max-width: none; margin: 0 0 var(--sp-5); text-align: left; }
.ivc-grid .adm-tete p { margin: var(--sp-3) 0 0; max-width: 68ch; }
.ivc-grid .oblig-note { margin: 0 0 var(--sp-3); }
@media (min-width: 921px) {
  .ivc-grid .adm-tete h2 { font-size: var(--fs-xl); line-height: 1.25; }
}

/* 3. La barre du score au téléphone (js/score-mini.js). */
.score-mini { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: flex; align-items: center;
  justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-5) calc(var(--sp-2) + env(safe-area-inset-bottom, 0px));
  background: var(--white); border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.score-mini[hidden] { display: none; }
.sm-chiffres { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--sp-2); min-width: 0; }
.sm-lbl, .sm-sur { font-size: var(--fs-sm); color: var(--muted); }
.sm-val { font-family: 'Sora', sans-serif; font-size: var(--fs-xl); font-weight: 700; line-height: 1.1;
  color: var(--navy-dark); font-variant-numeric: tabular-nums; }
.score-mini.sm-atteint .sm-val { color: var(--teal-ink); }
.sm-voir { display: inline-flex; flex: none; align-items: center; gap: var(--sp-1); min-height: 44px;
  font-size: var(--fs-sm); font-weight: 600; color: var(--red-dark); text-decoration: underline;
  text-underline-offset: .2em; }
.sm-voir svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2;
  stroke-linecap: round; stroke-linejoin: round; }
body:has(.score-mini:not([hidden])) .wa-float { bottom: 84px; }
@media (min-width: 921px) { .score-mini { display: none !important; } }

/* 4. Ordinateur : les deux onglets sur une ligne chacun (ils passaient sur
   deux lignes dans leur case de 250 px), et un panneau de score qui reste
   lisible jusqu'en bas. Mesuré : avec les conseils affichés, le panneau
   atteignait 1 129 px dans un écran de 900 — ses boutons « Discuter de mon
   résultat » et « Être contacté » restaient hors de vue jusqu'à la fin des
   questions. Il défile désormais en lui-même, le score toujours en tête ;
   son bas s'arrête au-dessus de la bulle WhatsApp (76 px réservés). */
@media (min-width: 769px) {
  .adm-choix { grid-template-columns: repeat(2, max-content); }
  .adm-choix .fus-onglet { padding-left: var(--sp-5); padding-right: var(--sp-5); }
}
@media (min-width: 921px) {
  .ivc-grid .ivc-panel-col { max-height: calc(100vh - 182px); overflow-y: auto; border-radius: var(--r);
    scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
}
