/*
Theme Name:   Avant d'Acheter Child
Theme URI:    https://everydayfemininelife.org
Description:  Guides d'achat pour les familles francaises - theme enfant GeneratePress. Prototype Banc d'Essai / Fiche de Controle. Frank Ruhl Libre + Asap + Martian Mono ; palette craie, encre bleu-acier et framboise ; case carree, tableau editorial et etiquette en CSS.
Author:       Avant d'Acheter
Template:     generatepress
Version:      1.0.0
Text Domain:  everydayfemininelife-child
*/

/* ============================================================
   AVANT D'ACHETER - SYSTEME DE DESIGN
   Prototype : Banc d'Essai / Fiche de Controle (editorial de
   laboratoire de consommation).
   Trois signatures : la case carree (puce de controle en CSS pur),
   le tableau editorial (en-tete mono, lignes zebrees, regletes
   verticales) et l'etiquette (petite etiquette de prix en clip-path).
   Bandeau en split asymetrique 63 / 37, selecteur de huit rayons,
   mosaique dense quatre colonnes, bandes sombres encre.
   ANGLE DROIT PARTOUT, aucune ombre portee sur les panneaux.
   Aucun masque courbe, aucune trame textile, aucune courbe de niveau,
   aucune fiche-terrain, aucun calendrier, aucun numero de chapitre,
   aucun timbre, aucun filet dore, aucune animation JS.
   Aucune etoile, aucune note, aucun badge : la niche interdit
   toute autorite de notation inventee.
   ============================================================ */

:root{
  /* papier et surfaces (neutre froid, ni beige ni vert) */
  --craie:#F4F4F1; --blanc:#FFFFFF;
  /* accent unique : magenta froid tres sature */
  --framboise:#A81B5E; --framboise-fonce:#8A1550; --framboise-clair:#E58FB4;
  /* bandes sombres : bleu-acier tres sombre */
  --encre:#17222B; --encre-profond:#0F181F;
  /* texte secondaire et filets */
  --doux:#55636D; --regletee:#D7D9D4;

  /* un seul systeme de forme : l'angle droit */
  --r:0px; --r-sm:2px;

  --font-serif:'Frank Ruhl Libre', Georgia, 'Times New Roman', serif;
  --font-sans:'Asap', 'Segoe UI', Tahoma, sans-serif;
  --font-mono:'Martian Mono', 'Courier New', monospace;

  --max-w:1280px; --max-w-wide:1440px; --max-w-narrow:760px;

  /* alias attendus par les composants du socle (article / archive) */
  --color-primary:#A81B5E;
  --color-primary-dark:#8A1550;
  --color-primary-soft:#E58FB4;
  --color-bg:#F4F4F1;
  --color-bg-deep:#FFFFFF;
  --color-accent:#A81B5E;
  --color-accent-soft:#E58FB4;
  --color-accent-deep:#8A1550;
  --color-charcoal:#17222B;
  --color-ink:#17222B;
  --color-muted:#55636D;
  --color-line:#D7D9D4;
  --color-white:#FFFFFF;
  --radius-sm:0px; --radius-md:0px; --radius-lg:0px; --radius-xl:0px;
}

/* ============================================================ GLOBAL */
body, .entry-content, .widget{
  font-family:var(--font-sans); color:var(--encre); background:var(--craie);
  font-size:17px; line-height:1.7;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-serif); font-weight:700; color:var(--encre);
  line-height:1.16; letter-spacing:-0.004em;
}
h1{ font-size:clamp(2rem,4.2vw,3rem); }
h2{ font-size:clamp(1.7rem,3vw,2.35rem); }
h3{ font-size:1.3rem; }
a{ color:var(--framboise-fonce); text-decoration:none; transition:color .18s; }
a:hover{ color:var(--framboise); }
p{ margin:0 0 1.1em; }
img{ max-width:100%; height:auto; }
figure{ margin:2em 0; }
figcaption{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--doux); margin-top:.6rem; text-align:center;
}

/* ============================================================
   SIGNATURE 1 : LA CASE CARREE
   Carre CSS vide, 1.5px encre. Jamais d'emoji, jamais de coche dessinee.
   ============================================================ */
.ad-case{
  display:inline-block; width:13px; height:13px; border:1.5px solid var(--encre);
  background:transparent; flex:none; vertical-align:-1px;
}
.ad-case.acc{ border-color:var(--framboise); }
.ad-case.clair{ border-color:var(--framboise-clair); }

/* surtitre (kicker) - alias tb-eyebrow pour article / archive */
.ad-kick, .tb-eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--font-mono); font-size:.6rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--framboise);
}
.ad-kick.clair, .tb-eyebrow.clair{ color:var(--framboise-clair); }

/* ============================================================
   SIGNATURE 3 : L'ETIQUETTE (encoche sur le bord droit)
   Porte des informations d'INTERVALLE (fourchette) et des noms de rayon.
   Jamais un prix ferme, jamais une note, jamais un badge de classement.
   ============================================================ */
.ad-etiq{
  display:inline-block; background:var(--encre); color:#F7F7F5;
  font-family:var(--font-mono); font-size:.58rem; font-weight:500;
  letter-spacing:.04em; text-transform:uppercase;
  padding:.36rem 1.35rem .36rem .7rem;
  clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%);
}
.ad-etiq.acc{ background:var(--framboise); color:#FFF; }

/* ligne de donnees REELLES sous les cartes : rayon, date, duree de lecture.
   Aucune donnee inventee n'est affichee ici. */
.ad-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-top:.7rem;
  font-family:var(--font-mono); font-size:.56rem; letter-spacing:.02em;
  text-transform:uppercase; color:var(--doux);
}
.ad-meta b{ color:var(--framboise-fonce); font-weight:600; }
.ad-meta i{ display:block; width:12px; height:1px; background:var(--regletee); flex:none; font-style:normal; }
.ad-meta.sombre{ color:rgba(255,255,255,.55); }
.ad-meta.sombre b{ color:var(--framboise-clair); }
.ad-meta.sombre i{ background:rgba(255,255,255,.26); }

