/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  gabarit-20261104.css · gabarit commun des pages guides · 04/11/2026     ║
   ╚══════════════════════════════════════════════════════════════════════════╝
   Source : plans/structure-lot-2026-11-03/FORME-CIBLE.md (révision du 03/11 après /creative-director
   prioritaire sur le corps). Classes et balisage attendus : GABARIT-CSS-NOTES.md (même dossier).

   CHARGÉ EN DERNIER sur chaque page (après fermeture.css, avantages.css, guide.css, lot02.css…).
   Plusieurs règles gagnent par l'ordre de chargement, à spécificité égale.

   Deux étages :
   1. Composants communs, NON limités à .gabarit : jetons, en-tête, menu, pied de page, bloc de
      réservation (.encart-parcours). Ils valent sur toute page qui charge ce fichier.
   2. Gabarit de page guide, limité à main.gabarit : grille, échelle, bandes, sections, sommaire,
      fil d'Ariane, faits clés, liens, bande finale.

   Règles tenues :
   - Aucune taille de texte ni espacement en vw. Valeurs fixes par palier : < 768, 768-1179, ≥ 1180.
     Le seul calcul relatif à la fenêtre est le centrage du conteneur (max(), pas de taille de texte).
   - Palette inchangée : uniquement les jetons existants (systeme.css, palette-turquoise.css).
   - Aucune carte bordée, aucune ombre, aucun pointillé. */

