/* ==========================================================================
   au-cabinet.fr — gabarit « façon MDPH » des pages d'outils
   --------------------------------------------------------------------------
   Reprend, à l'identique, la présentation de la page MDPH (mdph/index.html) :
   bandeau d'encre (titre, recherche, réglages), onglets de rubriques et
   sous-menu, carte d'ouverture, trois colonnes (circuit / contenu / panneau
   collant), encadrés, rangées de boutons, barre de résultat sur téléphone.
   Mode d'emploi et HTML d'exemple : en tête de /_commun/gabarit-mdph.js.

   Chargement, APRÈS /_commun/charte.css :
     <link rel="stylesheet" href="/_commun/charte.css">
     <link rel="stylesheet" href="/_commun/gabarit-mdph.css">
   La couleur de rubrique se règle dans le bloc <style id="ac-charte-page"> :
     :root{--ac-rubrique:#9468B0;--ac-rubrique-txt:#6E4A8A;--ac-rubrique-doux:#EDE5F2}

   Toutes les tailles de texte sont en rem (échelle commune de charte.css :
   --fs-corps, --fs-h1, --fs-h2, --fs-h3, --fs-etiquette, --fs-petit,
   --fs-onglet) : les deux réglages de taille (bandeau du site et « Texte »
   du gabarit) les agrandissent ensemble.

   Tableaux lisibles sur téléphone (règle du site, 12/10/2026) : <table class="gm-tab-cartes">.
   Sur ordinateur, rien ne change (le tableau garde le style de la page). À 640 px et moins, chaque ligne
   devient une carte : sa 1re cellule (ou celle marquée gm-tc-tete) fait l'en-tête coloré, les autres se rangent
   sur deux colonnes, libellé en petit au-dessus de la valeur. Le libellé vient de data-l sur chaque cellule
   (<td data-l="Pleine dose">). Classes facultatives des cellules :
     gm-tc-large  : la cellule prend toute la largeur (texte long : conduite, posologie) ;
     gm-tc-p      : pastille (« ✓ H. pylori ») — les pastilles voisines se suivent sur une même ligne ;
                    gm-tc-non en plus : pastille grisée (« — Dyspepsie ») ; .gm-tc-detail dans la cellule :
                    précision affichée après le libellé ;
     gm-tc-coin   : petite étiquette dans le coin de l'en-tête (« Rang 1 ») ;
     gm-tc-tete   : cellule d'en-tête, si ce n'est pas la première.
   Jamais de défilement horizontal ni de liste plate sans titre à 390 px.
   ========================================================================== */

