@font-face{font-family:'Raleway';font-style:normal;font-weight:700;font-display:swap;src:url('/raleway-latin-700.woff2') format('woff2')}
@font-face{font-family:'Centrale Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/centrale-sans-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Centrale Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/centrale-sans-latin-700.woff2') format('woff2')}

/* =========================================================================
   PEAU « repertoire-onglets » (bibliotheque du socle, 17/09/2026)
   Design porte depuis asac-lyon.com (direction 08 « Le Repertoire a Onglets »,
   archetype grille-annuaire, juge 20/20 le 16/09/2026), puis rhabille en FICHIER
   A INTERCALAIRES : onglets de tranche, index alphabetique collant, fiches a
   etiquette cousue. Prefixe : cdr-.
   Aucune ressource distante : piles de polices SYSTEME, aucun @font-face, aucune
   image de fond, aucun script. Navigable sans JavaScript : les onglets et l index
   sont des liens, le menu replie est une case a cocher.

   REGLE NEGATIVE 1 : une teinte de tranche (--cdr-tranche-1..6) ne sert JAMAIS
   de fond de bloc, de fond d etiquette ni de couleur de texte. Elle n existe que
   comme bord gauche de 4 px (intercalaire, onglet, index) ou filet haut d une boite.
   REGLE NEGATIVE 2 : --cdr-fil ne devient jamais un aplat, sauf l onglet plein de la lettre
   d abecedaire (22/09/2026, controle-peau.py). Ailleurs il est un fil : un trait,
   un soulignement, une pastille de 9 px, le filet rouge en tete d une etiquette.
   REGLE NEGATIVE 3 : la mono ne porte que des COTES ET DES CHIFFRES (cotes, dates,
   compteurs). Les libelles sont en petites capitales de la police de texte.
   REGLE NEGATIVE 4 : l italique est reservee aux lignes de reserve (etiquette,
   caracteristiques, casier vide) et a la ligne de pied.
   direction-peau : {"rayons":{"max_px":6},"ombres":{"min":2,"regle":"libres"},"contrastes":[["--cdr-encre","--cdr-fond"],["--cdr-encre","--cdr-surface"]]}
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. JETONS : ce qu un site regle, et rien d autre
   ------------------------------------------------------------------------- */
:root{
  --cdr-arrondi:3px;
  --cdr-arrondi-onglet:6px;
  --cdr-ratio-fiche:4 / 5;
  --cdr-ratio-planche:16 / 9;

  /* --- palette, 8 jetons ------------------------------------------------ */
  --cdr-fond:#F4F1E8;          /* chaux claire : fond general, et lui seul */
  --cdr-surface:#FCFAF3;       /* papier de plaine : fond des entrees, du rail, du pied */
  --cdr-creux:#EDE7D8;         /* argile sechee : aplats secondaires, bande retournee */
  --cdr-encre:#22281E;         /* humus profond : texte courant et titres */
  --cdr-encre-pale:#5D6450;    /* feuille fanee : texte secondaire, cotes, legendes */
  --cdr-liseret:#D8D0BC;       /* fil de toile : tous les filets et reglures */
  --cdr-fil:#4F7A24;           /* chlorophylle : liens, pastilles, numeros de jalon */
  --cdr-fil-cuit:#3A5C1A;      /* feuille mature : survol et focus */

  /* --- roue des tranches : une teinte par rubrique (sol, preparations, exploitation, saison), bord gauche seulement */
  --cdr-tranche-1:#6B4B2A;
  --cdr-tranche-2:#8C6A2F;
  --cdr-tranche-3:#3F6B4E;
  --cdr-tranche-4:#4A5F7A;
  --cdr-tranche-5:#8A5540;
  --cdr-tranche-6:#6A6E4A;

  /* --- polices : trois roles, trois piles systeme, aucune requete tierce -- */
  --cdr-police-titre:Raleway, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
  --cdr-police-texte:Centrale Sans, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --cdr-police-cote:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  /* --- mesures et densite ---------------------------------------------- */
  --cdr-travee:67.5rem;        /* la seule largeur de page */
  --cdr-mesure:66ch;           /* mesure de lecture du corps */
  --cdr-mesure-breve:58ch;     /* mesure des abreges et chapeaux */
  --cdr-mesure-etroite:62ch;   /* mesure du preambule */
  --cdr-pas-casier:19rem;      /* pas de la grille du casier */
  --cdr-rail:20rem;            /* largeur du rail lateral */
  --cdr-rythme:1.55rem;         /* densite verticale */
  --cdr-rayon:1px;             /* angles : ce repertoire est carre */
  --cdr-lettrine:3.35rem;      /* corps de la lettrine, trois lignes */

  /* --- ratios d image nommes ------------------------------------------- */
  --cdr-ratio-cimaise:16 / 9;
  --cdr-ratio-medaillon:1 / 1;
  --cdr-ratio-chassis:4 / 5;

  /* --- derives : ne pas regler directement ------------------------------ */
  --cdr-filet:1px solid var(--cdr-liseret);
  --cdr-teinte:var(--cdr-encre);
  --cdr-trame:repeating-linear-gradient(90deg, var(--cdr-liseret) 0 1px, transparent 1px 10px);
}

[data-tranche="0"]{--cdr-teinte:var(--cdr-encre)}
[data-tranche="1"]{--cdr-teinte:var(--cdr-tranche-1)}
[data-tranche="2"]{--cdr-teinte:var(--cdr-tranche-2)}
[data-tranche="3"]{--cdr-teinte:var(--cdr-tranche-3)}
[data-tranche="4"]{--cdr-teinte:var(--cdr-tranche-4)}
[data-tranche="5"]{--cdr-teinte:var(--cdr-tranche-5)}
[data-tranche="6"]{--cdr-teinte:var(--cdr-tranche-6)}

