/*
Theme Name: SB Gazette
Author: Seobooster
Version: 1.0.0
Text Domain: sb-gazette
*/

/* ===== Fondations ===== */
:root{
  --fond:#eef1f6;
  --carte:#ffffff;
  --pastel:#dde3ef;
  --encre:#1a2233;
  --accent:#d97b29;
  --accent-fonce:#9c5417;
  --accent-texte:#1a2233;
  --sombre:#10151f;
  --sombre-texte:#eef1f6;
  --ligne:color-mix(in srgb,var(--encre) 14%,transparent);
  --ombre:0 18px 40px -22px rgba(16,21,31,.35);
  --rayon:26px;
  --rayon-p:14px;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--encre);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button{cursor:pointer;background:none}
img{display:block;max-width:100%;height:auto}
svg{max-width:100%;display:block}
figure{margin:0}
p{margin:0 0 16px}
h1,h2,h3{font-family:var(--serif);line-height:1.08;font-weight:800;margin:0;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere}
h1{font-size:clamp(34px,5vw,64px)}
h2{font-size:clamp(24px,2.6vw,34px)}
h3{font-size:19px;font-weight:700}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.mark{background:var(--accent);color:var(--accent-texte);padding:.02em .22em;border-radius:.28em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.eyebrow{display:inline-block;font:700 14px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--encre) 70%,transparent)}
.skip{position:fixed;top:-100px;left:16px;z-index:200;background:var(--encre);color:var(--sombre-texte);padding:12px 18px;border-radius:0 0 10px 10px}
.skip:focus{top:0}
.site-frame{max-width:1320px;margin:0 auto;padding:0 32px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--encre);color:var(--fond);padding:14px 22px;border-radius:999px;font:700 13px/1 var(--sans);letter-spacing:.02em;border:1px solid var(--encre)}
.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-texte);text-decoration:none}
.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-texte)}
.btn-accent:hover{background:var(--encre);border-color:var(--encre);color:var(--fond)}
.btn-ghost{background:transparent;color:var(--encre)}
.btn-ghost:hover{background:var(--encre);color:var(--fond)}

/* ===== En-tête ===== */
.site-header{position:sticky;top:0;z-index:60;background:rgba(238,241,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--ligne)}
.header-row{display:flex;align-items:center;gap:28px;padding:14px 0}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:800;font-size:22px;flex-shrink:0}
.logo svg{width:34px;height:34px;color:var(--accent);flex-shrink:0}
.logo small{display:block;font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--encre) 62%,transparent)}
.gz-nav{display:flex;align-items:center;gap:22px;margin:0 0 0 12px;list-style:none;padding:0}
.gz-nav a{font:700 14px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-color:transparent;padding:6px 0;transition:text-decoration-color .15s}
.gz-nav a:hover,.gz-nav a[aria-current]{text-decoration-color:var(--accent)}
.gz-search{flex-shrink:0;display:flex;align-items:center;gap:8px;background:var(--carte);border:1px solid var(--ligne);border-radius:999px;padding:6px 8px 6px 16px}
.gz-search input{border:0;background:none;width:150px;font-size:13px}
.gz-search button{width:32px;height:32px;border-radius:999px;background:var(--encre);color:var(--fond);display:grid;place-items:center;font-size:14px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ===== Séparateur courbe (transition vers/depuis le bandeau sombre) ===== */
.courbe{display:block;width:100%;height:56px;color:var(--sombre);margin-bottom:-1px}
.courbe-inv{transform:rotate(180deg);margin-bottom:0;margin-top:-1px}

/* ===== Accueil : une ===== */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:48px 0 60px}
.hero-photo{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre)}
.hero-photo img{width:100%;height:480px;object-fit:cover}
.hero-copy .eyebrow{margin-bottom:16px}
.hero-copy h1{margin:6px 0 18px;font-size:clamp(32px,4.2vw,56px)}
.hero-copy p{font-size:17px;max-width:480px;color:color-mix(in srgb,var(--encre) 85%,transparent)}
.mag-card-repli{display:flex;align-items:center;justify-content:center;height:200px;flex-shrink:0;background:var(--pastel);font:800 44px var(--serif);color:var(--accent)}

/* ===== Cartes ===== */
.selection{padding:52px 0}
.selection>h2{margin-bottom:28px}
.selection-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}
.selection-head a{font:700 14px var(--sans);letter-spacing:.02em;text-transform:uppercase}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mag-card{background:var(--carte);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);transition:transform .2s ease}
.mag-card:hover{transform:translateY(-6px)}
.mag-card a{display:block}
.mag-card img{height:200px;width:100%;object-fit:cover}
.mag-card h3{padding:0 22px;margin:8px 0 18px}
.mag-meta{display:block;padding:20px 22px 0;font:700 14px var(--sans);letter-spacing:.02em;text-transform:uppercase;color:var(--accent-fonce)}
.mag-card p{padding:0 22px 22px;margin:0;font-size:14px;color:color-mix(in srgb,var(--encre) 78%,transparent)}
.story{display:flex;flex-direction:column;background:var(--carte);border-radius:var(--rayon-p);padding:24px;box-shadow:var(--ombre);overflow:hidden}
.story h3{margin:12px 0 16px}
.readlink{margin-top:auto;font:700 14px var(--sans);color:var(--accent-fonce)}
.story-photo{display:block;margin:-24px -24px 18px;aspect-ratio:16/10;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover}