:root{
  --gm-encre:#1B2B38; --gm-encre-2:#3A4A56; --gm-encre-3:#4A5A66;
  --gm-papier:#F5F1E6; --gm-papier-2:#EDE7D8; --gm-carte:#FFFDF7; --gm-filet:#D3C9B3;
  --gm-flamme:#F47A30; --gm-chrome:#FFB840; --gm-jaune:#FFD84F;
  --gm-rub:var(--ac-rubrique,#B5462C); --gm-rub-txt:var(--ac-rubrique-txt,#9A3A24);
  --gm-rub-doux:var(--ac-rubrique-doux,#F4E0D6);
  --gm-vert:#4F8A10; --gm-vert-txt:#46790E; --gm-vert-doux:#DCECC4;
  --gm-rouge:#C4202F; --gm-rouge-txt:#A8123B; --gm-rose:#F9CEDE;
  --gm-ambre:#D08A35; --gm-ambre-txt:#8A5410; --gm-ambre-doux:#F6E6C8;
  --gm-nuit:#1B2B38; --gm-nuit-txt:#C9D2D8; --gm-nuit-clair:#D7E6EA; --gm-nuit-filet:#4A627C;
  --gm-ombre:6px 6px 0 var(--gm-encre);
  --gm-large:97.5rem;           /* 1 560 px */
  --gm-gout:1.375rem;           /* 22 px de marge latérale */
}
:root[data-contrast="high"]{
  --gm-encre:#000; --gm-encre-2:#111; --gm-encre-3:#1C1C1C;
  --gm-papier:#fff; --gm-papier-2:#F2F2F2; --gm-carte:#fff; --gm-filet:#000;
  --gm-rub:#000; --gm-rub-txt:#000; --gm-rub-doux:#F2F2F2;
  --gm-vert:#356000; --gm-vert-txt:#356000; --gm-vert-doux:#fff;
  --gm-rouge:#A8123B; --gm-rouge-txt:#A8123B; --gm-rose:#fff;
  --gm-ambre:#9C4A00; --gm-ambre-txt:#9C4A00; --gm-ambre-doux:#fff;
  --gm-nuit:#000; --gm-nuit-txt:#fff; --gm-nuit-clair:#fff; --gm-nuit-filet:#fff;
  --gm-ombre:4px 4px 0 #000;
}

/* ---------- page ; réglage « Texte » du gabarit (A−/A/A+), multiplié par celui du bandeau du site ---------- */
html[data-gm-texte="l"]{font-size:111.11%}
html[data-gm-texte="xl"]{font-size:125%}
body.gm{margin:0;background:var(--gm-papier);color:var(--gm-encre);font-family:var(--ac-body);
  font-size:var(--fs-corps);line-height:1.6;-webkit-font-smoothing:antialiased}
.gm *,.gm *::before,.gm *::after{box-sizing:border-box}
.gm :focus-visible{outline:3px solid var(--gm-flamme);outline-offset:3px}
:where(.gm) a{color:var(--gm-rub-txt)}
.gm [hidden]{display:none!important}
.gm .gm-cache{display:none!important}

/* ==========================================================================
   1. Bandeau d'encre : titre, recherche, réglages, onglets, sous-menu
   ========================================================================== */
.gm-bandeau{position:sticky;top:var(--ac-h,0px);z-index:60;background:var(--gm-nuit);color:#fff}
.gm-bandeau::after{content:"";display:block;height:6px;border-top:3px solid var(--gm-encre);background:var(--ac-arc)}
.gm-bandeau-in{max-width:var(--gm-large);margin:0 auto;padding:0 var(--gm-gout)}
.gm-ligne{display:flex;align-items:center;gap:1rem;padding:.6875rem 0;flex-wrap:wrap}
.gm-marque{display:flex;align-items:center;gap:.5625rem;margin:0;font-family:var(--ac-display);font-size:1.6875rem;
  line-height:1.6;text-transform:uppercase;color:#fff;min-width:0}
.gm-marque b{font-weight:900;color:inherit}
.gm-marque span:not(.gm-marque-ic){font-family:var(--ac-mono);font-size:.8325rem;letter-spacing:.08em;color:var(--gm-nuit-txt);
  text-transform:none;font-weight:400}
.gm-marque-ic{display:inline-flex;flex:none;width:1.75rem;height:1.75rem}
.gm-marque-ic svg{width:100%;height:100%}

/* recherche */
.gm-rech{position:relative;display:flex;align-items:center;gap:.5rem;flex:1;min-width:14.375rem;max-width:26.875rem;height:2.5rem;
  padding:0 .8125rem;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.16);border-radius:999px}
.gm-rech:focus-within{background:#fff;border-color:#fff}
.gm-rech-ic{flex:none;color:#A8C6CD;font-size:1.2375rem;line-height:1}
.gm-rech:focus-within .gm-rech-ic{color:var(--gm-rub-txt)}
.gm-rech input{flex:1;min-width:0;height:100%;padding:0;margin:0;background:none;border:0;outline:0;color:#fff;
  font-family:var(--ac-body);font-size:1.0125rem}
.gm-rech input::placeholder{color:#9FBCC4}
.gm-rech:focus-within input{color:var(--gm-encre)}
.gm-rech:focus-within input::placeholder{color:var(--gm-encre-3)}
.gm-rech input::-webkit-search-cancel-button{display:none}
.gm-rech-k{flex:none;font-family:var(--ac-display);font-weight:700;font-size:.81rem;line-height:1.4;color:#9FBCC4;
  border:1.5px solid rgba(255,255,255,.22);border-radius:5px;padding:1px 6px}
.gm-rech:focus-within .gm-rech-k{display:none}
.gm-rech-res{position:absolute;top:calc(100% + 9px);left:0;right:0;z-index:120;max-height:min(66vh,33.75rem);overflow:auto;
  padding:6px;background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;box-shadow:7px 7px 0 var(--gm-encre);color:var(--gm-encre)}
.gm-rech-i{display:grid;grid-template-columns:5.5rem 1fr auto;gap:.6875rem;align-items:baseline;width:100%;text-align:left;
  background:none;border:0;border-radius:3px;padding:.625rem .6875rem;cursor:pointer;font-family:var(--ac-body);color:var(--gm-encre)}
.gm-rech-i:hover,.gm-rech-i.on{background:var(--gm-rub-doux)}
.gm-rech-t{font-family:var(--ac-mono);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gm-rub-txt);padding-top:2px}
.gm-rech-x{min-width:0}
.gm-rech-x b{display:block;font-weight:700;font-size:1.035rem;line-height:1.35;margin-bottom:2px}
.gm-rech-x em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:normal;
  font-size:.945rem;line-height:1.45;color:var(--gm-encre-2)}
.gm-rech-o{font-family:var(--ac-display);font-weight:700;font-size:.765rem;letter-spacing:.04em;color:var(--gm-encre-3);white-space:nowrap}
.gm-rech-res mark{background:var(--gm-ambre-doux);color:var(--gm-encre);border-radius:2px;padding:0 1px}
.gm-rech-vide{padding:1.125rem .875rem;text-align:center;font-size:1.0125rem;color:var(--gm-encre-2)}
a.gm-rech-i{color:inherit;text-decoration:none}
.gm-rech-med{border-bottom:2px solid var(--gm-encre)}
.gm-trouve{animation:gm-trouve 2.2s ease-out}
@keyframes gm-trouve{0%,55%{box-shadow:0 0 0 4px var(--gm-ambre-doux),0 0 0 6px var(--gm-ambre)}100%{box-shadow:0 0 0 4px transparent,0 0 0 6px transparent}}

/* réglages : Texte A− A A+, Contraste renforcé, Mode guidé */
.gm-act{margin-left:auto;display:flex;align-items:center;gap:1.125rem}
.gm-reglages{display:flex;align-items:center;gap:.75rem}
.gm-reg{display:flex;align-items:center;gap:.5rem}
.gm-reg-l{font-size:.945rem;color:var(--gm-nuit-clair)}
.gm-reg-g{display:flex;gap:4px}
.gm-reg button{min-width:2.625rem;min-height:2.25rem;padding:.375rem .75rem;border:1.5px solid var(--gm-nuit-filet);border-radius:999px;
  background:transparent;color:var(--gm-nuit-clair);font-family:var(--ac-display);font-weight:700;font-size:.9rem;line-height:1;cursor:pointer}
.gm-reg button:hover{border-color:#fff;color:#fff}
.gm-reg button.on,.gm-reg button[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--gm-encre)}
.gm-switch{display:flex;align-items:center;gap:.5625rem;cursor:pointer;font-family:var(--ac-display);font-weight:700;font-size:.945rem;color:var(--gm-nuit-clair)}
.gm-switch input{position:absolute;opacity:0;width:0;height:0}
.gm-switch .gm-sw{position:relative;flex:none;width:42px;height:24px;border-radius:999px;background:#3D5570;transition:background .15s}
.gm-switch .gm-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}
.gm-switch input:checked+.gm-sw{background:var(--gm-flamme)}
.gm-switch input:checked+.gm-sw::after{transform:translateX(18px)}
.gm-switch input:focus-visible+.gm-sw{outline:3px solid #fff;outline-offset:2px}

/* onglets de rubriques */
.gm-navs{background:var(--gm-nuit)}
.gm-onglets{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.gm-onglets::-webkit-scrollbar,.gm-sous::-webkit-scrollbar{display:none}
.gm-onglets button{flex:none;margin:0 0 -3px;padding:.75rem .9375rem .625rem;background:none;border:0;border-bottom:3px solid transparent;
  color:var(--gm-nuit-txt);font-family:var(--ac-display);font-weight:800;font-size:var(--fs-onglet);letter-spacing:.05em;
  text-transform:uppercase;white-space:nowrap;cursor:pointer}
.gm-onglets button:hover{color:#fff}
.gm-onglets button[aria-selected="true"]{color:#fff;border-bottom-color:var(--gm-chrome)}
/* sous-menu de la rubrique */
.gm-sous{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:.5625rem 0 .625rem;border-top:1px solid rgba(255,255,255,.13)}
.gm-sous button{display:inline-flex;align-items:center;gap:.4375rem;flex:none;padding:.4375rem .8125rem;border:1.5px solid transparent;border-radius:3px;
  background:rgba(255,255,255,.07);color:#CBDDE2;font-family:var(--ac-display);font-weight:700;font-size:.9rem;
  text-transform:uppercase;white-space:nowrap;cursor:pointer}
.gm-sous button:hover{background:rgba(255,255,255,.15);color:#fff}
.gm-sous button.on{background:#fff;border-color:#fff;color:var(--gm-encre)}
.gm-sous .sn{font-family:var(--ac-mono);font-size:.8325rem;font-variant-numeric:tabular-nums;opacity:.7}
.gm-sous button.on .sn{color:var(--gm-rub-txt);opacity:1}

/* ==========================================================================
   2. Contenu : carte d'ouverture, trois colonnes
   ========================================================================== */
.gm-page{max-width:var(--gm-large);margin:0 auto;padding:1.25rem var(--gm-gout) 2.125rem}

/* carte d'ouverture (hero) */
.gm-hero{margin:0 0 1.375rem;padding:.75rem 0 .25rem;background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;box-shadow:var(--gm-ombre)}
.gm-hero-in{padding:1.625rem 1.375rem .75rem;box-shadow:4px 4px 0 var(--gm-encre)}
.gm-surtitre{margin:0 0 4px;font-family:var(--ac-mono);font-weight:600;font-size:.765rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gm-rub-txt)}
.gm-hero h1{margin:0;font-family:var(--ac-display);font-weight:900;font-size:var(--fs-h1);line-height:1.02;letter-spacing:-.022em;
  text-transform:uppercase;color:var(--gm-encre);text-wrap:wrap}
.gm-hero h1 em{font-family:var(--ac-logo);font-style:italic;font-weight:800;text-transform:none;letter-spacing:.01em;color:var(--gm-rub-txt)}
.gm-chapo{margin:.375rem 0 .625rem;font-size:1.1025rem;line-height:1.66;color:var(--gm-encre-2)}
.gm-chapo p{margin:0 0 .5rem}
.gm-chapo b,.gm-chapo strong{color:var(--gm-encre)}
.gm-hero-meta{display:flex;flex-wrap:wrap;gap:4px 1.125rem;margin:.25rem 0 .5rem;font-family:var(--ac-mono);font-weight:500;font-size:.8325rem;
  letter-spacing:.03em;color:var(--gm-encre-3)}
@media (min-width:1080px){.gm-chapo{columns:2;column-gap:2.875rem;orphans:2;widows:2}}

/* trois colonnes */
.gm-cols{display:grid;grid-template-columns:14.75rem minmax(0,1fr) 25rem;gap:1.5rem;align-items:stretch}
.gm-centre{min-width:0}
.gm-droite{min-width:0;display:flex;flex-direction:column}
.gm-collant{position:sticky;top:calc(var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px))) + 1rem)}
/* colonnes collantes : sous le bandeau réel (--gm-haut, mesuré par le script), jamais dessous ; si elles sont
   plus hautes que l'écran, elles défilent à l'intérieur (le bas reste accessible) */
@media (min-width:1241px){
  .gm-rail.gm-collant,.gm-droite .gm-collant{max-height:calc(100vh - var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px))) - 2rem);
    overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gm-filet) transparent}
  /* place pour l'ombre décalée des cartes du panneau (sinon rognée par le défilement interne) */
  .gm-droite .gm-collant{padding:0 6px 6px 0;margin-right:-6px}
}

/* Le rail de gauche est sur TOUS les onglets. Le panneau de droite n'est que là où il a un sens :
   .gm-large  = onglet sans panneau (hors data-gm-3col, ou data-gm-panneau="non") : rail + contenu large ;
   .gm-replie = panneau replié par le bouton ⟩ : rail + contenu large + languette « Résultat » ;
   .gm-avec-lang = languette visible (panneau replié, ou « Dernier résultat » sur un onglet sans panneau). */
.gm-large .gm-droite{display:none}
@media (min-width:1241px){
  .gm-large .gm-cols{grid-template-columns:14.75rem minmax(0,1fr)}
  .gm-replie .gm-cols,.gm-large.gm-avec-lang .gm-cols{grid-template-columns:14.75rem minmax(0,1fr) 2.75rem}
}
@media (min-width:981px) and (max-width:1240px){
  .gm-large .gm-cols{grid-template-columns:13.5rem minmax(0,1fr)}
  .gm-large.gm-avec-lang .gm-cols{grid-template-columns:13.5rem minmax(0,1fr) 2.75rem}
  .gm-replie .gm-cols{grid-template-columns:minmax(0,1fr) 2.75rem}
}
@media (min-width:981px){.gm-replie .gm-droite{display:none}}
/* onglet « Replier ⟩ », posé sur le haut du panneau (comme un intercalaire) */
.gm-plier{display:flex;align-items:center;gap:.5rem;width:max-content;margin:0 .375rem -3px auto;padding:.3125rem .375rem .3125rem .75rem;
  border:3px solid var(--gm-encre);border-bottom:0;border-radius:3px 3px 0 0;background:var(--gm-encre);color:#fff;cursor:pointer;
  font-family:var(--ac-display);font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.gm-plier:hover{background:var(--gm-encre-2)}
.gm-plier:hover .gm-lang-fl{background:var(--gm-jaune)}
.gm-lang-fl{display:grid;place-items:center;flex:none;width:1.5rem;height:1.5rem;border-radius:3px;background:var(--gm-chrome);color:var(--gm-encre);
  font-weight:900;font-size:1rem;line-height:1}
@media (max-width:980px){.gm-plier{display:none}}
/* languette « Résultat » : collée au bord droit, sous le bandeau */
.gm-languette{display:none}
@media (min-width:981px){
  .gm-avec-lang .gm-languette{position:sticky;top:calc(var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px))) + 1rem);align-self:start;
    display:flex;flex-direction:column;align-items:center;gap:.625rem;width:calc(2.75rem + var(--gm-gout));margin:0 calc(-1 * var(--gm-gout)) 0 0;
    padding:.875rem 0 1rem;border:3px solid var(--gm-encre);border-right:0;border-radius:3px 0 0 3px;background:var(--gm-encre);color:#fff;
    box-shadow:-4px 4px 0 var(--gm-rub);font-family:var(--ac-display);font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;
    cursor:pointer;padding-right:var(--gm-gout);transform-origin:100% 30%}
  .gm-languette:hover{background:var(--gm-encre-2)}
  .gm-languette:hover .gm-lang-fl{background:var(--gm-jaune)}
  .gm-languette .gm-lang-fl{width:1.75rem;height:1.75rem;font-size:1.1rem}
  .gm-lang-t{writing-mode:vertical-rl;white-space:nowrap}
  .gm-lang-neuf{position:absolute;top:-.75rem;left:-.875rem;padding:.125rem .4375rem;border:2px solid var(--gm-encre);border-radius:999px;
    background:var(--gm-flamme);color:var(--gm-encre);font-family:var(--ac-mono);font-weight:700;font-size:.8rem;letter-spacing:0;line-height:1.3}
}
:root[data-contrast="high"] .gm-languette{box-shadow:-4px 4px 0 #000}

/* colonne gauche : le rail numéroté */
.gm-rail{align-self:start;padding:1rem 0;background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;box-shadow:var(--gm-ombre)}
html:not(.gm-js) .gm-rail:empty{display:none}
.gm-rail .gm-etiquette{padding:0 1rem .6875rem;margin:0 0 1rem;font-size:var(--fs-etiquette)}
/* têtes de chapitre du rail (data-gm-rail-sep) : « bandeau-tampon » — bandeau plein de la couleur du
   groupe, coupé en biais (seul le fond est penché : le titre reste droit), bordure d'encre 3 px, ombre
   décalée sans flou. Chapitre ouvert : le bandeau se penche un peu (−1,5°), ombre flamme, losange, et
   un petit coup de tampon quand il s'allume (rien en mouvement réduit).
   Couleur : --gm-grp-c (par défaut la couleur de rubrique de la page) ; une couleur par groupe avec
   data-gm-rail-couleur="#…" sur la section qui porte data-gm-rail-sep. Le script calcule le fond
   (--gm-grp-fond, assombri s'il le faut) et le texte (--gm-grp-sur : encre ou blanc) pour un contraste
   AA (≥ 4,5:1) ; data-gm-rail-sur="#…" impose le texte. */
.gm-rail-sep{--gm-grp-fond-d:var(--gm-grp-fond,var(--gm-rub-txt));position:relative;isolation:isolate;display:flex;align-items:center;gap:.5rem;
  margin:1.125rem .75rem .5rem .625rem;padding:.4375rem 1.5rem .375rem 1rem;
  font-family:var(--ac-display);font-weight:900;font-size:1.125rem;line-height:1.08;letter-spacing:.03em;text-transform:uppercase;
  color:var(--gm-grp-sur,#fff);overflow-wrap:anywhere}
.gm-rail-sep::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--gm-grp-fond-d);border:3px solid var(--gm-encre);
  box-shadow:3px 3px 0 var(--gm-encre);transform:skewX(-9deg);transform-origin:50% 100%}
.gm-rail-sep.on::before{box-shadow:4px 4px 0 var(--gm-flamme);transform:rotate(-1.5deg) skewX(-9deg);animation:gm-tampon .42s cubic-bezier(.2,1.4,.4,1) both}
.gm-rail-sep.on::after{content:"";position:absolute;right:.625rem;top:50%;width:.625rem;height:.625rem;margin-top:-.3125rem;
  background:var(--gm-flamme);border:2px solid var(--gm-encre);transform:rotate(45deg)}
.gm-rail .gm-etiquette + .gm-rail-liste > .gm-rail-sep:first-child{margin-top:0}
@keyframes gm-tampon{0%{transform:rotate(-7deg) skewX(-9deg) scale(1.1);opacity:.55}55%{transform:rotate(.5deg) skewX(-9deg) scale(.97);opacity:1}
  100%{transform:rotate(-1.5deg) skewX(-9deg) scale(1)}}
@keyframes gm-tampon-bande{0%{transform:skewX(-9deg) scale(1.12);opacity:.55}55%{transform:skewX(-9deg) scale(.96);opacity:1}100%{transform:skewX(-9deg) scale(1)}}
@media (prefers-reduced-motion:reduce){html .gm-rail .gm-rail-sep.on::before{animation:none}}
:root[data-contrast="high"] .gm-rail-sep,:root[data-contrast="high"] .gm-rail ol{--gm-grp-fond:#000!important;--gm-grp-sur:#fff!important}
.gm-rail ol{list-style:none;margin:0;padding:0}
.gm-rail li{margin:0;padding:0}
.gm-rail li a{display:grid;grid-template-columns:28px 1fr;gap:.6875rem;padding:.625rem 1rem;font-size:.99rem;line-height:1.35;
  color:var(--gm-encre-2);text-decoration:none}
.gm-rail li a:hover{background:var(--gm-papier)}
.gm-rail li em{display:block;font-style:normal;font-size:.9rem;color:var(--gm-encre-3)}
.gm-rail .n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--gm-encre-3);background:var(--gm-carte);
  font-family:var(--ac-mono);font-weight:800;font-size:.8775rem;line-height:1;color:var(--gm-encre-2)}