/* -------------------------------------------------------------------------
   2. SOCLE
   ------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--cdr-fond);color:var(--cdr-encre);
  font-family:var(--cdr-police-texte);
  font-size:clamp(16px, 15.4px + .2vw, 17.5px);line-height:1.6;
  overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--cdr-police-titre);margin:0 0 .6em;letter-spacing:.005em;font-weight:400;overflow-wrap:anywhere}
h1{font-size:clamp(1.9rem, 1.3rem + 2.2vw, 2.85rem);line-height:1.12}
h2{font-size:clamp(1.35rem, 1.12rem + .85vw, 1.7rem);line-height:1.22}
h3{font-size:1.12rem;line-height:1.25}
p,ul,ol,dl,table,figure{margin:0 0 var(--cdr-rythme)}
a{color:var(--cdr-fil);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover,a:focus{color:var(--cdr-fil-cuit)}
:focus-visible{outline:2px solid var(--cdr-fil);outline-offset:2px;border-radius:var(--cdr-rayon)}
strong{font-weight:600}
[hidden]{display:none !important}
[id]{scroll-margin-top:4.5rem}

.cdr-travee{width:min(100% - 2rem, var(--cdr-travee));margin-inline:auto}

.cdr-acces-direct{
  position:absolute;left:-9999px;top:0;z-index:30;
  background:var(--cdr-encre);color:var(--cdr-fond);
  padding:.6rem 1rem;font-size:.9rem;text-decoration:none;
}
.cdr-acces-direct:focus{left:.5rem;top:.5rem;color:var(--cdr-fond)}

/* Le troisieme role : la mono ne porte que des cotes et des chiffres. */
.cdr-cote,.cdr-date,.cdr-bilan__chiffre,.cdr-fil__temps{
  font-family:var(--cdr-police-cote);font-variant-numeric:tabular-nums;
}
.cdr-cote{font-size:.74rem;letter-spacing:.1em;color:var(--cdr-encre-pale)}
.cdr-date{font-size:.74rem;letter-spacing:.04em;color:var(--cdr-encre-pale)}

/* Les libelles : petites capitales de la police de texte, jamais la mono. */
.cdr-libelle,.cdr-parcours__lien,.cdr-onglet,.cdr-bilan__libelle,.cdr-etiquette dt,.cdr-releve dt,
.cdr-pied h2,.cdr-pied__etat dt,.cdr-jalons__titre,.cdr-mention,.cdr-legende__cote,.cdr-poignee,
.cdr-tranche__compteur,.cdr-presentoir__compteur,.cdr-rayon__decompte{
  font-family:var(--cdr-police-texte);font-variant-caps:all-small-caps;letter-spacing:.07em;
}

/* SIGNE A : l intercalaire. Bord gauche de 4 px a la teinte de la tranche, filet
   interieur de la fiche agrafee, reglure verticale de 1 px. */
.cdr-intercalaire{
  border-left:4px solid var(--cdr-teinte);
  box-shadow:inset 5px 0 0 var(--cdr-fond);
  padding-left:calc(var(--cdr-rythme) * .75);
  background-image:linear-gradient(90deg, var(--cdr-liseret) 0 1px, transparent 1px 100%);
  background-position:9px 0;background-repeat:repeat-y;background-size:10px 100%;
}

/* -------------------------------------------------------------------------
   3. FRONTON : barre de fil, enseigne, parcours a deux etats sans script
   ------------------------------------------------------------------------- */