/* Grille de rubrique : 1 grande carte + un bloc de petites cartes qui s'adapte au nombre RÉEL
   de cartes disponibles (1 à 4) — jamais de cellule vide (25/09, retour Mathias : la quinconce
   d'origine décalait une carte de 22px et laissait un trou sous la 3e colonne quand une
   rubrique avait moins de 4 petites cartes). */
.mag-rubrique{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:stretch}
.mag-rubrique-solo{grid-template-columns:1fr}
.mag-rubrique .mag-card-first{grid-column:auto;grid-row:auto;height:100%;display:flex;flex-direction:column}
.mag-rubrique .mag-card-first img,.mag-rubrique .mag-card-first .mag-card-repli{height:320px;min-height:0;flex-shrink:0}
.mag-rubrique .mag-card-first h3{flex-grow:0}
.mag-rubrique-petites{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:26px;height:100%}
.mag-rubrique-petites .mag-card{display:flex;flex-direction:column;height:100%}
.mag-rubrique-petites .mag-card img,.mag-rubrique-petites .mag-card .mag-card-repli{height:120px;min-height:0;flex-shrink:0;font-size:26px}
.mag-rubrique-petites .mag-card h3{font-size:16px;padding:0 16px;margin:8px 0 14px}
.mag-rubrique-petites .mag-card p{display:none}
.mag-rubrique-petites.petites-1{grid-template-columns:1fr;grid-template-rows:1fr}
.mag-rubrique-petites.petites-2{grid-template-rows:1fr}
.mag-rubrique-petites.petites-3 .mag-card:nth-child(3){grid-column:1/-1}
.mag-rubrique-petites.petites-3 .mag-card:nth-child(3) img,.mag-rubrique-petites.petites-3 .mag-card:nth-child(3) .mag-card-repli{height:100px}

/* ===== Pastilles rondes des rubriques ===== */
.pastilles{display:flex;flex-wrap:wrap;justify-content:center;gap:36px;padding:44px 0 56px}
.pastille{display:flex;flex-direction:column;align-items:center;gap:12px;width:118px;text-align:center}
.pastille-rond{width:104px;height:104px;border-radius:50%;overflow:hidden;background:var(--pastel);box-shadow:var(--ombre);border:3px solid var(--carte)}
.pastille-rond img{width:100%;height:100%;object-fit:cover}
.pastille-rond i{width:100%;height:100%;display:grid;place-items:center;font:800 34px var(--serif);font-style:normal;color:var(--accent)}
.pastille-nom{font:700 14px/1.3 var(--sans);letter-spacing:.01em}
.pastille:hover .pastille-rond{outline:3px solid var(--accent);outline-offset:3px}

/* ===== Bandeau sombre de chiffres ===== */
.chiffres{background:var(--sombre);color:var(--sombre-texte);padding:58px 0}
.chiffres-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}
.chiffres-grille b{display:block;font:800 clamp(30px,4vw,54px)/1 var(--serif);color:var(--accent)}
.chiffres-grille span{display:block;margin-top:10px;font:600 14px/1.5 var(--sans);letter-spacing:.02em;color:color-mix(in srgb,var(--sombre-texte) 78%,transparent)}

/* ===== Fil chronologique + Les plus lus (25/09 : la moitié droite était vide sur ~600px,
   comblée par un module éditorial utile avec de vraies images — règle de Mathias : aucun vide
   de plus d'un demi-écran) ===== */
.fil-section{padding:56px 0}
.fil-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
.fil ol{list-style:none;margin:0;padding:0}
.fil li{display:flex;gap:24px;align-items:baseline;padding:16px 0;border-top:1px solid var(--ligne)}
.fil time{flex:0 0 74px;font:700 14px var(--sans);color:var(--accent-fonce)}
.fil a{font:600 16px/1.4 var(--serif)}
.plus-lus-liste{display:flex;flex-direction:column;gap:16px}
.plus-lus-item{display:flex;gap:16px;align-items:center;background:var(--carte);border-radius:var(--rayon-p);padding:12px;box-shadow:var(--ombre);transition:transform .2s ease}
.plus-lus-item:hover{transform:translateY(-3px);text-decoration:none}
.plus-lus-photo{width:84px;height:84px;border-radius:14px;overflow:hidden;flex-shrink:0;background:var(--pastel)}
.plus-lus-photo img{width:100%;height:100%;object-fit:cover}
.plus-lus-texte .eyebrow{font-size:11px}
.plus-lus-texte h3{font-size:16px;margin:4px 0 0;line-height:1.3}

/* ===== Sections de rubrique ===== */
.mag-section{padding:56px 0}
.mag-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:32px;border-top:1px solid var(--ligne);padding-top:26px}
.mag-section-head h2 a{color:inherit}
.mag-section-head>a{font:700 14px var(--sans);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}