/* boutons et liens : angle droit, jamais de gelule, jamais d'orange promotionnel */
.ad-btn{
  display:inline-block; background:var(--encre); color:#F7F7F5;
  border:1.5px solid var(--encre); border-radius:var(--r); cursor:pointer;
  padding:.8rem 1.5rem; font-family:var(--font-mono); font-weight:500;
  font-size:.62rem; letter-spacing:.05em; text-transform:uppercase;
  transition:background .18s, color .18s, border-color .18s;
}
.ad-btn:hover{ background:var(--framboise); border-color:var(--framboise); color:#FFF; }
.ad-btn.ligne{ background:transparent; color:var(--encre); border-color:var(--regletee); }
.ad-btn.ligne:hover{ background:transparent; border-color:var(--framboise); color:var(--framboise); }
.ad-lire{
  display:inline-block; font-family:var(--font-mono); font-size:.6rem; font-weight:500;
  letter-spacing:.05em; text-transform:uppercase; color:var(--framboise-fonce);
  border-bottom:1.5px solid var(--framboise); padding-bottom:2px;
}

/* liste de controle (cases carrees + regletes horizontales fines) */
.ad-controle{ list-style:none; margin:0; padding:0; }
.ad-controle li{
  display:flex; gap:.7rem; align-items:flex-start; padding:.6rem 0;
  border-top:1px solid var(--regletee); font-size:.95rem; line-height:1.5;
  list-style:none; margin:0;
}
.ad-controle li:first-child{ border-top:0; }
.ad-controle li .ad-case{ margin-top:.32rem; }

/* repli d'occupation : jamais de trou d'image */
.ad-ph{
  display:block; width:100%; height:100%; min-height:180px;
  background:var(--craie); border:1px solid var(--regletee);
}

/* ============================================================ BANDEAU-TITRE */
.ad-mast{ background:var(--craie); border-bottom:1.5px solid var(--encre); padding:1.5rem 0 1.2rem; }
.ad-mast-in{
  max-width:var(--max-w); margin:0 auto; padding:0 1.8rem; display:flex;
  align-items:flex-end; justify-content:space-between; gap:1.4rem; flex-wrap:wrap;
}
.ad-np{
  font-family:var(--font-serif); font-weight:800; font-size:clamp(1.7rem,3.3vw,2.4rem);
  letter-spacing:-0.018em; color:var(--encre); display:block;
}
.ad-np:hover{ color:var(--framboise-fonce); }
.ad-np-tag{
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--doux); margin-top:.45rem;
}
.ad-mast-lien{ text-align:right; padding-bottom:.3rem; }
.ad-mast-lien a{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.05em;
  text-transform:uppercase; font-weight:500; color:var(--encre);
  border-bottom:1.5px solid var(--framboise); padding-bottom:3px;
}
.ad-mast-lien a:hover{ color:var(--framboise); }

/* ============================================================ LAYOUT / NAV */
.ad-main{ display:block !important; width:100%; }
.ad-main > *{ width:100%; }

.ad-nav{ background:var(--blanc); border-bottom:1px solid var(--regletee); width:100%; }
.ad-nav-in{ max-width:var(--max-w); margin:0 auto; padding:0 1.4rem; }
.ad-nav-menu{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:space-between; }
.ad-nav-menu li{ list-style:none; margin:0; padding:0; }
.ad-nav-menu li a{
  display:block; padding:.8rem .5rem; font-family:var(--font-sans); font-size:.665rem;
  font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--encre);
  white-space:nowrap; border-bottom:2px solid transparent; transition:color .15s, border-color .15s;
}
.ad-nav-menu li a:hover{ color:var(--framboise); border-bottom-color:var(--framboise); }
.ad-nav-menu li.current-menu-item > a{ color:var(--framboise); border-bottom-color:var(--framboise); }

/* ============================================================ COQUE DE SECTION */
.ad-wrap{ max-width:var(--max-w); margin:0 auto; padding:0 1.8rem; }
.ad-sec{ padding:4.6rem 0; }
.ad-blanc{ background:var(--blanc); }
.ad-craie{ background:var(--craie); }
.ad-sec-head{ max-width:62ch; margin-bottom:2rem; }
.ad-sec-head .ad-kick{ margin-bottom:.6rem; }
.ad-sec-head h2{ font-size:clamp(1.7rem,3vw,2.35rem); }
.ad-sec-head p{ color:var(--doux); margin:.7rem 0 0; font-size:1rem; }

/* ============================================================ 1. BANDEAU (split 63 / 37) */
.ad-hero{ padding:2.6rem 0 3.4rem; background:var(--craie); }
.ad-hero-in{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:2rem; align-items:stretch; }
.ad-hero-img img, .ad-hero-img .ad-ph{
  width:100%; aspect-ratio:3/2; max-height:560px; object-fit:cover;
  border-radius:var(--r); min-height:0;
}
.ad-panneau{
  background:var(--blanc); border:1.5px solid var(--encre);
  padding:1.7rem 1.7rem 1.6rem; display:flex; flex-direction:column;
}
.ad-panneau h1{ font-size:clamp(1.5rem,2.25vw,2.05rem); margin:.75rem 0 .7rem; line-height:1.15; }
.ad-panneau .ad-sous{ font-size:.92rem; line-height:1.58; color:var(--doux); margin:0 0 1.1rem; }
.ad-panneau .ad-verif-t{
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--encre); border-top:1.5px solid var(--encre); padding-top:.8rem;
  margin-bottom:.2rem; font-weight:600;
}
.ad-panneau .ad-controle{ margin-bottom:1.1rem; }
.ad-panneau .ad-lire{ margin-top:auto; align-self:flex-start; }

/* ============================================================
   2. SIGNATURE 2 : LE TABLEAU EDITORIAL (module d'accueil)
   Contenu 100 % editorial : la methode reelle, aucun produit,
   aucune marque, aucun prix.
   ============================================================ */
.ad-tabl{ width:100%; overflow-x:auto; border-top:1.5px solid var(--encre); }
table.ad-t{ width:100%; min-width:680px; border-collapse:collapse; font-size:.93rem; }
table.ad-t th{
  font-family:var(--font-mono); font-size:.56rem; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; color:var(--encre); text-align:left; padding:.85rem 1.1rem;
  border-bottom:1.5px solid var(--encre); border-left:1px solid var(--regletee); vertical-align:bottom;
}
table.ad-t th:first-child, table.ad-t td:first-child{ border-left:0; }
table.ad-t td{
  padding:.95rem 1.1rem; border-left:1px solid var(--regletee);
  vertical-align:top; line-height:1.5;
}
table.ad-t tbody tr:nth-child(odd){ background:var(--craie); }
table.ad-t tbody tr:nth-child(even){ background:var(--blanc); }
table.ad-t td:first-child{ font-family:var(--font-serif); font-weight:700; font-size:1rem; width:26%; }
table.ad-t td:nth-child(2){ color:var(--doux); width:32%; }
table.ad-t td:last-child{ color:var(--framboise-fonce); }
.ad-tabl-note{
  display:flex; gap:.9rem; align-items:flex-start; margin-top:1.3rem;
  font-size:.88rem; color:var(--doux); max-width:78ch;
}
.ad-tabl-note .ad-etiq{ flex:none; margin-top:.15rem; }