/* fiches des autres onglets : encre normale, pastille au trait plein fin (elles ne sont pas désactivées) */
.gm-rail li.on a{color:var(--gm-encre);font-weight:700}
.gm-rail li.on .n{background:var(--gm-grp-fond,var(--gm-rub-txt));border:1.5px solid var(--gm-encre);color:var(--gm-grp-sur,#fff);box-shadow:2px 2px 0 var(--gm-encre)}
/* fiche courante : fond doux et trait de couleur à gauche */
.gm-rail li.ici a{background:var(--gm-rub-doux);box-shadow:inset 5px 0 0 var(--gm-grp-fond,var(--gm-rub-txt))}

/* colonne droite : panneau collant + « Comment m'en servir » */
.gm-panneau{background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;box-shadow:var(--gm-ombre);overflow:hidden}
.gm-panneau::before{content:"";display:block;height:14px;border-bottom:3px solid var(--gm-encre);background-color:var(--gm-rub);
  background-image:radial-gradient(circle,rgba(27,43,56,.28) 1.3px,transparent 1.8px);background-size:8px 8px}
.gm-panneau-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6875rem .875rem;background:var(--gm-papier);border-bottom:2px solid var(--gm-encre)}
.gm-panneau-bar .gm-etiquette{flex:1;min-width:7.5rem;margin:0;font-size:var(--fs-etiquette)}
.gm-panneau-corps{padding:.875rem;max-height:calc(100vh - var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px))) - 130px);overflow:auto;font-size:.99rem;line-height:1.55}
.gm-vide{padding:1.625rem .875rem;text-align:center;font-size:1.0125rem;color:var(--gm-encre-3)}
.gm-aide{margin-top:1rem;padding:.9375rem 1.0625rem;background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;box-shadow:var(--gm-ombre);
  font-size:.9675rem;line-height:1.55;color:var(--gm-encre-2)}