/* ===== Bandeau contact (pas de formulaire, un lien) ===== */
.contact-band{margin:20px 0 64px;padding:52px;border-radius:var(--rayon);background:var(--pastel);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.contact-band h2{max-width:520px}

/* ===== Archives / recherche ===== */
.page-heading{padding:52px 0 36px}
.page-heading h1{margin:14px 0}
.page-heading p{max-width:640px;font-size:16px;color:color-mix(in srgb,var(--encre) 82%,transparent)}
.mag-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:50px}
.results{padding-bottom:50px}
.results>a{display:block;background:var(--carte);border-radius:var(--rayon-p);padding:20px 24px;margin-bottom:16px;box-shadow:var(--ombre)}
.results>a.search-result{display:flex;align-items:center;gap:18px;padding:14px 20px}
.search-result-photo{width:72px;height:72px;border-radius:12px;overflow:hidden;flex-shrink:0;background:var(--pastel)}
.search-result-photo img{width:100%;height:100%;object-fit:cover}
.search-result-txt{min-width:0}
@media(max-width:520px){.search-result-photo{width:56px;height:56px}}
.search-form{display:flex;gap:12px;max-width:560px;margin:0 0 36px}
.search-form input{flex:1;min-width:0;padding:14px 18px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);font-size:16px}
.sb-pagination{display:flex;gap:10px;padding:30px 0 60px;flex-wrap:wrap}
.sb-pagination span,.sb-pagination a{display:grid;place-items:center;min-width:40px;height:40px;border-radius:999px;background:var(--carte);box-shadow:var(--ombre);font:700 14px var(--sans)}
.sb-pagination a:hover{background:var(--accent);color:var(--accent-texte);text-decoration:none}
.sb-pagination .current{background:var(--encre);color:var(--fond)}

/* ===== Article ===== */
.article-band{background:var(--pastel);border-radius:0 0 var(--rayon) var(--rayon)}
.article-band-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:52px 0}
.article-band nav{font:600 12px var(--sans);margin-bottom:18px;color:color-mix(in srgb,var(--encre) 70%,transparent)}
.article-band nav a{text-decoration:underline;text-underline-offset:3px}
.article-band h1{margin:0 0 16px}
.article-band .chapo{font-size:17px;max-width:520px;color:color-mix(in srgb,var(--encre) 85%,transparent)}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font:600 14px var(--sans);color:color-mix(in srgb,var(--encre) 72%,transparent)}
.article-band-photo{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre)}
.article-band-photo img{width:100%;height:320px;object-fit:cover}
.mobile-toc{display:none}
.reading-grid{display:grid;grid-template-columns:minmax(0,720px) 1fr;gap:56px;padding:44px 0 70px}
.reading{min-width:0}
.article-image{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);margin-bottom:8px}
.article-image img{width:100%;max-height:440px;object-fit:cover}
.article-image figcaption{font-size:14px;padding:10px 4px;color:color-mix(in srgb,var(--encre) 65%,transparent)}
.prose{font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.prose p{margin:0 0 20px}
.prose h2{font-size:28px;margin:38px 0 16px;scroll-margin-top:90px}
.prose h3{font-size:21px;margin:28px 0 12px;scroll-margin-top:90px}
.prose a{text-decoration:underline;text-underline-offset:3px;color:var(--accent-fonce)}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:8px 0}

/* Listes du CORPS en tuiles visuelles (25/09, CM-0539/CM-0525/CM-0542) : plus de puce ronde.
   Ne s'applique qu'aux <ul>/<ol> SANS classe — le sommaire, les Sources et la FAQ ont leur
   propre style et ne passent jamais par .sb-tuiles (voir sb_stylise_listes() dans functions.php). */
.prose ul.sb-tuiles,.prose ol.sb-tuiles{list-style:none;margin:26px 0;padding:0;display:grid;grid-template-columns:1fr;gap:12px;counter-reset:tuile}
.prose .sb-tuiles li{counter-increment:tuile;margin:0;background:var(--pastel);border-radius:16px;padding:14px 18px 14px 56px;position:relative;font-size:15px;line-height:1.6}
.prose .sb-tuiles li::before{content:counter(tuile,decimal-leading-zero);position:absolute;left:14px;top:16px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-texte);font:800 12px/28px var(--sans);text-align:center}
.prose .sb-tuiles li>*:first-child{margin-top:0}
.prose .sb-tuiles li>*:last-child{margin-bottom:0}
@media(min-width:640px){.prose ul.sb-tuiles-2col,.prose ol.sb-tuiles-2col{grid-template-columns:1fr 1fr}}

/* Tableau brut → comparatif en cartes (25/09). En-tête teinté sur desktop ; sur mobile, une
   carte par ligne avec le libellé de colonne devant chaque valeur (data-label), jamais de
   défilement horizontal. */