/* ============================================================ 3. NOS RAYONS */
.ad-rgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem 1.5rem; }
.ad-rc{ display:block; color:inherit; }
.ad-rc img, .ad-rc .ad-ph{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-sm);
  border:1px solid var(--regletee); transition:border-color .2s; min-height:0;
}
.ad-rc:hover img{ border-color:var(--encre); }
.ad-rc-t{ display:flex; gap:.55rem; align-items:baseline; margin-top:.8rem; }
.ad-rc-t .ad-case{ margin-top:.3rem; }
.ad-rc strong{ font-family:var(--font-serif); font-size:1.06rem; font-weight:700; line-height:1.25; }
.ad-rc em{
  display:block; font-style:normal; font-size:.86rem; color:var(--doux);
  line-height:1.45; margin-top:.3rem; min-height:2.9em;
}
.ad-rc span{
  display:block; margin-top:.4rem; font-family:var(--font-mono); font-size:.55rem;
  letter-spacing:.04em; text-transform:uppercase; color:var(--doux);
}
.ad-rc:hover strong{ color:var(--framboise); }

/* ============================================================ 4. LE GUIDE DU MOMENT */
.ad-une-img img, .ad-une-img .ad-ph{ width:100%; aspect-ratio:21/9; max-height:500px; object-fit:cover; min-height:0; }
.ad-une-bas{
  display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:2.6rem;
  border-top:1.5px solid var(--encre); padding-top:1.4rem; margin-top:1.4rem;
}
.ad-une-bas h3{ font-size:clamp(1.5rem,2.5vw,2.1rem); margin:.7rem 0 0; }
.ad-une-bas h3 a{ color:inherit; }
.ad-une-bas h3 a:hover{ color:var(--framboise); }
.ad-une-d{ border-left:1px solid var(--regletee); padding-left:2.6rem; }
.ad-une-d p{ color:var(--doux); font-size:.96rem; margin:0 0 1rem; }

/* ============================================================ 5. BANDE SOMBRE (citation) */
.ad-sombre{ background:var(--encre); color:#F2F4F5; padding:4.4rem 0; }
.ad-sombre .ad-cit-in{ max-width:900px; }
.ad-sombre blockquote{
  margin:1rem 0 1.4rem; padding:0; border:0; background:transparent;
  font-family:var(--font-serif); font-weight:500; font-size:clamp(1.35rem,2.6vw,2rem);
  line-height:1.36; color:#FFF;
}
.ad-sombre .ad-sig{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--framboise-clair); font-weight:500;
}

/* ============================================================ 6. MOSAIQUE */
.ad-mos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; align-items:start; }
.ad-mi{
  display:flex; flex-direction:column; background:var(--blanc);
  border:1px solid var(--regletee); color:inherit; transition:border-color .18s;
}
.ad-mi:hover{ border-color:var(--encre); }
.ad-mi img, .ad-mi .ad-ph{ width:100%; aspect-ratio:4/3; object-fit:cover; min-height:0; }
.ad-mi.large{ grid-column:span 2; }
.ad-mi.large img, .ad-mi.large .ad-ph{ aspect-ratio:16/9; }
.ad-mi.haute img, .ad-mi.haute .ad-ph{ aspect-ratio:3/4; }
.ad-mi-b{ display:flex; flex-direction:column; flex:1; padding:1rem 1.15rem 1.15rem; }
.ad-mi-b .ad-r{
  font-family:var(--font-mono); font-size:.54rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--framboise); margin-bottom:.4rem; font-weight:500;
}
.ad-mi-b h3{ font-size:1.08rem; line-height:1.28; }
.ad-mi.large .ad-mi-b h3{ font-size:1.42rem; }
.ad-mi-b .ad-ex{ font-size:.9rem; color:var(--doux); line-height:1.5; margin-top:.45rem; }
.ad-mi-b .ad-meta{ margin-top:auto; padding-top:.65rem; }
.ad-mi:hover h3{ color:var(--framboise); }
.ad-plus{ text-align:center; margin-top:2.6rem; }

/* ============================================================ 7. MA METHODE */
.ad-meth-in{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:3rem; align-items:start; }
.ad-meth-in figure{ margin:0; }
.ad-meth-in figure img, .ad-meth-in figure .ad-ph{
  width:100%; aspect-ratio:4/5; object-fit:cover; border:1.5px solid var(--encre); min-height:0;
}
.ad-meth-in figcaption{
  margin-top:.7rem; text-align:left; font-family:var(--font-mono); font-size:.55rem;
  letter-spacing:.04em; text-transform:uppercase; color:var(--doux);
}
.ad-meth h2{ font-size:clamp(1.65rem,2.8vw,2.25rem); margin-bottom:.8rem; }
.ad-meth p{ color:var(--doux); max-width:62ch; font-size:.98rem; }
.ad-meth .ad-controle{
  max-width:56ch; margin:1.4rem 0 1.6rem;
  border-top:1.5px solid var(--encre); border-bottom:1.5px solid var(--encre);
}
.ad-meth .ad-controle li{ font-size:.96rem; color:var(--encre); }

/* ============================================================ 8. PAR RAYON (bande sombre) */
.ad-bande{ background:var(--encre-profond); color:#F2F4F5; padding:4.4rem 0; }
.ad-bande h2{ color:#FFF; }
.ad-bande .ad-sec-head p{ color:rgba(255,255,255,.6); }
.ad-bgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.6rem; }
.ad-bc{ display:block; color:#F2F4F5; }
.ad-bc img, .ad-bc .ad-ph{ width:100%; aspect-ratio:3/2; object-fit:cover; min-height:0; }
.ad-bc b{
  display:flex; gap:.5rem; align-items:center; margin-top:.8rem;
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--framboise-clair); font-weight:500;
}
.ad-bc h4{
  font-family:var(--font-serif); font-size:1.06rem; line-height:1.3;
  margin-top:.4rem; color:#FFF; font-weight:700;
}
.ad-bc:hover h4{ color:var(--framboise-clair); }

/* ============================================================ 9. TROIS ENGAGEMENTS */
.ad-eng{
  background:var(--craie); border-top:1px solid var(--regletee);
  border-bottom:1px solid var(--regletee); padding:3rem 0;
}
.ad-egrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.2rem; list-style:none; margin:0; padding:0; }
.ad-egrid li{ border-top:2px solid var(--encre); padding-top:.8rem; list-style:none; margin:0; }
.ad-egrid strong{
  display:flex; gap:.55rem; align-items:baseline;
  font-family:var(--font-serif); font-size:1.06rem; font-weight:700;
}
.ad-egrid p{ font-size:.9rem; color:var(--doux); margin:.4rem 0 .5rem; line-height:1.5; }

