/*
Theme Name: Cabinet Renaissance
Theme URI: https://www.cabinet-renaissance.fr/
Description: Magazine santé, nutrition, beauté et bien être. La loupe en objet signature, Zodiak et Author en polices, pictogrammes Lucide. Thème custom, sans constructeur de page.
Author: Cabinet Renaissance
Version: 1.0.4
Requires PHP: 7.4
Text Domain: cabinet-renaissance
*/

/* Cabinet Renaissance : accueil, rubriques, article, pages.
   Registre : objet soigné et chaleureux. Objet signature : la loupe.
   Polices : Zodiak (titres, serif à fort contraste, Fontshare) + Author (corps, Fontshare).
   Pictogrammes : Lucide, trait 2, en symboles SVG inline, teintés par la palette ; en mask-image dans les blocs d'article.
   Contrastes (WCAG AA) :
     encre #1A2238 sur papier #F6F0E8 : 13,6:1      gris #5F6579 sur papier : 5,6:1
     pavot #C9402A sur papier : 4,7:1               papier sur pavot (bouton) : 4,7:1
     papier sur encre (en-tête, plateau, pied) : 13,6:1   rose #F3CFC3 sur encre : 11,5:1
     pavot foncé #A4311F sur blanc : 7,0:1 (liens dans l'article)
   Formes : doux. 20 px pour les fiches, 14 px pour les vignettes carrées, pilule pour l'interactif, rond pour la loupe et les portraits.
   Gamme typographique : 12 / 13 / 15 / 17 / 20 / 24 / 30 / 36 / 48 / 60 / 70 px. */

:root {
  --papier: #F6F0E8;
  --papier-2: #EDE3D6;
  --blanc: #FFFDFA;
  --rose: #F3CFC3;
  --rose-2: #E9B8AC;
  --rose-3: #FBEAE4;
  --encre: #1A2238;
  --encre-2: #313A55;
  --encre-3: #0F1526;
  --gris: #5F6579;
  --filet: #DACFC0;
  --pavot: #C9402A;
  --pavot-sombre: #A4311F;

  --serif: "Zodiak", "Times New Roman", Georgia, serif;
  --sans: "Author", "Segoe UI", Helvetica, Arial, sans-serif;

  --t-12: 12px; --t-13: 13px; --t-15: 15px; --t-17: 17px; --t-20: 20px;
  --t-24: 24px; --t-30: 30px; --t-36: 36px; --t-48: 48px; --t-60: 60px; --t-70: 70px;

  --r-fiche: 20px;
  --r-vignette: 14px;
  --r-pilule: 999px;

  --ombre-loupe: 0 40px 70px -20px rgba(26, 34, 56, .45), 0 18px 30px -16px rgba(26, 34, 56, .35);
  --ombre-fiche: 0 24px 48px -18px rgba(26, 34, 56, .35), 0 2px 6px rgba(26, 34, 56, .08);
  --ombre-fiche-haut: 0 30px 54px -18px rgba(26, 34, 56, .42), 0 2px 6px rgba(26, 34, 56, .08);
  --ombre-douce: 0 1px 0 rgba(26, 34, 56, .04), 0 10px 24px -18px rgba(26, 34, 56, .4);

  --gouttiere: clamp(16px, 4vw, 60px);
  --sortie: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; max-width: 100%; scroll-behavior: smooth; }
body {
  margin: 0; max-width: 100%;
  background: var(--papier);
  color: var(--encre);
  font-family: var(--sans);
  font-size: var(--t-17);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.article { background: var(--blanc); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
figure { margin: 0; }

/* Pictogrammes : un seul jeu, même trait, couleur héritée */
.pic {
  width: 1.05em; height: 1.05em; flex: none;
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  vertical-align: -.15em;
}

/* Lignes de métadonnées : rubrique, date, durée, un picto devant chaque, sans point médian */
.meta-rub, .meta-duree, .loupe-fiche-meta > span, .plateau-meta > span, .ticket-meta > span,
.feuillet-haut > span, .pied-art-meta > span, .voisin-meta > span {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--t-13); font-weight: 500; color: var(--gris);
}
.meta-rub { color: var(--pavot); font-weight: 600; }
.meta-rub-clair { color: var(--rose); }

/* ---------- En-tête : une seule bande d'encre, 80 px ---------- */
.tete {
  position: sticky; top: 0; z-index: 30;
  height: 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 0 var(--gouttiere);
  background: var(--encre);
  color: var(--papier);
}
.marque { display: inline-flex; align-items: center; gap: 12px; position: relative; z-index: 2; }
.marque-loupe { width: 30px; height: 30px; color: var(--papier); transition: transform .35s var(--sortie); }
.marque:hover .marque-loupe { transform: rotate(-12deg) scale(1.08); }
.marque-nom { font-family: var(--serif); font-size: var(--t-30); line-height: 1; letter-spacing: .005em; white-space: nowrap; }
.marque-nom i { font-style: italic; color: var(--rose); }

.boussole { display: flex; align-items: center; gap: 4px; }
.boussole a {
  position: relative;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 13px;
  font-size: var(--t-15); font-weight: 500; letter-spacing: .01em;
  color: rgba(246, 240, 232, .82);
  border-radius: var(--r-pilule);
  transition: color .2s, background-color .2s;
}
.boussole a .pic { opacity: .7; transition: opacity .2s, transform .3s var(--sortie); }
.boussole a:hover { color: var(--papier); background: rgba(246, 240, 232, .08); }
.boussole a:hover .pic { opacity: 1; transform: translateY(-1px) scale(1.12); }
.boussole-actif { color: var(--papier) !important; }
.boussole-actif .pic { opacity: 1; color: var(--rose); }
.boussole-actif::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: var(--r-pilule); background: var(--pavot); }
.boussole-contact { margin-left: 10px; border: 1.5px solid rgba(246, 240, 232, .55); color: var(--papier) !important; }
.boussole-contact:hover { background: var(--papier) !important; color: var(--encre) !important; border-color: var(--papier); }
.boussole-fermer { display: none; }
.tete-burger {
  display: none; width: 44px; height: 44px; padding: 0;
  background: transparent; border: 0; cursor: pointer; color: var(--papier);
  align-items: center; justify-content: center; font-size: 26px;
  position: relative; z-index: 2;
}

/* ---------- Boutons et liens ---------- */
.bouton {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 24px;
  background: var(--pavot); color: var(--papier);
  font-size: var(--t-15); font-weight: 600; letter-spacing: .01em;
  border-radius: var(--r-pilule);
  box-shadow: 0 10px 22px -10px rgba(201, 64, 42, .7);
  transition: background-color .2s, transform .25s var(--sortie), box-shadow .25s;
}
.bouton .pic { transition: transform .3s var(--sortie); }
.bouton:hover { background: var(--pavot-sombre); transform: translateY(-2px); box-shadow: 0 16px 28px -12px rgba(201, 64, 42, .8); }
.bouton:hover .pic { transform: translateX(4px); }
.bouton-clair { background: var(--papier); color: var(--encre); box-shadow: none; }
.bouton-clair:hover { background: var(--rose); box-shadow: none; }
.lien-rubrique {
  display: inline-block;
  font-size: var(--t-15); font-weight: 600; color: var(--encre);
  padding-bottom: 2px;
  background: linear-gradient(var(--pavot), var(--pavot)) no-repeat 0 100% / 0 1.5px,
              linear-gradient(var(--rose-2), var(--rose-2)) no-repeat 0 100% / 100% 1.5px;
  transition: background-size .35s var(--sortie);
}
.lien-rubrique:hover { background-size: 100% 1.5px, 100% 1.5px; }

/* titres de section : grand serif + em sur la ligne suivante */
.atlas-h2, .assiette-h2, .journal-h2 { font-size: var(--t-60); line-height: 1; letter-spacing: -.005em; margin-bottom: 20px; }
.ouverture-h1 em, .atlas-h2 em, .assiette-h2 em, .journal-h2 em { display: block; margin-top: 10px; font-size: var(--t-30); line-height: 1.12; font-style: italic; color: var(--encre-2); }
.ouverture-h1-accent, .accent { color: var(--pavot); }
.atlas-chapo, .assiette-chapo, .journal-chapo { max-width: 28em; margin: 0 0 24px; font-size: var(--t-17); color: var(--encre-2); }