/* ══════════════════════════════════════════════════════════════════════════
   1. JETONS
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  /* Grille (§1.2) */
  --gab-g: 20px;                 /* gouttière fixe par palier : 20 / 32 / 40 */
  --gab-max: 85rem;              /* 1 360 px : en-tête, contenu, bande finale, pied de page */
  --gab-enonce: 320px;           /* colonne énoncé (≥ 1180) */
  --gab-ecart: 32px;             /* énoncé → corps (≥ 1180) */
  --gab-corps: 100%;             /* largeur max. du texte courant : 100 % / 590 / 590 */
  --gab-lecture: 100%;           /* fin de la zone de lecture : bord droit / bord droit / 942 */
  --gab-chapeau: 100%;           /* chapeau : conteneur / conteneur / 720 (révision R3) */

  /* La gouttière et le plafond d'en-tête du site entier suivent la grille. */
  --gouttiere: var(--gab-g);
  --entete-max: var(--gab-max);

  /* Échelle (§2.2) : taille / interligne, en px */
  --gab-t-h1: 34px;      --gab-lh-h1: 37px;
  --gab-t-h2: 24px;      --gab-lh-h2: 30px;
  --gab-t-h3: 20px;      --gab-lh-h3: 26px;
  --gab-t-chapeau: 20px; --gab-lh-chapeau: 29px;
  --gab-t-texte: 17px;   --gab-lh-texte: 26px;
  --gab-t-petit: 14px;   --gab-lh-petit: 20px;
  --gab-t-repere: 14px;  --gab-lh-repere: 18px;

  /* Espacement (§3.1 et révision R2) */
  --gab-lie: 8px;        /* bouton → phrase ; numéro → titre ; libellé → valeur */
  --gab-bloc: 16px;      /* fil → H1 ; titre → texte ; paragraphe → paragraphe ; date → sommaire */
  --gab-ouv: 16px;       /* H1 → chapeau */
  --gab-action: 24px;    /* chapeau → bloc de réservation ; bloc de réservation → faits clés */
  --gab-section: 32px;   /* rembourrage d'une section, de part et d'autre de son filet */
  --gab-haut: 32px;      /* en-tête → fil d'Ariane (exception premier écran, R2) */
  --gab-bande: 48px;     /* rembourrage haut et bas d'une bande (R2) */

  /* Filets */
  --gab-filet-partie: var(--encre);
  --gab-filet-section: #00303544;  /* valeur existante (page-b l. 23) */
}
@media (min-width: 768px) {
  :root {
    --gab-g: 32px;
    --gab-corps: 590px;
    --gab-t-h1: 40px;      --gab-lh-h1: 44px;
    --gab-t-h2: 26px;      --gab-lh-h2: 32px;
    --gab-t-chapeau: 21px; --gab-lh-chapeau: 30px;
    --gab-t-texte: 18px;   --gab-lh-texte: 27px;
    --gab-t-petit: 15px;   --gab-lh-petit: 22px;
    --gab-lie: 12px;
    --gab-ouv: 24px;
    --gab-action: 32px;
    --gab-section: 48px;
    --gab-haut: 48px;
    --gab-bande: 64px;
  }
}
@media (min-width: 1180px) {
  :root {
    --gab-g: 40px;
    --gab-lecture: calc(var(--gab-enonce) + var(--gab-ecart) + var(--gab-corps)); /* 942 */
    --gab-chapeau: 720px;
    --gab-t-h1: 44px;      --gab-lh-h1: 48px;
    --gab-t-h2: 28px;      --gab-lh-h2: 35px;
    --gab-t-h3: 22px;      --gab-lh-h3: 29px;
    --gab-t-chapeau: 22px; --gab-lh-chapeau: 32px;
    --gab-bande: 96px;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   2. EN-TÊTE ET MENU (toutes les pages qui chargent ce fichier)
   Conteneur = 1 360 px centré, gouttière fixe : le logo tombe sur le rail A.
   Écarts fixes au lieu de clamp(…vw…) (site-header.css l. 14 et l. 40, comprendre.css l. 18 et l. 43).
   Menu à 5 libellés, affiché au-dessus de 82rem comme aujourd'hui.
   Garde DÉRIVÉE (à mesurer après pose) : à 1313 px, colonne du menu ≈ 535,9 px,
   donc somme des 5 libellés (14 px / 700) ≤ 535,9 − 4 × 24 = 439,9 px.
   ══════════════════════════════════════════════════════════════════════════ */
.entete { padding-inline: var(--gab-g); }
.entete__contenu { max-inline-size: var(--gab-max); column-gap: 40px; }
.entete__nav { gap: 0 24px; }
.sous-entete { padding-inline: var(--gab-g); }
.sous-entete__liens { max-inline-size: var(--gab-max); }

/* ══════════════════════════════════════════════════════════════════════════
   3. PIED DE PAGE (un seul, modèle lot02 de l'accueil)
   Bord gauche = rail A : max(gouttière, (largeur − 1 360) / 2).
   Remplace --footer-gutter: clamp(1.25rem, 5vw, 5.5rem) (footer-b.css l. 2).
   ══════════════════════════════════════════════════════════════════════════ */
.footer-b { --footer-gutter: max(var(--gab-g), calc((100% - var(--gab-max)) / 2)); }

/* ══════════════════════════════════════════════════════════════════════════
   4. LE BOUTON (un seul objet : bloc de réservation, bande finale)
   Couleurs existantes (palette-turquoise.css) : corail / encre 5,85:1 ; survol encre / blanc 14,25:1.
   ══════════════════════════════════════════════════════════════════════════ */
.encart-parcours .action,
.gabarit .action--corail {
  min-block-size: 56px;
  padding: 14px 16px;
  border: 1px solid var(--action);
  border-radius: var(--rayon-cta, 5px);
  background: var(--action);
  color: var(--sur-action);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}
@media (min-width: 768px) {
  .encart-parcours .action,
  .gabarit .action--corail { padding: 14px 24px; font-size: 18px; }
}
.encart-parcours .action:hover,
.gabarit .action--corail:hover { background: var(--encre); color: var(--blanc); border-color: var(--encre); }
/* Sur la bande encre : le corail reste (5,85:1) ; le survol passe au blanc pour rester visible. */
.gab-bande--encre .action--corail:hover,
.gab-bande--encre .encart-parcours .action:hover { background: var(--blanc); color: var(--encre); border-color: var(--blanc); }
.encart-parcours .action:focus-visible,
.gabarit .action--corail:focus-visible { outline: 3px solid var(--encre); outline-offset: 4px; }
.gab-bande--encre .action--corail:focus-visible,
.gab-bande--encre .encart-parcours .action:focus-visible { outline-color: var(--blanc); }

/* ══════════════════════════════════════════════════════════════════════════
   5. LE BLOC DE RÉSERVATION (§4) : bouton, puis phrase dessous. Visible à toutes les largeurs.
   Ni filet vertical, ni cadre, ni fond. Le balisage doit mettre le bouton AVANT la phrase ;
   « order » ne fait que protéger l'affichage si une page n'est pas encore restructurée.
   ══════════════════════════════════════════════════════════════════════════ */
.encart-parcours {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gab-lie);
  padding: 0;
  border: 0;
  color: inherit;
}
.encart-parcours .action { order: -1; }
.encart-parcours__phrase {
  margin: 0;
  max-inline-size: 52ch;
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 400;
}
/* Action secondaire éventuelle (variantes V-Parler, V-Après…) : un lien au style commun, sous la phrase. */
.encart-parcours__lien { font-size: var(--gab-t-petit); line-height: var(--gab-lh-petit); }
@media (max-width: 767.98px) {
  .encart-parcours { align-items: stretch; }
  .encart-parcours .action { inline-size: 100%; }
}
/* 04/11/2026 (/builder) : réserve de 88 px pour l'assistant « Une question ? » retirée (assistant retiré du site le 03/11). */

/* ══════════════════════════════════════════════════════════════════════════
   6. GABARIT DE PAGE GUIDE : main.gabarit
   ══════════════════════════════════════════════════════════════════════════ */
.gabarit {
  display: block;
  padding: 0;
  color: var(--encre);
  font-size: var(--gab-t-texte);
  line-height: var(--gab-lh-texte);
}

/* 6.1 Bandes (révision R1-R2). Pleine largeur de fenêtre ; fonds existants seulement. */
.gab-bande { padding-block: var(--gab-bande); }
.gab-bande--ouverture { padding-block-start: var(--gab-haut); }
.gab-bande--ciel  { background: var(--ciel);  color: var(--encre); }
.gab-bande--pale  { background: var(--pale);  color: var(--encre); }
.gab-bande--encre {
  background: var(--encre);
  color: var(--blanc);
  --gab-filet-partie: var(--filet-sombre);
  --gab-filet-section: var(--filet-sombre);
}

/* 6.2 Conteneur : un seul, 1 360 px max, rail A = son bord gauche. */
.gab-conteneur {
  inline-size: min(100% - 2 * var(--gab-g), var(--gab-max));
  margin-inline: auto;
}

/* 6.3 Filet de partie : 1 px, rail A → bord droit du conteneur. Jamais collé à un changement de bande. */
.gab-filet {
  margin: 0;
  border: 0;
  border-block-start: 1px solid var(--gab-filet-partie);
  block-size: 0;
}

/* 6.4 Titres et texte (§2.2). Un rôle = un niveau, graisse 600 pour tous les titres. */
.gabarit h1 {
  max-inline-size: var(--gab-lecture);
  font-size: var(--gab-t-h1);
  line-height: var(--gab-lh-h1);
  font-weight: 600;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.gabarit h2 {
  font-size: var(--gab-t-h2);
  line-height: var(--gab-lh-h2);
  font-weight: 600;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.gabarit h3 {
  font-size: var(--gab-t-h3);
  line-height: var(--gab-lh-h3);
  font-weight: 600;
  letter-spacing: 0;
  text-wrap: balance;
}
.gab-chapeau {
  max-inline-size: var(--gab-chapeau);
  font-size: var(--gab-t-chapeau);
  line-height: var(--gab-lh-chapeau);
  font-weight: 400;
}
.gab-petit,
.gab-date {
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 400;
}
.gab-numero {
  display: block;
  font-size: var(--gab-t-repere);
  line-height: var(--gab-lh-repere);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* 6.5 Le lien (§7.2) : un seul style dans le contenu. Spécificité basse (:where) pour que les
   composants (sommaire, cartes) le remplacent sans surenchère. */
.gabarit a:where(:not(.action)) {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.gabarit a:where(:not(.action)):hover { text-decoration-thickness: 2px; }
.gabarit a:where(:not(.action)):focus-visible { outline: 3px solid var(--encre); outline-offset: 4px; box-shadow: none; }
.gab-bande--encre a:where(:not(.action)):focus-visible { outline-color: var(--blanc); }
/* Pages hors gabarit (page du médecin) : le lien du contenu sans règle propre ne reste plus bleu. */
:where(main:not(.home-editorial)) :where(a:not(.action, .lien-filet)) {
  color: inherit;
  text-underline-offset: 4px;
}

/* 6.6 Fil d'Ariane (bloc 1) : niveau Petit ; la page courante n'est pas un lien. */
.gab-ariane ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
}
.gab-ariane li { display: inline-flex; align-items: center; gap: 8px; }
.gab-ariane li + li::before { content: "›"; content: "›" / ""; } /* séparateur décoratif, non lu */
.gab-ariane [aria-current="page"] { font-weight: 600; }

/* 6.7 Ouverture : fil → H1 → chapeau → bloc de réservation → faits clés (R4 : faits APRÈS le bouton). */
.gab-ouverture { padding-block-end: var(--gab-section); }
.gab-ouverture > .gab-ariane + h1 { margin-block-start: var(--gab-bloc); }
.gab-ouverture > h1 + .gab-chapeau { margin-block-start: var(--gab-ouv); }
.gab-ouverture > .encart-parcours { margin-block: var(--gab-action) 0; }
.gabarit .gab-ouverture > .vaso-avantages { margin-block-start: var(--gab-action); } /* doit battre .gabarit .vaso-avantages { margin:0 } */
/* Ouverture sans rien après elle dans la bande (page à une partie, sans date ni sommaire) */
.gab-conteneur > .gab-ouverture:last-child { padding-block-end: 0; }

/* 6.8 Faits clés : composant existant .vaso-avantages, ramené à l'échelle (R4).
   4 colonnes ≥ 1180, 2 en dessous ; sans filet, sans fond, sans carte. */
.gabarit .vaso-avantages {
  grid-column: auto;
  margin: 0;
  padding: 0;
  border: 0;
}
.gabarit .vaso-avantages__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gab-bloc) var(--gab-action);
  margin: 0;
}
@media (min-width: 1180px) {
  .gabarit .vaso-avantages__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.gabarit .vaso-avantages__item { display: block; min-inline-size: 0; }
.gabarit .vaso-avantages .vaso-avantages__icon {
  display: block;
  inline-size: 38px;
  block-size: 38px;
  margin: 0 0 var(--gab-lie);
  grid-row: auto;
}
.gabarit .vaso-avantages__libelle {
  margin: 0;
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 600;
}
.gabarit .vaso-avantages__valeur {
  margin: var(--gab-lie) 0 0;
  font-size: var(--gab-t-h3);
  line-height: var(--gab-lh-h3);
  font-weight: 600;
}

/* 6.9 Date puis sommaire (blocs 7-8) : entre deux filets de partie. */
.gab-navigation { padding-block: var(--gab-section); }
.gab-conteneur > .gab-navigation:last-child { padding-block-end: 0; }
.gab-navigation > .gab-date + .gab-sommaire { margin-block-start: var(--gab-bloc); }

/* 6.10 Sommaire (§7.3) : filet au-dessus de chaque entrée, numéro (Repère) puis libellé (Petit 600). */
.gab-sommaire ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 var(--gab-action);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px)  { .gab-sommaire ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .gab-sommaire ol { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gab-sommaire li { border-block-start: 1px solid var(--filet-clair); }
.gab-bande--encre .gab-sommaire li { border-block-start-color: var(--filet-sombre); }
.gab-sommaire a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: baseline;
  gap: var(--gab-lie);
  min-block-size: 44px;
  padding-block: 12px;
  color: inherit;
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 600;
  text-decoration: none;
}
.gab-sommaire a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.gab-sommaire .gab-numero { font-size: var(--gab-t-repere); line-height: var(--gab-lh-repere); }

/* 6.11 Sections (bloc 10) : énoncé sur le rail A, texte courant sur le rail B (≥ 1180).
   Sous 1180 : tout empilé sur le rail A. Filet de section entre deux sections, jamais après un filet de partie. */
.gab-section {
  padding-block: var(--gab-section);
  scroll-margin-block-start: calc(var(--entete-h, 7rem) + var(--gab-bloc));
}
.gab-conteneur > .gab-section:first-child,
.gab-chapitre__sections > .gab-section:first-child { padding-block-start: 0; }
.gab-conteneur > .gab-section:last-child,
.gab-chapitre__sections > .gab-section:last-child { padding-block-end: 0; }
/* Filet de section : 1 px, rail A → fin de la zone de lecture (942 px sur ordinateur, bord droit en dessous). */
.gab-section + .gab-section {
  background-image: linear-gradient(var(--gab-filet-section), var(--gab-filet-section));
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: var(--gab-lecture) 1px;
}
.gab-section__enonce > .gab-numero + :is(h2, h3) { margin-block-start: var(--gab-lie); }
.gab-section__corps { max-inline-size: var(--gab-corps); min-inline-size: 0; }
.gab-section__enonce + .gab-section__corps { margin-block-start: var(--gab-bloc); }
.gab-section__corps > * + * { margin-block-start: var(--gab-bloc); }
.gab-section__corps :is(p, li) {
  font-size: var(--gab-t-texte);
  line-height: var(--gab-lh-texte);
  text-wrap: pretty;
}
.gab-section__corps ul { padding-inline-start: 24px; list-style: disc; }
.gab-section__corps ol { padding-inline-start: 24px; list-style: decimal; }
.gab-section__corps li + li { margin-block-start: var(--gab-lie); }
.gab-section__corps .guide__important { margin-block: var(--gab-bloc) 0; }
.gab-section__corps .guide__important p { font-size: var(--gab-t-texte); line-height: var(--gab-lh-texte); }
.gab-section__corps .guide__sources,
.gab-section__corps .guide__sources li { font-size: var(--gab-t-petit); line-height: var(--gab-lh-petit); }
.gab-section__corps .guide-internal-link { margin: 0; }
/* Illustration de chapitre (Comprendre) : sous le texte en dessous de 1180, dans la marge droite au-dessus. */
.gab-section__illustration { margin: var(--gab-action) 0 0; max-inline-size: 560px; }
.gab-section__illustration img { display: block; inline-size: 100%; block-size: auto; }

@media (min-width: 1180px) {
  .gab-section {
    display: grid;
    grid-template-columns: [enonce] var(--gab-enonce) [corps] minmax(0, var(--gab-corps)) [reste] minmax(0, 1fr) [fin];
    column-gap: var(--gab-ecart);
    align-items: start;
  }
  .gab-section__enonce { grid-column: enonce; }
  .gab-section__corps  { grid-column: corps; }
  .gab-section__enonce + .gab-section__corps { margin-block-start: 0; }
  /* Section sans énoncé (ex. introduction illustrée) : le texte reste sur le rail B. */
  .gab-section > .gab-section__corps:first-child { grid-column: corps; }
  .gab-section__illustration {
    grid-column: reste;
    grid-row: 1;
    align-self: center;
    margin: 0;
    max-inline-size: none;
  }
}

/* 6.12 Chapitre (Comprendre, révision R5) : numéro + H2 sur le rail A, toute la largeur,
   puis des sections dont l'énoncé porte un H3. */
.gab-chapitre { scroll-margin-block-start: calc(var(--entete-h, 7rem) + var(--gab-bloc)); }
.gab-chapitre__entete { padding-block-end: var(--gab-section); }
.gab-chapitre__entete > .gab-numero + h2 { margin-block-start: var(--gab-lie); }
.gab-chapitre + .gab-chapitre { margin-block-start: var(--gab-section); }

/* 6.13 « À lire aussi » (bloc 13) : même forme qu'une section, liste sans puces. */
.gab-section--lire .gab-section__corps ul { list-style: none; padding: 0; }
.gab-section--lire .gab-section__corps li + li { margin-block-start: 12px; }

/* 6.14 Bloc de réservation E-suite : après une section, dans la même bande. */
.gab-conteneur > .encart-parcours { margin: 0; }

/* 6.15 Cartes de /questions/ (remplace le <style> en ligne de questions/index.html, à retirer).
   Titre de carte = Sous-titre ; étiquette, texte et « Lire le guide » = Petit. Mêmes filets qu'aujourd'hui. */
.gabarit .guides-index {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px)  { .gabarit .guides-index { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .gabarit .guides-index { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gabarit .guides-index__item { border: 0; border-block-start: 1px solid var(--mi); }
.gabarit .guides-index__item a {
  display: block;
  padding: var(--gab-action) var(--gab-action) var(--gab-action) 0;
  color: inherit;
  text-decoration: none;
}
.gabarit .guides-index__tag {
  display: block;
  margin: 0 0 var(--gab-lie);
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
/* 04/11 (/builder) : titres de carte passés en h3 sous les titres de groupe */
.gabarit .guides-index__item h2,
.gabarit .guides-index__item h3 {
  margin: 0 0 var(--gab-lie);
  font-size: var(--gab-t-h3);
  line-height: var(--gab-lh-h3);
  font-weight: 600;
  letter-spacing: 0;
}
.gabarit .guides-index__item p {
  margin: 0 0 var(--gab-lie);
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  color: inherit;
}
.gabarit .guides-index__lire {
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  border: 0;
  padding: 0;
}
.gabarit .guides-index__item a:hover .guides-index__lire { text-decoration-thickness: 2px; color: inherit; }
.gabarit .guides-index__item a:focus-visible { outline: 3px solid var(--encre); outline-offset: 4px; }

/* 6.16 Bande finale (E-fin, .fermeture-commune). Passe 2 (M3) : vaut aussi pour l'accueil (.home-editorial). : fond pâle inchangé, rembourrage de bande (R2),
   conteneur 1 360 sur le rail A, titre au niveau Titre de section, bouton commun (§4).
   Composition titre / bouton inchangée (titre à gauche, bouton à droite ≥ 768, empilés en dessous). */
:is(.gabarit .fermeture-commune, .home-editorial ~ .fermeture-commune) {
  min-block-size: 0;
  margin: 0;
  padding-block: var(--gab-bande);
  background: var(--pale);
  color: var(--encre);
}
:is(.gabarit .fermeture-commune, .home-editorial ~ .fermeture-commune) .prochaine-etape__ligne {
  inline-size: min(100% - 2 * var(--gab-g), var(--gab-max));
  gap: var(--gab-action);
}
:is(.gabarit .fermeture-commune, .home-editorial ~ .fermeture-commune) #prochaine-etape-titre {
  max-inline-size: 27ch;
  font-size: var(--gab-t-h2);
  line-height: var(--gab-lh-h2);
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media (max-width: 767.98px) {
  :is(.gabarit .fermeture-commune, .home-editorial ~ .fermeture-commune) .action--corail { inline-size: 100%; }
}
/* 04/11/2026 (/builder) : réserve de 88 px pour l'assistant retirée. */

/* ══════════════════════════════════════════════════════════════════════════
   7. AJOUTS DE L'APPLICATION (04/11/2026, /builder, passes 1 et 2) — notés dans APPLICATION-BUILD.md
   ══════════════════════════════════════════════════════════════════════════ */
/* 7.1 Bande finale : l'encadré de réservation (bouton, phrase, action secondaire) remplace le bouton seul. */
.fermeture-commune .encart-parcours { margin: 0; }
.encart-parcours__phrase a,
.encart-parcours__lien a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }

/* 7.2 Ouverture : second paragraphe de chapeau (spermogramme, sans cadre) ; date sous le bouton (Déroulement). */
.gab-ouverture > .gab-chapeau + .gab-chapeau { margin-block-start: var(--gab-bloc); }
.gab-ouverture > .encart-parcours + .gab-date { margin-block-start: var(--gab-bloc); }

/* 7.3 Filet de partie suivi d'un chapitre ou d'un groupe : même air que devant une section (M2, ≥ 32 px). */
.gab-filet + .gab-chapitre,
.gab-filet + .gab-groupe { padding-block-start: var(--gab-section); }
/* /questions/ : trois groupes de cartes, titre de groupe au niveau Titre de section. */
.gabarit .gab-groupe + .gab-groupe { margin-block-start: var(--gab-section); }
.gabarit .gab-groupe > h2 { margin: 0 0 var(--gab-bloc); }

/* 7.4 Navigation sans filet au-dessus (Déroulement : sommaire dans l'ouverture ; médecin). */
.gab-navigation--seule { padding-block: 0 var(--gab-section); }
.gab-filet + .gab-navigation--seule { padding-block-start: var(--gab-section); }
/* Sommaire sur 2 colonnes, rails A et B, lu colonne par colonne (Déroulement, 7 entrées : 4 + 3). */
@media (min-width: 768px) {
  .gab-sommaire--2col ol { grid-template-rows: repeat(var(--rangs, 4), auto); grid-auto-flow: column; }
}
@media (min-width: 1180px) {
  .gab-sommaire--2col ol {
    grid-template-columns: var(--gab-enonce) minmax(0, var(--gab-corps));
    column-gap: var(--gab-ecart);
  }
}

/* 7.5 Faits clés : valeur avec majuscule initiale (forme seulement, le texte est inchangé). */
.gabarit .vaso-avantages__valeur::first-letter { text-transform: uppercase; }

/* 7.6 Dessins au trait de l'accueil dans la colonne libre (R4) : à partir de 1180 px seulement. */
.gab-illustration--large { display: none; }
@media (min-width: 1180px) {
  .gab-illustration--large { display: block; justify-self: end; inline-size: 100%; max-inline-size: 360px; }
}

/* 7.7 Pages légales : lien de retour en fin de corps, sans bande vide (R9). */
.gab-conteneur > .gab-retour { margin: 0; padding-block-start: var(--gab-section); font-size: var(--gab-t-texte); line-height: var(--gab-lh-texte); }

/* 7.8 Page du médecin au gabarit (R8, M3) : portrait dans l'ouverture, lieux empilés dans le corps. */
.gab-ouverture__portrait { margin: var(--gab-action) 0 0; max-inline-size: 240px; }
.gab-ouverture__portrait img { display: block; inline-size: 100%; block-size: auto; }
.gab-ouverture--portrait > .gab-ouverture__texte > .gab-ariane + h1 { margin-block-start: var(--gab-bloc); }
.gab-ouverture--portrait > .gab-ouverture__texte > h1 + .gab-chapeau { margin-block-start: var(--gab-ouv); }
@media (min-width: 768px) {
  .gab-ouverture--portrait { display: grid; grid-template-columns: minmax(0, 1fr) 280px; column-gap: var(--gab-ecart); align-items: start; }
  .gab-ouverture__portrait { margin: 0; max-inline-size: none; }
}
@media (min-width: 1180px) {
  .gab-ouverture--portrait { grid-template-columns: minmax(0, 1fr) 360px; }
}
.gab-section__corps > .encart-parcours { margin-block-start: var(--gab-action); }
.gabarit .gab-section__corps .lieux { grid-template-columns: minmax(0, 1fr); border-block-start: 0; }
.gabarit .gab-section__corps .lieu,
.gabarit .gab-section__corps .lieu + .lieu { padding: var(--gab-bloc) 0; border: 0; border-block-start: 1px solid var(--gab-filet-section); }
.gabarit .gab-section__corps .lieu h3 { min-block-size: 0; margin: 0 0 var(--gab-lie); }
.gabarit .gab-section__corps .lieu :is(p, address, a) { font-size: var(--gab-t-texte); line-height: var(--gab-lh-texte); }
.gabarit .gab-section__corps .lieu > * + * { margin-block-start: var(--gab-lie); }
.gabarit .gab-section__corps .lieu > * { display: block; margin-block-end: 0; }
.gabarit .publications summary { font-size: var(--gab-t-texte); line-height: var(--gab-lh-texte); font-weight: 600; letter-spacing: 0; }
.publication__resume {
  grid-column: 2;
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 400;
}
@media (max-width: 46rem) {
  .publications summary .publication__resume { grid-column: 1; grid-row: 3; }
}

/* 7.9 Accueil sur l'échelle et les rails communs (R7). Double #contenu pour battre home-editorial.css
   et le <style> en ligne ; !important seulement là où la règle battue en porte un. */
#contenu.home-editorial #heros #titre-heros {
  font-size: var(--gab-t-h1);
  line-height: var(--gab-lh-h1);
}
#contenu#contenu.home-editorial .d-wrap {
  inline-size: min(100% - 2 * var(--gab-g), var(--gab-max));
  max-inline-size: none;
  margin-inline: auto;
}
#contenu#contenu.home-editorial h2,
#contenu#contenu .vaso-avantages > h2 {
  font-size: var(--gab-t-h2) !important;
  line-height: var(--gab-lh-h2);
  font-weight: 600;
  letter-spacing: -0.02em;
  max-inline-size: none;
}
/* FAQ de l'accueil (hors de main) : même rail et même échelle. */
.home-editorial ~ .faq-home .faq-home__wrap { inline-size: min(100% - 2 * var(--gab-g), var(--gab-max)); }
.home-editorial ~ .faq-home h2 { font-size: var(--gab-t-h2); line-height: var(--gab-lh-h2); font-weight: 600; letter-spacing: -0.02em; }
#contenu#contenu.home-editorial .d-book .d-wrap { align-items: flex-start !important; text-align: start; }
#contenu#contenu.home-editorial .d-book-actions { align-items: flex-start !important; }
#contenu#contenu.home-editorial #lieu .d-wrap { justify-content: start; }
@media (max-width: 767.98px) {
  #contenu#contenu.home-editorial #heros > .d-wrap { align-items: stretch !important; }
  #contenu#contenu.home-editorial #heros :is(h1, .d-intro, .d-intro p) { text-align: start !important; max-inline-size: none; }
  #contenu#contenu.home-editorial #heros .d-actions { align-items: stretch !important; max-inline-size: none; }
  #contenu#contenu.home-editorial #heros figure { align-self: center; }
}
/* Accueil : repères fixes (T-A06) à la place du bandeau qui défilait. */
.reperes-accueil {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gab-lie) var(--gab-action);
  margin: 0;
  padding: var(--gab-bloc) var(--gab-g);
  list-style: none;
  background: var(--pale);
  color: var(--encre);
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 500;
}
#contenu.home-editorial .d-book-etapes {
  margin: 0 0 var(--gab-bloc);
  padding-inline-start: 1.4em;
  max-inline-size: 40rem;
  text-align: start;
  font-size: var(--gab-t-texte);
  line-height: var(--gab-lh-texte);
}
#contenu.home-editorial .d-book-etapes li + li { margin-block-start: var(--gab-lie); }

/* ══════════════════════════════════════════════════════════════════════════
   7.10 PASSE 3 (04/11/2026, /builder) — corrections de forme CD passe 2, notées dans APPLICATION-BUILD.md
   ══════════════════════════════════════════════════════════════════════════ */
/* C-1 : la date est dans l'ouverture, sous le bouton ou le chapeau ; un seul filet de partie suit. */
.gab-ouverture > :is(.gab-chapeau, h1) + .gab-date { margin-block-start: var(--gab-bloc); }
.gab-ouverture > .gab-date + .vaso-avantages { margin-block-start: var(--gab-action); }
/* C-1 (page médecin à 390) : pas de filet de rangée collé au filet de partie. */
@media (max-width: 767.98px) {
  .gab-filet + .gab-navigation .gab-sommaire li:first-child { border-block-start: 0; }
}
/* (a) / D-1 : bande finale après une bande pâle : filet pleine largeur (rails) en haut, rembourrage gardé. */
.gab-bande--pale + .fermeture-commune { padding-block-start: 0; }
.gab-bande--pale + .fermeture-commune::before {
  content: "";
  display: block;
  inline-size: min(100% - 2 * var(--gab-g), var(--gab-max));
  margin: 0 auto var(--gab-bande);
  border-block-start: 1px solid var(--gab-filet-partie);
}
/* Faits clés : D-3 précision sous la valeur. (Passe 4, D-5 : plus d'icônes ni de place réservée sur Déroulement.) */
.gabarit .vaso-avantages__precision {
  display: block;
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
  font-weight: 400;
}
/* D-4 : les puces du corps vont jusqu'au bord de la colonne (pas d'équilibrage des lignes). */
.gab-section__corps li { text-wrap: wrap; }
/* K-2 : bouton dans la colonne du corps, 24 px sous le lien. */
.gab-section__corps > p + .encart-parcours { margin-block-start: 24px; }
/* M-1 : portrait 240 × 300 à toutes les largeurs. */
@media (min-width: 768px) {
  .gab-ouverture--portrait { grid-template-columns: minmax(0, 1fr) 240px; }
}
/* M-2 : adresses en romain, comme dans le pied de page. */
.gabarit .lieu address { font-style: normal; }
/* M-3 : pas de filet d'article collé au filet de section ; « + » à la couleur du texte, comme la FAQ de l'accueil. */
.gabarit .publications details:first-child { border-block-start: 0; }
.gabarit .publications summary::after { color: currentColor; }
/* Numéros de téléphone jamais coupés (H-5). */
a[href^="tel:"] { white-space: nowrap; }

/* Accueil */
/* H-1 : sections à image, texte sur un seul rail (milieu du conteneur, x = 720 à 1440). */
@media (min-width: 1180px) {
  #contenu#contenu.home-editorial :is(.d-physician, .d-technique, .d-cabinet) .d-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    column-gap: 0 !important;
    row-gap: 24px !important;
  }
  #contenu#contenu.home-editorial :is(.d-physician, .d-technique, .d-cabinet) figure {
    grid-column: 1 !important; grid-row: 1 / 3 !important; justify-self: start !important; align-self: center;
  }
  #contenu#contenu.home-editorial :is(.d-physician, .d-technique, .d-cabinet) .d-heading {
    grid-column: 2 !important; grid-row: 1 !important; align-self: end !important;
  }
  #contenu#contenu.home-editorial :is(.d-physician, .d-technique, .d-cabinet) .d-copy {
    grid-column: 2 !important; grid-row: 2 !important; align-self: start !important;
  }
  .home-editorial ~ .faq-home .faq-home__wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; }
}
/* H-2 : bande « Comment se passe la réservation » : rembourrage de bande commun, étapes numérotées,
   titre sur le rail A et contenu sur le rail B (≥ 1180), lignes de texte limitées à 640 px. */