/* ============================================================ 10. LA LETTRE */
.ad-lettre{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--blanc);
  align-items:stretch; border-top:1px solid var(--regletee);
}
.ad-lettre-img img, .ad-lettre-img .ad-ph{ width:100%; height:100%; min-height:340px; object-fit:cover; }
.ad-lettre-c{ padding:3.4rem 3.2rem; display:flex; flex-direction:column; justify-content:center; }
.ad-lettre-c h2{ font-size:clamp(1.55rem,2.6vw,2.1rem); margin-bottom:.7rem; }
.ad-lettre-c p{ color:var(--doux); max-width:48ch; margin:0 0 1.3rem; font-size:.96rem; }
.ad-form{ display:flex; gap:.5rem; flex-wrap:wrap; max-width:480px; }
.ad-form input{
  flex:1 1 220px; padding:.82rem 1rem; border:1.5px solid var(--encre); border-radius:var(--r);
  background:var(--blanc); font-family:var(--font-sans); font-size:.94rem; color:var(--encre);
}
.ad-form input::placeholder{ color:#6B7883; }
.ad-form input:focus{ outline:2px solid var(--framboise); outline-offset:1px; border-color:var(--framboise); }
.ad-note{ font-size:.8rem; color:var(--doux); margin-top:.85rem; }
.ad-note a{ text-decoration:underline; }

/* ============================================================ PIED DE PAGE */
.site-footer{
  background:var(--encre-profond); color:#EDEFF1; font-family:var(--font-sans);
  padding:3.4rem 1.8rem 1.5rem;
}
.ad-foot-in{ max-width:var(--max-w); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:2.2rem; }
.ad-foot-marque{ font-family:var(--font-serif); font-weight:800; font-size:1.5rem; color:#FFF; margin-bottom:.4rem; }
.ad-foot-blurb{ font-size:.88rem; color:rgba(255,255,255,.62); line-height:1.6; margin:.4rem 0 1rem; max-width:40ch; }
.ad-foot-copy{ font-size:.78rem; color:rgba(255,255,255,.42); margin:0; }
.site-footer h5{
  font-family:var(--font-mono); font-size:.56rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--framboise-clair); margin:0 0 .8rem; font-weight:500;
}
.site-footer ul{ list-style:none; margin:0; padding:0; line-height:2; }
.site-footer ul a{ color:#EDEFF1; font-size:.9rem; text-decoration:none; }
.site-footer ul a:hover{ color:var(--framboise-clair); }
.ad-foot-rgpd{
  max-width:var(--max-w); margin:2.2rem auto 0; padding-top:1.3rem;
  border-top:1px solid rgba(255,255,255,.14); font-size:.76rem; color:rgba(255,255,255,.55);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.ad-foot-rgpd a{ color:rgba(255,255,255,.8); text-decoration:underline; }

/* ============================================================ ARTICLE */
/* Le gabarit d'article est etroit et centre. Les pages d'information ont leur
   propre gabarit (.ad-fiche-corps) : on les exclut ici, sinon la regle
   « .page .entry-content » l'emporterait en specificite et ecraserait la fiche. */
.single .entry-content:not(.ad-fiche-corps),
.page .entry-content:not(.ad-fiche-corps){
  max-width:var(--max-w-narrow); margin:0 auto; font-size:18px; line-height:1.78;
}
.single .entry-content > p:first-of-type{ font-size:1.14rem; line-height:1.66; color:var(--encre); }
.tb-post-header{ max-width:var(--max-w-narrow); margin:2.5rem auto 1.5rem; padding:0 1.8rem; }
.tb-breadcrumb{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.04em; text-transform:uppercase; color:var(--doux); margin-bottom:1rem; }
.tb-breadcrumb a{ color:var(--framboise-fonce); }
.tb-post-cat{
  display:inline-block; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.04em;
  text-transform:uppercase; color:#FFF; background:var(--framboise); border-radius:var(--r);
  padding:.36rem 1.35rem .36rem .7rem; text-decoration:none; font-weight:500; margin-bottom:1rem;
  clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%);
}
.tb-post-cat:hover{ background:var(--framboise-fonce); color:#FFF; }
.tb-post-title{ font-size:clamp(2rem,3.8vw,2.85rem); line-height:1.14; margin:.3rem 0 1.2rem; }
.tb-post-meta{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.02em; text-transform:uppercase;
  color:var(--doux); display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; align-items:center;
  border-top:1px solid var(--regletee); border-bottom:1px solid var(--regletee); padding:.7rem 0;
}
.tb-post-meta strong{ color:var(--encre); font-weight:600; }
.tb-post-meta a{ color:var(--framboise-fonce); }
.tb-post-cover{ max-width:var(--max-w-wide); margin:2rem auto 3rem; padding:0 1.8rem; }
.tb-post-cover img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r); }

.ftc-disclosure{
  max-width:var(--max-w-narrow); margin:0 auto 2.5rem; background:var(--blanc);
  border:1px solid var(--regletee); border-left:4px solid var(--framboise); border-radius:var(--r);
  padding:1rem 1.25rem; font-size:.94rem; color:var(--encre);
}
.ftc-disclosure p{ margin:0; }
.ftc-disclosure a{ color:var(--framboise-fonce); text-decoration:underline; }
.entry-content .ftc-disclosure{ margin-left:0; margin-right:0; }

/* ============================================================
   SYSTEME DE TABLEAU DANS LE CORPS DES ARTICLES
   Chaque guide contient un tableau comparatif : c'est le coeur du site.
   Le tableau devient scrollable horizontalement dans son propre
   conteneur pour ne JAMAIS crever la page en mobile.
   ============================================================ */
/* Tout le systeme est scope avec :not(.ad-identite) : le bloc d'identite des
   pages legales est aussi un <table> dans .entry-content, mais il a son propre
   traitement (deux colonnes de definitions) et ne doit rien heriter d'ici. */
/* Le defilement est porte par un CONTENEUR (.ad-tabl-wrap, injecte par
   functions.php autour de chaque <table> d'article) et jamais par la table
   elle-meme : une table en display:block casse l'alignement des colonnes
   entre l'en-tete et le corps. */
.entry-content .ad-tabl-wrap{
  width:100%; max-width:100%; overflow-x:auto; margin:2.2rem 0;
  -webkit-overflow-scrolling:touch;
}
.entry-content table:not(.ad-identite){
  width:100%; max-width:none; min-width:600px; table-layout:auto;
  border-collapse:collapse; margin:2.2rem 0; font-size:.94rem;
  font-family:var(--font-sans); border-top:1.5px solid var(--encre);
}
.entry-content .ad-tabl-wrap > table:not(.ad-identite){ margin:0; }
/* meme traitement pour le bloc tableau de l'editeur (figure.wp-block-table) */
.entry-content figure.wp-block-table{
  width:100%; max-width:100%; overflow-x:auto; margin:2.2rem 0;
  -webkit-overflow-scrolling:touch;
}
.entry-content figure.wp-block-table > table{ margin:0; }
.entry-content figure.wp-block-table figcaption{
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--doux); padding-top:.6rem;
}
/* Repli : table sans conteneur (contenu colle a la main, widget...).
   On la laisse se comprimer plutot que de crever la page ; les colonnes
   restent alignees car la table garde display:table. */