.prose table.sb-tableau{width:100%;border-collapse:collapse;margin:28px 0;border-radius:16px;overflow:hidden;box-shadow:var(--ombre);font-size:15px}
.prose .sb-tableau thead th{background:var(--sombre);color:var(--sombre-texte);text-align:left;padding:14px 18px;font:700 13px var(--sans);letter-spacing:.03em;text-transform:uppercase}
.prose .sb-tableau tbody tr{background:var(--carte)}
.prose .sb-tableau tbody tr:nth-child(2n){background:var(--pastel)}
.prose .sb-tableau td,.prose .sb-tableau th{padding:13px 18px;text-align:left;border-bottom:1px solid var(--ligne)}
.prose .sb-tableau tbody tr:last-child td{border-bottom:none}
@media(max-width:640px){
  .prose .sb-tableau thead{display:none}
  .prose .sb-tableau,.prose .sb-tableau tbody,.prose .sb-tableau tr,.prose .sb-tableau td{display:block;width:100%}
  .prose .sb-tableau tr{background:var(--carte);border-radius:14px;padding:6px 16px;margin-bottom:14px;box-shadow:var(--ombre)}
  .prose .sb-tableau tr:nth-child(2n){background:var(--carte)}
  .prose .sb-tableau td{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--ligne);text-align:right}
  .prose .sb-tableau td:last-child{border-bottom:none}
  .prose .sb-tableau td::before{content:attr(data-label);font-weight:700;text-align:left;color:color-mix(in srgb,var(--encre) 70%,transparent)}
}
.prose blockquote{margin:28px 0;padding:20px 24px;background:var(--pastel);border-radius:var(--rayon-p);border-left:4px solid var(--accent)}
.prose img{border-radius:var(--rayon-p)}
.author{display:flex;gap:18px;align-items:flex-start;padding:28px;margin:44px 0 0;background:var(--carte);border-radius:var(--rayon);box-shadow:var(--ombre)}
.sb-avatar{width:72px;height:72px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;object-position:center;flex-shrink:0;display:block}
.author p{margin:0;font-size:14px;line-height:1.7}
.author a{font:700 14px var(--sans);margin-top:8px;display:inline-block}
.reading-aside{align-self:start;position:sticky;top:96px}
.reading-aside details{background:var(--carte);border-radius:var(--rayon-p);padding:20px 22px;box-shadow:var(--ombre);margin-bottom:20px}
.reading-aside summary{font:700 14px var(--sans);letter-spacing:.02em;text-transform:uppercase;cursor:pointer}
.reading-aside ol{list-style:none;margin:14px 0 0;padding:0;counter-reset:som}
.reading-aside li{border-top:1px solid var(--ligne);font-size:14px;counter-increment:som}
.reading-aside li a{display:flex;gap:10px;padding:10px 0}
.reading-aside li a::before{content:counter(som,decimal-leading-zero);flex-shrink:0;font:800 12px var(--sans);color:color-mix(in srgb,var(--encre) 45%,transparent)}
.reading-aside li a[aria-current]{color:var(--accent-fonce);font-weight:700}
.reading-aside li a[aria-current]::before{color:var(--accent)}
.aside-card{background:var(--pastel);border-radius:var(--rayon-p);padding:24px;margin-top:20px}
.aside-card h2{font-size:20px;margin-bottom:10px}
.aside-card p{font-size:14px}

/* ===== Pub maison (mu-plugin sb-pub-maison v2, régie interne) — CSS portée depuis les sites
   du réseau qui la portent déjà (cslp06.org). Auto-suffisante : couleurs en variables LOCALES
   sur .re, ne reprend AUCUNE variable du thème (l'annonceur garde sa propre identité). ===== */
.sb-pub{display:flex;justify-content:center;margin:20px 0}
.re{--lin:#F4F1EA;--nuit:#1F2D4D;--cuivre-2:#8C3F12;--brume:#E3E8F0;--ok:#2F6B4F;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Verdana,Arial,sans-serif;
  background:var(--lin);color:var(--nuit);overflow:hidden;position:relative;border:1px solid var(--brume);display:flex}
