/* ==========================================================================
   Atlas v4 (zone atlas, 26/09) : index, familles, molécules, non documentée.
   Sur les jetons et la feuille commune (base.css). Aucun calque hors du
   verdict « notre formule » ; aucune apparition au défilement ; aucune barre
   de couleur sur un seul côté.
   ========================================================================== */

.atlas-page { padding-bottom: var(--e-8); }
.atlas-page .section--s { padding-block: var(--e-8); }
@media (min-width: 1024px) { .atlas-page .section--s { padding-block: var(--e-10); } }
.atlas-page .section--surface + .section--surface { padding-top: 0; }
.sec-titre { margin-bottom: var(--e-4); max-width: 22em; }
.lecture { max-width: var(--mesure); }
.lecture p + p { margin-top: var(--e-2); }
.lecture p, .deux-col__texte p { font-size: var(--t-achat); line-height: var(--l-texte); }
.lien-bas { margin-top: var(--e-4); }
.atlas-page .fleche { min-height: var(--cible); color: var(--encre); font-size: var(--t-achat); }
.atlas-page .ouverture { margin-bottom: var(--e-4); }

/* ---------- Fil d'Ariane ------------------------------------------------- */
.fil { padding-block: var(--e-2) var(--e-1); font-size: var(--t-16, 1rem); }
.fil ol { display: block; }
.fil li { display: inline; }
.fil li + li::before { content: "/"; color: var(--texte-3); margin-inline: var(--e-1); }
.fil a { color: var(--texte-2); text-decoration: none; min-height: var(--cible); display: inline-flex; align-items: center; }
.fil a:hover { color: var(--encre); text-decoration: underline; text-underline-offset: .25em; }
.fil [aria-current] { color: var(--encre); overflow-wrap: anywhere; }
@media (max-width: 759px) {
  .fil li:not(:last-child):not(:nth-last-child(2)) { display: none; }
  .fil li:nth-last-child(2)::before { content: none; }
}

/* ---------- Étiquette d'issue (D83) -------------------------------------
   Archivo 600, casse normale ; produit = contour encre + monogramme + code ;
   tiers = contour encre ; aucun = aplat gris « vide ». */
.atlas-page .issue, .recherche__liste .issue {
  display: inline-flex; align-items: center; gap: 0; height: auto; min-height: 40px; max-width: 100%;
  padding: 4px 12px; border: 1px solid transparent; border-radius: var(--r-etiquette); background: var(--blanc);
  font-family: var(--f-texte); font-weight: var(--g-titre); font-stretch: var(--c-libelle, 94%);
  font-size: var(--t-16, 1rem); line-height: var(--l-serre); letter-spacing: var(--a-bouton); word-spacing: var(--m-bouton);
  color: var(--encre); white-space: normal; text-wrap: balance; vertical-align: middle; text-transform: none;
}
.atlas-page .issue--compacte, .recherche__liste .issue--compacte { min-height: 32px; font-size: var(--t-petit); }
.atlas-page .issue--produit, .recherche__liste .issue--produit { border-color: var(--encre); padding-left: 7px; }
.atlas-page .issue--compacte.issue--produit, .recherche__liste .issue--produit { padding-left: 3px; }
.atlas-page .issue--produit > .monogramme, .recherche__liste .issue--produit > .monogramme { width: 24px; height: 24px; flex: none; margin-right: 8px; }
.atlas-page .issue__code, .recherche__liste .issue__code { font-weight: var(--g-code, 720); font-stretch: var(--c-code, 68%); white-space: nowrap; }
.atlas-page .issue--tiers, .recherche__liste .issue--tiers { border-color: var(--encre); color: var(--encre); }
.atlas-page .issue--aucun, .recherche__liste .issue--aucun { background: var(--vide); color: var(--texte-2); }
.issue--produit-neutre { border-color: var(--encre) !important; }

/* ---------- Tête de la page molécule ------------------------------------ */
.mol-tete {
  display: grid; gap: var(--e-4); padding-top: var(--e-2);
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "texte" "verdict" "signature" "calque";
}
.mol-tete__signature { grid-area: signature; min-width: 0; }
.mol-tete__texte { grid-area: texte; min-width: 0; }
.mol-tete__verdict { grid-area: verdict; min-width: 0; }
.mol-tete__calque { grid-area: calque; min-width: 0; }
@media (min-width: 1024px) {
  .mol-tete {
    grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); row-gap: var(--e-4);
    grid-template-areas: "texte texte texte texte texte texte . verdict verdict verdict verdict verdict"
                         "signature signature signature signature signature signature . verdict verdict verdict verdict verdict"
                         "calque calque calque calque calque calque . verdict verdict verdict verdict verdict";
    grid-template-rows: auto auto 1fr; row-gap: var(--e-3); align-items: start;
  }
}
.mol-tete__surtitre { color: var(--texte-2); }
.donnees__classe { display: inline-block; }
.donnees__classe::first-letter { text-transform: uppercase; }
.mol-tete__nom { margin-top: var(--e-1); overflow-wrap: anywhere; hyphens: auto; }
@supports (overflow-wrap: anywhere) { .mol-tete__nom { overflow-wrap: break-word; } }
.mol-tete__chapo { margin-top: var(--e-2); max-width: 32em; }
.mol-signature {
  display: flex; flex-wrap: wrap; gap: 0 var(--e-2); align-items: center;
  font-size: var(--t-16, 1rem); color: var(--texte-2);
}
.mol-signature a { color: var(--encre); text-underline-offset: .25em; min-height: var(--cible); display: inline-flex; align-items: center; }
.mol-signature > * + *::before { content: ""; }