/* ---------- Ouverture ---------- */
.ouverture {
  position: relative; isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 14fr) minmax(0, 10fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
  max-width: 1320px; margin: 0 auto;
  padding: 40px var(--gouttiere) 56px;
  min-height: min(calc(100vh - 80px), 860px);
}
.ouverture::before {
  content: ""; position: absolute; inset: 0 calc(50% - 50vw) -140px; z-index: -2; pointer-events: none;
  background:
    radial-gradient(42% 55% at 78% 42%, rgba(243, 207, 195, .95) 0%, rgba(243, 207, 195, .45) 45%, rgba(243, 207, 195, 0) 100%),
    radial-gradient(30% 40% at 18% 100%, rgba(237, 227, 214, .9) 0%, rgba(237, 227, 214, 0) 100%);
}
.ouverture-grain {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.13 0 0 0 0 0.22 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ouverture-texte { padding-top: 8px; }

.rubriques-fil { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 20px; }
.rubriques-fil a { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-15); font-weight: 600; color: var(--pavot); transition: color .2s; }
.rubriques-fil .pic { font-size: 17px; transition: transform .3s var(--sortie); }
.rubriques-fil a:hover { color: var(--pavot-sombre); }
.rubriques-fil a:hover .pic { transform: translateY(-2px) rotate(-8deg); }

.ouverture-h1 { margin: 0 0 18px; font-size: var(--t-70); line-height: .98; letter-spacing: -.005em; white-space: nowrap; }
.ouverture-h1 em { white-space: normal; font-size: var(--t-36); }
.ouverture-chapo { max-width: 30em; margin: 0 0 22px; font-size: var(--t-20); line-height: 1.5; color: var(--encre-2); }
.ouverture-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin-bottom: 32px; }

.ressentis { max-width: 620px; }
.ressentis-titre { margin: 0 0 6px; font-family: var(--serif); font-style: italic; font-size: var(--t-24); color: var(--encre); }
.ressentis-liste li { border-bottom: 1px solid var(--filet); }
.ressenti { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 16px; padding: 12px 0; }
.ressenti img {
  width: 64px; height: 64px; border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 0 2px var(--papier), 0 0 0 3.5px var(--rose-2);
  transition: transform .3s var(--sortie), box-shadow .3s;
}
.ressenti:hover img { transform: scale(1.07) rotate(-3deg); box-shadow: 0 0 0 2px var(--papier), 0 0 0 3.5px var(--pavot); }
.ressenti-corps { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ressenti-meta { display: flex; gap: 14px; }
.ressenti-nom { font-size: var(--t-17); font-weight: 600; line-height: 1.3; color: var(--encre); transition: color .2s; }
.ressenti:hover .ressenti-nom { color: var(--pavot); }
.ressenti-fleche { font-size: var(--t-20); color: var(--rose-2); transition: transform .3s var(--sortie), color .2s; }
.ressenti:hover .ressenti-fleche { transform: translateX(5px); color: var(--pavot); }

/* la loupe */
.ouverture-droite { align-self: center; display: flex; flex-direction: column; align-items: flex-end; gap: 36px; }
.loupe { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1 / 1; margin: 0; }
.loupe-corps { position: absolute; inset: 0; }
.loupe-verre {
  position: absolute; inset: 0 0 auto 0;
  width: 100%; aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 14px solid var(--encre);
  box-shadow: var(--ombre-loupe), inset 0 0 0 3px var(--papier);
  overflow: hidden; background: var(--encre);
  transform: translateZ(0);
}
.loupe-verre img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; box-shadow: inset 0 0 0 3px var(--papier); transition: transform .8s var(--sortie); }
.loupe:hover .loupe-verre img { transform: scale(1.04); }
.loupe-reflet {
  position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
  background:
    radial-gradient(60% 45% at 28% 20%, rgba(255, 253, 250, .42) 0%, rgba(255, 253, 250, .12) 40%, rgba(255, 253, 250, 0) 70%),
    radial-gradient(70% 70% at 80% 85%, rgba(26, 34, 56, .28) 0%, rgba(26, 34, 56, 0) 60%);
  box-shadow: inset 0 0 0 3px var(--papier), inset 0 0 40px rgba(26, 34, 56, .18);
}
.loupe-col { position: absolute; width: 64px; height: 64px; border-radius: 50%; background: var(--encre); left: 82.5%; top: 82.5%; transform: translate(-50%, -50%); box-shadow: 0 10px 20px -8px rgba(26, 34, 56, .5); }
.loupe-manche {
  position: absolute; width: 190px; height: 44px; left: 86%; top: 86%;
  transform-origin: 0 50%; transform: translateY(-50%) rotate(42deg);
  border-radius: var(--r-pilule);
  background: linear-gradient(90deg, var(--encre) 0 68%, var(--pavot) 68% 100%);
  box-shadow: var(--ombre-loupe);
}
.loupe-manche::before { content: ""; position: absolute; left: 24px; right: 70px; top: 10px; height: 3px; border-radius: var(--r-pilule); background: rgba(246, 240, 232, .22); }
.loupe-fiche {
  position: absolute; left: -52px; bottom: -10px; z-index: 2;
  display: flex; flex-direction: column; gap: 8px;
  width: min(340px, 78%); padding: 20px 24px 20px;
  background: var(--blanc); border-radius: var(--r-fiche); box-shadow: var(--ombre-fiche);
  transition: transform .3s var(--sortie), box-shadow .3s;
}
.loupe-fiche:hover { transform: translateY(-4px); box-shadow: var(--ombre-fiche-haut); }
.loupe-fiche-sur { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-13); font-weight: 700; color: var(--pavot); }
.loupe-fiche-titre { font-family: var(--serif); font-size: var(--t-30); line-height: 1.08; color: var(--encre); transition: color .2s; }
.loupe-fiche:hover .loupe-fiche-titre { color: var(--pavot-sombre); }
.loupe-fiche-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; }

/* les repères : trois raccourcis vers le reste de la page, sous la loupe */
.reperes { display: flex; flex-direction: column; gap: 8px; width: 100%; max-width: 520px; padding-left: 40px; }
.reperes a {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px 10px 12px;
  border: 1px solid var(--filet); border-radius: var(--r-pilule);
  background: rgba(255, 253, 250, .6);
  font-size: var(--t-15); font-weight: 500; color: var(--encre-2);
  transition: border-color .25s, background-color .25s, transform .25s var(--sortie);
}
.reperes .pic { font-size: 20px; color: var(--pavot); transition: transform .3s var(--sortie); }
.reperes a::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--rose-2); border-bottom: 2px solid var(--rose-2); transform: rotate(45deg); transition: border-color .2s, transform .3s var(--sortie); }
.reperes a:hover { border-color: var(--rose-2); background: var(--blanc); transform: translateX(4px); }
.reperes a:hover .pic { transform: scale(1.15) rotate(-8deg); }
.reperes a:hover::after { border-color: var(--pavot); transform: translateY(3px) rotate(45deg); }

/* ---------- L'atlas : les questions par zone du corps ---------- */
.atlas { position: relative; isolation: isolate; background: var(--papier-2); padding: 96px 0 104px; overflow: clip; }
.atlas::before, .atlas::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; border: 1.5px solid rgba(201, 64, 42, .22); }
.atlas::before { width: 720px; height: 720px; left: -260px; top: -140px; }
.atlas::after { width: 320px; height: 320px; left: 120px; bottom: -90px; border-color: rgba(26, 34, 56, .14); }
.atlas-cadre { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); max-width: 1320px; margin: 0 auto; padding: 0 var(--gouttiere); align-items: start; }
.atlas-entete { position: sticky; top: 112px; }