.cdr-fronton{background:var(--cdr-surface);border-bottom:var(--cdr-filet)}
.cdr-fronton__barre{height:4px;background:var(--cdr-fil)}
.cdr-fronton__interieur{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;padding:1.05rem 0}
.cdr-enseigne{font-family:var(--cdr-police-titre);font-size:1.45rem;color:var(--cdr-encre);text-decoration:none}
.cdr-enseigne:hover,.cdr-enseigne:focus{color:var(--cdr-fil-cuit)}
.cdr-devise{margin:0;color:var(--cdr-encre-pale);font-size:.9rem;border-left:var(--cdr-filet);padding-left:1rem}
.cdr-parcours{margin-left:auto}
.cdr-parcours ul{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;list-style:none;margin:0;padding:0}
.cdr-parcours__lien{color:var(--cdr-encre-pale);text-decoration:none;font-size:1rem}
.cdr-parcours__lien:hover,.cdr-parcours__lien:focus{color:var(--cdr-fil-cuit)}
.cdr-parcours__lien[aria-current="page"]{color:var(--cdr-fil);box-shadow:inset 0 -2px 0 var(--cdr-fil)}
.cdr-bascule{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cdr-poignee{
  display:none;cursor:pointer;font-size:1rem;
  color:var(--cdr-encre);border:var(--cdr-filet);padding:.45rem .8rem;background:var(--cdr-fond);border-radius:var(--cdr-arrondi);
}
.cdr-bascule:focus-visible + .cdr-poignee{outline:2px solid var(--cdr-fil);outline-offset:2px}
.cdr-poignee span{margin-left:.35rem;color:var(--cdr-fil)}
/* un fronton charge (nom long, neuf rubriques et plus) passait sur cinq lignes et prenait 19 % du premier ecran a
   1920 px (plafond 17 %, banc du 22/09/2026) : le parcours se serre en interligne, et en approche des qu il a huit
   entrees ou plus */
@media (min-width:54.01rem){
  .cdr-fronton__interieur{gap:.35rem 1.5rem;padding:.85rem 0}
  .cdr-devise{line-height:1.4}
  .cdr-parcours ul{gap:.2rem .9rem}
  .cdr-parcours__lien{line-height:1.3}
  .cdr-parcours:has(li:nth-child(8)) .cdr-parcours__lien{letter-spacing:.04em}
}

/* la planche de fronton : une bande sous la barre de rubriques, accueil seulement */
.cdr-fronton__planche{margin:0;border-top:var(--cdr-filet);background:var(--cdr-creux)}
.cdr-fronton__planche img{width:100%;aspect-ratio:var(--cdr-ratio-planche);max-height:min(56vh, 34rem);object-fit:cover}
.cdr-fronton__planche .cdr-legende{padding:.5rem 0 .7rem;margin-inline:auto}

/* -------------------------------------------------------------------------
   4. PREAMBULE, LETTRINE A ONGLET, BILAN
   ------------------------------------------------------------------------- */
.cdr-preambule{padding:calc(var(--cdr-rythme) * 1.8) 0 var(--cdr-rythme)}
.cdr-preambule h1{max-width:24ch}
.cdr-preambule__texte{max-width:var(--cdr-mesure-etroite);margin-inline:auto}
.cdr-preambule__texte p{color:var(--cdr-encre-pale);font-size:1.06rem}
/* la lettrine a onglet : l initiale posee sur une petite fiche a bord de fil */
.cdr-lettrine::first-letter,.cdr-corps > p:first-of-type::first-letter{
  float:left;font-family:var(--cdr-police-titre);font-size:var(--cdr-lettrine);line-height:.8;
  color:var(--cdr-encre);background:var(--cdr-surface);
  border-left:4px solid var(--cdr-fil);box-shadow:inset 0 -1px 0 var(--cdr-liseret);
  padding:.1em .12em .04em .14em;margin:.08em .16em 0 0;
}
.cdr-bilan{
  display:flex;flex-wrap:wrap;gap:0;list-style:none;
  margin:calc(var(--cdr-rythme) * 1.2) 0 0;padding:0;
  border-top:var(--cdr-filet);border-bottom:var(--cdr-filet);background:var(--cdr-surface);
}
.cdr-bilan__poste{flex:1 1 9rem;padding:.85rem 1rem;border-right:var(--cdr-filet)}
.cdr-bilan__poste:last-child{border-right:0}
.cdr-bilan__chiffre{display:block;font-size:1.45rem;line-height:1.2;color:var(--cdr-encre)}
.cdr-bilan__libelle{display:block;font-size:.95rem;color:var(--cdr-encre-pale)}

/* -------------------------------------------------------------------------
   5. ONGLETS DE TRANCHE (collants) ET INDEX ALPHABETIQUE (collant a gauche)
   ------------------------------------------------------------------------- */
.cdr-onglets{
  position:sticky;top:0;z-index:12;
  display:flex;flex-wrap:wrap;gap:.4rem;align-items:stretch;
  padding:.7rem 0;background:var(--cdr-fond);border-bottom:var(--cdr-filet);
}
.cdr-onglet{
  display:inline-flex;align-items:center;font-size:1rem;
  padding:.35rem .8rem .4rem .7rem;text-decoration:none;
  color:var(--cdr-encre);background:var(--cdr-surface);
  border:var(--cdr-filet);border-left:4px solid var(--cdr-teinte);
  border-radius:var(--cdr-arrondi-onglet) var(--cdr-arrondi-onglet) 0 0;
}
.cdr-onglet:hover,.cdr-onglet:focus{color:var(--cdr-fil-cuit)}
.cdr-onglet[aria-current="page"]{color:var(--cdr-fil);box-shadow:inset 0 -2px 0 var(--cdr-fil)}
.cdr-onglet__long{display:inline}
.cdr-onglet__court{display:none;font-family:var(--cdr-police-cote);font-variant-caps:normal;font-size:.72rem;letter-spacing:.08em}

.cdr-repertoire{display:grid;grid-template-columns:minmax(0, 1fr);gap:0 1.2rem}
.cdr-index ol{list-style:none;margin:0;padding:.8rem 0 0;display:flex;flex-wrap:wrap;gap:.2rem}
.cdr-index__lettre{
  display:block;min-width:1.9rem;text-align:center;padding:.1rem .2rem;
  font-family:var(--cdr-police-titre);font-size:1.02rem;line-height:1.35;text-decoration:none;
  color:var(--cdr-encre);border-left:2px solid var(--cdr-fil);background:var(--cdr-surface);
  border-radius:0 var(--cdr-arrondi) var(--cdr-arrondi) 0;
}
a.cdr-index__lettre:hover,a.cdr-index__lettre:focus{color:var(--cdr-fil-cuit);border-left-width:4px}
/* une lettre sans entree reste imprimee, barree, sans lien : l index dit aussi ce qui manque */
.cdr-index__lettre--vide{color:var(--cdr-encre-pale);border-left-color:var(--cdr-liseret);background:transparent;text-decoration:line-through;text-decoration-color:var(--cdr-liseret)}

/* -------------------------------------------------------------------------
   6. RAYON, CASIER, FICHE, ETIQUETTE COUSUE
   ------------------------------------------------------------------------- */
.cdr-rayon{padding:calc(var(--cdr-rythme) * 1.4) 0}
.cdr-rayon__tete{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:var(--cdr-rythme);
  padding-bottom:.7rem;background-image:var(--cdr-trame);background-size:100% 3px;background-repeat:no-repeat;background-position:0 100%;
}
.cdr-rayon__tete h2{margin:0}
.cdr-rayon__decompte{font-size:.98rem;font-variant-numeric:tabular-nums;color:var(--cdr-encre-pale)}
.cdr-rayon__decompte--chiffre{font-family:var(--cdr-police-cote);font-variant-caps:normal;font-size:.8rem;letter-spacing:.04em}
.cdr-rayon__tete .cdr-renvoi{margin-left:auto}
.cdr-rayon__chapeau{max-width:var(--cdr-mesure);color:var(--cdr-encre-pale)}

.cdr-casier{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--cdr-pas-casier), 1fr));gap:1rem}
.cdr-fiche{display:flex;flex-direction:column;background:var(--cdr-surface);border:var(--cdr-filet);padding:.95rem 1rem 1rem}
.cdr-fiche__vignette{margin:0 0 .7rem;padding:0}
.cdr-fiche__vignette img{width:100%;aspect-ratio:var(--cdr-ratio-medaillon);object-fit:cover}
.cdr-fiche__cote{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;margin:0 0 .5rem}
.cdr-fiche__cote .cdr-date{margin-left:auto}
.cdr-mention{font-size:.95rem;line-height:1.2;color:var(--cdr-encre-pale);border:var(--cdr-filet);border-radius:var(--cdr-arrondi);padding:0 .4rem .1rem;text-decoration:none}
a.cdr-mention:hover,a.cdr-mention:focus{color:var(--cdr-fil-cuit);border-color:var(--cdr-fil)}
.cdr-fiche__intitule{margin:0 0 .35rem;font-size:1.15rem}
.cdr-fiche__intitule a{color:var(--cdr-encre);text-decoration:none}
.cdr-fiche__intitule a:hover,.cdr-fiche__intitule a:focus{color:var(--cdr-fil-cuit);text-decoration:underline}
.cdr-fiche__abrege{font-size:.95rem;color:var(--cdr-encre-pale);margin:0;max-width:var(--cdr-mesure-breve)}

/* SIGNE B : l etiquette cousue. Un <dl> a trois champs imprimes comme sur une fiche
   bristol : filet rouge en tete, reglure pale entre les champs, libelles en petites
   capitales, reserve en italique toujours au meme emplacement. */
.cdr-etiquette{margin:auto 0 0;border-top:1px solid var(--cdr-fil);padding-top:.15rem}
.cdr-etiquette dt{font-size:.82rem;line-height:1.2;color:var(--cdr-encre-pale);margin:.45rem 0 .05rem}
.cdr-etiquette dd{margin:0;padding-bottom:.4rem;border-bottom:var(--cdr-filet)}
.cdr-etiquette dd:last-child{border-bottom:0;padding-bottom:0}
.cdr-etiquette__qualite{font-size:.9rem;color:var(--cdr-encre)}
.cdr-etiquette__reserve,.cdr-reserve-ligne,.cdr-caracteristiques .cdr-reserve-ligne{font-style:italic;font-size:.94rem;line-height:1.45;color:var(--cdr-encre-pale)}
.cdr-casier .cdr-fiche .cdr-etiquette{margin-top:.7rem}