.gm-aide .gm-etiquette{margin-bottom:.5rem;font-size:var(--fs-etiquette)}
.gm-aide p{margin:0 0 .5rem;font-size:1.0575rem}
.gm-aide p:last-child{margin-bottom:0}
.gm-surligne{background:var(--gm-ambre-doux);border-bottom:1.5px solid var(--gm-ambre);padding:0 3px;border-radius:2px}
/* bloc de résultat dans le panneau (compteur + palier, animés par points.js) */
.gm-score{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;margin:0 0 .75rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-papier)}
.gm-score-v{flex:none;display:flex;align-items:baseline;justify-content:center;gap:3px;min-width:3.5rem;font-family:var(--ac-display);font-weight:900;font-size:2.375rem;line-height:1;font-variant-numeric:tabular-nums;text-align:center}
.gm-score-n{font:inherit}
.gm-score-sur{font-family:var(--ac-mono);font-weight:600;font-size:.75rem;color:var(--gm-encre-3)}
.gm-score-t{flex:1;min-width:0}
.gm-score-t b{display:block;font-family:var(--ac-display);font-weight:800;font-size:1.215rem;line-height:1.1;text-transform:uppercase}
.gm-score-t span{display:block;font-size:.9rem;color:var(--gm-encre-2);line-height:1.4}
.gm-score.ac-palier-bas{background:#D8EFE2;border-color:var(--ac-bas,#2F6B4F)}
.gm-score.ac-palier-moyen{background:#FBE3BE;border-color:var(--ac-moyen,#D08A35)}
.gm-score.ac-palier-haut{background:#F6D3C8;border-color:var(--ac-haut,#B5462C)}

/* ==========================================================================
   3. Sections, titres, texte
   ========================================================================== */
.gm-etiquette{font-family:var(--ac-mono);font-weight:600;font-size:var(--fs-etiquette);letter-spacing:.12em;text-transform:uppercase;color:var(--gm-rub-txt)}
.gm-sec{margin:0 0 1.375rem;padding:1.625rem 1.875rem 1.75rem;background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;
  box-shadow:var(--gm-ombre);scroll-margin-top:calc(var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px))) + 18px)}