/* le rail : une ligne pointillée relie les cinq zones, comme sur une planche anatomique */
.zones { position: relative; }
.zones::before { content: ""; position: absolute; left: 59px; top: 70px; bottom: 70px; border-left: 2px dashed var(--rose-2); }
.zone { --i: 0; position: relative; display: grid; grid-template-columns: 120px 1fr; column-gap: 24px; row-gap: 6px; padding: 24px 0 26px; border-bottom: 1px solid var(--filet); }
.zone:first-child { padding-top: 0; }
.zone:last-child { border-bottom: 0; }
.zone-visuel { grid-row: 1 / span 2; position: relative; width: 120px; height: 120px; }
.zone-visuel img {
  width: 120px; height: 120px; border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 0 4px var(--papier-2), 0 0 0 5.5px var(--rose-2), 0 18px 30px -16px rgba(26, 34, 56, .5);
  transition: transform .45s var(--sortie), box-shadow .3s;
}
.zone:hover .zone-visuel img { transform: scale(1.05) rotate(-3deg); box-shadow: 0 0 0 4px var(--papier-2), 0 0 0 5.5px var(--pavot), 0 24px 36px -16px rgba(26, 34, 56, .55); }
.zone-badge {
  position: absolute; right: -8px; bottom: -4px;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--encre); color: var(--papier); font-size: 20px;
  box-shadow: 0 0 0 3px var(--papier-2), 0 10px 18px -10px rgba(26, 34, 56, .7);
  transition: background-color .3s, transform .35s var(--sortie);
}
.zone:hover .zone-badge { background: var(--pavot); transform: rotate(-10deg) scale(1.08); }
.zone-nom { font-size: var(--t-30); line-height: 1.1; align-self: end; padding-top: 6px; }
.zone-liste { display: flex; flex-direction: column; gap: 2px; }
.zone-liste a { display: flex; align-items: flex-start; gap: 6px; padding: 5px 0; font-size: var(--t-17); font-weight: 500; line-height: 1.35; color: var(--encre-2); transition: color .2s; }
.zone-liste .pic { margin-top: .2em; color: var(--rose-2); transition: transform .3s var(--sortie), color .2s; }
.zone-liste a:hover { color: var(--pavot); }
.zone-liste a:hover .pic { color: var(--pavot); transform: translateX(4px); }

/* ---------- L'assiette : la rubrique Nutrition ---------- */
.assiette { padding: 104px 0 112px; position: relative; isolation: isolate; overflow: clip; }
.assiette::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(40% 50% at 22% 55%, rgba(243, 207, 195, .8) 0%, rgba(243, 207, 195, 0) 100%); }
.assiette-cadre { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); max-width: 1320px; margin: 0 auto; padding: 0 var(--gouttiere); align-items: center; }
.plateau { position: relative; padding: 70px 0 0 70px; }
.plateau-rond { position: relative; z-index: 2; width: min(440px, 78%); aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; box-shadow: var(--ombre-loupe), 0 0 0 6px var(--papier); }
.plateau-rond img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--sortie); }
.plateau:hover .plateau-rond img { transform: scale(1.04); }
.plateau::before { content: ""; position: absolute; z-index: 1; border-radius: 50%; width: min(440px, 78%); aspect-ratio: 1 / 1; left: 44px; top: 44px; border: 1.5px solid var(--pavot); opacity: .55; }
.plateau-fiche {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: flex-start; gap: 12px;
  margin: -150px 0 0 auto; width: min(460px, 92%);
  padding: 184px 36px 36px;
  background: var(--encre); color: var(--papier);
  border-radius: var(--r-fiche); box-shadow: var(--ombre-fiche);
  transition: transform .3s var(--sortie);
}
.plateau-fiche:hover { transform: translateY(-4px); }
.plateau-titre { font-family: var(--serif); font-size: var(--t-36); line-height: 1.08; }
.plateau-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.plateau-meta > span { color: rgba(246, 240, 232, .75); }
.plateau-fiche .bouton { margin-top: 8px; }

.tickets { display: flex; flex-direction: column; gap: 12px; margin: 0 0 26px; }
.ticket { --i: 0; }
.ticket a { display: grid; grid-template-columns: 84px 1fr auto; align-items: center; gap: 18px; padding: 12px 18px 12px 12px; background: var(--blanc); border-radius: var(--r-fiche); box-shadow: var(--ombre-douce); transition: transform .3s var(--sortie), box-shadow .3s; }
.ticket a:hover { transform: translateX(6px); box-shadow: var(--ombre-fiche); }
.ticket img { width: 84px; height: 84px; object-fit: cover; border-radius: var(--r-vignette); }
.ticket-corps { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ticket-titre { font-family: var(--serif); font-size: var(--t-24); line-height: 1.12; color: var(--encre); transition: color .2s; }
.ticket a:hover .ticket-titre { color: var(--pavot-sombre); }
.ticket-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.ticket-fleche { font-size: var(--t-20); color: var(--rose-2); transition: transform .3s var(--sortie), color .2s; }
.ticket a:hover .ticket-fleche { color: var(--pavot); transform: translate(3px, -3px); }

/* ---------- Le journal : les 30 derniers articles, en colonnes de feuillets ---------- */
.journal { position: relative; isolation: isolate; background: var(--papier-2); padding: 96px 0 104px; overflow: clip; }
.journal::before { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; border-radius: 50%; right: -200px; top: -120px; border: 1.5px solid rgba(26, 34, 56, .14); pointer-events: none; }
.journal-cadre { max-width: 1320px; margin: 0 auto; padding: 0 var(--gouttiere); }
.journal-entete { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: end; margin-bottom: 48px; }
.journal-chapo { margin-bottom: 8px; }
.feuillets { columns: 3; column-gap: 28px; }
.feuillet { --i: 0; break-inside: avoid; margin: 0 0 28px; }
.feuillet a { display: block; }
.feuillet:not(.feuillet-photo) a { padding: 18px 0 2px; border-top: 2px solid var(--encre); transition: border-color .25s; }
.feuillet:not(.feuillet-photo) a:hover { border-color: var(--pavot); }
.feuillet-photo a { background: var(--blanc); border-radius: var(--r-fiche); padding: 12px 12px 18px; box-shadow: var(--ombre-douce); transition: transform .3s var(--sortie), box-shadow .3s; }
.feuillet-photo a:hover { transform: translateY(-4px); box-shadow: var(--ombre-fiche); }
.feuillet-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-vignette); margin-bottom: 14px; }
.feuillet-photo .feuillet-corps { padding: 0 8px; }
.feuillet-mini a { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 14px; align-items: start; }
.feuillet-mini img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--r-vignette); }
.feuillet-mini .feuillet-titre { font-size: var(--t-20, 1.25rem); line-height: 1.18; }
.feuillet-corps { display: flex; flex-direction: column; gap: 8px; }
.feuillet-haut { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.feuillet-titre { font-family: var(--serif); font-size: var(--t-24); line-height: 1.12; color: var(--encre); transition: color .2s; }
.feuillet-photo .feuillet-titre { font-size: var(--t-30); }
.feuillet a:hover .feuillet-titre { color: var(--pavot-sombre); }

/* ---------- La rédaction : emplacement du profil WordPress ---------- */
.redaction { padding: 40px 0 112px; }
.redaction-cadre {
  position: relative;
  display: grid; grid-template-columns: 180px 1fr; gap: 40px; align-items: center;
  max-width: 1000px; margin: 0 auto; padding: 40px var(--gouttiere) 40px 40px;
  background: var(--rose-3); border-radius: var(--r-fiche);
}
.redaction-cadre::before { content: ""; position: absolute; right: 36px; top: -26px; width: 92px; height: 92px; border-radius: 50%; border: 1.5px solid var(--rose-2); pointer-events: none; }
.redaction-portrait, .auteur-portrait, .fiche-portrait {
  display: inline-flex; align-items: center; justify-content: center;
  width: 180px; height: 180px; border-radius: 50%; object-fit: cover; flex: none;
  color: var(--rose-2); font-size: 56px;
  background: var(--blanc);
  box-shadow: 0 0 0 4px var(--blanc), 0 0 0 5.5px var(--rose-2), 0 18px 30px -16px rgba(26, 34, 56, .5);
}
.redaction-portrait-vide, .auteur-portrait-vide, .fiche-portrait-vide { border: 2px dashed var(--rose-2); box-shadow: none; }
.redaction-nom, .auteur-nom, .fiche-nom { margin: 0 0 4px; font-family: var(--serif); font-size: var(--t-30); line-height: 1.1; color: var(--encre); }
.redaction-role, .auteur-role, .fiche-role { margin: 0 0 12px; font-size: var(--t-13); font-weight: 600; color: var(--pavot); }
.redaction-bio, .auteur-bio, .fiche-bio { font-size: var(--t-17); line-height: 1.6; color: var(--encre-2); }
.redaction-bio p, .auteur-bio p, .fiche-bio p { margin: 0 0 .8em; }
.redaction-bio > :last-child, .auteur-bio > :last-child, .fiche-bio > :last-child { margin-bottom: 0; }
.redaction-bio ul, .auteur-bio ul, .fiche-bio ul { list-style: disc; padding-left: 1.2em; margin: 0 0 .8em; }
.redaction-lien, .auteur-lien, .fiche-lien { margin: 14px 0 0; }


/* ---------- Pied de page ---------- */
.pied { position: relative; isolation: isolate; background: var(--encre); color: var(--papier); padding: 80px 0 36px; overflow: clip; }
.pied::after { content: ""; position: absolute; z-index: -1; right: -180px; bottom: -260px; width: 620px; height: 620px; border-radius: 50%; border: 18px solid rgba(246, 240, 232, .06); pointer-events: none; }
.pied-cadre { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 3fr); gap: 48px; max-width: 1320px; margin: 0 auto; padding: 0 var(--gouttiere); }
.pied-marque { margin: 0 0 18px; font-family: var(--serif); font-size: var(--t-48); line-height: 1; }
.pied-marque i { font-style: italic; color: var(--rose); }
.pied-propos { margin: 0; max-width: 30em; font-size: var(--t-15); line-height: 1.6; color: rgba(246, 240, 232, .72); }
.pied-col-titre { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: var(--t-13); font-weight: 600; color: var(--rose); }
.pied-col ul { display: flex; flex-direction: column; gap: 8px; }
.pied-col a { display: inline-flex; align-items: center; gap: 8px; font-size: var(--t-15); font-weight: 500; color: rgba(246, 240, 232, .85); transition: color .2s; }
.pied-col a .pic { color: rgba(246, 240, 232, .55); transition: color .2s, transform .3s var(--sortie); }
.pied-col a:hover { color: var(--papier); }
.pied-col a:hover .pic { color: var(--rose); transform: translateX(2px); }
.pied-arts a { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.pied-art-titre { font-family: var(--serif); font-size: var(--t-17); line-height: 1.25; }
.pied-art-meta > span { color: rgba(246, 240, 232, .55); }
.pied-copie { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 40px 0 0; padding-top: 22px; border-top: 1px solid rgba(246, 240, 232, .14); font-size: var(--t-13); color: rgba(246, 240, 232, .72); }
.pied-copie-loupe { position: relative; width: 16px; height: 16px; border: 2.5px solid var(--rose); border-radius: 50%; }
.pied-copie-loupe::after { content: ""; position: absolute; left: 11px; top: 11px; width: 8px; height: 2.5px; border-radius: var(--r-pilule); background: var(--pavot); transform: rotate(45deg); transform-origin: 0 50%; }

/* ---------- Page article ---------- */
.recit { position: relative; isolation: isolate; }
/* l'atmosphère reste hors de la colonne : deux lueurs aux bords, seulement quand il y a de la place */
@media (min-width: 1240px) {
  .recit::before {
    content: ""; position: fixed; inset: 80px 0 0 0; z-index: -1; pointer-events: none;
    background:
      radial-gradient(22% 40% at 4% 30%, rgba(243, 207, 195, .7) 0%, rgba(243, 207, 195, 0) 100%),
      radial-gradient(22% 44% at 97% 70%, rgba(243, 207, 195, .6) 0%, rgba(243, 207, 195, 0) 100%);
  }
}
.recit-cadre { max-width: 900px; margin: 0 auto; padding: 32px var(--gouttiere) 96px; }

.fil { display: flex; align-items: center; gap: 6px; min-width: 0; margin-bottom: 26px; font-size: var(--t-13); font-weight: 500; color: var(--gris); }
.fil a { flex: none; transition: color .2s; }
.fil a:hover { color: var(--pavot); }
.fil .pic { color: var(--rose-2); flex: none; }
.fil span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.recit-rubrique { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; padding: 7px 14px 7px 10px; border-radius: var(--r-pilule); background: var(--rose-3); color: var(--pavot-sombre); font-size: var(--t-13); font-weight: 700; transition: background-color .2s; }
.recit-rubrique:hover { background: var(--rose); }
.recit-h1 { font-size: var(--t-48); line-height: 1.04; letter-spacing: -.005em; margin: 0 0 18px; }
.recit-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-bottom: 28px; }
.recit-meta > span { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-13); font-weight: 500; color: var(--gris); }
.recit-meta .pic { color: var(--pavot); }
.recit-notation { gap: 6px !important; }
.recit-notation .kk-star-ratings { margin: 0; }
.recit-notation .kk-star-ratings .kksr-legend { font-size: var(--t-13); color: var(--gris); }