.cdr-renvoi{font-size:.92rem;font-weight:600;text-decoration:none;color:var(--cdr-fil)}
.cdr-renvoi:hover,.cdr-renvoi:focus{color:var(--cdr-fil-cuit);text-decoration:underline}

/* -------------------------------------------------------------------------
   7. SIGNE C : le fil a trois temps
   ------------------------------------------------------------------------- */
.cdr-fil{
  display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;
  border-top:1px solid var(--cdr-liseret);padding-top:.6rem;margin:1rem 0 0;
  font-size:.76rem;line-height:1;letter-spacing:.08em;
}
.cdr-fil__temps{color:var(--cdr-encre-pale);text-decoration:none}
.cdr-fil__temps::before{
  content:"";display:inline-block;width:9px;height:9px;margin-right:.45rem;
  border:1px solid var(--cdr-fil);border-radius:50%;vertical-align:-1px;
}
.cdr-fil__temps[aria-current="step"]::before{background:var(--cdr-fil)}
.cdr-fil__temps[aria-current="step"]{color:var(--cdr-encre)}
.cdr-fil__temps:hover,.cdr-fil__temps:focus{color:var(--cdr-fil-cuit)}

/* -------------------------------------------------------------------------
   8. LE PRESENTOIR : la seule zone retournee, une boite par tranche
   ------------------------------------------------------------------------- */
.cdr-presentoir{background:var(--cdr-creux);border-top:var(--cdr-filet);border-bottom:var(--cdr-filet);padding-block:3.6rem}
.cdr-presentoir__tete{max-width:var(--cdr-mesure);margin:0 0 calc(var(--cdr-rythme) * 1.3)}
.cdr-presentoir__tete h2{margin-bottom:.4rem}
.cdr-presentoir__tete p{color:var(--cdr-encre-pale);margin:0}
.cdr-presentoir__boites{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit, minmax(17rem, 1fr))}
.cdr-presentoir__boite{
  display:flex;flex-direction:column;background:var(--cdr-surface);
  border:var(--cdr-filet);border-top:4px solid var(--cdr-teinte);padding:1rem;
}
.cdr-presentoir__boite img{width:100%;aspect-ratio:var(--cdr-ratio-planche);object-fit:cover}
.cdr-presentoir__boite .cdr-carton--fiche img{aspect-ratio:var(--cdr-ratio-fiche)}
.cdr-presentoir__compteur{margin:.8rem 0 .1rem;font-size:.95rem;color:var(--cdr-encre-pale)}
.cdr-presentoir__compteur .cdr-cote{font-variant-caps:normal;margin-right:.3rem}
.cdr-presentoir__boite h3{margin:0 0 .35rem;font-size:1.3rem}
.cdr-presentoir__boite h3 a{color:var(--cdr-encre);text-decoration:none}
.cdr-presentoir__boite h3 a:hover,.cdr-presentoir__boite h3 a:focus{color:var(--cdr-fil-cuit);text-decoration:underline}
.cdr-presentoir__intro{font-size:.95rem;color:var(--cdr-encre-pale);margin:0 0 .4rem}
.cdr-presentoir__boite .cdr-fil{margin-top:auto;border-top:0;padding-top:.8rem}

/* -------------------------------------------------------------------------
   9. ABECEDAIRE : les lettres en marge, les entrees en regard
   ------------------------------------------------------------------------- */
.cdr-abecedaire{margin:0;display:grid;gap:.2rem 0}
.cdr-abecedaire__groupe{display:grid;grid-template-columns:3rem minmax(0, 1fr);gap:0 1rem;border-top:var(--cdr-filet);padding:.55rem 0}
/* la lettre de l abecedaire est un onglet d index plein : le seul aplat de fil de la peau (controle-peau.py) */
.cdr-abecedaire dt{line-height:1}
.cdr-abecedaire dt{font-family:var(--cdr-police-titre);font-size:1.9rem;align-self:start;text-align:center;color:var(--cdr-surface);background:var(--cdr-fil);border-radius:0 var(--cdr-arrondi-onglet) var(--cdr-arrondi-onglet) 0;padding:.2rem .3rem .25rem}
.cdr-abecedaire dd{margin:0}
.cdr-abecedaire ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.cdr-abecedaire li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}
.cdr-abecedaire li a{color:var(--cdr-encre);text-decoration:none;font-size:1rem;min-width:0;overflow-wrap:anywhere}
.cdr-abecedaire li a:hover,.cdr-abecedaire li a:focus{color:var(--cdr-fil-cuit);text-decoration:underline}

/* -------------------------------------------------------------------------
   10. ENCART DE METHODE ET SOURCES CITEES
   ------------------------------------------------------------------------- */
.cdr-encart{background:var(--cdr-creux);border:var(--cdr-filet);padding:1.1rem 1.25rem;max-width:var(--cdr-mesure-breve)}
.cdr-encart h2{font-size:1.3rem}
.cdr-encart p{font-size:1rem}
.cdr-encart__sources{list-style:none;margin:0 0 .6rem;padding:0;color:var(--cdr-encre-pale)}
.cdr-encart__sources li{border-top:1px solid var(--cdr-liseret);padding:.2rem 0;font-size:.95rem}
.cdr-encart__signature{font-size:.95rem;color:var(--cdr-encre-pale);margin:.9rem 0 0;padding-top:.6rem;border-top:var(--cdr-filet)}

/* -------------------------------------------------------------------------
   11. RENVOIS DE L EXTERIEUR (section reseau, rendue meme vide)
   ------------------------------------------------------------------------- */
.cdr-renvois{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit, minmax(19rem, 1fr))}
.cdr-renvois__item{background:var(--cdr-surface);border:var(--cdr-filet);padding:.9rem 1rem}
.cdr-renvois__item p{margin:0 0 .4rem;font-size:1rem}
.cdr-renvois .cdr-renvois__hote{margin:0;font-size:.9rem;font-variant-caps:all-small-caps;letter-spacing:.07em;color:var(--cdr-encre-pale)}

/* -------------------------------------------------------------------------
   12. TRANCHE (tete de rubrique) ET REGISTRE DENSE
   ------------------------------------------------------------------------- */