#contenu#contenu.home-editorial .d-book { padding-block: var(--gab-bande); }
#contenu.home-editorial .d-book-etapes { list-style: decimal; padding-inline-start: 24px; }
#contenu#contenu.home-editorial .d-book-copy > p,
#contenu#contenu.home-editorial .d-book .hm-reservation-c1__suite { max-inline-size: 640px; }
@media (min-width: 1180px) {
  #contenu#contenu.home-editorial .d-book .d-wrap {
    display: grid !important;
    grid-template-columns: var(--gab-enonce) minmax(0, 1fr);
    column-gap: var(--gab-ecart);
    align-items: start !important;
  }
  #contenu#contenu.home-editorial .d-book-title { grid-column: 1; }
  #contenu#contenu.home-editorial .d-book-copy { grid-column: 2; }
}
/* H-3 : 32 px au moins entre le dernier lien de l'ouverture et le filet qui suit. */
@media (min-width: 768px) {
  #contenu#contenu.home-editorial #heros .other-consultations { margin-block-start: var(--gab-section); }
}
/* H-4 : bandeau de repères aligné sur le rail A (plus de ligne centrée). */
.reperes-accueil {
  justify-content: flex-start;
  padding-inline: max(var(--gab-g), (100% - var(--gab-max)) / 2);
}
/* H-5 : photo du médecin sur le rail (390). */
@media (max-width: 767.98px) {
  #contenu#contenu.home-editorial .d-physician figure { align-self: flex-start !important; margin-inline: 0 !important; }
}

/* ══ 7.11 PASSE 4 (04/11/2026, /builder) ══ */
/* M-5 : portrait décollé du bord droit, sur le rail B (x 392 à 1440), en haut de l'ouverture. */
@media (min-width: 768px) {
  .gab-ouverture--portrait { grid-template-columns: max-content 240px; justify-content: start; }
}
@media (min-width: 1180px) {
  .gab-ouverture--portrait { grid-template-columns: var(--gab-enonce) 240px; }
}
/* m6 : sous un bouton placé dans le corps, phrase et lien à la taille commune (14 / 15 px). */
.gab-section__corps .encart-parcours :is(.encart-parcours__phrase, .encart-parcours__lien) {
  font-size: var(--gab-t-petit);
  line-height: var(--gab-lh-petit);
}