/* ---------- Carte de verdict -------------------------------------------- */
.verdict {
  border: 1px solid var(--filet-fort); border-radius: var(--r-carte); background: var(--blanc);
  padding: var(--e-3); display: flex; flex-direction: column; gap: var(--e-2);
}
@media (min-width: 760px) { .verdict { padding: var(--e-4); } }
.verdict--produit { border: 2px solid var(--ref-x); }
.verdict--tiers { border: 1px solid var(--encre); }
.verdict--aucun { border: 1px solid var(--filet-fort); background: var(--blanc); }
.verdict__tete { display: flex; align-items: center; justify-content: space-between; gap: var(--e-2); min-height: 40px; }
.verdict__mono { width: 58px; height: 58px; flex: none; }
.verdict__corps { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: var(--e-2); align-items: center; }
@media (min-width: 760px) { .verdict__corps { grid-template-columns: 148px minmax(0, 1fr); gap: var(--e-3); } }
.verdict__flacon { display: grid; place-items: center; background: var(--surface); border-radius: var(--r-case); aspect-ratio: 1; }
.verdict__flacon img { width: 86%; height: auto; }
.verdict__titre {
  font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-titre-3); line-height: var(--l-titre-3);
  letter-spacing: var(--a-titre-3); word-spacing: var(--m-titre-3); font-stretch: var(--c-titre-s); text-wrap: balance;
}
.verdict__nom { margin-top: var(--e-1); font-size: var(--t-achat); font-weight: var(--g-titre); color: var(--texte-2); }
.verdict__texte { font-size: var(--t-achat); line-height: var(--l-texte); }
.verdict__achat { display: grid; gap: var(--e-2); padding-top: var(--e-2); border-top: 1px solid var(--filet); }
.verdict__boutons { display: flex; flex-wrap: wrap; gap: var(--e-1); }
.verdict__boutons .btn { flex: 1 1 200px; }
.verdict__prise { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.prix-appel__degressif { margin-top: var(--e-demi); font-size: var(--t-16, 1rem); color: var(--texte-2); }
.verdict .prix-appel__montant { font-size: 2rem; }
@media (max-width: 759px) {
  .verdict--produit .verdict__texte { order: 4; }
  .verdict--produit .verdict__achat { order: 3; }
  .verdict--produit .verdict__prise { order: 5; }
  .verdict .prix-appel__montant { font-size: 1.75rem; }
  .verdict { padding: 20px; }
  .verdict__mono { width: 40px; height: 40px; }
  .verdict__corps { grid-template-columns: 88px minmax(0, 1fr); }
  .verdict__nom { margin-top: 4px; }
  .verdict__boutons .btn { flex-basis: 100%; }
}
.verdict__actifs { display: grid; gap: var(--e-1); }
.verdict__actifs li { display: grid; gap: 2px; padding: var(--e-2); background: var(--surface); border-radius: var(--r-case); }
.verdict__actifs b { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); }
.verdict__actifs span { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.verdict__autre { padding-top: var(--e-2); border-top: 1px solid var(--filet); display: grid; gap: var(--e-2); }
.verdict__question { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); }

/* ---------- Calque du verdict (D101) -------------------------------------
   Géométrie du logotype : plans 12k × 9k, décalage 6k × 4k, emprise 18k × 13k.
   Le croisement est découpé dans le plan A : un aplat de la taille d'un plan,
   glissé du même vecteur que le plan B. Aplat plein, jamais de fusion. */
/* Le calque est centré dans son bloc (colonne de gauche en bureau, sous le
   verdict en mobile). Les deux plans bougent ensemble, en sens opposés, par
   transform ; le croisement est découpé dans le plan A (même translation que
   lui) et l'aplat y glisse de l'écart entre les deux plans : il reste
   l'intersection réelle, en aplat plein. Valeurs posées par atlas.js. */
.mol-tete__calque { display: grid; place-items: center; align-self: stretch; padding-block: var(--e-4); }
.calque-mol { margin: 0; width: min(100%, 400px); }
.calque-mol__cadre {
  --ax: 0px; --ay: 0px; --bx: 0px; --by: 0px;
  position: relative; aspect-ratio: 18 / 13; container-type: inline-size; touch-action: pan-y;
}
.calque-mol__a, .calque-mol__b, .calque-mol__x { position: absolute; width: 66.6667%; height: 69.2308%; will-change: transform; }
.calque-mol__a { left: 0; top: 0; background: var(--ref-a); transform: translate(var(--ax), var(--ay)); }
.calque-mol__b { left: 33.3333%; top: 30.7692%; background: var(--ref-b); transform: translate(var(--bx), var(--by)); }
.calque-mol__x { left: 0; top: 0; overflow: hidden; pointer-events: none; z-index: 1; transform: translate(var(--ax), var(--ay)); }
.calque-mol__xa {
  position: absolute; left: 50%; top: 44.4444%; width: 100%; height: 100%; background: var(--ref-x);
  transform: translate(calc(var(--bx) - var(--ax)), calc(var(--by) - var(--ay)));
}
.calque-mol__a { padding: 4.2cqi; display: flex; flex-direction: column; gap: 2px; }
.calque-mol__b { padding: 4.2cqi; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; text-align: right; gap: 2px; }
.calque-mol__lib { font-size: clamp(.8125rem, 3.6cqi, 1rem); color: var(--encre); line-height: 1.25; max-width: 100%; }
.calque-mol__val {
  font-family: var(--f-titre); font-weight: var(--g-titre); font-size: clamp(1rem, 6.4cqi, 1.75rem); line-height: 1.05;
  letter-spacing: var(--a-titre-3); font-stretch: var(--c-display); color: var(--encre); overflow-wrap: anywhere; max-width: 100%;
}
.calque-mol__code { font-weight: var(--g-code, 720); font-stretch: var(--c-code, 68%); font-size: clamp(1.25rem, 9cqi, 2.5rem); }
@media (max-width: 759px) { .calque-mol { width: min(100%, 320px); } .mol-tete__calque { padding-block: var(--e-2); } }