.cdr-tranche{display:grid;grid-template-columns:minmax(0, 1fr);gap:0 2rem;padding:calc(var(--cdr-rythme) * 1.3) 0 var(--cdr-rythme);background-image:var(--cdr-trame);background-size:100% 3px;background-repeat:no-repeat;background-position:0 100%}
.cdr-tranche__compteur{font-size:.98rem;color:var(--cdr-encre-pale);margin:0 0 .3rem}
.cdr-tranche__compteur .cdr-cote{font-variant-caps:normal;margin-right:.3rem}
.cdr-tranche h1{border-left:4px solid var(--cdr-teinte);padding-left:.7rem}
.cdr-registre{list-style:none;margin:0 0 var(--cdr-rythme);padding:0;border-top:var(--cdr-filet)}
.cdr-ligne{display:grid;gap:.25rem 1rem;grid-template-columns:minmax(0, 1fr);padding:1rem 0 1rem .85rem;border-bottom:var(--cdr-filet)}
.cdr-ligne__vignette{margin:0 0 .6rem;padding:0;max-width:11rem}
.cdr-ligne__vignette img{width:100%;aspect-ratio:var(--cdr-ratio-medaillon);object-fit:cover}
.cdr-ligne__intitule{margin:0 0 .3rem;font-size:1.15rem}
.cdr-ligne__intitule a{color:var(--cdr-encre);text-decoration:none}
.cdr-ligne__intitule a:hover,.cdr-ligne__intitule a:focus{color:var(--cdr-fil-cuit);text-decoration:underline}
.cdr-ligne__abrege{margin:0 0 .4rem;font-size:.95rem;color:var(--cdr-encre-pale);max-width:var(--cdr-mesure-breve)}
.cdr-ligne__attributs{margin:.2rem 0 0}
.cdr-ligne .cdr-etiquette{max-width:var(--cdr-mesure-breve)}

/* -------------------------------------------------------------------------
   13. FICHE LUE : remontee, entete, releve a trois champs
   ------------------------------------------------------------------------- */
.cdr-remontee{padding:var(--cdr-rythme) 0 0;font-size:.95rem}
.cdr-remontee ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:.1rem 0 .1rem .7rem}
.cdr-remontee li{color:var(--cdr-encre-pale)}
.cdr-remontee li::after{content:"/";margin-left:.35rem;color:var(--cdr-liseret)}
.cdr-remontee li:last-child::after{content:""}
.cdr-remontee a{color:var(--cdr-encre-pale);text-decoration:none}
.cdr-remontee a:hover,.cdr-remontee a:focus{color:var(--cdr-fil-cuit);text-decoration:underline}

.cdr-entete{padding:var(--cdr-rythme) 0 calc(var(--cdr-rythme) / 2);border-bottom:var(--cdr-filet)}
.cdr-entete h1{margin-bottom:.4rem;max-width:26ch}
.cdr-chapeau{font-size:1.1rem;line-height:1.55;color:var(--cdr-encre-pale);max-width:var(--cdr-mesure-breve)}
.cdr-datation{font-size:.98rem;color:var(--cdr-encre-pale);margin:0}
.cdr-releve{display:grid;gap:0;margin:calc(var(--cdr-rythme) * 1.2) 0 0;border-top:1px solid var(--cdr-fil);border-bottom:var(--cdr-filet);background:var(--cdr-creux)}
.cdr-releve > div{padding:.8rem 1rem;border-bottom:var(--cdr-filet)}
.cdr-releve > div:last-child{border-bottom:0}
.cdr-releve dt{font-size:.9rem;color:var(--cdr-encre-pale);margin-bottom:.2rem}
.cdr-releve dd{margin:0;font-size:1rem}

/* -------------------------------------------------------------------------
   14. DUO TEXTE + RAIL, jalons numerotes en marge
   ------------------------------------------------------------------------- */
.cdr-duo{display:grid;gap:calc(var(--cdr-rythme) * 1.5);padding:calc(var(--cdr-rythme) * 1.5) 0}
.cdr-colonne{min-width:0}
.cdr-colonne > .cdr-planche{margin-top:0}
.cdr-corps{counter-reset:cdr-jalon;font-size:1.06rem;line-height:1.66}
.cdr-corps > *{max-width:var(--cdr-mesure)}
.cdr-corps h2{margin-top:calc(var(--cdr-rythme) * 1.8);counter-increment:cdr-jalon;position:relative}
/* SIGNE C bis : le numero de jalon, pose en CSS, qui repond au sommaire du rail */
.cdr-corps h2::before{
  content:counter(cdr-jalon, decimal-leading-zero);display:block;
  font-family:var(--cdr-police-cote);font-size:.74rem;line-height:1;letter-spacing:.12em;
  color:var(--cdr-fil);margin-bottom:.35rem;
}
.cdr-corps h3{margin-top:var(--cdr-rythme)}
.cdr-corps ul,.cdr-corps ol{padding-left:1.2rem}
.cdr-corps li{margin-bottom:.35rem}
/* les tableaux du corps (pages de service, articles) n avaient aucun style : en-tetes colles, colonnes sans filet */
.cdr-corps table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.45;border-top:1px solid var(--cdr-fil);border-bottom:var(--cdr-filet)}
.cdr-corps th,.cdr-corps td{text-align:left;vertical-align:top;padding:.5rem 1rem .5rem 0;border-bottom:var(--cdr-filet);overflow-wrap:anywhere}
.cdr-corps th{font-weight:400;font-variant-caps:all-small-caps;letter-spacing:.07em;color:var(--cdr-encre-pale)}
.cdr-corps td{font-variant-numeric:tabular-nums}

.cdr-rail{background:transparent}
.cdr-caracteristiques{background:var(--cdr-surface);border:var(--cdr-filet);border-top:1px solid var(--cdr-fil);padding:.35rem 1rem 1rem}
.cdr-caracteristiques h2{font-size:1.15rem;margin:.75rem 0 .5rem}
.cdr-caracteristiques table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0}
.cdr-caracteristiques th,.cdr-caracteristiques td{text-align:left;padding:.45rem 0;border-bottom:var(--cdr-filet);vertical-align:top}
.cdr-caracteristiques tr:last-child th,.cdr-caracteristiques tr:last-child td{border-bottom:0}
.cdr-caracteristiques th{font-weight:400;color:var(--cdr-encre-pale);width:45%;padding-right:1rem}
.cdr-caracteristiques td{overflow-wrap:anywhere}
.cdr-caracteristiques .cdr-reserve-ligne{margin:.6rem 0 0}

.cdr-jalons{margin-top:var(--cdr-rythme);counter-reset:cdr-liste}
.cdr-jalons__titre{font-size:.95rem;color:var(--cdr-encre-pale);margin:0 0 .3rem}
.cdr-jalons ol{list-style:none;margin:0;padding:0}
.cdr-jalons li{counter-increment:cdr-liste;border-top:var(--cdr-filet)}
.cdr-jalons__lien{display:block;padding:.45rem 0;font-size:.95rem;text-decoration:none;color:var(--cdr-encre)}
.cdr-jalons__lien::before{content:counter(cdr-liste, decimal-leading-zero) " ";font-family:var(--cdr-police-cote);font-size:.74rem;color:var(--cdr-fil)}
.cdr-jalons__lien:hover,.cdr-jalons__lien:focus{color:var(--cdr-fil-cuit)}