.re__img{object-fit:cover;flex-shrink:0}
.re__body{display:flex;flex-direction:column;gap:6px}
.re__kicker{font-size:10px;letter-spacing:.04em;color:var(--cuivre-2);font-weight:700;text-transform:uppercase}
.re__head{font-weight:800;color:var(--nuit);line-height:1.15;letter-spacing:-.01em}
.re__sub{color:var(--nuit);opacity:.85;line-height:1.35}
.re__cta{background:var(--cuivre-2);color:#fff;font-weight:700;text-align:center;border-radius:6px;line-height:1.15}
.re__disc{color:var(--nuit);opacity:.7;line-height:1.3}
.re__bul{list-style:none;color:var(--nuit);line-height:1.35;margin:0;padding:0}
.re__bul li{padding-left:1.1em;position:relative}
.re__bul li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.f300x250{flex-direction:column}
.f300x250 .re__body{padding:10px 12px 12px;flex:1}
.f300x250 .re__head{font-size:17px}
.f300x250 .re__cta{font-size:14px;padding:9px 10px;margin-top:auto}
.f300x250 .re__disc{font-size:10px;text-align:center}
.f300x600{flex-direction:column}
.f300x600 .re__body{padding:13px 18px 12px;flex:1}
.f300x600 .re__head{font-size:22px}
.f300x600 .re__sub{font-size:14px}
.f300x600 .re__bul{font-size:13px;display:flex;flex-direction:column;gap:5px;margin-top:2px}
.f300x600 .re__cta{font-size:16px;padding:12px 12px;margin-top:auto}
.f300x600 .re__disc{font-size:11px;text-align:center}
.fmobile{flex-direction:column}
.fmobile .re__body{padding:12px 16px 14px;flex:1}
.fmobile .re__head{font-size:19px}
.fmobile .re__sub{font-size:13px}
.fmobile .re__cta{font-size:16px;padding:12px 10px;margin-top:auto}
.fmobile .re__disc{font-size:11px;text-align:center}
.fcarte{flex-direction:column;width:100%}
.ftexte{flex-direction:row;align-items:stretch;height:132px;width:100%;margin:28px 0}
.ftexte .re__img{width:35%;max-width:230px;height:100%;flex:0 0 35%}
.ftexte .re__body{flex:1;padding:12px 20px;justify-content:center;gap:4px;min-width:0}
.ftexte .re__kicker{font-size:9px}
.ftexte .re__head{font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ftexte .re__bul{display:none}
.ftexte .re__cta{align-self:flex-start;font-size:13px;padding:8px 16px;margin-top:6px;border-radius:4px}
/* Colonne : le 300x600 s'affiche, le format carré mobile se cache ; en dessous de 760px, l'inverse. */
.sb-pub-360x300{display:none}
.sb-pub-300x600,.sb-pub-texte-large{display:flex}
@media(max-width:760px){
  .sb-pub-300x600,.sb-pub-texte-large{display:none}
  .sb-pub-360x300{display:flex}
}
.reading-aside .sb-pub{margin:0 0 20px}

/* ===== Bandeau d'action générique ===== */
.action-band{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:var(--pastel);border-radius:var(--rayon);padding:40px}
.action-band h2{margin:6px 0 8px}
.action-band p{max-width:520px;font-size:14px}

/* ===== Pages éditoriales (mise en page partagée des modèles) ===== */
.prose-page{max-width:760px;margin:0 auto;padding-bottom:60px}
.prose-page h2{font-size:26px;margin:34px 0 14px}
.editorial-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:56px;padding-bottom:56px;align-items:start}
.editorial-mark{background:var(--pastel);border-radius:var(--rayon);padding:32px;align-self:start;position:sticky;top:96px}
.editorial-mark-tete{display:flex;align-items:center;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--ligne);margin-bottom:20px}
.editorial-mark-tete svg{width:26px;color:var(--accent);flex-shrink:0}
.editorial-mark-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.editorial-mark-liste a{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.editorial-mark-liste a:hover strong{color:var(--accent-fonce)}
.editorial-mark-liste .sb-avatar{width:56px;height:56px}
.editorial-mark-infos{display:flex;flex-direction:column;gap:3px;min-width:0}
.editorial-mark-infos strong{font:700 15px var(--sans)}
.editorial-mark-infos span{font-size:12.5px;color:color-mix(in srgb,var(--encre) 68%,transparent)}
.editorial-mark-chiffres{display:flex;flex-direction:column;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--ligne)}
.editorial-mark-chiffres div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.editorial-mark-chiffres span{font:600 12.5px/1.4 var(--sans);color:color-mix(in srgb,var(--encre) 68%,transparent);flex:1;min-width:0}
.editorial-mark-chiffres b{font:800 19px/1 var(--serif);color:var(--accent);flex-shrink:0;white-space:nowrap;text-align:right}
.editorial-layout article h2{font-size:24px;margin:32px 0 12px}
.editorial-layout article p{font-size:15px}
.step-list{list-style:none;margin:30px 0;padding:0}
.step-list li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--ligne)}
.step-list b{font:800 16px var(--serif);color:var(--accent-fonce)}
.step-list h3{font-size:18px;margin-bottom:6px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:50px}
.card-simple{background:var(--carte);border-radius:var(--rayon-p);padding:26px;box-shadow:var(--ombre)}
.card-simple span{font:800 26px var(--serif);color:var(--accent)}
.card-simple h3{margin:12px 0 8px;font-size:18px}
.card-simple p{font-size:14px;margin:0}
.compare-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-bottom:36px}
.compare-cols>div{background:var(--carte);border-radius:var(--rayon);padding:28px;box-shadow:var(--ombre)}
.compare-cols h3{margin-bottom:14px}
.compare-cols ul{list-style:none;margin:0;padding:0}
.compare-cols li{padding:10px 0;border-top:1px solid var(--ligne);font-size:14px}
.brandboard{display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding-bottom:40px}
.brandboard svg{width:70px;color:var(--accent)}
.swatch{padding:26px 20px;border-radius:var(--rayon-p);font:700 14px var(--sans);min-width:120px}
.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:50px}
.reference-grid a{display:block;background:var(--carte);border-radius:var(--rayon-p);padding:16px 18px;box-shadow:var(--ombre);font-size:14px;font-weight:600}

/* ===== Pied de page ===== */
.footer{margin-top:40px;background:var(--sombre);color:var(--sombre-texte);padding:56px 0 120px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.footer .logo{color:var(--sombre-texte)}
.footer .logo svg{color:var(--accent)}
.footer p{font-size:14px;max-width:340px;color:color-mix(in srgb,var(--sombre-texte) 78%,transparent)}
.footer-col span{display:block;margin-bottom:16px;font-size:14px}
.footer-col a{display:flex;align-items:center;min-height:44px;font-size:14px;padding:6px 0;color:color-mix(in srgb,var(--sombre-texte) 90%,transparent)}
.footer-bottom{border-top:1px solid color-mix(in srgb,var(--sombre-texte) 18%,transparent);margin-top:40px;padding-top:20px;font-size:14px;color:color-mix(in srgb,var(--sombre-texte) 60%,transparent)}

/* ===== Nav mobile fixe ===== */
.mobile-nav{display:none}
.toast{position:fixed;bottom:86px;left:50%;transform:translateX(-50%);background:var(--encre);color:var(--fond);padding:10px 18px;border-radius:999px;font-size:14px;z-index:80}
.progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:90;width:0}