.gm-sec.gm-nu{padding:0;background:none;border:0;box-shadow:none}
.gm-sec-tete{display:flex;align-items:baseline;flex-wrap:wrap;gap:.75rem;margin:0 0 .25rem}
.gm-num{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--gm-rub-doux);font-family:var(--ac-mono);font-weight:600;
  font-size:var(--fs-etiquette);letter-spacing:.12em;text-transform:uppercase;color:var(--gm-rub-txt);white-space:normal;max-width:100%}
:where(.gm) h2{margin:6px 0 7px;font-family:var(--ac-display);font-weight:900;font-size:var(--fs-h2);line-height:1;letter-spacing:0;text-transform:uppercase;color:var(--gm-encre)}
.gm-sec-tete h2{margin:0}
/* Tête de section : la pastille « 01 · Repérer » couvre exactement la zone des capitales de la
   1re ligne du titre (haut des lettres → ligne de base), au lieu de s'aligner sur la ligne de base
   de son petit texte (elle tombait ~9 px trop bas). 0.8 = hauteur de capitale de Big Shoulders. */
.gm-sec-tete{align-items:flex-start}
.gm-sec-tete > h2{text-box:trim-start cap alphabetic}
.gm-sec-tete > .gm-num{display:inline-flex;align-items:center;min-height:calc(var(--fs-h2) * .8);padding-block:2px;line-height:1.2}
@supports not (text-box:trim-start cap alphabetic){.gm-sec-tete > .gm-num{margin-top:calc(var(--fs-h2) * .082)}}
:where(.gm) h3{margin:1.875rem 0 .625rem;padding-top:1.25rem;border-top:1.5px solid var(--gm-filet);font-family:var(--ac-display);font-weight:800;
  font-size:var(--fs-h3);line-height:1.1;text-transform:uppercase;color:var(--gm-encre)}
:where(.gm) h3:first-child,.gm .gm-h3-nu{margin-top:.5rem;padding-top:0;border-top:0}
:where(.gm) h4{margin:1rem 0 .375rem;font-family:var(--ac-body);font-weight:700;font-size:var(--fs-corps);text-transform:none;color:var(--gm-encre)}
.gm-sous-titre{margin:0 0 .875rem;font-size:var(--fs-corps);color:var(--gm-encre-2);max-width:78ch}
/* texte court qui tiendrait sur une ligne : la limite de lecture est levée par gabarit-mdph.js */
.gm-1l{max-width:none!important}
:where(.gm) p{margin:0 0 .6875rem;font-size:var(--fs-corps);line-height:1.62;color:var(--gm-encre-2)}
.gm-sec p,.gm-sec li{max-width:78ch}
:where(.gm) :is(p,li) :is(b,strong){color:var(--gm-encre)}
:where(.gm-sec) ul:where(:not(.gm-nu)){list-style:none;margin:.625rem 0;padding:0}
:where(.gm-sec) ul:where(:not(.gm-nu))>li{position:relative;padding:.375rem 0 .375rem 1.1875rem;font-size:var(--fs-corps);line-height:1.6;color:var(--gm-encre-2)}
:where(.gm-sec) ul:where(:not(.gm-nu))>li::before{content:"";position:absolute;left:0;top:.95rem;width:6px;height:6px;border-radius:50%;background:var(--gm-rub)}
:where(.gm) small{font-size:var(--fs-petit)}
.gm-mono{font-family:var(--ac-mono);font-variant-numeric:tabular-nums}
.gm-petit{font-size:var(--fs-petit);color:var(--gm-encre-3)}