/* ---------- Données ------------------------------------------------------ */
.donnees {
  margin-top: var(--e-6); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--encre);
}
.donnees > div { padding: var(--e-2) var(--e-2) var(--e-2) 0; border-bottom: 1px solid var(--filet); min-width: 0; }
@media (min-width: 1024px) { .donnees { grid-template-columns: 2fr 1fr 1.4fr 1fr; } .donnees > div { border-bottom: 0; } }
.donnees dt { font-family: var(--f-mono); font-weight: var(--g-mono); font-size: var(--t-etiquette); letter-spacing: var(--a-etiquette); text-transform: uppercase; color: var(--texte-2); }
.donnees dd { margin: var(--e-1) 0 0; font-size: var(--t-achat); line-height: var(--l-serre); }
.donnees__nombre { font-family: var(--f-titre); font-weight: var(--g-titre); font-variant-numeric: tabular-nums; }
.donnees__note { color: var(--texte-2); }
.donnees__note::before { content: "("; }
.donnees__note::after { content: ")"; }

/* ---------- Deux colonnes (titre à gauche, texte à droite) --------------- */
.deux-col { display: grid; gap: var(--e-3); }
@media (min-width: 1024px) {
  .deux-col { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); }
  .deux-col__titre { grid-column: 1 / span 4; }
  .deux-col__texte { grid-column: 6 / span 7; }
}

/* ---------- Noms de boîte (commun.marques, D112) ------------------------ */
.marques { margin-top: var(--e-8); display: grid; gap: var(--e-3); padding-top: var(--e-4); border-top: 1px solid var(--filet); }
@media (min-width: 1024px) {
  .marques { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); }
  .marques__tete { grid-column: 1 / span 4; }
  .marques__corps { grid-column: 6 / span 7; }
}
.marques__titre { text-wrap: balance; }
.marques__source { margin-top: var(--e-1); font-size: var(--t-achat); color: var(--texte-2); }
.marques__liste { display: flex; flex-wrap: wrap; gap: var(--e-1); }
.marque {
  max-width: 100%; padding: var(--e-1) var(--e-2); border-radius: var(--r-etiquette); background: var(--surface);
  font-size: var(--t-achat); line-height: 24px; letter-spacing: .02em; overflow-wrap: break-word; cursor: text;
}
.section--surface .marque { background: var(--blanc); }
.marques__suite { margin-top: var(--e-2); }
.marques__bascule {
  display: inline-flex; align-items: center; gap: var(--e-1); min-height: var(--cible); cursor: pointer; list-style: none;
  font-weight: var(--g-titre); font-size: var(--t-achat); color: var(--encre);
}
.marques__bascule::-webkit-details-marker { display: none; }
.marques__bascule::marker { content: ""; }
.marques__bascule > span:not(.marques__signe) { text-decoration: underline; text-decoration-thickness: 1.5px; text-decoration-color: var(--texte-3); text-underline-offset: .3em; }
.marques__bascule:hover > span { text-decoration-color: currentColor; }
.marques__signe { width: 20px; height: 20px; position: relative; flex: none; }
.marques__signe::before, .marques__signe::after { content: ""; position: absolute; left: 3px; right: 3px; top: 9.25px; height: 1.5px; background: currentColor; }
.marques__signe::after { transform: rotate(90deg); }
.marques__suite[open] .marques__signe::after { display: none; }
.marques__masquer { display: none; }
.marques__suite[open] .marques__voir { display: none; }
.marques__suite[open] .marques__masquer { display: inline; }
.marques__liste--index { display: block; margin-top: var(--e-2); font-size: var(--t-achat); line-height: var(--l-texte); }
.marques__liste--index > .marque { display: inline-block; vertical-align: top; padding: 0 0 0 var(--e-3); text-indent: calc(-1 * var(--e-3)); background: none; border-radius: 0; line-height: inherit; }
.marque__sep { color: var(--texte-2); }

/* ---------- Sa place dans l'atlas ---------------------------------------- */
.atlas-place { display: grid; gap: var(--e-5); }
@media (min-width: 1024px) {
  .atlas-place { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .atlas-place__texte { grid-column: 1 / span 5; }
  .atlas-place__figure { grid-column: 7 / span 6; }
}
.atlas-place__texte .t-chapo { margin-top: var(--e-2); }
.cases-issues { margin-top: var(--e-4); display: grid; gap: var(--e-1); }
.case-issue {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px var(--e-2);
  padding: var(--e-2); min-height: 64px; border-radius: var(--r-case); background: var(--blanc); box-shadow: inset 0 0 0 1px var(--filet-fort);
}
.case-issue--active { box-shadow: inset 0 0 0 2px var(--encre); }
.case-issue__lib { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); }
.case-issue__n { font-size: var(--t-16, 1rem); color: var(--texte-2); font-variant-numeric: tabular-nums; text-align: right; }
.case-issue__ici { grid-column: 2 / -1; font-size: var(--t-16, 1rem); color: var(--encre); }

/* ---------- Grille des 664 (commun.grille664.grille, D104) --------------- */
.grille664 {
  --g664-largeur-pas: 35.8; --g664-largeur-pas-repere: 38.2; --g664-pas-min: 7px;
  --g664-pas-max: 14px; container-type: inline-size; margin: 0;
}
.grille664--reduite { --g664-pas-max: 10px; }
.grille664--repere { --g664-pas-max: 14px; }
.grille664__plan { --g664-pas: var(--g664-pas-max); position: relative; background: var(--blanc); border-radius: var(--r-etiquette); padding: var(--e-2); }
@supports (width: round(down, 10px, 1px)) {
  .grille664__plan { --g664-pas: clamp(var(--g664-pas-min), round(down, (100cqi - 2 * var(--e-2)) / var(--g664-largeur-pas), 1px), var(--g664-pas-max)); }
  .grille664--repere .grille664__plan { --g664-pas: clamp(var(--g664-pas-min), round(down, (100cqi - 2 * var(--e-2)) / var(--g664-largeur-pas-repere), 1px), var(--g664-pas-max)); }
}
.grille664--repere .grille664__plan { padding: calc(var(--e-2) + var(--g664-pas) * 0.6); }
.grille664__svg { display: block; width: calc(var(--g664-pas) * var(--g664-largeur-pas)); max-width: 100%; height: auto; overflow: visible; shape-rendering: crispEdges; margin-inline: auto; }
.grille664__c--st01 { fill: var(--st01-x); } .grille664__c--mt01 { fill: var(--mt01-x); } .grille664__c--ip01 { fill: var(--ip01-x); }
.grille664__c--bb01 { fill: var(--bb01-x); } .grille664__c--co01 { fill: var(--co01-x); }
.grille664__c--tiers { fill: var(--encre); } .grille664__c--aucun { fill: var(--vide); }
/* Repère de la page molécule : la case de la molécule agrandie sur un halo
   blanc, un anneau à la couleur de sa formule (encre pour les autres issues) ;
   les autres cases atténuées. Aucune ligne ne traverse la grille. */