/* ===== Responsive ===== */
@media(max-width:1100px){
  .site-frame{padding:0 22px}
  .hero{grid-template-columns:1fr;gap:30px;padding:32px 0 40px}
  .hero-photo img{height:300px}
  .story-grid{grid-template-columns:repeat(2,1fr)}
  .mag-rubrique{grid-template-columns:1fr}
  .mag-rubrique .mag-card-first img{height:260px}
  .mag-rubrique-petites{height:auto}
  .fil-grid{grid-template-columns:1fr;gap:36px}
  .chiffres-grille{grid-template-columns:repeat(2,1fr);gap:34px 20px}
  .reading-grid{grid-template-columns:1fr}
  .reading-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .reading-aside details:first-child{display:none}
  .mobile-toc{display:block;background:var(--carte);border-radius:var(--rayon-p);padding:16px 20px;box-shadow:var(--ombre);margin:20px 0}
  .mobile-toc summary{font:700 14px var(--sans);cursor:pointer}
  .mobile-toc ol{list-style:none;margin:14px 0 0;padding:0;counter-reset:som}
  .mobile-toc li{padding:8px 0;border-top:1px solid var(--ligne);font-size:14px;counter-increment:som}
  .mobile-toc li a{display:flex;gap:10px}
  .mobile-toc li a::before{content:counter(som,decimal-leading-zero);font:800 12px var(--sans);color:color-mix(in srgb,var(--encre) 45%,transparent);flex-shrink:0}
  .article-band-in{grid-template-columns:1fr;gap:24px}
  .editorial-layout{grid-template-columns:1fr}
  .editorial-mark{position:static}
  .compare-cols{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:680px){
  body{font-size:15px}
  .gz-nav{display:none}
  .gz-search input{width:100px}
  .hero-photo img{height:240px}
  .story-grid{grid-template-columns:1fr}
  .mag-rubrique{grid-template-columns:1fr}
  .mag-rubrique .mag-card-first img{height:200px}
  .mag-rubrique-petites{grid-template-columns:1fr;grid-template-rows:none}
  .mag-rubrique-petites.petites-3 .mag-card:nth-child(3){grid-column:auto}
  .mag-rubrique-petites .mag-card img{height:160px}
  .plus-lus-item{align-items:flex-start}
  .chiffres-grille{grid-template-columns:1fr;gap:20px;text-align:center}
  .chiffres-grille b{font-size:30px}
  .pastilles{gap:20px}
  .pastille{width:88px}
  .pastille-rond{width:78px;height:78px}
  .reading-aside{grid-template-columns:1fr}
  .article-band-photo img{height:210px}
  .grid-4{grid-template-columns:1fr}
  .mag-archive-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .contact-band{flex-direction:column;align-items:flex-start;padding:32px 24px}
  .action-band{padding:26px}
  .mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--carte);border-top:1px solid var(--ligne);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
  .mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;min-height:48px;font-size:14px;text-align:center;line-height:1.1;border:none;background:none;color:inherit;font-family:inherit;width:100%}
  .mobile-nav svg{width:20px;height:20px}
  .footer{padding-bottom:120px}
  .mobile-rubriques-panel{position:fixed;inset:0;z-index:75;display:flex;align-items:flex-end;background:color-mix(in srgb,var(--sombre) 55%,transparent)}
  .mobile-rubriques-sheet{background:var(--carte);width:100%;max-height:70vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--ombre)}
  .mobile-rubriques-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .mobile-rubriques-head span{font:800 18px var(--serif)}
  .mobile-rubriques-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--pastel);font-size:22px;line-height:1;flex-shrink:0}
  .mobile-rubriques-list{display:flex;flex-direction:column}
  .mobile-rubriques-list a{display:flex;align-items:center;min-height:44px;padding:10px 4px;font-size:15px;border-bottom:1px solid var(--ligne)}
  .mobile-rubriques-list a:last-child{border-bottom:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* === Recette du 18/09 : en-tête, pied, blocs de contenu === */
.gz-nav a{letter-spacing:.01em;white-space:nowrap}
.gz-search input{width:110px}

/* === 25/09 : plus aucun débordement horizontal possible à aucune largeur — la nav (8 rubriques
   + « À la une ») est la seule zone élastique du header ; si elle manque de place, elle défile
   EN INTERNE au lieu de pousser le header (donc la page) plus large que l'écran. La recherche
   reste toujours visible sur desktop/tablette. */
.header-row{flex-wrap:nowrap}
.logo{flex-shrink:0}
.gz-nav{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
.gz-nav::-webkit-scrollbar{display:none}

/* 25/09 (défaut A, suite) : la nav ne débordait plus la PAGE, mais avec 9 libellés (« À la une »
   + 8 rubriques) elle dépassait encore son propre espace disponible à 1280/1440/1920 — mesuré
   871px de contenu pour 715px de place au mieux (site-frame plafonne à 1320px, donc l'espace
   n'augmente plus au-delà) : EMPLOI restait visible seulement en défilant la nav elle-même, ce qui
   n'est pas le « visible sans scroll » demandé. On resserre nav + recherche pour que les 9 libellés
   tiennent sans défilement interne, sans jamais repasser en dessous de 44px de zone cliquable. */
.header-row{gap:18px}
.gz-nav{gap:12px;margin-left:8px}
.gz-nav a{font-size:12.5px;letter-spacing:.01em;padding:11px 0}
.gz-search{padding:4px 4px 4px 12px;gap:6px}
.gz-search input{width:11ch}
.footer .eyebrow,.footer-col span{color:var(--accent)}
.chiffres-grille>*:last-child b{font-size:clamp(18px,1.8vw,26px);line-height:1.2;white-space:nowrap}
@media(max-width:520px){.chiffres-grille>*:last-child b{white-space:normal}}
.hero,.une,.lire-aussi,.pastilles{min-width:0}
img{max-width:100%;height:auto}

/* Blocs éditoriaux des articles */
.prose .ass-partenaire{font:700 14px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-fonce);border-bottom:1px solid var(--ligne);padding-bottom:12px}
.prose .ass-intro{font-size:19px;line-height:1.75}
.ass-reperes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.ass-reperes>div{background:var(--carte);border-radius:18px;padding:22px;box-shadow:0 10px 30px -18px color-mix(in srgb,var(--encre) 45%,transparent)}
.ass-reperes b{display:block;font:800 38px/1 var(--serif);color:var(--accent-fonce)}
.prose .ass-reperes h3{font-size:19px;margin:12px 0 6px}
.prose .ass-reperes p{font-size:15px;line-height:1.65;margin:0}
.ass-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px 0}
.ass-options section{background:var(--carte);border-radius:18px;border-top:4px solid var(--accent);padding:22px}
.ass-options span{font:700 14px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-fonce)}
.prose .ass-options h3{font-size:20px;margin:10px 0}
.prose .ass-options p{font-size:16px;line-height:1.7;margin:0}
.ass-decision{background:var(--pastel);border-radius:18px;padding:24px 26px;margin:26px 0}
.prose .ass-decision h3{margin-top:0;font-size:22px}
.ass-etapes li{padding-left:8px;margin:16px 0}
.ass-faq details{border-bottom:1px solid var(--ligne);padding:16px 0}
.ass-faq summary{font-weight:700;cursor:pointer;line-height:1.5}
.prose .ass-faq p{font-size:16px;margin:10px 0 0}