/* ==========================================================================
   4. Encadrés, rangées de boutons, boutons, champs
   ========================================================================== */
.gm-callout{position:relative;margin:1rem 0;padding:.9375rem 1.125rem .9375rem 1.1875rem;max-width:82ch;background:var(--gm-carte);
  border:2.5px solid var(--gm-encre);border-left:8px solid var(--gm-ambre);border-radius:3px;font-size:1.06875rem;line-height:1.62;color:var(--gm-encre-2)}
.gm-callout::before{content:attr(data-etq);display:block;margin-bottom:.4375rem;font-family:var(--ac-mono);font-weight:600;font-size:.7875rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gm-ambre-txt)}
.gm-callout:not([data-etq])::before{display:none}
.gm-callout p{font-size:inherit;margin:0 0 .5rem}
.gm-callout p:last-child{margin-bottom:0}
.gm-callout b,.gm-callout strong{color:var(--gm-encre)}
.gm-callout.cool{border-left-color:var(--gm-rub)}
.gm-callout.cool::before{color:var(--gm-rub-txt)}
.gm-callout.key{border-left-color:var(--gm-vert)}
.gm-callout.key::before{color:var(--gm-vert-txt)}
.gm-callout.warn{background:var(--gm-rose);border-left-color:var(--gm-rouge);color:var(--gm-encre)}
.gm-callout.warn::before{color:var(--gm-rouge-txt)}
.gm-callout+.gm-callout{margin-top:.5625rem}
/* « Rien n'est envoyé sur internet… » */
.gm-prive{margin:0 0 .875rem;padding:.8125rem 1rem;background:var(--gm-vert-doux);border:2px solid var(--gm-vert);border-left-width:6px;border-radius:3px;
  font-size:.9225rem;line-height:1.6;color:var(--gm-encre)}
.gm-prive p{margin:0;font-size:inherit;color:inherit}

/* boîte d'outil (questionnaire, sélecteur) */
.gm-outil{margin-top:.875rem;padding:1.125rem;background:var(--gm-carte);border:3px solid var(--gm-encre);border-radius:3px;box-shadow:var(--gm-ombre)}
.gm-champ{margin-bottom:1rem}
.gm-libelle{display:block;margin:0 0 .5625rem;font-family:var(--ac-mono);font-weight:600;font-size:var(--fs-etiquette);letter-spacing:.12em;
  text-transform:uppercase;color:var(--gm-encre-2)}
.gm-aideligne{display:block;margin:-.25rem 0 .5625rem;font-size:.9rem;color:var(--gm-encre-3)}
.gm-chipset{display:flex;flex-wrap:wrap;gap:7px}
.gm-chip{padding:.5625rem 1rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-carte);color:var(--gm-encre-2);
  font-family:var(--ac-body);font-weight:700;font-size:.95625rem;line-height:1.6;cursor:pointer;text-align:left;transition:box-shadow .12s}
.gm-chip:hover{color:var(--gm-encre);box-shadow:3px 3px 0 var(--gm-encre)}
.gm-chip.on,.gm-chip[aria-pressed="true"]{background:var(--gm-encre);color:#FFFDF7;box-shadow:3px 3px 0 var(--gm-flamme)}
.gm-intertitre{display:flex;align-items:center;gap:.75rem;margin:1.375rem 0 .875rem}
.gm-intertitre::before,.gm-intertitre::after{content:"";flex:1;height:1px;background:var(--gm-encre)}
.gm-intertitre span{font-family:var(--ac-mono);font-weight:600;font-size:var(--fs-etiquette);letter-spacing:.12em;text-transform:uppercase;color:var(--gm-ambre-txt);white-space:nowrap}

.gm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.6875rem 1.25rem;border:0;border-radius:3px;
  background:var(--gm-encre);color:#fff;box-shadow:3px 3px 0 var(--gm-flamme);font-family:var(--ac-display);font-weight:800;font-size:.945rem;
  line-height:1.1;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.gm-btn:hover{color:var(--gm-jaune)}
.gm-btn.gm-ghost{background:var(--gm-carte);color:var(--gm-encre);border:2px solid var(--gm-encre);box-shadow:3px 3px 0 var(--gm-encre)}
.gm-btn.gm-ghost:hover{background:#FFE9D6;color:var(--gm-encre)}
.gm-btn.gm-mini{padding:.5rem .9375rem;font-size:.9675rem}
.gm-btn:disabled{opacity:.45;cursor:not-allowed}
.gm-boutons{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:.875rem}

/* tableaux */
.gm-tableau{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.75rem 0 .375rem}
.gm-tableau table{width:100%;border-collapse:separate;border-spacing:0;border:1.5px solid var(--gm-filet);border-radius:3px}
.gm-tableau th{padding:.6875rem .875rem;background:var(--gm-papier);border-bottom:1.5px solid var(--gm-filet);text-align:left;font-family:var(--ac-mono);
  font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gm-encre-2)}
.gm-tableau td{padding:.6875rem .875rem;border-bottom:1px solid var(--gm-filet);vertical-align:top;font-size:1.04625rem;line-height:1.55;color:var(--gm-encre-2)}
.gm-tableau tbody tr:last-child td{border-bottom:0}
.gm-tableau tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--gm-papier) 55%,transparent)}

/* ==========================================================================
   5. Écrans moyens et téléphone
   ========================================================================== */
/* Menu de gauche (rail) selon la largeur (correctif 29/09/2026 : il « disparaissait » après un clic sous 1 240 px,
   parce qu'il passait en bande non collante tout en haut de la page) :
   - téléphone (≤ 980 px) : bande horizontale en haut de page, comme avant ;
   - 981–1 240 px, onglet AVEC panneau (outil) : bande horizontale COLLÉE sous le bandeau (place manquante pour 3 colonnes) ;
   - 981–1 240 px, onglet de lecture (.gm-large) : colonne collante à gauche, comme sur grand écran. */