.grille664__svg--cible .grille664__c { opacity: .5; }
.grille664__halo { fill: var(--blanc); }
.grille664__anneau { fill: none; stroke: var(--encre); stroke-width: 1.4; }
.grille664__anneau--st01 { stroke: var(--st01-x); } .grille664__anneau--mt01 { stroke: var(--mt01-x); }
.grille664__anneau--ip01 { stroke: var(--ip01-x); } .grille664__anneau--bb01 { stroke: var(--bb01-x); }
.grille664__anneau--co01 { stroke: var(--co01-x); }
.grille664__case--st01 { fill: var(--st01-x); } .grille664__case--mt01 { fill: var(--mt01-x); }
.grille664__case--ip01 { fill: var(--ip01-x); } .grille664__case--bb01 { fill: var(--bb01-x); }
.grille664__case--co01 { fill: var(--co01-x); }
.grille664__case--tiers { fill: var(--blanc); stroke: var(--encre); stroke-width: 1.6; }
.grille664__case--aucun { fill: var(--vide); }
.grille664 .legende b { font-weight: var(--g-titre); color: var(--encre); }
.grille664 .legende { margin-top: var(--e-2); }
.grille664-symbole { display: inline-block; flex: none; width: 12px; height: 12px; background: var(--vide); box-shadow: inset 0 0 0 1px var(--encre); }
.grille664-symbole--st01 { background: var(--st01-x); box-shadow: none; } .grille664-symbole--mt01 { background: var(--mt01-x); box-shadow: none; }
.grille664-symbole--ip01 { background: var(--ip01-x); box-shadow: none; } .grille664-symbole--bb01 { background: var(--bb01-x); box-shadow: none; }
.grille664-symbole--co01 { background: var(--co01-x); box-shadow: none; }
.grille664-symbole--tiers { background: var(--blanc); box-shadow: inset 0 0 0 2px var(--encre); }
.grille664-symboles { display: inline-flex; gap: 3px; }
.legende-issues { margin-top: var(--e-2); display: grid; gap: var(--e-1); }
.legende-issues li { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: var(--e-2); font-size: var(--t-16, 1rem); padding-block: 6px; border-bottom: 1px solid var(--filet); }
.legende-issues b { font-family: var(--f-titre); font-weight: var(--g-titre); font-variant-numeric: tabular-nums; }

/* ---------- Dossier et sources ------------------------------------------ */
.dossier { display: grid; gap: var(--e-6); }
.dossier__bloc { display: grid; gap: var(--e-2); padding-top: var(--e-3); border-top: 1px solid var(--filet); }
@media (min-width: 1024px) {
  .dossier__bloc { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); }
  .dossier__titre { grid-column: 1 / span 4; }
  .dossier__texte { grid-column: 6 / span 7; }
}
.dossier__titre { text-wrap: balance; }
.sources { margin-top: var(--e-6); padding-top: var(--e-2); border-top: 1px solid var(--encre); }
.sources__liste { margin-top: var(--e-2); display: grid; gap: var(--e-1); list-style: decimal; padding-left: 1.4em; }
.sources__liste li { font-size: var(--t-16, 1rem); color: var(--texte-2); padding-left: 4px; }
.sources__liste li::marker { font-family: var(--f-mono); font-size: var(--t-etiquette); color: var(--encre); }
.source-ref { font-family: var(--f-serif); font-style: italic; color: var(--encre); }
.source-ref a { color: inherit; text-underline-offset: .2em; display: inline-flex; align-items: center; min-height: var(--cible); }
.source-meta { margin-left: 4px; }
.methode {
  margin-top: var(--e-6); display: grid; gap: var(--e-1); padding: var(--e-3); border-radius: var(--r-carte);
  background: var(--surface); max-width: 48rem;
}
.section--surface .methode { background: var(--blanc); }
.methode__texte { font-size: var(--t-achat); }

/* ---------- Assiette ------------------------------------------------------ */
.aliments { margin-top: var(--e-4); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-2); }
@media (min-width: 1024px) { .aliments { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.aliment { margin: 0; }
.aliment img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-case); }
.aliment figcaption { margin-top: var(--e-1); font-size: var(--t-16, 1rem); color: var(--texte-2); }
.dossier__texte .aliments { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ---------- Actifs à envisager ------------------------------------------- */
.actifs { margin-top: var(--e-4); display: grid; gap: var(--gouttiere); }
@media (min-width: 1024px) { .actifs--deux { grid-template-columns: 1fr 1fr; } .actifs:not(.actifs--deux) { max-width: 760px; } }
.actif { border: 1px solid var(--encre); border-radius: var(--r-carte); padding: var(--e-3); display: grid; gap: var(--e-2); align-content: start; }
.actif__resume { font-size: var(--t-achat); }
.actif__forme { display: grid; gap: 4px; padding: var(--e-2); background: var(--surface); border-radius: var(--r-case); font-size: var(--t-achat); }
.actif__valider { font-size: var(--t-16, 1rem); color: var(--texte-2); }

/* ---------- Cartes molécule (commun.carte-molecule, D115) ---------------- */
.cartes-mol { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(19.375rem, 100%), 1fr)); gap: var(--gouttiere); }
.cartes-mol__item { display: flex; min-width: 0; }
.cartes-mol__item[hidden] { display: none; }
.carte-mol {
  position: relative; flex: 1; display: flex; flex-direction: column; gap: 4px; min-height: 172px;
  padding: var(--e-3); border-radius: var(--r-carte); background: var(--blanc); box-shadow: inset 0 0 0 1px var(--filet-fort);
  text-decoration: none; color: var(--encre); transition: background-color var(--d-survol) var(--courbe);
}
.section--surface .carte-mol { box-shadow: inset 0 0 0 1px var(--filet); }
.carte-mol__nom { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); line-height: var(--e-3); padding-right: 28px; overflow-wrap: anywhere; text-wrap: pretty; }
.carte-mol__compte { font-size: var(--t-16, 1rem); line-height: var(--e-3); color: var(--texte-2); font-variant-numeric: tabular-nums; min-height: var(--e-3); }
.carte-mol .issue { margin-top: auto; align-self: flex-start; }
.carte-mol .icone-fleche { position: absolute; top: var(--e-3); right: var(--e-3); width: 20px; height: 20px; transition: transform var(--d-survol) var(--courbe); }
@media (hover: hover) {
  .carte-mol:hover { background: var(--surface); }
  .section--surface .carte-mol:hover { background: var(--surface-2); }
  .carte-mol:hover .icone-fleche { transform: translateX(4px); }
}
.carte-mol:active { transform: scale(.985); }