.cdr-ailleurs{margin-top:var(--cdr-rythme)}
.cdr-ailleurs ul{list-style:none;margin:0;padding:0}
.cdr-ailleurs li{border-top:var(--cdr-filet)}
.cdr-ailleurs__lien{display:block;padding:.45rem 0;font-size:.95rem;text-decoration:none;color:var(--cdr-encre);overflow-wrap:anywhere}
.cdr-ailleurs__lien:hover,.cdr-ailleurs__lien:focus{color:var(--cdr-fil-cuit);text-decoration:underline}

/* -------------------------------------------------------------------------
   15. PLANCHES, CARTON, LEGENDES
   ------------------------------------------------------------------------- */
/* le carton : une photo montee sur fiche, marge blanche et ombre dure de 3 px */
.cdr-carton{padding:8px;background:var(--cdr-surface);border:var(--cdr-filet);border-radius:var(--cdr-arrondi);box-shadow:3px 3px 0 var(--cdr-creux)}
.cdr-planche{margin:var(--cdr-rythme) 0}
.cdr-planche img{width:100%;object-fit:cover}
.cdr-planche--large img{aspect-ratio:var(--cdr-ratio-planche)}
.cdr-planche--portrait img{aspect-ratio:var(--cdr-ratio-fiche)}
.cdr-legende{font-size:.88rem;line-height:1.45;color:var(--cdr-encre-pale);padding-top:.45rem;margin:0}
/* sous une vignette, la legende est plus petite ; elle n est plus coupee a deux lignes : les lignes masquees par
   -webkit-line-clamp restaient posees sous la vignette et chevauchaient la cote et le titre (banc du 22/09/2026) */
.cdr-legende--breve{font-size:.84rem}
.cdr-legende__cote{font-size:.92rem;color:var(--cdr-encre-pale);margin-right:.35rem}
.cdr-voisinage{border-top:var(--cdr-filet);padding:calc(var(--cdr-rythme) * 1.5) 0}

/* -------------------------------------------------------------------------
   16. PIED QUI PROUVE
   ------------------------------------------------------------------------- */
.cdr-pied{background:var(--cdr-surface);border-top:var(--cdr-filet);padding:calc(var(--cdr-rythme) * 1.5) 0 var(--cdr-rythme);margin-top:var(--cdr-rythme)}
.cdr-pied__colonnes{display:grid;gap:var(--cdr-rythme);align-items:start;grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr))}
.cdr-pied h2{font-size:1rem;color:var(--cdr-encre-pale);margin:0 0 .5rem}
.cdr-pied p{font-size:.95rem;line-height:1.55;margin:0 0 .7rem}
.cdr-pied ul{list-style:none;margin:0;padding:0;font-size:.98rem}
.cdr-pied li{margin-bottom:.3rem}
.cdr-pied__marque{font-family:var(--cdr-police-titre);font-size:1.2rem;color:var(--cdr-encre);display:block;margin-bottom:.5rem}
.cdr-pied__colophon{margin:0}
.cdr-pied__etat{margin-top:calc(var(--cdr-rythme) * 1.2);padding-top:.9rem;border-top:var(--cdr-filet)}
.cdr-pied__etat dl{margin:0;display:grid;gap:.1rem 1.5rem;grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr))}
.cdr-pied__etat dt{font-size:.95rem;color:var(--cdr-encre-pale);margin-top:.5rem}
.cdr-pied__etat dd{margin:.1rem 0 0;font-size:.95rem}
.cdr-pied__note{font-style:italic;font-size:.95rem;color:var(--cdr-encre-pale);margin:.9rem 0 0}

/* l intercalaire garde toujours son bord de tranche, meme sur une boite qui pose son propre filet */
.cdr-intercalaire[data-tranche]{border-left:4px solid var(--cdr-teinte)}

/* -------------------------------------------------------------------------
   17. LES DEUX ETATS DU PARCOURS (case a cocher, sans script)
   ------------------------------------------------------------------------- */
@media (max-width:54rem){
  .cdr-poignee{display:inline-block}
  .cdr-parcours{margin-left:auto;order:3;flex-basis:100%}
  .cdr-parcours ul{display:none;margin-top:.6rem;gap:.5rem;flex-direction:column}
  .cdr-bascule:checked ~ ul{display:flex}
  .cdr-devise{border-left:0;padding-left:0}
}

/* -------------------------------------------------------------------------
   18. TELEPHONE : une colonne, les gestes restent lisibles a 360 px
   ------------------------------------------------------------------------- */
@media (max-width:48rem){
  .cdr-onglets{
    flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:.25rem;
    padding-inline:0 1.4rem;scroll-snap-type:x proximity;scroll-padding-right:1.4rem;
    box-shadow:inset -18px 0 12px -12px rgba(38,18,20,.28);
  }
  .cdr-onglets::-webkit-scrollbar{display:none}
  .cdr-onglet{scroll-snap-align:start;flex:0 0 auto;padding:.35rem .5rem .35rem .4rem}
  .cdr-onglet__long{display:none}
  .cdr-onglet__court{display:inline}
  .cdr-casier,.cdr-renvois,.cdr-presentoir__boites,.cdr-pied__colonnes{grid-template-columns:minmax(0, 1fr)}
  .cdr-tranche .cdr-planche{max-width:22rem}
  .cdr-presentoir{padding-block:2.2rem}
  .cdr-bilan__poste{flex:1 1 7.5rem}
  :root{--cdr-lettrine:2.6rem}
  .cdr-fil{flex-direction:column;align-items:flex-start;gap:0}
  .cdr-fil__temps{position:relative;line-height:18px}
  .cdr-fil__temps + .cdr-fil__temps::after{content:"";position:absolute;left:4px;top:-5px;width:1px;height:9px;background:var(--cdr-fil)}
  .cdr-duo{display:flex;flex-direction:column}
  .cdr-rail{position:static}
}
@media (max-width:26rem){
  .cdr-travee{width:min(100% - 1.25rem, var(--cdr-travee))}
  .cdr-intercalaire{padding-left:.7rem}
  .cdr-fiche{padding:.8rem .85rem .85rem}
  .cdr-index__lettre{min-width:1.6rem;font-size:.95rem}
}

/* -------------------------------------------------------------------------
   19. GRANDS ECRANS : index collant a gauche, rail colle, jalons en marge
   ------------------------------------------------------------------------- */