@media (max-width:760px){
  .entry-content > table:not(.ad-identite){ min-width:0; font-size:.86rem; }
  .entry-content > table:not(.ad-identite) th,
  .entry-content > table:not(.ad-identite) td{ padding:.7rem .55rem; }
}
/* le <caption> doit rester pleine largeur : avec display:block sur la table,
   un caption-side classique se retrouve enferme dans une colonne etroite. */
.entry-content table:not(.ad-identite) caption{
  display:block; width:100%; text-align:left;
  font-family:var(--font-mono); font-size:.58rem;
  letter-spacing:.05em; text-transform:uppercase; color:var(--doux); padding-bottom:.6rem;
}
.entry-content table:not(.ad-identite) th{
  font-family:var(--font-mono); font-size:.56rem; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; color:var(--encre); text-align:left; padding:.85rem 1rem;
  border-bottom:1.5px solid var(--encre); border-left:1px solid var(--regletee);
  vertical-align:bottom; background:var(--blanc);
}
.entry-content table:not(.ad-identite) td{
  padding:.9rem 1rem; border-left:1px solid var(--regletee);
  vertical-align:top; line-height:1.5; color:var(--encre);
}
.entry-content table:not(.ad-identite) th:first-child,
.entry-content table:not(.ad-identite) td:first-child{ border-left:0; }
.entry-content table:not(.ad-identite) tbody tr:nth-child(odd){ background:var(--craie); }
.entry-content table:not(.ad-identite) tbody tr:nth-child(even){ background:var(--blanc); }
/* colonne de verdict : le dernier critere se lit en framboise.
   Deux niveaux seulement (encre / framboise), jamais de feu tricolore vert-rouge. */
.entry-content table:not(.ad-identite) td:last-child{ color:var(--framboise-fonce); }
/* premiere colonne en <th scope="row"> : nom du critere, en serif */
.entry-content table:not(.ad-identite) tbody th{
  font-family:var(--font-serif); font-size:1rem; font-weight:700;
  text-transform:none; letter-spacing:0; background:transparent; border-bottom:0;
}

/* puces en case carree dans le corps des articles (jamais d'emoji) */
.entry-content ul{ list-style:none; padding-left:0; margin:0 0 1.4rem; }
.entry-content ul li{
  position:relative; padding-left:1.55rem; margin-bottom:.55rem; list-style:none;
}
.entry-content ul li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:12px; height:12px; border:1.5px solid var(--encre); background:transparent;
}
.entry-content ol{ padding-left:1.4rem; margin:0 0 1.4rem; }
.entry-content ol li{ margin-bottom:.55rem; }
.entry-content ol li::marker{ font-family:var(--font-mono); font-size:.82em; color:var(--framboise); }

/* bloc « A verifier avant de commander » dans un article :
   <ul class="ad-verif"> ... </ul> (encadre, reconnaissable) */
.entry-content ul.ad-verif{
  border:1.5px solid var(--encre); background:var(--blanc);
  padding:1.3rem 1.4rem .9rem; margin:2rem 0;
}
.entry-content ul.ad-verif::before{
  content:"À vérifier avant de commander"; display:block;
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--encre); font-weight:600; border-bottom:1.5px solid var(--encre);
  padding-bottom:.7rem; margin-bottom:.9rem;
}
.entry-content ul.ad-verif li{ border-top:1px solid var(--regletee); padding-top:.55rem; }
.entry-content ul.ad-verif li:first-of-type{ border-top:0; padding-top:0; }
.entry-content ul.ad-verif li::before{ top:.75em; }
.entry-content ul.ad-verif li:first-of-type::before{ top:.2em; }

.single .entry-content blockquote, .page .entry-content blockquote{
  border-left:0; border-top:1.5px solid var(--encre); border-bottom:1.5px solid var(--encre);
  background:transparent; border-radius:var(--r);
  font-family:var(--font-serif); font-style:normal; font-size:clamp(1.2rem,2.2vw,1.55rem);
  line-height:1.42; color:var(--encre); padding:1.4rem 0; margin:2.4rem 0;
}
.entry-content img{ border-radius:var(--r); }
.entry-content a{ text-underline-offset:3px; text-decoration:underline; text-decoration-color:var(--framboise); }

.tb-author-bio{
  max-width:var(--max-w-narrow); margin:4rem auto 2rem; padding:1.8rem;
  background:var(--blanc); border:1.5px solid var(--encre); border-radius:var(--r);
  display:grid; grid-template-columns:88px minmax(0,1fr); gap:1.5rem; align-items:start;
}
@media (max-width:540px){ .tb-author-bio{ grid-template-columns:minmax(0,1fr); } }
.tb-author-avatar{
  width:88px; height:88px; background:var(--encre); color:#F7F7F5; border-radius:var(--r);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-serif); font-weight:800; font-size:1.9rem;
}
.tb-author-bio .tb-eyebrow{ margin-bottom:.4rem; display:inline-flex; }
.tb-author-bio h4{ margin:0 0 .4rem; font-size:1.3rem; }
.tb-author-bio p{ font-size:.95rem; color:var(--doux); margin:0 0 .4rem; line-height:1.6; }
.tb-author-bio a{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.05em; text-transform:uppercase; color:var(--framboise-fonce); }