/* ---------- Sortie : un autre traitement --------------------------------- */
.sortie__grille { display: grid; gap: var(--e-6); }
@media (min-width: 1024px) {
  .sortie__grille { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .sortie__grille > div { grid-column: 1 / span 6; }
  .sortie__formules { grid-column: 8 / span 5; }
}
.sortie__chapo { margin: var(--e-2) 0 var(--e-3); }
.sortie__formules .m-etiq { display: block; margin-bottom: var(--e-2); }
.pastilles--debut { justify-content: flex-start; }
.atlas-page .pastille { background: var(--blanc); }
@media (min-width: 760px) { .sortie__formules .pastille { min-width: 0; } }

/* ---------- Recherche dans l'atlas --------------------------------------- */
.recherche-atlas { max-width: 36rem; }
.recherche-aide { margin-top: var(--e-1); padding-left: 18px; font-size: var(--t-16, 1rem); color: var(--texte-2); }
.atlas-page .recherche-mini { height: 56px; }
.atlas-page .recherche-mini .btn { height: 44px; }
@media (max-width: 759px) { .atlas-page .recherche-mini { min-width: 0; width: 100%; } }

/* ---------- Avertissement ------------------------------------------------- */
.conteneur--avertissement { padding-block: var(--e-4); }
.avertissement {
  display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--e-2); align-items: start;
  padding-top: var(--e-3); border-top: 1px solid var(--encre); max-width: 56rem;
}
.avertissement__icone { width: 24px; height: 24px; }
.avertissement p { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.avertissement strong { color: var(--encre); font-weight: var(--g-titre); }

/* ---------- Questions ----------------------------------------------------- */
.atlas-page .faq { row-gap: var(--e-4); }
.note-faq { margin-top: var(--e-4); font-size: var(--t-16, 1rem); color: var(--texte-2); max-width: 48rem; }
.atlas-page .faq__q summary { min-height: var(--cible); align-items: center; }

/* ---------- Contraception d'urgence (lévonorgestrel) --------------------- */
.urgence__carte { border: 1px solid var(--filet-fort); border-radius: var(--r-carte); padding: var(--e-3); display: grid; gap: var(--e-2); max-width: 56rem; }
.urgence__tete { display: flex; flex-wrap: wrap; gap: var(--e-2); align-items: center; justify-content: space-between; }
.urgence__texte { font-size: var(--t-achat); max-width: var(--mesure); }

/* ---------- Index ---------------------------------------------------------- */
.index-tete { display: grid; gap: var(--e-5); padding-top: var(--e-3); }
@media (min-width: 1024px) {
  .index-tete { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .index-tete__texte { grid-column: 1 / span 6; }
  .index-tete__apercu { grid-column: 8 / span 5; }
}
.index-tete__texte h1 { margin-top: var(--e-1); }
.index-tete__texte .t-chapo { margin: var(--e-2) 0 var(--e-4); max-width: 32em; }
.index-tete__chiffres { margin-top: var(--e-3); font-size: var(--t-16, 1rem); color: var(--texte-2); }
.index-tete__chiffres strong { color: var(--encre); font-weight: var(--g-titre); }
.index-tete__apercu .grille664__plan { background: var(--surface); }
.axe-fams { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)); gap: var(--e-1) var(--gouttiere); }
.axe-fam {
  position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: var(--e-1); height: 100%;
  min-height: 104px; padding: var(--e-2) var(--e-3); border-radius: var(--r-case); box-shadow: inset 0 0 0 1px var(--filet-fort);
  text-decoration: none; color: var(--encre); transition: background-color var(--d-survol) var(--courbe);
}
.axe-fam__nom { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); padding-right: 28px; text-wrap: balance; }
.axe-fam__bas { display: flex; align-items: center; justify-content: space-between; gap: var(--e-1); }
.axe-fam__n { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.axe-fam__monos { display: inline-flex; gap: 4px; }
.axe-fam__monos img { width: 24px; height: 24px; }
.axe-fam .icone-fleche { position: absolute; top: var(--e-2); right: var(--e-2); width: 20px; height: 20px; }
@media (hover: hover) { .axe-fam:hover { background: var(--surface); } }
.az-tete { display: grid; gap: var(--e-3); margin-bottom: var(--e-3); }
.az-outils { display: grid; gap: var(--e-2); }
@media (min-width: 1024px) { .az-outils { grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); align-items: end; column-gap: var(--e-4); } }
.filtre-champ { display: grid; gap: var(--e-1); }
.filtre-champ label { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.filtre-champ input { height: 56px; border: 1.5px solid var(--filet-controle); border-radius: var(--r-pilule); padding: 0 20px; font-size: var(--t-achat); background: var(--blanc); width: 100%; }
.axe-issues { display: flex; flex-wrap: wrap; gap: var(--e-1); }
.axe-issue {
  display: inline-flex; align-items: center; gap: var(--e-2); min-height: 56px; padding: 6px 16px 6px 8px;
  border-radius: var(--r-case); background: var(--blanc); box-shadow: inset 0 0 0 1px var(--filet-fort); color: var(--encre); cursor: pointer;
}
.axe-issue[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--encre); }
.axe-issue__n { font-family: var(--f-titre); font-weight: var(--g-titre); font-variant-numeric: tabular-nums; font-size: var(--t-achat); }
.az-compte { font-size: var(--t-16, 1rem); color: var(--texte-2); min-height: 1.5em; }
.az-barre {
  position: sticky; top: 64px; z-index: 5; display: flex; gap: 2px; overflow-x: auto; overscroll-behavior-x: contain;
  padding-block: var(--e-1); margin-bottom: var(--e-3); background: var(--surface); scrollbar-width: none;
}
.az-barre::-webkit-scrollbar { display: none; }
.az-barre a { flex: none; min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--r-etiquette); text-decoration: none; font-family: var(--f-titre); font-weight: var(--g-titre); color: var(--encre); }
.az-barre a:hover { background: var(--blanc); }
.az-groupes { display: grid; gap: var(--e-4); }
.az-groupe { min-width: 0; }
.az-groupe[hidden] { display: none; }
.az-groupe__lettre { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-titre-2); line-height: 1; padding-bottom: var(--e-1); border-bottom: 1px solid var(--encre); }
.az-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(24rem, 100%), 1fr)); column-gap: var(--gouttiere); }
.az-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--e-1) var(--e-2); padding-block: var(--e-1); border-bottom: 1px solid var(--filet); min-height: 64px; }
.az-item[hidden] { display: none; }
.az-item a { display: grid; gap: 2px; text-decoration: none; color: var(--encre); min-height: var(--cible); align-content: center; min-width: 0; }
.az-item__nom { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); overflow-wrap: anywhere; }
.az-item__cls { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.az-item__cls::first-letter { text-transform: uppercase; }
.az-item a:hover .az-item__nom { text-decoration: underline; text-underline-offset: .2em; }
@container az (max-width: 34rem) { .az-item { grid-template-columns: minmax(0, 1fr); } }
.az-groupe { container: az / inline-size; }
.vide { padding: var(--e-3); border-radius: var(--r-carte); background: var(--blanc); display: grid; gap: var(--e-2); max-width: 44rem; margin-bottom: var(--e-3); }
.vide[hidden] { display: none; }
.vide p { font-size: var(--t-achat); }
.cartes-articles { display: grid; gap: var(--gouttiere); }
@media (min-width: 760px) { .cartes-articles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.carte-article {
  display: flex; flex-direction: column; gap: var(--e-1); padding: var(--e-3); border-radius: var(--r-carte);
  box-shadow: inset 0 0 0 1px var(--filet-fort); text-decoration: none; color: var(--encre); min-height: 180px;
}
.carte-article__titre { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-titre-4); line-height: var(--l-titre-4); text-wrap: balance; }
.carte-article__texte { font-size: var(--t-16, 1rem); color: var(--texte-2); }
.carte-article .fleche { margin-top: auto; min-height: 0; }
@media (hover: hover) { .carte-article:hover { background: var(--surface); } }

/* ---------- Famille ------------------------------------------------------- */
.fam-tete { padding-top: var(--e-3); max-width: 50rem; }
.fam-tete h1 { margin-top: var(--e-1); }
.fam-tete__blurb { margin-top: var(--e-2); }
.fam-tete__compteurs { margin-top: var(--e-3); display: flex; flex-wrap: wrap; gap: var(--e-1); }
.fam-tete__compteurs li { padding: 6px 12px; border-radius: var(--r-etiquette); background: var(--surface); font-size: var(--t-16, 1rem); }
.fam-tete__compteurs li:first-child { background: var(--encre); color: var(--blanc); font-weight: var(--g-titre); }
.encarts { display: grid; gap: var(--gouttiere); }
.encart-formule {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--e-2) var(--e-3); align-items: center;
  padding: var(--e-3); border: 2px solid var(--ref-x); border-radius: var(--r-carte);
}
@media (min-width: 1024px) { .encart-formule { grid-template-columns: 148px minmax(0, 1fr) minmax(260px, auto); padding: var(--e-4); } }
.encart-formule__flacon { display: grid; place-items: center; background: var(--surface); border-radius: var(--r-case); aspect-ratio: 1; }
.encart-formule__flacon img { width: 86%; height: auto; }
.encart-formule__code { display: flex; align-items: center; gap: var(--e-1); margin-bottom: var(--e-1); }
.encart-formule__code img { width: 34px; height: 34px; }
.encart-formule__nom { margin-top: 4px; font-weight: var(--g-titre); color: var(--texte-2); }
.encart-formule__pour { margin-top: var(--e-1); font-size: var(--t-16, 1rem); }
.encart-formule__pour .m-etiq { margin-right: 6px; }
.encart-formule__achat { display: grid; gap: var(--e-2); }
@media (max-width: 1023px) { .encart-formule__achat { grid-column: 1 / -1; } }
.fam-barre { display: grid; gap: var(--e-3); margin-bottom: var(--e-4); }
.fam-filtres { display: flex; flex-wrap: wrap; gap: var(--e-1); }
.fam-chip {
  display: inline-flex; align-items: center; gap: var(--e-1); min-height: 48px; padding: 0 16px;
  border-radius: var(--r-pilule); box-shadow: inset 0 0 0 1px var(--filet-fort); background: var(--blanc);
  font-weight: var(--g-titre); font-size: var(--t-16, 1rem); color: var(--encre);
}
.fam-chip b { font-variant-numeric: tabular-nums; color: var(--texte-2); font-weight: var(--g-titre); }
.fam-chip[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--encre); }
.fam-chip:disabled { color: var(--texte-3); cursor: not-allowed; box-shadow: inset 0 0 0 1px var(--filet); }