@media (min-width:52rem){
  .cdr-ligne{grid-template-columns:6rem 9rem minmax(0, 1fr) 7rem;align-items:start}
  .cdr-ligne__cote{grid-column:1;grid-row:1 / span 3;padding-top:.3rem}
  .cdr-ligne__vignette{grid-column:2;grid-row:1 / span 3;max-width:none;margin-bottom:0}
  .cdr-ligne__texte{grid-column:3}
  .cdr-ligne__attributs{grid-column:4;grid-row:1 / span 3;text-align:right}
}
@media (min-width:60rem){
  .cdr-repertoire{grid-template-columns:var(--cdr-index) minmax(0, 1fr)}
  .cdr-index{align-self:start;position:sticky;top:4.2rem;padding-top:calc(var(--cdr-rythme) * 1.4)}
  .cdr-index ol{flex-direction:column;flex-wrap:nowrap;padding:0;gap:.12rem}
  .cdr-tranche{grid-template-columns:minmax(0, 1fr) 20rem;align-items:end}
  .cdr-tranche .cdr-planche{margin:0}
  .cdr-duo{grid-template-columns:minmax(0, 1fr) var(--cdr-rail);align-items:start}
  .cdr-duo--service{max-width:55rem;gap:var(--cdr-rythme)}
  .cdr-duo--service .cdr-corps > *{max-width:none}
  .cdr-entete--service{max-width:55rem}
  /* le rail suit la page et se lit en entier (une boite a defilement interne cachait les sources, 22/09/2026) ; il
     occupe la hauteur du texte pour que son dernier bloc, le sommaire, puisse coller */
  .cdr-rail{align-self:stretch}
  .cdr-rail > :first-child{margin-top:0}
  .cdr-releve{grid-template-columns:repeat(3, 1fr)}
  .cdr-releve > div{border-bottom:0;border-right:var(--cdr-filet)}
  .cdr-releve > div:last-child{border-right:0}
}
/* seul le sommaire colle, et seulement quand il tient dans l ecran : dernier bloc du rail, au plus 8 entrees, ecran
   d au moins 36rem de haut ; au-dela il reste a sa place, lisible en entier */
@media (min-width:60rem) and (min-height:36rem){
  .cdr-rail > .cdr-jalons:last-child:not(:has(li:nth-child(9))){position:sticky;top:var(--cdr-rythme)}
}
/* le numero de jalon passe en marge seulement quand la marge existe (sinon il sortait de l ecran entre 60 et 80rem) */
@media (min-width:80rem){
  .cdr-corps h2::before{position:absolute;left:-3.6rem;top:.45rem;margin:0}
}
@media (min-width:48.01rem) and (max-width:59.99rem){
  .cdr-tranche .cdr-planche{max-width:22rem}
}

/* -------------------------------------------------------------------------
   20. RANGEES PLEINES : un casier, un presentoir ou des renvois ne laissent jamais une carte seule sur
   sa rangee. Trois cartes par rangee sur 12 pistes ; quand le compte ne tombe pas juste, les deux ou les
   quatre dernieres cartes prennent une demi-largeur (2 cartes : 1 rangee de 2 ; 4 cartes : 2 rangees de 2).
   ------------------------------------------------------------------------- */
.cdr-rayon,.cdr-voisinage{container-type:inline-size}
.cdr-casier:has(> :only-child){max-width:24rem}
@media (min-width:48.01rem){
  @container (min-width:36rem) and (max-width:54.49rem){
    .cdr-casier{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .cdr-casier > :last-child:nth-child(odd){grid-column:1 / -1}
  }
  @container (min-width:54.5rem){
    .cdr-casier{grid-template-columns:repeat(12, minmax(0, 1fr))}
    .cdr-casier > *{grid-column:span 4}
    .cdr-casier:has(> :last-child:nth-child(3n+2)) > :nth-last-child(-n+2),
    .cdr-casier:has(> :last-child:nth-child(3n+4)) > :nth-last-child(-n+4){grid-column:span 6}
    .cdr-casier > :only-child{grid-column:1 / -1}
  }
  @container (min-width:39rem) and (max-width:58.79rem){
    .cdr-renvois{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .cdr-renvois > :last-child:nth-child(odd){grid-column:1 / -1}
  }
  @container (min-width:58.8rem){
    .cdr-renvois{grid-template-columns:repeat(12, minmax(0, 1fr))}
    .cdr-renvois > *{grid-column:span 4}
    .cdr-renvois:has(> :last-child:nth-child(3n+2)) > :nth-last-child(-n+2),
    .cdr-renvois:has(> :last-child:nth-child(3n+4)) > :nth-last-child(-n+4){grid-column:span 6}
    .cdr-renvois > :only-child{grid-column:1 / -1}
  }
}
@media (min-width:48.01rem) and (max-width:59.99rem){
  .cdr-presentoir__boites{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .cdr-presentoir__boites > :last-child:nth-child(odd){grid-column:1 / -1}
}
@media (min-width:60rem){
  .cdr-presentoir__boites{grid-template-columns:repeat(12, minmax(0, 1fr))}
  .cdr-presentoir__boites > *{grid-column:span 4}
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+2)) > :nth-last-child(-n+2),
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+4)) > :nth-last-child(-n+4){grid-column:span 6}
  /* quatre tranches tiennent sur une rangee */
  .cdr-presentoir__boites:has(> :nth-child(4):last-child) > :nth-child(n){grid-column:span 3}
  .cdr-presentoir__boites:has(> :only-child){max-width:24rem}
  .cdr-presentoir__boites > :only-child{grid-column:1 / -1}
}

/* couleur par rubrique : --cdr-rc posée en ligne */
.cdr-onglet[style]{border-top:3px solid var(--cdr-rc)}

/* le renvoi vers la derniere fiche : aligne sur la travee (il flottait au centre d une mesure de 66ch), libelle en
   petites capitales de la police de texte (regle 3 : la mono ne porte que des cotes), couleur prise aux jetons */
.cdr-fronton__renvoi{margin:.6rem auto 0}
.cdr-fronton__renvoi a{color:var(--cdr-encre)}
.cdr-fronton__renvoi a:hover,.cdr-fronton__renvoi a:focus{color:var(--cdr-fil-cuit)}
.cdr-fronton__renvoi-mot{font-family:var(--cdr-police-texte);font-variant-caps:all-small-caps;letter-spacing:.07em;font-size:.95rem;color:var(--cdr-fil);margin-right:.35rem}

/* -------------------------------------------------------------------------
   21. CARTES ELARGIES : une fiche ou une boite de tranche qui prend une demi-largeur ou toute la rangee garde son
   ratio nomme (medaillon 1/1, fiche 4/5). L image passe a gauche et le texte en regard, comme dans une ligne de
   registre. Une max-height posee le 22/09/2026 les recadrait en bande (2,18:1 a 768 px) : retiree.
   ------------------------------------------------------------------------- */