/* FAQ <div class="faq"><details class="faq-item"><summary>…</summary>…</details></div> :
   accordéon soigné, flèche qui pivote, séparateurs sobres. */
.prose .faq{margin:32px 0}
.prose .faq-item{border-top:1px solid var(--ligne)}
.prose .faq-item:last-child{border-bottom:1px solid var(--ligne)}
.prose .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;font:700 16px/1.4 var(--sans);cursor:pointer;list-style:none;color:var(--encre)}
.prose .faq-item summary::-webkit-details-marker{display:none}
.prose .faq-item summary::after{content:"+";font:800 22px/1 var(--serif);color:var(--accent-fonce);flex-shrink:0;transition:transform .2s ease}
.prose .faq-item[open] summary::after{transform:rotate(45deg)}
.prose .faq-item[open] summary{color:var(--accent-fonce)}
.prose .faq-item>*:not(summary){padding:0 4px 20px;margin:0;font-size:15px;line-height:1.7;color:color-mix(in srgb,var(--encre) 82%,transparent)}
.prose .ass-sources,.prose .sb-sources{border-top:1px solid var(--ligne);margin-top:32px;padding-top:12px}
.prose .ass-sources p,.prose .sb-sources p{font-size:14px;line-height:1.7}

@media(max-width:680px){
  .gz-search{display:none}
  .ass-reperes,.ass-options{grid-template-columns:1fr}
}
/* Les sections qui portent aussi .site-frame ne perdent jamais leurs marges latérales */
main .site-frame,header .site-frame,footer .site-frame{padding-left:32px;padding-right:32px}
@media(max-width:680px){main .site-frame,header .site-frame,footer .site-frame{padding-left:18px;padding-right:18px}}

/* ===== 25/09 — Contact : vrai formulaire (défaut F) ===== */
.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding-bottom:60px;align-items:start}
.sb-contact-form{background:var(--carte);border-radius:var(--rayon);padding:32px;box-shadow:var(--ombre);display:flex;flex-direction:column;gap:18px}
.sb-field{display:flex;flex-direction:column;gap:8px}
.sb-field label{font:700 13px var(--sans);letter-spacing:.02em}
.sb-field input,.sb-field select,.sb-field textarea{border:1px solid var(--ligne);border-radius:12px;padding:13px 16px;font:16px var(--sans);background:var(--fond);min-height:48px}
.sb-field textarea{resize:vertical;min-height:140px}
.sb-field input:focus-visible,.sb-field select:focus-visible,.sb-field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.sb-contact-form .btn{align-self:flex-start;min-height:48px}
.sb-contact-status{border-radius:12px;padding:14px 18px;font:600 14px/1.5 var(--sans)}
.sb-contact-status.is-ok{background:color-mix(in srgb,#2f6b4f 16%,transparent);color:#1f4a37}
.sb-contact-status.is-err{background:color-mix(in srgb,#b3391f 14%,transparent);color:#8a2c17}
.sb-contact-aside{background:var(--pastel);border-radius:var(--rayon);padding:28px}
.sb-contact-aside h2{font-size:20px;margin-bottom:14px}
.sb-contact-aside ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14px}
.sb-contact-aside p{font-size:14px}
@media(max-width:1100px){.contact-layout{grid-template-columns:1fr}}

/* ===== 25/09 — À propos : équipe (défaut G) ===== */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.team-card{background:var(--carte);border-radius:var(--rayon);padding:28px;box-shadow:var(--ombre);text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .2s ease}
.team-card:hover{transform:translateY(-4px);text-decoration:none}
.team-card .sb-avatar{width:96px;height:96px;margin-bottom:10px}
.team-card h3{font-size:19px;margin:0}
.team-card .eyebrow{color:var(--accent-fonce)}
.team-card p{font-size:14px;margin:10px 0 6px;color:color-mix(in srgb,var(--encre) 82%,transparent)}
.team-card .readlink{font:700 13px var(--sans);color:var(--accent-fonce)}
@media(max-width:680px){.team-grid{grid-template-columns:1fr}}

/* ===== 25/09 — Les dossiers : plan du site (défaut I) ===== */
.dossiers-list{display:flex;flex-direction:column;gap:14px;padding-bottom:60px}
.dossiers-rubrique{background:var(--carte);border-radius:var(--rayon-p);box-shadow:var(--ombre);overflow:hidden}
.dossiers-rubrique summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;font:800 19px var(--serif)}
.dossiers-rubrique summary::-webkit-details-marker{display:none}
.dossiers-rubrique summary::after{content:"+";font:800 24px var(--serif);color:var(--accent-fonce);transition:transform .2s ease}
.dossiers-rubrique[open] summary::after{transform:rotate(45deg)}
.dossiers-compte{font:600 13px var(--sans);color:color-mix(in srgb,var(--encre) 60%,transparent);flex-shrink:0}
.dossiers-rubrique ul{list-style:none;margin:0;padding:0 24px 20px}
.dossiers-rubrique li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--ligne);font-size:15px}
.dossiers-rubrique li a{min-height:24px}
.dossiers-rubrique li time{flex-shrink:0;font-size:12px;color:color-mix(in srgb,var(--encre) 55%,transparent)}