.recit-vue img { width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: var(--r-fiche); box-shadow: var(--ombre-fiche); }

/* la prose */
.recit-corps { margin-top: 40px; font-size: var(--t-17); line-height: 1.7; color: var(--encre); }
.recit-corps p { margin: 0 0 1.25em; }
.recit-corps h2 { font-size: var(--t-30); line-height: 1.15; margin: 1.9em 0 .7em; padding-top: .5em; position: relative; }
.recit-corps h2::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 3px; border-radius: var(--r-pilule); background: var(--pavot); }
.recit-corps h3 { font-size: var(--t-24); line-height: 1.2; margin: 1.4em 0 .5em; }
.recit-corps strong { font-weight: 700; color: var(--encre); }
.recit-corps a { color: var(--pavot-sombre); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: var(--rose-2); transition: text-decoration-color .2s; }
.recit-corps a:hover { text-decoration-color: var(--pavot-sombre); }
.recit-corps ul:not([class]), .recit-corps ol:not([class]) { margin: 0 0 1.25em; padding-left: 1.3em; }
.recit-corps ul:not([class]) { list-style: disc; }
.recit-corps ol:not([class]) { list-style: decimal; }
.recit-corps li { margin: 0 0 .4em; }
.recit-corps img { border-radius: var(--r-fiche); }

/* Blocs de la chaîne de contenu : sélection par la fin du nom de classe, jamais par le préfixe.
   Tout est préfixé par .recit .recit-corps pour battre la feuille injectée après celle du thème. */