.tb-related{ max-width:var(--max-w); margin:4rem auto 3rem; padding:0 1.8rem; }
.tb-related h3{ font-size:1.45rem; margin:0 0 1.4rem; padding-bottom:.6rem; border-bottom:1.5px solid var(--encre); }
.tb-related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
@media (max-width:700px){ .tb-related-grid{ grid-template-columns:minmax(0,1fr); } }
.tb-related-card{ text-decoration:none; color:inherit; display:block; border:1px solid var(--regletee); background:var(--blanc); transition:border-color .18s; }
.tb-related-card:hover{ border-color:var(--encre); }
.tb-related-card .tb-related-cover{ aspect-ratio:4/3; overflow:hidden; background:var(--craie); }
.tb-related-cover img{ width:100%; height:100%; object-fit:cover; }
.tb-related-card .tb-related-title{ font-family:var(--font-serif); font-size:1.15rem; line-height:1.3; margin:0; padding:.9rem 1.05rem 1.05rem; }
.tb-related-card:hover .tb-related-title{ color:var(--framboise); }

/* ============================================================ ARCHIVE */
.tb-archive-hero{ background:var(--blanc); padding:3.4rem 1.8rem 3rem; border-bottom:1.5px solid var(--encre); }
.tb-archive-hero-in{ max-width:var(--max-w); margin:0 auto; }
.tb-archive-hero .tb-eyebrow{ margin-bottom:.8rem; display:inline-flex; }
.tb-archive-hero h1{ font-size:clamp(2rem,3.6vw,2.75rem); margin:0 0 .6rem; }
.tb-archive-hero p{ max-width:66ch; margin:0; font-size:1rem; color:var(--doux); line-height:1.6; }
.tb-archive-count{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--doux); margin-bottom:1rem;
}
.tb-archive-feature{ max-width:var(--max-w); margin:3rem auto 0; padding:0 1.8rem; }
.tb-archive-feature .tb-spread{ padding:0 0 2.6rem; border-bottom:1px solid var(--regletee); }
.tb-spread{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:2.6rem; align-items:center; }
@media (max-width:800px){ .tb-spread{ grid-template-columns:minmax(0,1fr); gap:1.6rem; } }
.tb-spread-image{ display:block; overflow:hidden; aspect-ratio:16/10; background:var(--craie); border:1px solid var(--regletee); }
.tb-spread-image img{ width:100%; height:100%; object-fit:cover; }
.tb-spread-text .tb-eyebrow{ margin-bottom:.8rem; display:inline-flex; }
.tb-spread-text h3{ font-size:clamp(1.5rem,2.6vw,2.05rem); line-height:1.18; margin:0 0 1rem; }
.tb-spread-text h3 a{ color:inherit; }
.tb-spread-text h3 a:hover{ color:var(--framboise); }
.tb-spread-excerpt{ font-size:1rem; color:var(--doux); margin-bottom:1.1rem; line-height:1.62; }
.tb-spread-read{
  display:inline-block; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--framboise-fonce); font-weight:500; text-decoration:none;
  border-bottom:1.5px solid var(--framboise); padding-bottom:2px;
}
.tb-archive-grid{
  max-width:var(--max-w); margin:3rem auto; padding:0 1.8rem;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.8rem;
}
@media (max-width:900px){ .tb-archive-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .tb-archive-grid{ grid-template-columns:minmax(0,1fr); } }
.tb-archive-card{ text-decoration:none; color:inherit; display:block; background:var(--blanc); border:1px solid var(--regletee); transition:border-color .18s; }
.tb-archive-card:hover{ border-color:var(--encre); }
.tb-archive-card .tb-archive-cover{ aspect-ratio:3/2; overflow:hidden; background:var(--craie); }
.tb-archive-cover img{ width:100%; height:100%; object-fit:cover; }
.tb-archive-card .tb-archive-title{ font-family:var(--font-serif); font-size:1.2rem; line-height:1.3; margin:0 0 .5rem; padding:1rem 1.1rem 0; }
.tb-archive-card:hover .tb-archive-title{ color:var(--framboise); }
.tb-archive-card .tb-archive-excerpt{ font-size:.93rem; color:var(--doux); line-height:1.55; padding:0 1.1rem; }
.tb-archive-card .ad-meta{ padding:0 1.1rem 1.1rem; }
.tb-archive-empty{ max-width:700px; margin:4rem auto; text-align:center; padding:0 1.8rem; color:var(--doux); }
.tb-archive-pagination{ max-width:var(--max-w); margin:2rem auto 4rem; padding:0 1.8rem; text-align:center; font-family:var(--font-mono); font-size:.7rem; }
.tb-archive-pagination a, .tb-archive-pagination .page-numbers{ color:var(--framboise-fonce); }
.tb-archive-pagination .current{ color:var(--encre); font-weight:700; }

/* ============================================================ LETTRE EN PIED D'ARTICLE */
.ad-post-lettre{
  background:var(--blanc); border-top:1.5px solid var(--encre);
  border-bottom:1px solid var(--regletee); padding:3.2rem 1.8rem;
}
.ad-post-lettre-in{ max-width:var(--max-w-narrow); margin:0 auto; }
.ad-post-lettre .tb-eyebrow{ display:inline-flex; margin-bottom:.6rem; }
.ad-post-lettre h3{ font-size:clamp(1.45rem,2.6vw,1.95rem); margin:0 0 .7rem; }
.ad-post-lettre p{ color:var(--doux); max-width:52ch; margin:0 0 1.3rem; }

/* accessibilite */
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ============================================================ BARRE DE PROGRESSION (CSS pur) */
@supports (animation-timeline: scroll()){
  .ad-progress{
    position:fixed; top:0; left:0; height:3px; width:100%; background:var(--framboise);
    transform-origin:left; transform:scaleX(0); animation:ad-progress linear;
    animation-timeline:scroll(root block); z-index:9999;
  }
  @keyframes ad-progress{ to{ transform:scaleX(1); } }
}