/* ───────────────────────── Commentaires — « Réagir à cet article » (26/09/2026) ───────────────────────── */
.sb-commentaires{margin-top:48px;padding-top:36px;border-top:1px solid var(--ligne)}
.sb-commentaires-titre{font:700 26px/1.2 var(--serif);color:var(--encre);margin:0 0 6px}
.sb-commentaires-compte{font:14px/1.4 var(--sans);color:color-mix(in srgb,var(--encre) 60%,transparent);margin:0 0 22px}
.sb-com-liste{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:18px}
.sb-com{margin:0}
.sb-com-reponse{margin-left:clamp(16px,6%,52px);padding-left:18px;border-left:2px solid var(--ligne)}
.sb-com-corps{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-p);padding:18px 20px;box-shadow:0 8px 20px -14px rgba(16,21,31,.25)}
.sb-com-tete{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sb-com-avatar{border-radius:50%;flex-shrink:0;width:44px;height:44px;object-fit:cover}
.sb-com-identite{display:flex;flex-direction:column;gap:2px}
.sb-com-auteur{font:700 15px/1.2 var(--sans);color:var(--encre)}
.sb-com-date{font:13px/1.2 var(--sans);color:color-mix(in srgb,var(--encre) 55%,transparent);text-decoration:none}
.sb-com-date:hover{color:var(--accent)}
.sb-com-attente{font:13px/1.4 var(--sans);color:var(--accent-fonce);background:color-mix(in srgb,var(--accent) 12%,var(--carte));border-radius:8px;padding:8px 12px;margin:0 0 10px}
.sb-com-texte{font:15px/1.6 var(--sans);color:var(--encre)}
.sb-com-texte p{margin:0 0 10px}
.sb-com-texte p:last-child{margin-bottom:0}
.sb-com-actions{margin-top:8px}
.sb-com-actions a,.comment-reply-link{font:600 13px/1 var(--sans);color:var(--accent);text-decoration:none;border:1px solid var(--accent);border-radius:999px;padding:6px 14px;display:inline-flex}
.sb-com-actions a:hover,.comment-reply-link:hover{background:var(--accent);color:#fff}
.sb-com-fermes{font:14px/1.5 var(--sans);color:color-mix(in srgb,var(--encre) 60%,transparent)}
.sb-com-form{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-p);padding:26px 26px 28px;display:flex;flex-wrap:wrap;gap:0}
.sb-com-form-titre{font:700 20px/1.2 var(--serif);color:var(--encre);margin:0 0 6px;width:100%}
.sb-com-note{font:13px/1.4 var(--sans);color:color-mix(in srgb,var(--encre) 55%,transparent);margin:0 0 16px;width:100%}
.sb-com-champ{margin:0 0 16px;display:flex;flex-direction:column;gap:6px;width:100%}
.sb-com-champ-moitie{width:calc(50% - 8px)}
.sb-com-champ label{font:600 13px/1.2 var(--sans);color:var(--encre)}
.sb-com-champ input,.sb-com-champ textarea{font:15px/1.5 var(--sans);color:var(--encre);background:var(--fond);border:1px solid var(--ligne);border-radius:10px;padding:11px 13px;box-sizing:border-box;width:100%}
.sb-com-champ input:focus,.sb-com-champ textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.sb-com-champ-texte textarea{resize:vertical;min-height:120px}
.sb-com-envoyer{font:700 15px/1 var(--sans);color:#fff;background:var(--accent);border:none;border-radius:999px;padding:13px 26px;cursor:pointer;margin-top:4px}
.sb-com-envoyer:hover{filter:brightness(1.08)}
.sb-com-envoyer:focus-visible{outline:3px solid var(--accent-fonce);outline-offset:2px}
@media (max-width:640px){
  .sb-com-champ-moitie{width:100%}
  .sb-com-reponse{margin-left:14px;padding-left:12px}
  .sb-com-form{padding:20px 18px 22px}
}