.recit .recit-corps [class$="-key"] { background: var(--blanc); border: 2px solid var(--encre); border-radius: var(--r-fiche); margin: 0 0 36px; overflow: hidden; box-shadow: var(--ombre-fiche); }
.recit .recit-corps [class$="-key-bar"] { height: 6px; background: linear-gradient(90deg, var(--encre) 0 60%, var(--pavot) 60% 100%); }
.recit .recit-corps [class$="-key-in"] { padding: 24px 28px 22px; position: relative; }
.recit .recit-corps [class$="-key-top"] { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.recit .recit-corps [class$="-kick"] { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-family: var(--serif); font-style: italic; font-size: var(--t-24); letter-spacing: 0; text-transform: none; font-weight: 400; color: var(--pavot); }
.recit .recit-corps [class$="-kick"]::before { content: ""; width: 22px; height: 22px; flex: none; background-color: var(--pavot); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>") no-repeat center / contain; }
.recit .recit-corps [class$="-badge"] { display: inline-flex; align-items: center; gap: 7px; font-size: var(--t-13); font-weight: 700; color: var(--encre); background: var(--rose-3); border: 1.5px solid var(--encre); border-radius: var(--r-pilule); padding: 7px 14px; line-height: 1; white-space: nowrap; }
.recit .recit-corps [class$="-badge"]::before { content: ""; width: 15px; height: 15px; flex: none; background-color: var(--pavot); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/><path d='m9 12 2 2 4-4'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/><path d='m9 12 2 2 4-4'/></svg>") no-repeat center / contain; }
.recit .recit-corps [class$="-key-h"] { font-family: var(--serif); font-size: var(--t-24); font-weight: 400; line-height: 1.2; color: var(--encre); margin: 0 0 6px; }
.recit .recit-corps [class$="-key-in"] ul { list-style: none; margin: 12px 0 0; padding: 0; }
.recit .recit-corps [class$="-key"] li { position: relative; padding: 11px 0 11px 34px; margin: 0; border-bottom: 1px solid var(--filet); line-height: 1.55; color: var(--encre); font-size: var(--t-17); }
.recit .recit-corps [class$="-key"] li:last-child { border-bottom: 0; padding-bottom: 4px; }
/* pastille et coche, centrées sur la ligne et non calées en haut de la puce */
.recit .recit-corps [class$="-key"] li::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -10px; width: 20px; height: 20px; border-radius: 50%; background: var(--rose); color: transparent; opacity: 1; font-size: 0; line-height: 0; }
.recit .recit-corps [class$="-key"] li::after { content: ""; position: absolute; left: 5px; top: 50%; margin-top: -5px; width: 10px; height: 10px; border: 0; transform: none; background-color: var(--pavot-sombre); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") no-repeat center / contain; }
.recit .recit-corps [class$="-foot"] { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--filet); font-size: var(--t-13); color: var(--gris); display: flex; gap: 18px; flex-wrap: wrap; }
.recit .recit-corps [class$="-foot"] span { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; }
.recit .recit-corps [class$="-foot"] span::before { content: ""; width: 14px; height: 14px; flex: none; background-color: var(--pavot); }
.recit .recit-corps [class$="-foot"] span:nth-child(1)::before { -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") no-repeat center / contain; }
.recit .recit-corps [class$="-foot"] span:nth-child(2)::before { -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 7v14'/><path d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 7v14'/><path d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/></svg>") no-repeat center / contain; }
.recit .recit-corps [class$="-foot"] span:nth-child(3)::before { -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/><path d='M21 3v5h-5'/><path d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/><path d='M8 16H3v5'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/><path d='M21 3v5h-5'/><path d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/><path d='M8 16H3v5'/></svg>") no-repeat center / contain; }

.recit .recit-corps [class$="-grid"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 0 36px; }
.recit .recit-corps [class$="-card"] { position: relative; background: var(--papier); border: 0; border-radius: var(--r-fiche); padding: 22px 22px 20px; overflow: hidden; box-shadow: none; transition: transform .3s var(--sortie), box-shadow .3s; }
.recit .recit-corps [class$="-card"]:hover { transform: translateY(-3px); box-shadow: var(--ombre-douce); }
.recit .recit-corps [class$="-num"] { position: absolute; top: 14px; right: 18px; font-family: var(--serif); font-size: var(--t-36); font-weight: 400; color: var(--pavot); opacity: .35; line-height: 1; }
.recit .recit-corps [class$="-ico"] { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--encre); color: var(--papier); margin: 0 0 14px; }
.recit .recit-corps [class$="-ico"] svg { width: 22px; height: 22px; }
.recit .recit-corps [class$="-card-t"] { font-size: var(--t-17); font-weight: 700; color: var(--encre); margin: 0 0 6px; line-height: 1.3; }
.recit .recit-corps [class$="-card-x"] { font-size: var(--t-15); color: var(--encre-2); margin: 0; line-height: 1.55; }

/* le passage d'alerte : très lisible, encre sur rosé, triangle d'alerte en pictogramme */
.recit .recit-corps [class$="-quote"] { position: relative; margin: 0 0 32px; padding: 22px 26px 22px 64px; background: var(--rose-3); border: 0; border-left: 5px solid var(--pavot); border-radius: var(--r-fiche); color: var(--encre); font-size: var(--t-17); line-height: 1.6; font-weight: 500; font-style: normal; }
.recit .recit-corps [class$="-quote"]::before { content: ""; position: absolute; left: 22px; top: 24px; width: 26px; height: 26px; background-color: var(--pavot); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>") no-repeat center / contain; }

.recit .recit-corps [class$="-tab"] { width: 100%; border-collapse: collapse; margin: 0 0 32px; font-size: var(--t-15); background: var(--blanc); border-radius: var(--r-vignette); overflow: hidden; box-shadow: 0 0 0 1px var(--filet); }
.recit .recit-corps [class$="-tab"] th { background: var(--encre) !important; color: var(--papier) !important; text-align: left; padding: 13px 14px; font-weight: 600; border-bottom: 0; }
.recit .recit-corps [class$="-tab"] td { padding: 12px 14px; border-bottom: 1px solid var(--filet); color: var(--encre) !important; background: transparent !important; vertical-align: top; }
.recit .recit-corps [class$="-tab"] tr:nth-child(even) td { background: var(--papier) !important; }
.recit .recit-corps [class$="-tab"] tr:last-child td { border-bottom: 0; }

.recit .recit-corps [class$="-faq"] { margin: 0 0 36px; }
.recit .recit-corps [class$="-q"] { background: var(--blanc); border: 1.5px solid var(--filet); border-radius: var(--r-vignette); padding: 16px 20px; margin: 0 0 10px; transition: border-color .2s, background-color .2s; }
.recit .recit-corps [class$="-q"][open] { border-color: var(--pavot); background: var(--papier); }
.recit .recit-corps [class$="-q"] summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.recit .recit-corps [class$="-q"] summary::-webkit-details-marker { display: none; }
.recit .recit-corps [class$="-q"] summary h3 { margin: 0; font-family: var(--sans); font-size: var(--t-17); font-weight: 700; color: var(--encre); }
.recit .recit-corps [class$="-q"] summary::after { content: ""; flex: none; width: 9px; height: 9px; border-right: 2px solid var(--pavot); border-bottom: 2px solid var(--pavot); transform: rotate(45deg); transition: transform .25s var(--sortie); }
.recit .recit-corps [class$="-q"][open] summary::after { transform: rotate(-135deg); }
.recit .recit-corps [class$="-q"] p { margin: 12px 0 0; color: var(--encre-2); line-height: 1.6; }

.recit .recit-corps [class$="-src"] { background: var(--papier-2); border: 0; border-radius: var(--r-fiche); padding: 26px 28px; margin: 36px 0 0; }
.recit .recit-corps [class$="-src"] h2 { margin: 0 0 14px; padding: 0; font-size: var(--t-24); }
.recit .recit-corps [class$="-src"] h2::before { display: none; }
.recit .recit-corps [class$="-src"] ul { list-style: none; margin: 0; padding: 0; }
.recit .recit-corps [class$="-src"] li { padding: 11px 0; border-bottom: 1px solid var(--filet); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.recit .recit-corps [class$="-src"] li:last-child { border-bottom: 0; }
.recit .recit-corps [class$="-src"] a { color: var(--encre); font-weight: 600; font-size: var(--t-15); text-decoration-color: var(--rose-2); }
.recit .recit-corps [class$="-src"] a:hover { color: var(--pavot-sombre); }
.recit .recit-corps [class$="-tag"] { display: inline-block; font-size: var(--t-12); letter-spacing: .02em; text-transform: none; font-weight: 700; color: var(--pavot-sombre); background: var(--rose-3); border-radius: var(--r-pilule); padding: 4px 10px; margin: 0; }
.recit .recit-corps [class$="-img"] { border-radius: var(--r-fiche); max-width: 100%; height: auto; margin: 0 0 1.25em; }

/* bloc auteur : même emplacement neutre que sur l'accueil, dans la colonne */
.auteur { margin-top: 56px; padding: 32px 0; border-top: 1px solid var(--filet); }
.auteur-cadre { display: grid; grid-template-columns: 112px 1fr; gap: 28px; align-items: center; }
.auteur-portrait { width: 112px; height: 112px; font-size: 40px; background: var(--papier); }
.auteur-cadre { align-items: start; }

/* articles voisins */
.voisins { margin-top: 24px; padding-top: 40px; border-top: 1px solid var(--filet); }
.voisins-h2 { font-size: var(--t-36); line-height: 1.1; margin-bottom: 26px; }
.voisins-h2 em { color: var(--pavot); }
.voisins-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.voisin a { display: block; }
.voisin img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-vignette); margin-bottom: 12px; transition: transform .4s var(--sortie), box-shadow .3s; }
.voisin a:hover img { transform: translateY(-4px); box-shadow: var(--ombre-douce); }
.voisin-corps { display: flex; flex-direction: column; gap: 6px; }
.voisin-titre { font-size: var(--t-20); line-height: 1.2; color: var(--encre); transition: color .2s; }
.voisin a:hover .voisin-titre { color: var(--pavot-sombre); }
.voisin-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; }

/* ---------- Mouvement ---------- */
@keyframes cr-monte { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes cr-loupe { from { opacity: 0; transform: translateY(26px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes cr-net { from { filter: blur(14px) saturate(.6); transform: scale(1.12); } to { filter: blur(0) saturate(1); transform: none; } }
.ouverture-texte > * { animation: cr-monte .7s var(--sortie) both; }
.ouverture-texte > :nth-child(1) { animation-delay: .05s; }
.ouverture-texte > :nth-child(2) { animation-delay: .15s; }
.ouverture-texte > :nth-child(3) { animation-delay: .28s; }
.ouverture-texte > :nth-child(4) { animation-delay: .38s; }
.ouverture-texte > :nth-child(5) { animation-delay: .5s; }
.loupe { animation: cr-loupe .9s var(--sortie) .2s both; }
.loupe-verre img { animation: cr-net 1.6s var(--sortie) .45s both; }
.loupe-fiche { animation: cr-monte .7s var(--sortie) .8s both; }
.reperes li { animation: cr-monte .6s var(--sortie) both; }
.reperes li:nth-child(1) { animation-delay: 1s; }
.reperes li:nth-child(2) { animation-delay: 1.1s; }
.reperes li:nth-child(3) { animation-delay: 1.2s; }
/* entrée de la page article : fil, rubrique, titre, métadonnées ; l'image à la une n'est pas animée */
.recit-cadre > .fil, .recit-cadre > .recit-rubrique, .recit-cadre > .recit-h1, .recit-cadre > .recit-meta { animation: cr-monte .6s var(--sortie) both; }
.recit-cadre > .recit-rubrique { animation-delay: .08s; }
.recit-cadre > .recit-h1 { animation-delay: .16s; }
.recit-cadre > .recit-meta { animation-delay: .26s; }

/* parallaxe lié au défilement */
@keyframes cr-derive { from { transform: translateY(34px); } to { transform: translateY(-54px); } }
@keyframes cr-derive-douce { from { transform: translateY(28px); } to { transform: translateY(-28px); } }
@keyframes cr-derive-vignette { from { object-position: 50% 30%; } to { object-position: 50% 70%; } }
@supports (animation-timeline: view()) {
  .loupe-corps { animation: cr-derive linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
  .plateau-rond { animation: cr-derive-douce linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
  .ticket img, .feuillet-photo img, .voisin img { animation: cr-derive-vignette linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
  .zone-visuel { animation: cr-derive-douce linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
}

/* révélations au défilement : l'état caché est réservé aux navigateurs qui ont le script */
.js .revele { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--sortie), transform .8s var(--sortie); }
.js .revele.vu { opacity: 1; transform: none; }
.js .zones .zone, .js .tickets .ticket, .js .feuillets .feuillet { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--sortie), transform .7s var(--sortie); transition-delay: calc(.12s + var(--i, 0) * .08s); }
.js .zones.vu .zone, .js .revele.vu .ticket, .js .feuillets.vu .feuillet { opacity: 1; transform: none; }
.js .recit-corps > .revele { transform: translateY(16px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ouverture-texte > *, .loupe, .loupe-verre img, .loupe-fiche, .reperes li, .loupe-corps, .plateau-rond, .ticket img, .feuillet-photo img, .voisin img, .zone-visuel,
  .recit-cadre > .fil, .recit-cadre > .recit-rubrique, .recit-cadre > .recit-h1, .recit-cadre > .recit-meta { animation: none; }
  .js .revele, .js .zones .zone, .js .tickets .ticket, .js .feuillets .feuillet { opacity: 1; transform: none; transition: none; }
  * { transition: none !important; }
  .loupe:hover .loupe-verre img, .plateau:hover .plateau-rond img, .zone:hover .zone-visuel img, .zone:hover .zone-badge, .ressenti:hover img, .reperes a:hover, .reperes a:hover .pic { transform: none; }
}

/* ---------- Paliers ---------- */
@media (max-width: 1100px) {
  :root { --t-70: 60px; --t-60: 48px; --t-48: 40px; --t-36: 30px; }
  .ouverture { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .loupe-manche { width: 150px; }
  .atlas-cadre { grid-template-columns: 1fr; }
  .atlas-entete { position: static; }
  .assiette-cadre { grid-template-columns: 1fr; }
  .assiette-texte { order: 1; }
  .plateau { order: 2; max-width: 640px; }
  .feuillets { columns: 2; }
  .journal-entete { grid-template-columns: 1fr; }
  .pied-cadre { grid-template-columns: 1fr 1fr; gap: 40px; }
  .pied-manchette { grid-column: 1 / -1; }
  .pied-col-large { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .tete-burger { display: inline-flex; }
  /* menu plein écran : la bande d'en-tête ne porte aucun backdrop-filter, le fixed vise bien la fenêtre */
  .boussole {
    position: fixed; inset: 0; z-index: 40;
    display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 4px;
    padding: 96px var(--gouttiere) 48px;
    background: var(--encre-3);
    opacity: 0; visibility: hidden; transform: translateY(-12px);
    transition: opacity .3s var(--sortie), transform .3s var(--sortie), visibility 0s .3s;
  }
  body.menu-ouvert .boussole { opacity: 1; visibility: visible; transform: none; transition: opacity .3s var(--sortie), transform .3s var(--sortie), visibility 0s; }
  .boussole a { font-family: var(--serif); font-size: var(--t-36); font-weight: 400; gap: 16px; padding: 14px 8px; border-radius: var(--r-vignette); border-bottom: 1px solid rgba(246, 240, 232, .1); color: var(--papier) !important; }
  .boussole a .pic { font-size: 26px; color: var(--rose); opacity: 1; }
  .boussole a:hover { background: rgba(246, 240, 232, .06); }
  .boussole-actif::after { display: none; }
  .boussole-contact { margin: 18px 0 0; border: 1.5px solid rgba(246, 240, 232, .4); border-radius: var(--r-pilule); justify-content: center; font-family: var(--sans); font-size: var(--t-20); font-weight: 600; }
  .boussole-fermer { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 18px; right: var(--gouttiere); width: 44px; height: 44px; border: 0; border-radius: 50%; cursor: pointer; background: rgba(246, 240, 232, .1); color: var(--papier); font-size: 26px; }
  body.menu-ouvert .tete-burger { visibility: hidden; }

  .ouverture { grid-template-columns: 1fr; padding-top: 32px; min-height: 0; gap: 0; }
  .ouverture::before { background: radial-gradient(60% 40% at 50% 62%, rgba(243, 207, 195, .95) 0%, rgba(243, 207, 195, 0) 100%); }
  .ouverture-texte { display: contents; }
  .ouverture-texte > * { order: 1; }
  .ouverture-droite { order: 2; align-items: center; gap: 24px; margin: 8px 0 32px; }
  .loupe { max-width: 340px; margin: 8px auto 150px; }
  .loupe-manche { width: 120px; height: 34px; }
  .loupe-col { width: 48px; height: 48px; }
  .loupe-fiche { left: 4%; right: 4%; width: auto; bottom: auto; top: calc(100% - 44px); padding-top: 18px; }
  .loupe-fiche:hover { transform: none; }
  .reperes { padding-left: 0; }
  .ressentis { order: 3; max-width: none; }

  .atlas, .journal { padding: 64px 0 72px; }
  .assiette { padding: 72px 0 80px; }
  .plateau { padding: 40px 0 0 24px; }
  .plateau::before { left: 10px; top: 10px; }
  .plateau-fiche { padding: 120px 24px 28px; width: 94%; }
  .zones::before { left: 43px; }
  .zone { grid-template-columns: 88px 1fr; column-gap: 16px; }
  .zone-visuel, .zone-visuel img { width: 88px; height: 88px; }
  .zone-badge { width: 36px; height: 36px; font-size: 17px; right: -6px; bottom: -2px; }
  .redaction-cadre { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 48px var(--gouttiere) 36px; }
  .redaction-cadre::before { display: none; }
  .redaction-portrait { width: 140px; height: 140px; }
  .pied { padding-top: 56px; }
  .voisins-liste { grid-template-columns: 1fr; }
  .voisin a { display: grid; grid-template-columns: 112px 1fr; gap: 16px; align-items: center; }
  .voisin img { aspect-ratio: 1 / 1; margin: 0; }
  .recit .recit-corps [class$="-grid"] { grid-template-columns: 1fr; }
  .recit .recit-corps [class$="-tab"] { display: block; overflow-x: auto; }
}
@media (max-width: 640px) {
  .feuillets { columns: 1; }
  .pied-cadre { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 560px) {
  :root { --t-70: 52px; --t-60: 42px; --t-48: 32px; --t-36: 26px; --t-30: 24px; --t-24: 20px; --t-20: 17px; }
  .marque-nom { font-size: var(--t-24); }
  .ouverture-h1 { white-space: normal; line-height: 1; }
  .ouverture-h1 em { margin-top: 6px; }
  .ouverture-actions { margin-bottom: 28px; }
  .loupe { max-width: 300px; }
  .loupe-manche { width: 96px; height: 30px; }
  .loupe-col { width: 42px; height: 42px; }
  .ticket a { grid-template-columns: 64px 1fr auto; gap: 12px; }
  .ticket img { width: 64px; height: 64px; }
  .plateau-rond { width: 82%; }
  .plateau-fiche { margin-top: -110px; padding-top: 132px; }
  .recit-cadre { padding-top: 20px; }
  .recit .recit-corps [class$="-key-in"] { padding: 18px 18px 16px; }
  .recit .recit-corps [class$="-quote"] { padding: 18px 18px 18px 54px; }
  .recit .recit-corps [class$="-quote"]::before { left: 16px; top: 20px; }
  .auteur-cadre { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}

/* ---------- Ajouts du thème : ce que la maquette ne montrait pas ---------- */
.saut { position: absolute; left: -9999px; top: 0; padding: 10px 16px; background: var(--pavot); color: var(--papier); border-radius: var(--r-pilule); z-index: 100; }
.saut:focus { left: 16px; top: 16px; }
.vide { color: var(--gris); }

/* vignette sans image à la une : un aplat rosé avec le picto de la rubrique */
.vignette-vide { display: inline-flex; align-items: center; justify-content: center; background: var(--rose-3); color: var(--pavot); font-size: 28px; }
.ressenti .vignette-vide { width: 64px; height: 64px; border-radius: 50%; box-shadow: 0 0 0 2px var(--papier), 0 0 0 3.5px var(--rose-2); }
.loupe-verre .vignette-vide { width: 100%; height: 100%; border-radius: 50%; font-size: 120px; }
.plateau-rond .vignette-vide { width: 100%; height: 100%; font-size: 120px; }
.ticket .vignette-vide { width: 84px; height: 84px; border-radius: var(--r-vignette); }
.feuillet-photo .vignette-vide, .voisin .vignette-vide { width: 100%; aspect-ratio: 3 / 2; border-radius: var(--r-vignette); margin-bottom: 14px; font-size: 48px; }

/* mesure de lecture : les paragraphes seuls, jamais le conteneur */
.recit-corps > p, .recit-corps > ul:not([class]), .recit-corps > ol:not([class]) { }
.recit-corps > blockquote:not([class]) { margin: 0 0 1.25em; padding: 4px 0 4px 22px; border-left: 3px solid var(--rose-2); color: var(--encre-2); font-style: italic; }
.recit-corps figure { margin: 0 0 1.25em; }
.recit-corps figcaption, .recit-corps .wp-caption-text { margin-top: 8px; font-size: var(--t-13); color: var(--gris); }
.recit-corps .wp-caption { max-width: 100%; }
.recit-corps .alignleft { float: left; margin: 4px 24px 12px 0; }
.recit-corps .alignright { float: right; margin: 4px 0 12px 24px; }
.recit-corps .aligncenter { margin-left: auto; margin-right: auto; }
.recit-corps iframe { max-width: 100%; }
.recit-corps table:not([class]) { width: 100%; border-collapse: collapse; margin: 0 0 1.25em; font-size: var(--t-15); }
.recit-corps table:not([class]) th, .recit-corps table:not([class]) td { padding: 10px 12px; border-bottom: 1px solid var(--filet); text-align: left; vertical-align: top; }
.recit-corps table:not([class]) th { background: var(--papier); font-weight: 600; }
.recit-corps hr { border: 0; border-top: 1px solid var(--filet); margin: 2em 0; }
.recit-corps-legal h2 { font-size: var(--t-24); }
.recit-resume { margin: 28px 0 0; }
.recit-rubrique-page { cursor: default; }
.recit-cadre-large { max-width: 1100px; }

/* sommaire Easy Table of Contents, replié par défaut */
.recit-corps #ez-toc-container { width: 100%; margin: 0 0 32px; padding: 18px 22px; border: 1.5px solid var(--filet); border-radius: var(--r-fiche); background: var(--papier); box-shadow: none; }
.recit-corps #ez-toc-container .ez-toc-title, .recit-corps #ez-toc-container .ez-toc-title-container { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: var(--t-24); color: var(--encre); }
.recit-corps #ez-toc-container a { color: var(--encre-2); text-decoration: none; }
.recit-corps #ez-toc-container a:hover { color: var(--pavot); }
.recit-corps #ez-toc-container .ez-toc-list { font-size: var(--t-15); }

/* mots-clés de l'article */
.recit-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 0; }
.recit-tags a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px 7px 10px; border: 1px solid var(--filet); border-radius: var(--r-pilule); font-size: var(--t-13); font-weight: 600; color: var(--encre-2); transition: border-color .2s, color .2s; }
.recit-tags a:hover { border-color: var(--pavot); color: var(--pavot); }

/* les outils de la chaîne de contenu (calculateurs, quiz), dans la palette du site */
.recit .recit-corps [class$="-tool"] { background: var(--blanc); border: 1.5px solid var(--filet); border-radius: var(--r-fiche); padding: 24px 28px; margin: 0 0 36px; box-shadow: var(--ombre-douce); }
.recit .recit-corps [class$="-tool"] label { display: block; font-size: var(--t-15); font-weight: 600; color: var(--encre); margin: 0 0 6px; }
.recit .recit-corps [class$="-rng"] { width: 100%; accent-color: var(--pavot); margin: 6px 0 16px; }
.recit .recit-corps [class$="-val"] { font-family: var(--serif); font-size: var(--t-36); font-weight: 400; color: var(--pavot-sombre); line-height: 1.1; }
.recit .recit-corps [class$="-gauge"] { height: 10px; border-radius: var(--r-pilule); background: var(--papier-2); overflow: hidden; margin: 14px 0; }
.recit .recit-corps [class$="-gauge"] i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--encre), var(--pavot)); transition: width .25s; }
.recit .recit-corps [class$="-pick"] { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 16px; }
.recit .recit-corps [class$="-pick"] button { flex: 1 1 120px; background: var(--blanc) !important; border: 1.5px solid var(--filet); border-radius: var(--r-vignette); padding: 14px 10px; cursor: pointer; font: inherit; font-size: var(--t-15); font-weight: 600; color: var(--encre) !important; transition: border-color .15s, background-color .15s; }
.recit .recit-corps [class$="-pick"] button:hover, .recit .recit-corps [class$="-pick"] button:focus-visible { border-color: var(--pavot); outline: none; box-shadow: none; }
.recit .recit-corps [class$="-pick"] button.on, .recit .recit-corps [class$="-pick"] button.on:hover, .recit .recit-corps [class$="-pick"] button.on:focus { border-color: var(--pavot) !important; background: var(--rose-3) !important; color: var(--encre) !important; box-shadow: inset 0 0 0 1px var(--pavot); }
.recit .recit-corps [class$="-pick"] button:disabled { opacity: 1; cursor: default; }
.recit .recit-corps [class$="-out"] { margin: 16px 0 0; padding: 18px 20px; border-radius: var(--r-vignette); background: var(--rose-3); border: 1.5px solid var(--rose-2); color: var(--encre); font-size: var(--t-15); line-height: 1.6; }
.recit .recit-corps [class$="-out"]:empty { display: none; }
.recit .recit-corps [class$="-quiz-item"] { margin: 14px 0; padding-bottom: 14px; border-bottom: 1px solid var(--filet); }
.recit .recit-corps [class$="-quiz-item"]:last-child { border-bottom: 0; padding-bottom: 0; }
.recit .recit-corps [class$="-quiz-item"] > p { font-weight: 700; margin: 0 0 8px; }
.recit .recit-corps [class$="-step"] { display: none; }
.recit .recit-corps [class$="-step"].on { display: block; }
.recit .recit-corps [class$="-cnt"] { font-size: var(--t-13); font-weight: 700; letter-spacing: .02em; text-transform: none; color: var(--pavot); margin: 0 0 8px; }
.recit .recit-corps [class$="-nav"] { display: none; margin: 16px 0 0; text-align: right; }
.recit .recit-corps [class$="-nav"].on { display: block; }
.recit .recit-corps [class$="-nav"] button { background: var(--pavot) !important; border: 0; border-radius: var(--r-pilule); color: var(--papier) !important; font: inherit; font-size: var(--t-15); font-weight: 600; padding: 12px 22px; cursor: pointer; transition: background-color .15s; }
.recit .recit-corps [class$="-nav"] button:hover, .recit .recit-corps [class$="-nav"] button:focus-visible { background: var(--pavot-sombre) !important; outline: none; }
.recit .recit-corps [class$="-done"] { display: none; margin: 16px 0 0; padding: 14px 16px; border-radius: var(--r-vignette); background: var(--rose-3); border: 1.5px solid var(--pavot); font-size: var(--t-15); font-weight: 700; color: var(--encre); }
.recit .recit-corps [class$="-done"].on { display: block; }
.recit .recit-corps [class$="-quote"] > :first-child, .recit .recit-corps [class$="-out"] > :first-child, .recit .recit-corps [class$="-q"] > :first-child, .recit .recit-corps [class$="-key-in"] > :first-child, .recit .recit-corps [class$="-tool"] > :first-child { margin-top: 0; }
.recit .recit-corps [class$="-quote"] > :last-child, .recit .recit-corps [class$="-out"] > :last-child, .recit .recit-corps [class$="-q"] > :last-child, .recit .recit-corps [class$="-key-in"] > :last-child, .recit .recit-corps [class$="-tool"] > :last-child { margin-bottom: 0; }

/* ---------- Rubrique : l'en-tête, le compte, la description ---------- */
.rubrique-tete { position: relative; isolation: isolate; padding: 56px 0 48px; overflow: clip; }
.rubrique-tete::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(42% 60% at 80% 40%, rgba(243, 207, 195, .9) 0%, rgba(243, 207, 195, 0) 100%); }
.rubrique-tete::after { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; border-radius: 50%; left: -200px; bottom: -300px; border: 1.5px solid rgba(201, 64, 42, .22); pointer-events: none; }
.rubrique-tete-cadre { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: center; max-width: 1320px; margin: 0 auto; padding: 0 var(--gouttiere); }
.rubrique-tete-sur { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 12px; font-size: var(--t-13); font-weight: 700; color: var(--pavot); }
.rubrique-tete-sur .pic { font-size: 18px; }
.rubrique-h1 { font-size: var(--t-70); line-height: .98; letter-spacing: -.005em; margin: 0 0 16px; }
.rubrique-compte { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 8px 16px 8px 12px; border-radius: var(--r-pilule); background: var(--blanc); border: 1px solid var(--filet); font-size: var(--t-13); font-weight: 600; color: var(--encre-2); }
.rubrique-compte .pic { color: var(--pavot); }
.rubrique-desc { max-width: 34em; font-size: var(--t-20); line-height: 1.5; color: var(--encre-2); }
.rubrique-desc p { margin: 0 0 .6em; }
.rubrique-desc > :last-child { margin-bottom: 0; }
.rubrique-rond { width: min(380px, 100%); aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; margin-left: auto; border: 14px solid var(--encre); box-shadow: var(--ombre-loupe), inset 0 0 0 3px var(--papier); background: var(--encre); }
.rubrique-rond img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.rubrique-corps { padding: 24px 0 96px; }
.rubrique-fond { padding: 0 0 96px; }
.rubrique-fond-cadre { max-width: 900px; margin: 0 auto; padding: 36px var(--gouttiere); background: var(--papier-2); border-radius: var(--r-fiche); font-size: var(--t-17); line-height: 1.65; color: var(--encre-2); }
.rubrique-fond-cadre h2 { font-size: var(--t-30); margin: 0 0 14px; color: var(--encre); }
.rubrique-fond-cadre h3 { font-size: var(--t-24); margin: 1.2em 0 .5em; color: var(--encre); }
.rubrique-fond-cadre p { margin: 0 0 1em; }
.rubrique-fond-cadre ul { list-style: disc; padding-left: 1.2em; margin: 0 0 1em; }
.rubrique-fond-cadre > :last-child { margin-bottom: 0; }

/* ---------- Contact ---------- */
.contact-chapo { max-width: 36em; margin: 0 0 36px; font-size: var(--t-20); line-height: 1.5; color: var(--encre-2); }
.contact-grille { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.contact-mots { display: flex; flex-direction: column; gap: 16px; }
.contact-bloc { position: relative; padding: 22px 24px 22px 72px; background: var(--papier); border-radius: var(--r-fiche); }
.contact-bloc-pic { position: absolute; left: 20px; top: 22px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--encre); color: var(--papier); font-size: 18px; }
.contact-bloc h2 { font-size: var(--t-24); margin: 0 0 6px; }
.contact-bloc p { margin: 0; font-size: var(--t-15); line-height: 1.55; color: var(--encre-2); }
.contact-bloc a { color: var(--pavot-sombre); text-decoration: underline; text-decoration-color: var(--rose-2); text-underline-offset: 3px; }
.contact-form { background: var(--blanc); border: 1.5px solid var(--filet); border-radius: var(--r-fiche); padding: 28px; box-shadow: var(--ombre-douce); }
/* Contact Form 7 pose ses champs dans des p avec des br : flexbox sur le p, br caché */
.wpcf7-form p { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.wpcf7-form br { display: none; }
.wpcf7-form label { font-size: var(--t-13); font-weight: 600; color: var(--encre-2); }
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wpcf7-form textarea, .wpcf7-form select { width: 100%; min-height: 48px; padding: 12px 16px; border: 1.5px solid var(--filet); border-radius: var(--r-vignette); background: var(--papier); color: var(--encre); font: inherit; font-size: var(--t-15); outline: 2px solid transparent; outline-offset: -3px; }
.wpcf7-form textarea { min-height: 180px; resize: vertical; }
.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder { color: var(--gris); }
.wpcf7-form input:focus-visible, .wpcf7-form textarea:focus-visible { outline-color: var(--pavot); border-color: var(--pavot); }
/* le bouton d'envoi est un input : qualifié, sinon il hérite du style des champs */
input.wpcf7-submit { align-self: flex-start; width: auto; min-height: 50px; padding: 0 28px; border: 0; border-radius: var(--r-pilule); background: var(--pavot); color: var(--papier); font: inherit; font-size: var(--t-15); font-weight: 600; cursor: pointer; box-shadow: 0 10px 22px -10px rgba(201, 64, 42, .7); transition: background-color .2s, transform .25s var(--sortie); }
input.wpcf7-submit:hover { background: var(--pavot-sombre); transform: translateY(-2px); }
input.wpcf7-submit:focus-visible { outline: 2px solid var(--pavot); outline-offset: 3px; }
input.wpcf7-submit:disabled { opacity: .55; cursor: not-allowed; }
.wpcf7-spinner { margin-left: 12px; }
.wpcf7-not-valid-tip { font-size: var(--t-13); color: var(--pavot-sombre); }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border: 1.5px solid var(--rose-2); border-radius: var(--r-vignette); color: var(--encre); }

/* ---------- Fiche auteur et plan du site ---------- */
.fiche { margin: 8px 0 36px; padding: 32px; background: var(--rose-3); border-radius: var(--r-fiche); }
.fiche-cadre { display: grid; grid-template-columns: 180px 1fr; gap: 36px; align-items: center; }
.fiche-articles { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--filet); }
.fiche-liste { display: flex; flex-direction: column; }
.fiche-liste li { border-bottom: 1px solid var(--filet); }
.fiche-liste a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px 14px; padding: 12px 0; }
.fiche-liste .pic { color: var(--rose-2); transition: transform .3s var(--sortie), color .2s; }
.fiche-liste a:hover .pic { color: var(--pavot); transform: translateX(4px); }
.fiche-liste-titre { font-family: var(--serif); font-size: var(--t-20); line-height: 1.2; color: var(--encre); transition: color .2s; }
.fiche-liste a:hover .fiche-liste-titre { color: var(--pavot-sombre); }
.fiche-liste-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: flex-end; }
.plan { display: flex; flex-direction: column; gap: 40px; margin-top: 8px; }
.plan-h2 { display: flex; align-items: center; gap: 12px; font-size: var(--t-36); margin: 0 0 10px; }
.plan-h2 a { display: inline-flex; align-items: center; gap: 12px; transition: color .2s; }
.plan-h2 a:hover { color: var(--pavot-sombre); }
.plan-h2 .pic { color: var(--pavot); font-size: 28px; }
.plan-compte { font-family: var(--sans); font-size: var(--t-13); font-weight: 600; color: var(--encre-2); padding: 5px 12px; border: 1px solid var(--filet); border-radius: var(--r-pilule); }

@media (max-width: 1100px) {
  .rubrique-tete-cadre { grid-template-columns: 1fr; }
  .rubrique-rond { width: min(280px, 100%); margin: 0; }
}
@media (max-width: 860px) {
  .contact-grille { grid-template-columns: 1fr; gap: 28px; }
  .fiche-cadre { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .fiche-liste a { grid-template-columns: auto 1fr; }
  .fiche-liste-meta { grid-column: 2; justify-content: flex-start; }
  .rubrique-tete { padding: 32px 0 32px; }
}

/* Le corps de l'article et le sommaire prennent toute la largeur de la colonne. */
.recit-corps > p, .recit-corps > ul, .recit-corps > ol, .recit-corps > h2, .recit-corps > h3, .recit-corps #ez-toc-container { max-width: none; width: 100%; }