/* ============================================================ RESPONSIVE */
@media (max-width:1040px){
  .ad-nav-menu{ justify-content:flex-start; }
  .ad-hero-in{ grid-template-columns:minmax(0,1fr); gap:0; }
  .ad-hero-img{ border:1.5px solid var(--encre); border-bottom:0; }
  .ad-panneau{ border-top:0; }
  .ad-rgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ad-une-bas{ grid-template-columns:minmax(0,1fr); gap:1.4rem; }
  .ad-une-d{ border-left:0; padding-left:0; border-top:1px solid var(--regletee); padding-top:1.2rem; }
  .ad-mos{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ad-mi.large{ grid-column:span 2; }
  .ad-meth-in{ grid-template-columns:minmax(0,1fr); gap:1.8rem; }
  .ad-meth-in figure{ max-width:260px; }
  .ad-bgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ad-egrid{ grid-template-columns:minmax(0,1fr); gap:1.3rem; }
  .ad-lettre{ grid-template-columns:minmax(0,1fr); }
  .ad-lettre-c{ padding:2.4rem 1.8rem; }
  .ad-foot-in{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width:620px){
  body, .entry-content{ font-size:16px; }
  .ad-sec{ padding:3rem 0; }
  .ad-sombre, .ad-bande, .ad-eng{ padding:3rem 0; }
  .ad-rgrid{ grid-template-columns:minmax(0,1fr); gap:1.6rem; }
  .ad-rc em{ min-height:0; }
  .ad-mos{ grid-template-columns:minmax(0,1fr); }
  .ad-mi.large{ grid-column:span 1; }
  .ad-mi.large img, .ad-mi.large .ad-ph,
  .ad-mi.haute img, .ad-mi.haute .ad-ph{ aspect-ratio:4/3; }
  .ad-bgrid{ grid-template-columns:minmax(0,1fr); }
  .ad-foot-in{ grid-template-columns:minmax(0,1fr); }
  .ad-mast-lien{ text-align:left; }
  .single .entry-content, .page .entry-content{ font-size:17px; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
}

/* ============================================================
   PAGES FIXES - traitement « Fiche de controle »
   En-tete a deux filets encre + deux colonnes (titre / date + sommaire
   encadre en cases carrees), chapitres en case carree + petites capitales,
   bloc d'identite en TABLEAU de definitions, renvois en grille de cellules.
   Aucun cintrage, aucune trame, aucune gelule, aucun chapitre numerote.
   ============================================================ */
.ad-fiche-main{ background:var(--craie); padding:0 0 4.5rem; }
.ad-fiche{ max-width:940px; margin:0 auto; padding:0 1.5rem; }

/* --- tete : deux filets + deux colonnes --- */
.ad-fiche-tete{
  margin-top:2.8rem; border-top:2px solid var(--encre);
  padding-top:.28rem;
}
.ad-fiche-tete-in{
  border-top:1px solid var(--encre); padding-top:1.6rem;
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:2.4rem; align-items:start;
}
.ad-fiche-kicker{
  display:inline-block; background:var(--encre); color:#F7F7F5;
  font-family:var(--font-mono); font-size:.56rem; font-weight:500;
  letter-spacing:.05em; text-transform:uppercase;
  padding:.34rem 1.3rem .34rem .68rem; margin:0 0 1rem;
  clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%);
}
.ad-fiche-titre{
  font-family:var(--font-serif); font-weight:800;
  font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.14; color:var(--encre); margin:0;
}
.ad-fiche-maj{
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--doux); margin:0 0 1rem;
}

/* --- sommaire : liste de controle encadree --- */
.ad-fiche-sommaire{ border:1.5px solid var(--encre); background:var(--blanc); padding:1rem 1.1rem .9rem; }
.ad-fiche-sommaire-titre{
  display:block; font-family:var(--font-mono); font-size:.55rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--encre); font-weight:600;
  border-bottom:1.5px solid var(--encre); padding-bottom:.6rem; margin-bottom:.7rem;
}
.ad-fiche-sommaire ul{ list-style:none; margin:0; padding:0; }
.ad-fiche-sommaire li{
  margin:0; padding:.42rem 0; border-top:1px solid var(--regletee);
  display:flex; gap:.6rem; align-items:flex-start;
}
.ad-fiche-sommaire li:first-child{ border-top:0; }
.ad-fiche-sommaire li::before{
  content:""; flex:none; margin-top:.36rem;
  width:11px; height:11px; border:1.5px solid var(--encre); background:transparent;
}
.ad-fiche-sommaire a{ font-size:.88rem; line-height:1.4; color:var(--encre); text-decoration:none; }
.ad-fiche-sommaire a:hover{ color:var(--framboise); }

/* --- corps --- */
.ad-fiche-corps{
  margin-top:2.4rem; font-family:var(--font-sans);
  font-size:1.02rem; line-height:1.78; color:var(--encre);
  max-width:none;
}
.ad-fiche-corps h2{
  font-family:var(--font-sans); font-weight:700;
  font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; color:var(--encre);
  margin:2.6rem 0 .9rem; padding:0 0 .55rem 1.7rem;
  border-bottom:1px solid var(--regletee); position:relative; scroll-margin-top:1.5rem;
  line-height:1.4;
}
/* case carree devant chaque chapitre (signature du site) */
.ad-fiche-corps h2::before{
  content:""; position:absolute; left:0; top:.3em;
  width:13px; height:13px; border:1.5px solid var(--framboise); background:transparent;
}
.ad-fiche-corps h3{
  font-family:var(--font-serif); font-size:1.18rem; font-weight:700;
  color:var(--encre); margin:1.7rem 0 .5rem;
}
.ad-fiche-corps p{ margin:0 0 1rem; }
.ad-fiche-corps ul, .ad-fiche-corps ol{ margin:0 0 1.1rem; }
.ad-fiche-corps a{ color:var(--framboise-fonce); text-decoration:underline; text-underline-offset:3px; }
.ad-fiche-corps a:hover{ color:var(--framboise); }

/* bloc d'identite en TABLEAU de definitions a deux colonnes
   (Raison sociale / Siege social / Numero EIN / Directrice de la publication...) */
table.ad-identite{
  width:100%; border-collapse:collapse; margin:0 0 1.6rem;
  border-top:1.5px solid var(--encre); border-bottom:1.5px solid var(--encre);
  font-size:.94rem;
}
table.ad-identite th{
  font-family:var(--font-mono); font-size:.55rem; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:var(--doux); text-align:left; vertical-align:top;
  padding:.7rem 1.1rem .7rem 0; width:34%; white-space:normal;
}
table.ad-identite td{
  padding:.7rem 0 .7rem 1.1rem; vertical-align:top; color:var(--encre);
  border-left:1px solid var(--regletee); line-height:1.5;
}
table.ad-identite tbody tr:nth-child(odd){ background:var(--blanc); }
table.ad-identite tbody tr:nth-child(even){ background:transparent; }