/* ---------- Non documentée ------------------------------------------------ */
.nd { padding-top: var(--e-4); max-width: 50rem; display: grid; gap: var(--e-2); }
.nd__titre { margin-top: var(--e-1); }
.nd__sous { margin-top: var(--e-3); }
.nd__pistes { margin-top: var(--e-4); display: grid; gap: var(--e-2); }

/* ---------- Mobile --------------------------------------------------------- */
@media (max-width: 759px) {
  .atlas-page .ouverture { margin-bottom: var(--e-3); }
  .mol-tete__nom { font-size: clamp(2rem, 9vw, 2.5rem); }
  .donnees { margin-top: var(--e-4); }
  .marques { margin-top: var(--e-5); }
  .encart-formule { grid-template-columns: 80px minmax(0, 1fr); }
  .axe-issue { width: 100%; justify-content: space-between; }
  .case-issue { grid-template-columns: auto minmax(0, 1fr); }
  .case-issue__n { grid-column: 2; text-align: left; }
  .legende-issues li { grid-template-columns: 76px minmax(0, 1fr) auto; }
}

/* FAQ de la molécule : tête sur 4 colonnes, questions sur une colonne de 7. */
@media (min-width: 1024px) {
  .atlas-page .faq__tete { grid-column: 1 / span 4; }
  .atlas-page .faq__liste { grid-column: 6 / span 7; display: block; }
}
.atlas-page .faq__liste { display: block; border-top: 1px solid var(--filet); }
.atlas-page .faq__liste .faq__q:nth-child(-n+2) { border-top: 0; }