@media (max-width:48rem){
  @container (min-width:30rem){
  .cdr-casier > .cdr-fiche:not(:only-child){display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);grid-template-rows:auto 1fr;column-gap:1rem;align-items:start}
  .cdr-casier > .cdr-fiche:not(:only-child) > .cdr-fiche__vignette{grid-column:1;grid-row:1 / 3;margin:0}
  .cdr-casier > .cdr-fiche:not(:only-child) > .cdr-fiche__cote{grid-column:2}
  .cdr-casier > .cdr-fiche:not(:only-child) > .cdr-etiquette{grid-column:2;margin-top:0}
  }
}
@media (min-width:48.01rem){
  @container (min-width:36rem) and (max-width:54.49rem){
  .cdr-casier > .cdr-fiche:last-child:nth-child(odd):not(:only-child){display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);grid-template-rows:auto 1fr;column-gap:1rem;align-items:start}
  .cdr-casier > .cdr-fiche:last-child:nth-child(odd):not(:only-child) > .cdr-fiche__vignette{grid-column:1;grid-row:1 / 3;margin:0}
  .cdr-casier > .cdr-fiche:last-child:nth-child(odd):not(:only-child) > .cdr-fiche__cote{grid-column:2}
  .cdr-casier > .cdr-fiche:last-child:nth-child(odd):not(:only-child) > .cdr-etiquette{grid-column:2;margin-top:0}
  }
  @container (min-width:54.5rem){
  .cdr-casier:has(> :last-child:nth-child(3n+2)) > .cdr-fiche:nth-last-child(-n+2):not(:only-child),
  .cdr-casier:has(> :last-child:nth-child(3n+4)) > .cdr-fiche:nth-last-child(-n+4){display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);grid-template-rows:auto 1fr;column-gap:1rem;align-items:start}
  .cdr-casier:has(> :last-child:nth-child(3n+2)) > .cdr-fiche:nth-last-child(-n+2):not(:only-child) > .cdr-fiche__vignette,
  .cdr-casier:has(> :last-child:nth-child(3n+4)) > .cdr-fiche:nth-last-child(-n+4) > .cdr-fiche__vignette{grid-column:1;grid-row:1 / 3;margin:0}
  .cdr-casier:has(> :last-child:nth-child(3n+2)) > .cdr-fiche:nth-last-child(-n+2):not(:only-child) > .cdr-fiche__cote,
  .cdr-casier:has(> :last-child:nth-child(3n+4)) > .cdr-fiche:nth-last-child(-n+4) > .cdr-fiche__cote{grid-column:2}
  .cdr-casier:has(> :last-child:nth-child(3n+2)) > .cdr-fiche:nth-last-child(-n+2):not(:only-child) > .cdr-etiquette,
  .cdr-casier:has(> :last-child:nth-child(3n+4)) > .cdr-fiche:nth-last-child(-n+4) > .cdr-etiquette{grid-column:2;margin-top:0}
  }
}
@media (min-width:30rem) and (max-width:48rem){
  .cdr-presentoir__boite:has(> .cdr-carton){display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);grid-template-rows:auto auto auto 1fr;column-gap:1.25rem}
  .cdr-presentoir__boite:has(> .cdr-carton) > .cdr-carton{grid-column:1;grid-row:1 / 5;margin:0}
  .cdr-presentoir__boite:has(> .cdr-carton) > :not(.cdr-carton){grid-column:2}
  .cdr-presentoir__boite:has(> .cdr-carton) > .cdr-presentoir__compteur{margin-top:0}
}
@media (min-width:48.01rem) and (max-width:59.99rem){
  .cdr-presentoir__boites > .cdr-presentoir__boite:last-child:nth-child(odd):has(> .cdr-carton){display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);grid-template-rows:auto auto auto 1fr;column-gap:1.25rem}
  .cdr-presentoir__boites > .cdr-presentoir__boite:last-child:nth-child(odd):has(> .cdr-carton) > .cdr-carton{grid-column:1;grid-row:1 / 5;margin:0}
  .cdr-presentoir__boites > .cdr-presentoir__boite:last-child:nth-child(odd):has(> .cdr-carton) > :not(.cdr-carton){grid-column:2}
  .cdr-presentoir__boites > .cdr-presentoir__boite:last-child:nth-child(odd):has(> .cdr-carton) > .cdr-presentoir__compteur{margin-top:0}
}
@media (min-width:60rem){
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+2)) > .cdr-presentoir__boite:nth-last-child(-n+2):not(:only-child):has(> .cdr-carton),
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+4)):not(:has(> :nth-child(4):last-child)) > .cdr-presentoir__boite:nth-last-child(-n+4):has(> .cdr-carton){display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);grid-template-rows:auto auto auto 1fr;column-gap:1.25rem}
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+2)) > .cdr-presentoir__boite:nth-last-child(-n+2):not(:only-child):has(> .cdr-carton) > .cdr-carton,
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+4)):not(:has(> :nth-child(4):last-child)) > .cdr-presentoir__boite:nth-last-child(-n+4):has(> .cdr-carton) > .cdr-carton{grid-column:1;grid-row:1 / 5;margin:0}
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+2)) > .cdr-presentoir__boite:nth-last-child(-n+2):not(:only-child):has(> .cdr-carton) > :not(.cdr-carton),
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+4)):not(:has(> :nth-child(4):last-child)) > .cdr-presentoir__boite:nth-last-child(-n+4):has(> .cdr-carton) > :not(.cdr-carton){grid-column:2}
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+2)) > .cdr-presentoir__boite:nth-last-child(-n+2):not(:only-child):has(> .cdr-carton) > .cdr-presentoir__compteur,
  .cdr-presentoir__boites:has(> :last-child:nth-child(3n+4)):not(:has(> :nth-child(4):last-child)) > .cdr-presentoir__boite:nth-last-child(-n+4):has(> .cdr-carton) > .cdr-presentoir__compteur{margin-top:0}
}

/* Les entrées hors sujet : une liste sobre au bas de l'accueil, sans la mise en fiche (23/09/2026) */
.cdr-hors-theme__liste{list-style:none;margin:0;padding:0;columns:2 17rem;column-gap:2.4rem}
.cdr-hors-theme__liste li{break-inside:avoid;margin:0 0 .55rem;font-size:.92rem;line-height:1.45}
.cdr-hors-theme__meta{display:block;font-size:.8em;opacity:.68}
.cdr-hors-theme__meta a{color:inherit}