@media (max-width:980px){
  .gm-rail{grid-column:1/-1;order:-1;position:static}
  .gm-rail-liste{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
  .gm-rail-liste::-webkit-scrollbar{display:none}
  .gm-rail ol{display:contents}
  .gm-rail li{flex:none}
  .gm-rail li a{grid-template-columns:auto 1fr;white-space:nowrap}
  .gm-rail li em{display:none}
  /* têtes de chapitre dans la bande : même bandeau-tampon, en compact */
  .gm-rail .gm-etiquette{margin-bottom:.25rem}
  .gm-rail-liste{padding:.25rem .5rem .5rem;align-items:center}
  .gm-rail-sep{flex:none;margin:0 .25rem 0 .5rem;padding:.3125rem .9rem .25rem;font-size:.98rem;white-space:nowrap;overflow-wrap:normal}
  .gm-rail-liste > .gm-rail-sep:first-child{margin-left:.25rem}
  .gm-rail-sep.on{padding-right:1.6rem}
  .gm-rail-sep.on::after{right:.5rem;width:.5rem;height:.5rem;margin-top:-.25rem}
  /* bande horizontale : le bandeau ouvert ne se penche pas (trop large), il « tamponne » sur place */
  .gm-rail-sep.on::before{transform:skewX(-9deg);animation-name:gm-tampon-bande}
  .gm-collant{position:static}
}
@media (min-width:981px) and (max-width:1240px){
  .gm-page:not(.gm-large) .gm-cols{grid-template-columns:minmax(0,1fr) 22.5rem}
  .gm-page:not(.gm-large) .gm-rail{grid-column:1/-1;order:-1;position:static}
  .gm-page:not(.gm-large) .gm-rail-liste{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
  .gm-page:not(.gm-large) .gm-rail-liste::-webkit-scrollbar{display:none}
  .gm-page:not(.gm-large) .gm-rail ol{display:contents}
  .gm-page:not(.gm-large) .gm-rail li{flex:none}
  .gm-page:not(.gm-large) .gm-rail li a{grid-template-columns:auto 1fr;white-space:nowrap}
  .gm-page:not(.gm-large) .gm-rail li em{display:none}
  /* têtes de chapitre dans la bande : même bandeau-tampon, en compact */
  .gm-page:not(.gm-large) .gm-rail .gm-etiquette{margin-bottom:.25rem}
  .gm-page:not(.gm-large) .gm-rail-liste{padding:.25rem .5rem .5rem;align-items:center}
  .gm-page:not(.gm-large) .gm-rail-sep{flex:none;margin:0 .25rem 0 .5rem;padding:.3125rem .9rem .25rem;font-size:.98rem;white-space:nowrap;overflow-wrap:normal}
  .gm-page:not(.gm-large) .gm-rail-liste > .gm-rail-sep:first-child{margin-left:.25rem}
  .gm-page:not(.gm-large) .gm-rail-sep.on{padding-right:1.6rem}
  .gm-page:not(.gm-large) .gm-rail-sep.on::after{right:.5rem;width:.5rem;height:.5rem;margin-top:-.25rem}
  /* bande horizontale : le bandeau ouvert ne se penche pas (trop large), il « tamponne » sur place */
  .gm-page:not(.gm-large) .gm-rail-sep.on::before{transform:skewX(-9deg);animation-name:gm-tampon-bande}
  .gm-page:not(.gm-large) .gm-collant{position:static}
  .gm-page:not(.gm-large) .gm-rail.gm-collant{position:sticky;top:var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px)));z-index:5;padding:.375rem 0}
  .gm-page:not(.gm-large) .gm-rail .gm-etiquette{display:none}
  .gm-large .gm-rail.gm-collant{max-height:calc(100vh - var(--gm-haut,calc(var(--ac-h,0px) + var(--gm-barh,112px))) - 2rem);overflow-y:auto;overscroll-behavior:contain;
    scrollbar-width:thin;scrollbar-color:var(--gm-filet) transparent}
}
@media (max-width:1100px){
  .gm-rech{order:3;flex-basis:100%;max-width:none;margin-top:4px}
  .gm-act{order:2}
}
@media (max-width:980px){
  .gm-cols{display:block}
  .gm-rail{margin-bottom:1.375rem}
  .gm-droite{margin-top:1.375rem}
  .gm-panneau-corps{max-height:none}
}
@media (max-width:900px){
  .gm-sec{padding:1.25rem 1.125rem 1.375rem}
}
@media (max-width:760px){
  .gm-bandeau{top:calc(var(--ac-h,0px) - var(--gm-titreh,0px))}
  .gm-navs{margin:0 calc(-1 * var(--gm-gout));padding:0 var(--gm-gout)}
  .gm-ligne{padding:.5625rem 0 .6875rem}
  .gm-hero{padding:.25rem 0}
  .gm-hero-in{padding:1.25rem 1.125rem .75rem}
  .gm-rail li a{padding:.5625rem .75rem}
}
@media (max-width:640px){
  .gm-marque{font-size:1.4625rem}
  .gm-act{flex-wrap:wrap;row-gap:.625rem}
  .gm-reglages{flex-wrap:wrap;row-gap:.5rem}
  .gm-intertitre span{white-space:normal;text-align:center}
}
/* Téléphone : cadres imbriqués. Une section (cadre) qui contient un outil (cadre) qui contient un résultat (cadre) mangeait
   plus de 120 px sur 390 : le texte restait dans une colonne de 220 px (noms de médicaments sur leurs doses, lignes coupées).
   Règles : marges des sections réduites ; l'outil (.gm-outil) n'a plus de cadre propre dans sa section ; tout cadre posé à
   l'intérieur d'une section reçoit .gm-imb (posé par gabarit-mdph.js) : trait de 2 px, marge intérieure de 10 px. */
@media (max-width:600px){
  .gm-sec{padding-left:.875rem;padding-right:.875rem}
  .gm-sec .gm-outil{border:0;box-shadow:none;background:none;padding-left:0;padding-right:0}
  .gm-imb{border-width:2px!important;padding-left:.625rem!important;padding-right:.625rem!important;box-shadow:2px 2px 0 var(--gm-encre)!important}
  .gm-sec :where(td,th){padding-left:.375rem;padding-right:.375rem}
}
@media (max-width:620px){
  .gm-act{width:100%;margin-left:0;justify-content:space-between}
  .gm-marque span:not(.gm-marque-ic){display:none}
}
@media (pointer:coarse){
  .gm-reg button,.gm-rech,.gm-rech input{min-height:44px}
  .gm-rech{height:auto;padding-top:2px;padding-bottom:2px}
  .gm-sous button{min-height:42px}
  .gm-chip,.gm-btn{min-height:44px}
}
/* mode expert : ce qui est didactique disparaît */
body.gm-expert .gm-didact{display:none!important}
/* « tout sur une page » et sans JavaScript : toutes les sections se suivent */
@media (prefers-reduced-motion:reduce){.gm *{transition:none!important}.gm-trouve{animation:none;outline:3px solid var(--gm-ambre)}}