/* Rythme : deux sections blanches qui se suivent ne doublent pas leur marge. */
.atlas-page .section--s:not(.section--surface) + .section--s:not(.section--surface) { padding-top: 0; }
.index-tete__apercu .grille664__plan { background: var(--blanc); box-shadow: inset 0 0 0 1px var(--filet); }
.az-tete { gap: var(--e-2); margin-bottom: var(--e-2); }
.az-compte:empty, .az-compte:has([data-sortie]:empty) { min-height: 0; }
.preuve-ligne strong { color: var(--encre); font-weight: var(--g-titre); }
@media (max-width: 759px) {
  .axe-fams { grid-template-columns: 1fr 1fr; gap: var(--e-1); }
  .axe-fam { padding: var(--e-2); min-height: 112px; }
  .axe-fam__nom { padding-right: 0; font-size: 1rem; hyphens: auto; }
  .axe-fam .icone-fleche { display: none; }
  .axe-fam__bas { flex-wrap: wrap; }
}
@media (max-width: 1023px) { .donnees > div:nth-child(3) { grid-column: 1 / -1; } }
.az-item .issue { justify-self: start; }

/* ==========================================================================
   Lecture (retour utilisateur 01/10) : plus de « titre à gauche, texte à
   droite ». Une colonne de lecture centrée (≈ 70 signes à 18 px), le titre
   au-dessus du texte ; le dossier a un sommaire d'ancres, collant à gauche en
   bureau ; respirations utiles (À retenir, aliments en grille, sources).
   ========================================================================== */
.atlas-page { --lecture: 42rem; }
.deux-col, .marques, .atlas-page .faq, .sources, .methode, .lire-aussi, .note-faq, .actifs:not(.actifs--deux),
.atlas-page .aliments { max-width: var(--lecture); margin-inline: auto; }
.deux-col { display: block; }
.deux-col__titre { margin-bottom: var(--e-3); }
.deux-col__texte { max-width: none; }
.marques { display: block; }
.marques__corps { margin-top: var(--e-3); }
.atlas-page .faq { display: block; }
.atlas-page .faq__liste { margin-top: var(--e-3); }
@media (min-width: 1024px) {
  .deux-col__titre, .deux-col__texte, .marques__tete, .marques__corps,
  .atlas-page .faq__tete, .atlas-page .faq__liste { grid-column: auto; }
}
.actifs--deux { max-width: calc(var(--lecture) * 1.5); margin-inline: auto; }

/* Dossier : sommaire + colonne centrée */
.dossier { display: block; }
.dossier__corps { max-width: var(--lecture); margin-inline: auto; }
.dossier__corps > .sec-titre { margin-bottom: var(--e-5); }
.dossier__bloc { display: block; padding-top: 0; border-top: 0; margin-top: var(--e-6); scroll-margin-top: 96px; }
.dossier__corps > .dossier__bloc:first-of-type { margin-top: 0; }
.dossier__titre { margin-bottom: var(--e-2); }
.dossier__texte p { font-size: var(--t-achat); line-height: var(--l-texte); }
.dossier__texte p + p { margin-top: var(--e-2); }
.dossier__texte .aliments { margin-top: var(--e-3); }
@media (min-width: 1024px) {
  .dossier { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, var(--lecture)) minmax(0, 1fr); column-gap: var(--gouttiere); align-items: start; }
  .dossier__corps { grid-column: 2; margin: 0; }
  .sommaire { grid-column: 1; grid-row: 1; position: sticky; top: 96px; max-width: 17rem; }
}
.sommaire { margin-bottom: var(--e-4); padding-top: var(--e-2); border-top: 1px solid var(--encre); }
.sommaire ol { margin-top: var(--e-1); display: grid; counter-reset: som; }
.sommaire li { counter-increment: som; }
.sommaire a {
  display: grid; grid-template-columns: 2.2em minmax(0, 1fr); align-items: baseline; min-height: var(--cible); padding-block: 6px;
  color: var(--texte-2); text-decoration: none; font-size: var(--t-16, 1rem); line-height: 1.35; border-bottom: 1px solid var(--filet);
}
.sommaire a::before { content: counter(som, decimal-leading-zero); font-family: var(--f-mono); font-size: var(--t-etiquette); color: var(--encre); }
.sommaire a:hover { color: var(--encre); }
@media (max-width: 1023px) { .sommaire { max-width: var(--lecture); margin-inline: auto; } }