/* --- pied : renvois en grille de cellules bordees --- */
.ad-fiche-pied{ margin-top:3.2rem; border-top:2px solid var(--encre); padding-top:1.5rem; }
.ad-fiche-pied-titre{
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--doux); font-weight:500; margin:0 0 1rem;
}
.ad-fiche-liens{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:1px solid var(--regletee); }
.ad-fiche-lien{
  display:flex; gap:.65rem; align-items:baseline;
  padding:.85rem 1rem; background:var(--blanc);
  border-right:1px solid var(--regletee); border-bottom:1px solid var(--regletee);
  font-family:var(--font-sans); font-size:.92rem; color:var(--encre); text-decoration:none;
  transition:background .18s, color .18s;
}
.ad-fiche-lien:nth-child(2n){ border-right:0; }
/* nombre impair de renvois : la derniere cellule occupe toute la largeur */
.ad-fiche-lien:last-child:nth-child(odd){ grid-column:1 / -1; border-right:0; }
.ad-fiche-lien:hover{ background:var(--craie); color:var(--framboise); }
.ad-fiche-lien::before{
  content:""; flex:none; margin-top:.35rem;
  width:11px; height:11px; border:1.5px solid var(--encre); background:transparent;
}
.ad-fiche-note{ margin:1.4rem 0 0; font-size:.9rem; color:var(--doux); }

@media (max-width:800px){
  .ad-fiche-tete-in{ grid-template-columns:minmax(0,1fr); gap:1.4rem; }
  .ad-fiche-liens{ grid-template-columns:minmax(0,1fr); }
  .ad-fiche-lien{ border-right:0; }
  table.ad-identite, table.ad-identite tbody, table.ad-identite tr{ display:block; width:100%; }
  table.ad-identite th, table.ad-identite td{
    display:block; width:auto; padding:.5rem 0 0; border-left:0;
  }
  table.ad-identite td{ padding:.1rem 0 .7rem; }
  table.ad-identite tbody tr{ border-top:1px solid var(--regletee); }
  table.ad-identite tbody tr:first-child{ border-top:0; }
}
@media (max-width:600px){
  .ad-fiche-corps{ font-size:1rem; }
}

/* ============================================================
   BANDEAU COOKIES - habillage propre au site
   Carte carree CENTREE EN BAS, papier craie, bordure 1.5px encre,
   aucune ombre, deux colonnes (texte a gauche / boutons empiles a droite).
   Seuls l'apparence et les libelles changent : la logique RGPD
   (highPrivacy, serviceDefaultState wait, DenyAllCta, service affilie)
   reste intacte cote functions.php.
   Le CSS de tarteaucitron est injecte APRES celui du theme enfant :
   toutes les regles sont donc prefixees #tarteaucitronRoot + !important.
   ============================================================ */
#tarteaucitronRoot #tarteaucitronAlertBig{
  left:50% !important; right:auto !important; bottom:0 !important; top:auto !important;
  transform:translateX(-50%) !important;
  width:min(760px,calc(100vw - 24px)) !important; max-width:none !important;
  box-sizing:border-box !important;
  background:var(--craie) !important;
  color:var(--encre) !important;
  border:1.5px solid var(--encre) !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:1.2rem 1.4rem 1.3rem !important;
  text-align:left !important;
  font-family:var(--font-sans) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 200px !important;
  gap:1.2rem !important;
  align-items:start !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig::before{
  content:"Fiche de contrôle des cookies"; display:block;
  grid-column:1 / -1;
  font-family:var(--font-mono); font-size:.56rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--encre); font-weight:600;
  border-bottom:1.5px solid var(--encre); padding-bottom:.6rem; margin:0;
}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronDisclaimerAlert *{
  color:var(--encre) !important; font-size:.92rem !important; line-height:1.55 !important;
  text-align:left !important; font-family:var(--font-sans) !important; margin:0 !important;
}
#tarteaucitronRoot .tarteaucitronAlertBigBtnWrapper{
  display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important;
  gap:.5rem !important; margin:0 !important; align-items:stretch !important;
  justify-content:flex-start !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross{ display:none !important; }
#tarteaucitronRoot #tarteaucitronAlertBig button{
  box-sizing:border-box !important; width:100% !important;
  font-family:var(--font-mono) !important; font-size:.6rem !important; font-weight:500 !important;
  letter-spacing:.05em !important; text-transform:uppercase !important;
  border-radius:0 !important; padding:.7rem .8rem !important; margin:0 !important;
  border:1.5px solid var(--encre) !important; cursor:pointer !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2{
  background:var(--framboise) !important; color:#FFFFFF !important;
  border-color:var(--framboise) !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover{
  background:var(--framboise-fonce) !important; border-color:var(--framboise-fonce) !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2{
  background:transparent !important; color:var(--encre) !important;
  border-color:var(--encre) !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover{ background:var(--blanc) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert{
  background:transparent !important; color:var(--encre) !important;
  border-color:var(--regletee) !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover{ border-color:var(--encre) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl{
  background:transparent !important; color:var(--doux) !important;
  border:0 !important; width:auto !important; padding:.3rem 0 0 !important;
  text-transform:none !important; font-family:var(--font-sans) !important;
  font-size:.8rem !important; letter-spacing:0 !important;
  text-decoration:underline !important; text-underline-offset:3px !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover{ color:var(--framboise) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig br{ display:none !important; }

@media (max-width:700px){
  #tarteaucitronRoot #tarteaucitronAlertBig{
    left:0 !important; right:0 !important; bottom:0 !important;
    transform:none !important; width:100% !important;
    grid-template-columns:minmax(0,1fr) !important; gap:.9rem !important;
    border-left:0 !important; border-right:0 !important;
  }
}

/* pastille flottante de reouverture : on retire le cadenas d'origine
   (identique sur tous les sites) et on ecrit le libelle propre au site. */
#tarteaucitronIcon #tarteaucitronManager img{ display:none !important; }
#tarteaucitronIcon #tarteaucitronManager{
  background:var(--encre) !important; color:#F7F7F5 !important;
  border:1.5px solid var(--encre) !important; border-radius:0 !important;
  width:auto !important; height:auto !important;
  padding:.6rem 1rem !important; line-height:1 !important; box-shadow:none !important;
}
#tarteaucitronIcon #tarteaucitronManager::after{
  content:"Fiche cookies"; font-family:var(--font-mono);
  font-size:.58rem; font-weight:500; letter-spacing:.05em;
  text-transform:uppercase; color:#F7F7F5;
}
#tarteaucitronIcon{ width:auto !important; height:auto !important; }