/* ==========================================================================
   5 bis. Tableaux en cartes sur téléphone (table.gm-tab-cartes, mode d'emploi en tête du fichier).
   Uniquement à 640 px et moins : les pages qui n'ont pas la classe ne changent pas.
   ========================================================================== */
@media (max-width:640px){
  table.gm-tab-cartes{display:block;width:100%;border:0;border-collapse:separate}
  table.gm-tab-cartes thead{display:none}
  table.gm-tab-cartes tbody{display:grid;gap:.75rem}
  table.gm-tab-cartes tr{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.15rem .5rem;
    padding:0 .65rem .6rem;background:var(--gm-carte);border:2px solid var(--gm-encre);border-radius:.4rem;
    box-shadow:3px 3px 0 var(--gm-encre);overflow:hidden}
  table.gm-tab-cartes tr > :is(td,th){display:block;flex:1 1 calc(50% - .5rem);min-width:0;margin:0;padding:.3rem 0 .1rem;
    border:0;background:none;text-align:left;font-size:.95rem;line-height:1.35;font-weight:700;color:var(--gm-encre);overflow-wrap:anywhere}
  table.gm-tab-cartes tr > :is(td,th)[data-l]::before{content:attr(data-l);display:block;margin-bottom:.05rem;font-family:var(--ac-mono);
    font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gm-encre-3)}
  table.gm-tab-cartes tr > :is(td,th):empty{display:none}
  /* en-tête de la carte */
  table.gm-tab-cartes tr > .gm-tc-tete,
  table.gm-tab-cartes tr:not(:has(> .gm-tc-tete)) > :first-child{order:-2;flex:0 0 calc(100% + 1.3rem);margin:0 -.65rem .3rem;
    padding:.5rem 4.5rem .5rem .65rem;background:var(--gm-rub-txt);color:#fff;font-size:1.1rem;font-weight:800;line-height:1.25}
  table.gm-tab-cartes tr > .gm-tc-tete *,
  table.gm-tab-cartes tr:not(:has(> .gm-tc-tete)) > :first-child *{color:inherit}
  table.gm-tab-cartes tr > .gm-tc-tete[data-l]::before,
  table.gm-tab-cartes tr:not(:has(> .gm-tc-tete)) > :first-child::before{display:none}
  table.gm-tab-cartes tr > .gm-tc-large{flex-basis:100%;font-weight:400;color:var(--gm-encre-2)}
  table.gm-tab-cartes tr > .gm-tc-large b{color:var(--gm-encre)}
  /* étiquette de coin (« Rang 1 ») */
  table.gm-tab-cartes tr > .gm-tc-coin{position:absolute;top:.45rem;right:.5rem;flex:none;padding:.05rem .45rem;
    background:var(--gm-carte);color:var(--gm-encre);border-radius:.3rem;font-size:.85rem;font-weight:800}
  table.gm-tab-cartes tr > .gm-tc-coin[data-l]::before{display:inline;margin:0 .25rem 0 0;font-size:.68rem;color:var(--gm-encre-3)}
  /* pastilles : « ✓ H. pylori », voisines sur une même ligne */
  table.gm-tab-cartes tr > .gm-tc-p{display:inline-flex;flex:0 1 auto;flex-wrap:wrap;align-items:baseline;gap:0 .3rem;margin-top:.25rem;
    padding:.2rem .55rem;border:1.5px solid var(--gm-encre);border-radius:1rem;background:var(--gm-rub-doux);font-size:.88rem}
  table.gm-tab-cartes tr > .gm-tc-p[data-l]::before{order:1;display:inline;margin:0;font-family:var(--ac-body);font-size:.88rem;font-weight:700;
    letter-spacing:0;text-transform:none;color:var(--gm-encre)}
  table.gm-tab-cartes tr > .gm-tc-p .gm-tc-detail{order:2;font-weight:400;font-size:.8rem;color:var(--gm-encre-2)}
  table.gm-tab-cartes tr > .gm-tc-p.gm-tc-non{background:var(--gm-papier-2);border-style:dashed;border-color:var(--gm-encre-3);color:var(--gm-encre-3)}
  table.gm-tab-cartes tr > .gm-tc-p.gm-tc-non[data-l]::before{color:var(--gm-encre-3);font-weight:400}
}

/* ==========================================================================
   6. Impression : tout le contenu ; le bouton « Imprimer » du panneau ne sort
      que sa cible (data-gm-imprime)
   ========================================================================== */
@media print{
  body.gm{background:#fff;font-size:11pt}
  .gm-centre{padding-bottom:0!important}   /* réserve des colonnes collantes (écran seulement) */
  .gm-bandeau,.gm-rail,.gm-panneau-bar,.gm-languette,.gm-aide,.gm-rech-res,.gm-sous,.ac-barre,.gm-noprint{display:none!important}
  .gm-page{max-width:none;padding:0}
  .gm-cols{display:block}
  .gm-sec,.gm-hero,.gm-panneau,.gm-outil{box-shadow:none;border-width:1px}
  .gm-sec[hidden],.gm-hero[hidden]{display:block!important}
  .gm-panneau::before{display:none}
  .gm-panneau-corps{max-height:none;overflow:visible}
  body.gm-imprime-cible *{visibility:hidden}
  body.gm-imprime-cible .gm-a-imprimer,body.gm-imprime-cible .gm-a-imprimer *{visibility:visible}
  body.gm-imprime-cible .gm-a-imprimer{position:absolute;left:0;top:0;width:100%}
  body.gm-imprime-cible #ac-cadre,body.gm-imprime-cible #ac-pied{display:none!important}
  /* « visibility:hidden » garde la hauteur du reste de la page : pages blanches à la suite (22 pages pour
     imprimer le panneau de la goutte). On retire donc du flux tout ce qui ne contient pas la cible. */
  body.gm-imprime-cible *:not(:has(.gm-a-imprimer)):not(.gm-a-imprimer):not(.gm-a-imprimer *){display:none!important}
  body.gm-imprime-cible .gm-a-imprimer{position:static}
}