/* À retenir */
.a-retenir { margin-top: var(--e-5); padding: var(--e-3); border-radius: var(--r-carte); background: var(--surface); display: grid; gap: var(--e-1); }
.a-retenir p:not(.m-etiq) { font-size: var(--t-achat); line-height: var(--l-texte); }
.a-retenir ul { display: grid; gap: var(--e-1); }
/* Encart « Dans le journal » : les articles du traitement, au fil du dossier,
   au format des cartes du journal (photo, rubrique, durée, titre) */
.lire-aussi { margin-top: var(--e-6); padding-top: var(--e-3); border-top: 1px solid var(--filet-fort); }
.lire-aussi__liste { display: grid; margin-top: var(--e-2); }
.lire-aussi__liste li + li { border-top: 1px solid var(--filet); }
.lire-aussi__lien { display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: 24px; align-items: center;
  padding-block: var(--e-2); text-decoration: none; color: inherit; }
.lire-aussi__img { display: block; aspect-ratio: 4 / 3; border-radius: var(--r-carte); overflow: hidden; background: var(--surface); }
.lire-aussi__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lire-aussi__txt { display: grid; gap: 8px; align-content: center; }
.lire-aussi__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lire-aussi__duree { font-size: .875rem; color: var(--texte-2); }
.lire-aussi__titre { font-family: var(--f-titre); font-weight: 600; font-size: 1.1875rem; line-height: 1.25; letter-spacing: -.01em; text-wrap: pretty; }
.lire-aussi__lire { margin-top: 2px; font-size: .9375rem; }
.lire-aussi__lien:hover .lire-aussi__titre { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .15em; }
.lire-aussi__lien:hover .lire-aussi__img img { transform: scale(1.03); }
@media (max-width: 759px) {
  .lire-aussi__lien { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: start; }
  .lire-aussi__titre { font-size: 1.0625rem; }
  .lire-aussi__lire { display: none; }
}
@media (prefers-reduced-motion: reduce) { .lire-aussi__img img { transition: none; } }
.a-retenir li { display: grid; gap: 2px; }
.a-retenir b { font-family: var(--f-titre); font-weight: var(--g-titre); font-size: var(--t-achat); }
.a-retenir li span { color: var(--texte-2); font-size: var(--t-16, 1rem); }

/* Assiette : aliments en grille dans la colonne */
.atlas-page .aliments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .atlas-page > .section .aliments:not(.dossier__texte .aliments) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Noms de boîte de tous les pays (registres, 01/10) ------------ */
.marques__etiq { margin-bottom: var(--e-1); color: var(--texte-2); }
.marques__filtre { margin-top: var(--e-3); max-width: 28rem; }
.marques__vide { margin-top: var(--e-2); }
.pays-noms__liste { display: grid; gap: var(--e-3); margin-top: var(--e-3); }
.pays-noms[hidden] { display: none; }
.pays-noms__tete { display: flex; align-items: baseline; gap: var(--e-1); margin-bottom: var(--e-1); font-size: var(--t-achat); font-weight: 600; }
.pays-noms__code {
  display: inline-grid; place-items: center; min-width: 2.25rem; padding: 2px 6px; border: 1px solid var(--encre);
  font-family: var(--f-mono); font-weight: var(--g-mono); font-size: var(--t-etiquette); letter-spacing: var(--a-etiquette);
}
.pays-noms__n { color: var(--texte-2); font-weight: 400; font-variant-numeric: tabular-nums; }
.marques__liste--pays .marque { font-size: .875rem; line-height: 20px; padding: 4px var(--e-1); }
.marque[hidden] { display: none; }

/* ==========================================================================
   Section « Le médicament » sur toute la largeur (retour utilisateur 01/10) :
   à quoi il sert et les noms de boîte côte à côte, puis la liste par pays en
   colonnes, chaque pays limité à 12 noms d'emblée.
   ========================================================================== */
.medic { display: grid; gap: var(--e-6); }
.medic .deux-col, .medic .marques { max-width: none; margin: 0; }
.medic .marques { padding-top: 0; border-top: 0; }
.medic__liste { margin-top: 0; padding-top: var(--e-3); border-top: 1px solid var(--filet); }
@media (min-width: 1024px) {
  .medic { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gouttiere) * 2); row-gap: var(--e-5); align-items: start; }
  .medic--seul { grid-template-columns: minmax(0, 1fr); max-width: var(--lecture); }
  .medic__liste { grid-column: 1 / -1; }
}
.pays-noms__liste { display: block; columns: 4 15rem; column-gap: var(--gouttiere); margin-top: var(--e-4); }
.pays-noms { break-inside: avoid; padding-bottom: var(--e-4); }
.pays-noms__liste .marques__liste--pays { gap: 6px; }
[data-noms]:not([data-filtre]) .pays-noms:not([data-tout]) .marques__liste--pays > .marque:nth-child(n+13) { display: none; }
.pays-noms__plus {
  margin-top: var(--e-1); min-height: var(--cible); padding: 0; background: none; border: 0; cursor: pointer;
  font: inherit; font-size: .9375rem; color: var(--encre); text-decoration: underline; text-decoration-color: var(--texte-3);
  text-underline-offset: .3em; text-decoration-thickness: 1.5px;
}
.pays-noms__plus:hover { text-decoration-color: currentColor; }
[data-filtre] .pays-noms__plus { display: none; }

/* FAQ des pages molécules : titre au-dessus, questions sur deux colonnes */
@media (min-width: 1024px) {
  .atlas-page .faq { max-width: none; }
  .atlas-page .faq__liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; align-items: start; }
  .atlas-page .faq__liste .faq__q:nth-child(2) { border-top: 0; }
  .atlas-page .note-faq { max-width: none; }
}

/* Articles du journal en bas de l'atlas et des familles : trois colonnes dès 1 024 px
   seulement (mots longs allemands), une colonne en dessous. */
@media (min-width: 760px) and (max-width: 1023px) { .cartes-articles { grid-template-columns: 1fr; } }
.carte-article__titre { overflow-wrap: break-word; hyphens: auto; }
