/* ════════════════════════════════════════════════════════════════════════
   Blog — charte Fédé (celle du centre de formation : nuit + néon, menthe, teal)
   Plein écran : en-têtes bord à bord, mise en page en rails (sommaire à gauche,
   texte, colonne d'appoint à droite), grilles qui occupent toute la largeur.
   Chargée APRÈS blog.css : redéfinit ses variables et ajoute les nouveaux blocs.
   ════════════════════════════════════════════════════════════════════════ */

:root {
  --nuit: #04110F; --nuit-2: #061A18; --nuit-3: #0A2421; --petrole: #0C2E2D;
  --neon: #2FE0D2; --neon-2: #14C4BC; --teal: #12827F; --teal-deep: #0F706E; --teal-dark: #0B5B59;
  --menthe: #E7F6F5; --menthe-2: #D3EFEE; --fond: #F3F8F8;
  --encre: #0E2A29; --texte: #2C4644; --discret: #56706E; --filet: #DCEAE9; --filet-2: #C6DFDD;
  --corail: #FF6B57; --ambre: #F5A623; --vert: #22B07D;
  --grille-claire: linear-gradient(rgba(18,130,127,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(18,130,127,.06) 1px, transparent 1px);
  --grille-nuit: linear-gradient(rgba(47,224,210,.075) 1px, transparent 1px), linear-gradient(90deg, rgba(47,224,210,.075) 1px, transparent 1px);
  --halo: 0 0 0 1px rgba(47,224,210,.6), 0 0 28px rgba(47,224,210,.26), 0 18px 44px rgba(4,17,15,.1);
  --ombre: 0 10px 30px rgba(4,17,15,.08);
  --marge: clamp(18px, 3.6vw, 64px);
  --titre: "Space Grotesk", Manrope, system-ui, sans-serif;
  --corps: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* variables de blog.css → charte Fédé (encadrés, tableaux, chiffres, étapes…) */
  --blog-bg: var(--fond);
  --blog-paper: #FFFFFF;
  --blog-ink: var(--encre);
  --blog-ink-2: #0F2827;
  --blog-muted: var(--discret);
  --blog-line: var(--filet);
  --blog-accent: var(--teal);
  --blog-accent-dark: var(--teal-dark);
  --blog-accent-soft: rgba(47,224,210,.10);
  --blog-radius: 14px;
  --blog-shadow: var(--ombre);
  --blog-shadow-hover: 0 0 0 1px rgba(47,224,210,.45), 0 18px 44px rgba(4,17,15,.12);
  --blog-font-display: var(--titre);
  --blog-font-body: var(--corps);
  --blog-info: var(--teal); --blog-info-soft: rgba(18,130,127,.08);
  --blog-warn: var(--teal-deep); --blog-warn-soft: rgba(47,224,210,.10);
  --blog-tip: #11734F; --blog-tip-soft: rgba(34,176,125,.10);
}

body.fede-blog {
  background-color: var(--fond);
  background-image: var(--grille-claire);
  background-size: 32px 32px;
  color: var(--texte);
  font-family: var(--corps);
}
.fede-blog .blog-progress { background: linear-gradient(90deg, var(--neon), var(--neon-2)); box-shadow: 0 0 12px rgba(47,224,210,.6); }

/* ─── Éléments communs ─── */
.fb-pastille {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: 999px;
  border: 1px solid rgba(47,224,210,.35); background: rgba(47,224,210,.08);
  font: 600 11px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--neon);
  text-decoration: none;
}
.fb-pastille::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.fb-pastille--claire { border-color: var(--filet-2); background: var(--menthe); color: var(--teal-deep); }
.fb-sourcil { font: 600 11px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--teal); margin: 0 0 12px; }
.fb-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 24px; border-radius: 12px; border: 0;
  background: linear-gradient(135deg, var(--neon) 0%, var(--neon-2) 100%);
  color: var(--nuit); font: 700 15px/1 var(--titre); text-decoration: none; cursor: pointer;
  box-shadow: var(--halo); transition: box-shadow .2s ease, filter .2s ease;
}
.fb-btn:hover { filter: brightness(1.06); box-shadow: 0 0 0 1px rgba(47,224,210,.9), 0 0 40px rgba(47,224,210,.45), 0 18px 44px rgba(4,17,15,.14); }
.fb-btn--fantome { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
.fb-btn--fantome:hover { box-shadow: inset 0 0 0 1px var(--neon); filter: none; }
.fb-btn svg { width: 16px; height: 16px; }

/* ════════════════════ ARTICLE ════════════════════ */

/* En-tête plein écran : photo bord à bord, voile nuit, grille, titre en grand */
.fb-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: min(86vh, 820px); display: flex; align-items: flex-end;
  background: var(--nuit); color: #fff;
}
.fb-hero-media { position: absolute; inset: 0; z-index: -3; }
.fb-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fb-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(90deg, rgba(4,17,15,.96) 0%, rgba(4,17,15,.86) 34%, rgba(4,17,15,.35) 70%, rgba(4,17,15,.15) 100%),
    linear-gradient(0deg, rgba(4,17,15,.95) 0%, rgba(4,17,15,0) 45%);
}
.fb-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background-image: var(--grille-nuit); background-size: 32px 32px;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 45%, transparent 85%); mask-image: linear-gradient(90deg, #000 0%, #000 45%, transparent 85%);
}
.fb-hero-inner { width: 100%; padding: 140px var(--marge) clamp(40px, 6vh, 72px); }
.fb-fil { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 26px; font: 500 13px/1 var(--corps); color: rgba(255,255,255,.6); }
.fb-fil a { color: rgba(255,255,255,.75); text-decoration: none; }
.fb-fil a:hover { color: var(--neon); }
.fb-pastilles { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.fb-hero h1 {
  margin: 0 0 22px; max-width: 18ch;
  font: 700 clamp(36px, 5.4vw, 84px)/1.02 var(--titre); letter-spacing: -.045em; color: #fff;
}
.fb-hero h1 em { font-style: normal; color: var(--neon); text-shadow: 0 0 34px rgba(47,224,210,.35); }
.fb-hero h1 br { display: none; }
@media (min-width: 1100px) { .fb-hero h1 br { display: inline; } }
.fb-dek { margin: 0 0 30px; max-width: 64ch; font: 400 clamp(17px, 1.35vw, 21px)/1.6 var(--corps); color: rgba(255,255,255,.78); }
.fb-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; font: 500 14px/1.3 var(--corps); color: rgba(255,255,255,.72); }
.fb-auteur { display: flex; align-items: center; gap: 12px; }
.fb-avatar {
  width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center;
  background: rgba(47,224,210,.12); border: 1px solid rgba(47,224,210,.4);
  font: 700 14px/1 var(--titre); color: var(--neon);
}
.fb-auteur strong { display: block; color: #fff; font-weight: 700; }
.fb-meta-item { display: inline-flex; align-items: center; gap: 8px; }
.fb-meta-item svg { width: 16px; height: 16px; color: var(--neon); }

/* Mise en page plein écran en trois rails */
.fb-layout {
  display: grid; grid-template-columns: 250px minmax(0, 1fr) 340px;
  gap: clamp(32px, 3.6vw, 72px);
  padding: 64px var(--marge) 72px; align-items: start;
}
.fb-rail { position: sticky; top: 96px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; min-width: 0; }

/* Sommaire (rail gauche) — garde la classe .blog-toc pour le suivi de lecture */
.fede-blog .blog-toc {
  position: static; max-height: none; padding: 22px 20px;
  background: #fff; border: 1px solid var(--filet); border-radius: 14px; box-shadow: var(--ombre);
}
.fede-blog .blog-toc-title { font: 600 11px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--teal); margin-bottom: 14px; display: flex; gap: 8px; align-items: center; }
.fede-blog .blog-toc-title svg { width: 15px; height: 15px; }
.fede-blog .blog-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.fede-blog .blog-toc li { counter-increment: toc; }
.fede-blog .blog-toc li a {
  display: grid; grid-template-columns: 26px 1fr; gap: 6px; padding: 8px 10px; border-radius: 10px;
  font: 500 14px/1.4 var(--corps); color: var(--texte); text-decoration: none; border-left: 2px solid transparent;
}
.fede-blog .blog-toc li a::before { content: counter(toc, decimal-leading-zero); position: static; inset: auto; transform: none; width: auto; height: auto; background: none; border: 0; font: 600 11px/1.9 var(--mono); color: var(--discret); }
.fede-blog .blog-toc li a:hover { background: var(--menthe); color: var(--encre); }
.fede-blog .blog-toc li a.is-active { background: var(--menthe); color: var(--encre); border-left-color: var(--neon); font-weight: 700; }
.fede-blog .blog-toc li a.is-active::before { color: var(--teal); }
.fede-blog .blog-toc-progress { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--filet); }
.fede-blog .blog-toc-share a { color: var(--teal); }

/* Texte de l'article */
.fede-blog .fb-corps { min-width: 0; font-size: 18px; line-height: 1.8; color: var(--texte); }
.fede-blog .fb-corps > p, .fede-blog .fb-corps > ul, .fede-blog .fb-corps > ol:not(.blog-steps), .fede-blog .fb-corps > h3 { max-width: 74ch; }
.fede-blog .fb-corps h2 {
  position: relative; margin: 64px 0 20px; padding-top: 18px; scroll-margin-top: 110px;
  font: 700 clamp(26px, 2.2vw, 34px)/1.15 var(--titre); letter-spacing: -.03em; color: var(--encre);
}
.fede-blog .fb-corps h2::before { content: ""; position: absolute; top: 0; left: 0; width: 34px; height: 3px; border-radius: 3px; background: var(--neon); box-shadow: 0 0 12px rgba(47,224,210,.7); }
.fede-blog .fb-corps h2:first-child { margin-top: 0; }
.fede-blog .fb-corps h3 { font: 700 21px/1.3 var(--titre); letter-spacing: -.02em; color: var(--encre); margin: 34px 0 12px; }
.fede-blog .fb-corps a { color: var(--teal-deep); text-decoration-color: rgba(18,130,127,.35); text-underline-offset: 3px; }
.fede-blog .fb-corps a:hover { color: var(--teal); text-decoration-color: var(--neon); }
.fede-blog .fb-corps strong { color: var(--encre); }
.fede-blog .blog-callout { border-radius: 14px; }
.fede-blog .blog-callout--key { background: var(--menthe); border-color: var(--filet-2); }
.fede-blog .blog-pullout { font-family: var(--titre); letter-spacing: -.02em; border-left-color: var(--neon); }
.fede-blog .blog-table-wrap { border-radius: 14px; border-color: var(--filet); box-shadow: none; }
.fede-blog .blog-table thead th, .fede-blog .blog-table th { background: var(--menthe); color: var(--teal-deep); font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.fede-blog .blog-stat-value { font-family: var(--titre); letter-spacing: -.03em; color: var(--teal-deep); background: none; -webkit-text-fill-color: currentColor; }
.fede-blog .blog-step-num { background: var(--nuit); color: var(--neon); font-family: var(--titre); box-shadow: 0 0 0 1px rgba(47,224,210,.4); }
.fede-blog .blog-figure-img { border-radius: 14px; border-color: var(--filet); }
.fede-blog .blog-author-bio { border-radius: 14px; border-color: var(--filet); background: #fff; box-shadow: var(--ombre); }
.fede-blog .blog-author-bio-avatar { background: var(--nuit); color: var(--neon); font-family: var(--titre); }

/* Colonne d'appoint (rail droit) */
.fb-carte-rail { background: #fff; border: 1px solid var(--filet); border-radius: 14px; padding: 22px 22px 24px; box-shadow: var(--ombre); }
.fb-carte-rail h3 { margin: 0 0 14px; font: 700 19px/1.25 var(--titre); letter-spacing: -.02em; color: var(--encre); }
.fb-essentiel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fb-essentiel li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; font: 500 15px/1.5 var(--corps); color: var(--texte); }
.fb-essentiel li::before { content: ""; width: 18px; height: 18px; margin-top: 3px; border-radius: 6px; background: var(--menthe) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F706E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat; box-shadow: inset 0 0 0 1px var(--filet-2); }
.fb-carte-nuit {
  position: relative; overflow: hidden; border-radius: 14px; padding: 24px 22px 26px; color: #fff;
  background-color: var(--nuit-2); background-image: radial-gradient(circle at 100% 0%, rgba(47,224,210,.22) 0%, transparent 55%), var(--grille-nuit); background-size: auto, 28px 28px, 28px 28px;
  box-shadow: 0 0 0 1px rgba(47,224,210,.25), var(--ombre);
}
.fb-carte-nuit h3 { margin: 14px 0 10px; font: 700 22px/1.2 var(--titre); letter-spacing: -.025em; color: #fff; }
.fb-carte-nuit p { margin: 0 0 20px; font: 400 15px/1.6 var(--corps); color: rgba(255,255,255,.75); }
.fb-serie-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.fb-serie-liste a, .fb-serie-liste span.fb-actuel {
  display: grid; grid-template-columns: 34px 1fr; gap: 8px; align-items: baseline;
  padding: 8px 10px; border-radius: 10px; text-decoration: none; font: 500 14px/1.4 var(--corps); color: var(--texte);
}
.fb-serie-liste a:hover { background: var(--menthe); color: var(--encre); }
.fb-serie-liste b { font: 600 12px/1 var(--mono); color: var(--discret); }
.fb-serie-liste span.fb-actuel { background: var(--nuit); color: #fff; }
.fb-serie-liste .fb-actuel b { color: var(--neon); }
.fb-voisins { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 56px; }
.fb-voisins a {
  display: block; padding: 18px 20px; border-radius: 14px; background: #fff; border: 1px solid var(--filet);
  text-decoration: none; color: var(--encre); transition: box-shadow .2s ease, border-color .2s ease;
}
.fb-voisins a:hover { border-color: var(--neon); box-shadow: 0 0 0 1px rgba(47,224,210,.45), var(--ombre); }
.fb-voisins small { display: block; margin-bottom: 6px; font: 600 11px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }
.fb-voisins strong { font: 700 17px/1.3 var(--titre); letter-spacing: -.02em; }
.fb-voisins a:last-child { text-align: right; }

/* Bloc de fin + « À lire aussi » en pleine largeur */
.fede-blog .blog-end-cta {
  max-width: none; width: 100%; margin: 0; padding: clamp(56px, 8vw, 110px) var(--marge); border-radius: 0;
  background-color: var(--nuit); background-image: radial-gradient(circle at 85% 0%, rgba(47,224,210,.20) 0%, transparent 50%), var(--grille-nuit); background-size: auto, 32px 32px, 32px 32px;
}
.fede-blog .blog-end-cta-inner { max-width: none; padding: 0; border-radius: 0; background: none; box-shadow: none; border: 0; text-align: left; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; }
.fede-blog .blog-end-cta-eyebrow { grid-column: 1 / -1; font: 600 11px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--neon); }
.fede-blog .blog-end-cta h2 { margin: 0; font: 700 clamp(34px, 4.2vw, 64px)/1.02 var(--titre); letter-spacing: -.045em; color: #fff; }
.fede-blog .blog-end-cta p { margin: 0 0 22px; font: 400 18px/1.6 var(--corps); color: rgba(255,255,255,.75); }
.fede-blog .blog-end-cta-actions { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start; }
.fede-blog .blog-end-cta-actions a.primary { background: linear-gradient(135deg, var(--neon), var(--neon-2)); color: var(--nuit); box-shadow: var(--halo); border-radius: 12px; font-family: var(--titre); }
.fede-blog .blog-end-cta-actions a.ghost { color: #fff; border: 1px solid rgba(255,255,255,.25); background: transparent; border-radius: 12px; font-family: var(--titre); }
.fede-blog .blog-end-cta-actions a.ghost:hover { border-color: var(--neon); color: var(--neon); }
.fede-blog .blog-related { max-width: none; margin: 0; padding: 72px var(--marge) 96px; }
.fede-blog .blog-related-title { font: 700 clamp(26px, 2.4vw, 36px)/1.1 var(--titre); letter-spacing: -.03em; color: var(--encre); text-align: left; }
.fede-blog .blog-related-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.fede-blog .blog-related-card { border-radius: 14px; border: 1px solid var(--filet); box-shadow: none; transition: box-shadow .2s ease, border-color .2s ease; }
.fede-blog .blog-related-card:hover { transform: none; border-color: var(--neon); box-shadow: 0 0 0 1px rgba(47,224,210,.45), var(--ombre); }
.fede-blog .blog-related-tag { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.fede-blog .blog-related-body h4 { font-family: var(--titre); letter-spacing: -.02em; }

/* Écrans moyens : la colonne d'appoint passe sous le texte */
@media (max-width: 1280px) {
  .fb-layout { grid-template-columns: 230px minmax(0, 1fr); }
  .fb-rail-droite { grid-column: 1 / -1; position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
/* Tablettes et téléphones : une colonne, sommaire repliable en tête */
@media (max-width: 900px) {
  .fb-hero { min-height: 0; }
  .fb-hero-inner { padding-top: 120px; }
  .fb-layout { grid-template-columns: minmax(0, 1fr); padding-top: 36px; gap: 28px; }
  .fb-rail { position: static; }
  .fede-blog .fb-corps { font-size: 17px; }
  .fede-blog .blog-end-cta-inner { grid-template-columns: 1fr; }
  .fede-blog .blog-end-cta-actions { grid-column: 1; }
  .fb-voisins { grid-template-columns: 1fr; }
  .fb-voisins a:last-child { text-align: left; }
}

/* ════════════════════ PAGE BLOG ════════════════════ */

.fb-ihero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: min(72vh, 720px); display: flex; align-items: flex-end;
  padding: 150px var(--marge) clamp(48px, 7vh, 80px);
  background-color: var(--nuit); color: #fff;
  background-image: radial-gradient(circle at 80% 10%, rgba(47,224,210,.20) 0%, transparent 45%), radial-gradient(circle at 10% 100%, rgba(20,196,188,.12) 0%, transparent 40%);
}
.fb-ihero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--grille-nuit); background-size: 32px 32px; }
.fb-reseau { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; opacity: .9; }
.fb-ihero-inner { width: 100%; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px 64px; align-items: end; }
.fb-ihero h1 { margin: 22px 0 20px; font: 700 clamp(42px, 6.2vw, 96px)/1 var(--titre); letter-spacing: -.05em; }
.fb-ihero h1 em { font-style: normal; color: var(--neon); text-shadow: 0 0 34px rgba(47,224,210,.35); }
.fb-ihero-dek { margin: 0; max-width: 58ch; font: 400 clamp(17px, 1.3vw, 20px)/1.6 var(--corps); color: rgba(255,255,255,.76); }
.fb-recherche { display: flex; align-items: center; gap: 12px; padding: 6px 6px 6px 18px; border-radius: 14px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(47,224,210,.35); }
.fb-recherche svg { width: 18px; height: 18px; color: var(--neon); flex: none; }
.fb-recherche input { flex: 1; min-width: 0; padding: 14px 0; border: 0; outline: 0; background: transparent; color: #fff; font: 500 16px/1 var(--corps); }
.fb-recherche input::placeholder { color: rgba(255,255,255,.45); }
.fb-recherche:focus-within { box-shadow: inset 0 0 0 1px var(--neon), 0 0 28px rgba(47,224,210,.25); }
.fb-chiffres { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 22px; }
.fb-chiffres div { font: 500 13px/1.3 var(--corps); color: rgba(255,255,255,.6); }
.fb-chiffres b { display: block; font: 700 30px/1.1 var(--titre); letter-spacing: -.03em; color: #fff; }
.fb-ihero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }

/* À la une */
.fb-une { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 22px; padding: 56px var(--marge) 0; }
.fb-une-grande, .fb-une-petite {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end;
  border-radius: 18px; text-decoration: none; color: #fff; background: var(--nuit);
  box-shadow: 0 0 0 1px var(--filet); transition: box-shadow .25s ease;
}
.fb-une-grande { min-height: 480px; grid-row: span 2; }
.fb-une-petite { min-height: 229px; }
.fb-une-grande img, .fb-une-petite img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.fb-une-grande::before, .fb-une-petite::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(4,17,15,.94) 0%, rgba(4,17,15,.55) 45%, rgba(4,17,15,.05) 100%); }
.fb-une-grande:hover, .fb-une-petite:hover { box-shadow: 0 0 0 1px var(--neon), 0 0 34px rgba(47,224,210,.3); }
.fb-une-grande:hover img, .fb-une-petite:hover img { transform: scale(1.03); }
.fb-une-texte { padding: 26px 28px; }
.fb-une-grande .fb-une-texte { padding: 34px 38px; }
.fb-une-texte h2 { margin: 14px 0 10px; font: 700 clamp(22px, 2vw, 30px)/1.12 var(--titre); letter-spacing: -.035em; }
.fb-une-grande h2 { font-size: clamp(30px, 3.4vw, 52px); max-width: 20ch; }
.fb-une-texte p { margin: 0; max-width: 60ch; font: 400 15px/1.55 var(--corps); color: rgba(255,255,255,.75); }

/* Rail des thèmes + grille pleine largeur */
.fb-ilayout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(28px, 3vw, 56px); padding: 56px var(--marge) 80px; align-items: start; }
.fb-irail { position: sticky; top: 96px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; min-width: 0; }
.fb-themes { display: grid; gap: 4px; }
.fb-theme {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%;
  padding: 11px 14px; border-radius: 10px; border: 0; background: transparent; cursor: pointer; text-align: left;
  font: 600 15px/1.2 var(--corps); color: var(--texte); transition: background .2s ease, color .2s ease;
}
.fb-theme span:last-child { font: 600 12px/1 var(--mono); color: var(--discret); padding: 5px 8px; border-radius: 999px; background: var(--fond); }
.fb-theme:hover { background: var(--menthe); color: var(--encre); }
.fb-theme.is-active { background: var(--nuit); color: #fff; }
.fb-theme.is-active span:last-child { background: rgba(47,224,210,.15); color: var(--neon); }
.fb-grille-tete { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 0 0 22px; }
.fb-grille-tete h2 { margin: 0; font: 700 clamp(26px, 2.4vw, 36px)/1.1 var(--titre); letter-spacing: -.035em; color: var(--encre); }
.fb-grille-tete p { margin: 0; font: 500 14px/1 var(--mono); color: var(--discret); }
.fb-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.fb-carte {
  display: flex; flex-direction: column; overflow: hidden; border-radius: 16px; text-decoration: none;
  background: #fff; border: 1px solid var(--filet); color: var(--encre);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.fb-carte:hover { border-color: var(--neon); box-shadow: 0 0 0 1px rgba(47,224,210,.45), 0 18px 44px rgba(4,17,15,.10); }
.fb-carte-img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--menthe); }
.fb-carte-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.fb-carte:hover .fb-carte-img img { transform: scale(1.04); }
.fb-carte-img .fb-pastille { position: absolute; left: 14px; top: 14px; background: rgba(4,17,15,.72); backdrop-filter: blur(6px); }
.fb-carte-num { position: absolute; right: 14px; top: 12px; font: 700 26px/1 var(--titre); letter-spacing: -.04em; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.fb-carte-corps { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.fb-carte-corps h3 { margin: 0; font: 700 20px/1.22 var(--titre); letter-spacing: -.025em; color: var(--encre); }
.fb-carte-corps p { margin: 0; font: 400 15px/1.55 var(--corps); color: var(--texte); }
.fb-carte-meta { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; align-items: center; font: 500 12px/1 var(--mono); letter-spacing: .04em; color: var(--discret); border-top: 1px solid var(--filet); }
.fb-carte-meta svg { width: 16px; height: 16px; color: var(--teal); }
.fb-vide { display: none; padding: 48px; text-align: center; border: 1px dashed var(--filet-2); border-radius: 16px; font: 500 16px/1.5 var(--corps); color: var(--discret); }

/* La série « La veille du mardi » */
.fb-serie {
  padding: clamp(56px, 7vw, 96px) var(--marge); color: #fff;
  background-color: var(--nuit-2); background-image: radial-gradient(circle at 0% 0%, rgba(47,224,210,.16) 0%, transparent 40%), var(--grille-nuit); background-size: auto, 32px 32px, 32px 32px;
}
.fb-serie-tete { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; margin-bottom: 34px; }
.fb-serie-tete h2 { margin: 16px 0 10px; font: 700 clamp(32px, 4vw, 60px)/1.02 var(--titre); letter-spacing: -.045em; }
.fb-serie-tete p { margin: 0; max-width: 62ch; font: 400 17px/1.6 var(--corps); color: rgba(255,255,255,.72); }
.fb-serie-grille { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.fb-serie-grille a {
  display: flex; flex-direction: column; gap: 10px; min-height: 170px; padding: 20px 18px; border-radius: 14px; text-decoration: none; color: #fff;
  background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px rgba(47,224,210,.18); transition: box-shadow .2s ease, background .2s ease;
}
.fb-serie-grille a:hover { background: rgba(47,224,210,.08); box-shadow: inset 0 0 0 1px var(--neon), 0 0 30px rgba(47,224,210,.18); }
.fb-serie-grille b { font: 700 34px/1 var(--titre); letter-spacing: -.05em; color: var(--neon); }
.fb-serie-grille small { font: 600 10px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.fb-serie-grille span { font: 600 15px/1.35 var(--corps); color: #fff; }

@media (max-width: 1100px) {
  .fb-ihero-inner { grid-template-columns: 1fr; }
  .fb-une { grid-template-columns: 1fr; }
  .fb-une-grande { grid-row: auto; min-height: 420px; }
  .fb-serie-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .fb-ihero { min-height: 0; padding-top: 120px; }
  .fb-ilayout { grid-template-columns: minmax(0, 1fr); padding-top: 36px; }
  .fb-irail { position: static; }
  .fb-themes { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .fb-theme { width: auto; white-space: nowrap; background: #fff; border: 1px solid var(--filet); }
  .fb-irail > :not(:first-child) { display: none; }
  .fb-irail > :first-child { padding: 0; background: none; border: 0; box-shadow: none; }
  .fb-irail > :first-child .fb-sourcil { display: none; }
  .fb-serie-tete { grid-template-columns: 1fr; }
  .fb-une-grande .fb-une-texte { padding: 26px 24px; }
  .fb-grille { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .fb-carte-img img, .fb-une-grande img, .fb-une-petite img { transition: none; }
  .fb-reseau { display: none; }
}

/* Dernières couleurs codées en dur dans blog.css → palette Fédé */
.fede-blog .blog-cover-img { background: var(--nuit); }
.fede-blog .blog-versus-card--bad h4, .fede-blog .blog-table .blog-tag-no { color: var(--discret); }
.fede-blog .blog-versus-card--bad li::before { background: var(--discret); box-shadow: 0 0 0 4px rgba(86,112,110,.12); }
.fede-blog .blog-inline-cta { background-color: var(--nuit-2); background-image: radial-gradient(circle at 100% 0%, rgba(47,224,210,.18) 0%, transparent 50%), var(--grille-nuit); background-size: auto, 28px 28px, 28px 28px; border: 0; border-radius: 14px; }
.fede-blog .blog-inline-cta a.primary { background: linear-gradient(135deg, var(--neon), var(--neon-2)); color: var(--nuit); box-shadow: var(--halo); border-radius: 12px; }
.fede-blog .blog-inline-cta a.ghost { color: #fff; border-color: rgba(255,255,255,.25); border-radius: 12px; }
.fede-blog .fb-corps .blog-inline-cta h3 { color: #fff; }
.fede-blog .fb-corps .blog-inline-cta a.primary { color: var(--nuit); text-decoration: none; }
.fede-blog .fb-corps .blog-inline-cta a.ghost { color: #fff; text-decoration: none; }
.fede-blog .fb-corps .blog-inline-cta .blog-inline-cta-actions a.primary { background: linear-gradient(135deg, var(--neon), var(--neon-2)); color: var(--nuit); box-shadow: var(--halo); border: 0; }
.fede-blog .fb-corps .blog-inline-cta .blog-inline-cta-actions a.primary { background: linear-gradient(135deg, var(--neon), var(--neon-2)) !important; }
/* Encadrés « attention / info / astuce » : bordures et fonds dans la palette Fédé (plus d'orange) */
.fede-blog .blog-callout--warn, .fede-blog .blog-callout--info, .fede-blog .blog-callout--tip { border-color: rgba(47,224,210,.35); background: var(--menthe); }
.fede-blog .blog-callout--warn .blog-callout-icon, .fede-blog .blog-callout--info .blog-callout-icon, .fede-blog .blog-callout--tip .blog-callout-icon { color: var(--teal-deep); background: #fff; }

/* ════════ Retouches « comme les newsletters » (16/10) ════════ */

/* Barre de la série dans l'en-tête */
.fb-serie-barre { display: flex; gap: 5px; max-width: 340px; margin: 0 0 24px; }
.fb-serie-barre span { flex: 1; height: 3px; border-radius: 3px; background: rgba(255,255,255,.14); }
.fb-serie-barre .is-passe { background: rgba(47,224,210,.45); }
.fb-serie-barre .is-actuel { background: var(--neon); box-shadow: 0 0 12px var(--neon); }

/* En-tête « visuel » (LF Immo, LMD) : texte à gauche, visuel du réseau à droite */
.fb-hero--visuel { min-height: 0; align-items: center; background-color: var(--nuit);
  background-image: radial-gradient(circle at 85% 30%, rgba(47,224,210,.20) 0%, transparent 45%), var(--grille-nuit); background-size: auto, 32px 32px, 32px 32px; }
.fb-hero--visuel::before, .fb-hero--visuel::after { display: none; }
.fb-hero--visuel .fb-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.fb-hero--visuel h1 { font-size: clamp(34px, 4.2vw, 64px); }
.fb-hero-visuel img { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: 0 0 0 1px rgba(47,224,210,.35), 0 0 60px rgba(47,224,210,.18), 0 30px 60px rgba(0,0,0,.45); }

/* Encart « en un coup d'œil » en tête d'article */
.fede-blog .fb-coup-oeil { margin: 0 0 48px; padding: 26px 26px 24px; background: #fff; border: 1px solid var(--filet); border-radius: 16px; box-shadow: var(--ombre); max-width: none; }
.fede-blog .fb-coup-oeil p { max-width: none; }
.fb-note { margin: 14px 0 0 !important; font: 500 13px/1.5 var(--corps) !important; color: var(--discret) !important; }
.fb-dpe { display: flex; align-items: flex-end; gap: 8px; }
.fb-dpe-classe { flex: 1; text-align: center; }
.fb-dpe-barre { display: block; width: 100%; border-radius: 8px 8px 0 0; }
.fb-dpe-classe b { display: block; margin-top: 8px; font: 700 18px/1 var(--titre); color: var(--encre); }
.fb-dpe-classe small { display: block; margin-top: 4px; font: 600 12px/1 var(--mono); color: var(--discret); }
.fb-dpe-classe.is-cible small { color: var(--teal-deep); }
.fb-frise3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fb-etape span { display: block; height: 6px; border-radius: 6px; background: var(--neon); box-shadow: 0 0 10px rgba(47,224,210,.5); }
.fb-etape.is-futur span { background: rgba(47,224,210,.3); box-shadow: none; }
.fb-etape small { display: block; margin: 14px 0 4px; font: 600 12px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--discret); }
.fb-etape b { font: 700 22px/1.2 var(--titre); letter-spacing: -.02em; color: var(--encre); }
.fb-packs, .fb-tuiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fb-pack, .fb-tuile { padding: 18px 18px 20px; border-radius: 14px; background: var(--menthe); }
.fb-pack small { display: block; font: 600 11px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--teal-deep); }
.fb-pack b { display: block; margin: 6px 0 12px; font: 700 22px/1.1 var(--titre); color: var(--encre); }
.fb-pack strong { display: block; font: 700 22px/1.1 var(--titre); color: var(--encre); white-space: nowrap; }
.fb-pack span { font: 500 13px/1.4 var(--corps); color: var(--discret); }
.fb-pack.is-phare { background: var(--nuit-2); box-shadow: 0 0 0 1px rgba(47,224,210,.35); }
.fb-pack.is-phare small { color: var(--neon); }
.fb-pack.is-phare b, .fb-pack.is-phare strong { color: #fff; }
.fb-pack.is-phare span { color: rgba(255,255,255,.65); }
.fb-avantage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; margin-top: 22px; }
.fb-avantage img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 14px 34px rgba(4,17,15,.18); }
.fb-avantage ul { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.fb-avantage li { padding-left: 24px; position: relative; font: 500 15px/1.5 var(--corps); color: var(--texte); }
.fb-avantage li::before { content: "✓"; position: absolute; left: 0; color: var(--teal-deep); font-weight: 800; }
.fb-boutons { display: flex; flex-wrap: wrap; gap: 10px; }
.fede-blog .fb-coup-oeil a.fb-btn { text-decoration: none; color: var(--nuit); }
.fede-blog .fb-coup-oeil a.fb-btn--clair { background: #fff; color: var(--encre); box-shadow: inset 0 0 0 1px var(--filet-2); }
.fede-blog .fb-coup-oeil a.fb-btn--clair:hover { box-shadow: inset 0 0 0 1px var(--neon); filter: none; }
.fb-tuile b { display: block; margin-bottom: 6px; font: 700 26px/1.05 var(--titre); letter-spacing: -.03em; color: var(--encre); }
.fb-tuile span { font: 500 14px/1.45 var(--corps); color: var(--texte); }
.fb-tuile--icone { background: #fff; border: 1.5px dashed rgba(47,224,210,.6); }
.fb-tuile--icone i { display: block; font-style: normal; font-size: 26px; margin-bottom: 10px; }
.fb-tuile--icone b { font-size: 19px; }
.fb-puces { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.fb-puces span { padding: 8px 13px; border-radius: 999px; background: var(--nuit-2); color: #fff; font: 700 13px/1 var(--corps); }
.fb-lmd { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 28px; align-items: center; padding: 24px; border-radius: 14px; background: var(--nuit-2); }
.fb-lmd img { width: 145px; height: auto; }
.fb-lmd .fb-lmd-citation { margin: 0 0 10px; font: 700 26px/1.2 var(--titre); color: #fff; }
.fb-lmd .fb-sourcil { color: var(--neon); }
.fb-lmd .fb-puces span { background: transparent; box-shadow: inset 0 0 0 1px rgba(232,114,42,.5); }
.fb-lmd a.fb-btn { margin-top: 16px; }

@media (max-width: 900px) {
  .fb-hero--visuel .fb-hero-inner { grid-template-columns: 1fr; gap: 28px; }
  .fb-packs, .fb-tuiles, .fb-frise3, .fb-avantage { grid-template-columns: 1fr; }
  .fb-lmd { grid-template-columns: 1fr; }
  .fb-dpe { gap: 4px; }
}

/* ════════ Page LMD : charte du réseau (orange, noir), comme sa newsletter ════════ */
body.theme-lmd {
  --neon: #E8722A; --neon-2: #F6B173; --teal: #B4551A; --teal-deep: #9A4513; --teal-dark: #7A3510;
  --menthe: #FDEEE4; --menthe-2: #FAD9C2; --filet: #F1DDCF; --filet-2: #E9C7AF; --fond: #F8F3EE;
  --nuit: #1A1A1A; --nuit-2: #231A14; --nuit-3: #2A1E16;
  --grille-claire: linear-gradient(rgba(232,114,42,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(232,114,42,.06) 1px, transparent 1px);
  --grille-nuit: linear-gradient(rgba(232,114,42,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(232,114,42,.08) 1px, transparent 1px);
  --halo: 0 0 0 1px rgba(232,114,42,.6), 0 0 28px rgba(232,114,42,.28), 0 18px 44px rgba(0,0,0,.12);
  --blog-accent-soft: rgba(232,114,42,.10);
  --blog-accent: #B4551A; --blog-accent-dark: #7A3510;
}
.theme-lmd .fb-pastille { border-color: rgba(232,114,42,.45); background: rgba(232,114,42,.10); }
.theme-lmd .fb-hero h1 em { text-shadow: 0 0 34px rgba(232,114,42,.35); }
.theme-lmd .fb-hero--visuel { background-image: radial-gradient(circle at 85% 30%, rgba(232,114,42,.24) 0%, transparent 45%), var(--grille-nuit); }
.theme-lmd .fb-hero-visuel img { box-shadow: 0 0 0 1px rgba(232,114,42,.4), 0 0 60px rgba(232,114,42,.2), 0 30px 60px rgba(0,0,0,.45); }
.theme-lmd .fb-serie-barre .is-passe { background: rgba(232,114,42,.45); }
.theme-lmd.fede-blog .fb-corps h2::before { box-shadow: 0 0 12px rgba(232,114,42,.6); }
.theme-lmd .fb-carte-nuit { background-image: radial-gradient(circle at 100% 0%, rgba(232,114,42,.22) 0%, transparent 55%), var(--grille-nuit); box-shadow: 0 0 0 1px rgba(232,114,42,.3), var(--ombre); }
.theme-lmd.fede-blog .blog-end-cta { background-image: radial-gradient(circle at 85% 0%, rgba(232,114,42,.22) 0%, transparent 50%), var(--grille-nuit); }
.theme-lmd .fb-voisins a:hover, .theme-lmd.fede-blog .blog-related-card:hover { box-shadow: 0 0 0 1px rgba(232,114,42,.45), var(--ombre); }
.theme-lmd.fede-blog .blog-callout--warn, .theme-lmd.fede-blog .blog-callout--info, .theme-lmd.fede-blog .blog-callout--tip { border-color: rgba(232,114,42,.35); }
.theme-lmd .fede-blog .blog-progress, .theme-lmd .blog-progress { box-shadow: 0 0 12px rgba(232,114,42,.6); }

/* ════════ Mises en scène par article (16/10) ════════ */

/* — En-tête « centré » : photo plein écran, titre au centre — */
.fb-hero--centre { align-items: center; text-align: center; }
.fb-hero--centre::before { background: radial-gradient(ellipse at 50% 55%, rgba(4,17,15,.82) 0%, rgba(4,17,15,.55) 55%, rgba(4,17,15,.35) 100%); }
.fb-hero--centre::after { -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 0%, transparent 70%); mask-image: radial-gradient(ellipse at 50% 50%, #000 0%, transparent 70%); }
.fb-hero--centre .fb-hero-inner { padding-top: 160px; padding-bottom: 90px; }
.fb-hero--centre h1, .fb-hero--centre .fb-dek { margin-left: auto; margin-right: auto; }
.fb-hero--centre .fb-fil, .fb-hero--centre .fb-pastilles, .fb-hero--centre .fb-meta { justify-content: center; }
.fb-hero--centre .fb-serie-barre { margin-left: auto; margin-right: auto; }

/* — En-tête « coupé » : texte sur nuit / photo bord à bord — */
.fb-hero--scinde, .fb-hero--scinde-inverse { min-height: 0; align-items: stretch;
  background-image: radial-gradient(circle at 0% 100%, rgba(47,224,210,.14) 0%, transparent 45%), var(--grille-nuit); background-size: auto, 32px 32px, 32px 32px; }
.fb-hero--scinde::before, .fb-hero--scinde::after, .fb-hero--scinde-inverse::before, .fb-hero--scinde-inverse::after { display: none; }
.fb-hero--scinde .fb-hero-inner, .fb-hero--scinde-inverse .fb-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 0; min-height: min(82vh, 760px); }
.fb-hero--scinde .fb-hero-texte, .fb-hero--scinde-inverse .fb-hero-texte { align-self: end; padding: 150px var(--marge) clamp(40px, 6vh, 72px); }
.fb-hero-photo { position: relative; min-height: 360px; overflow: hidden; }
.fb-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fb-hero--scinde .fb-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--nuit) 0%, rgba(4,17,15,0) 22%); }
.fb-hero--scinde-inverse .fb-hero-photo { order: -1; }
.fb-hero--scinde-inverse .fb-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, var(--nuit) 0%, rgba(4,17,15,0) 22%); }
.fb-hero--scinde h1, .fb-hero--scinde-inverse h1 { font-size: clamp(34px, 4.4vw, 68px); }

/* — En-tête « mosaïque » : les 3 photos de l'article — */
.fb-hero--mosaique, .fb-hero--mosaique-inverse { min-height: 0; align-items: center;
  background-image: radial-gradient(circle at 90% 10%, rgba(47,224,210,.18) 0%, transparent 45%), var(--grille-nuit); background-size: auto, 32px 32px, 32px 32px; }
.fb-hero--mosaique::before, .fb-hero--mosaique::after, .fb-hero--mosaique-inverse::before, .fb-hero--mosaique-inverse::after { display: none; }
.fb-hero--mosaique .fb-hero-inner, .fb-hero--mosaique-inverse .fb-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.fb-hero--mosaique-inverse .fb-hero-mosaique { order: -1; }
.fb-hero--mosaique h1, .fb-hero--mosaique-inverse h1 { font-size: clamp(34px, 4.2vw, 64px); }
.fb-hero-mosaique { display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; height: clamp(360px, 42vw, 560px); }
.fb-hero-mosaique div { position: relative; overflow: hidden; border-radius: 16px; box-shadow: 0 0 0 1px rgba(47,224,210,.28), 0 20px 50px rgba(0,0,0,.4); }
.fb-hero-mosaique div:first-child { grid-row: span 2; }
.fb-hero-mosaique img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* — En-tête « clair » : fond clair quadrillé, photo encadrée — */
.fb-hero--clair { min-height: 0; color: var(--encre); background-color: var(--fond); background-image: radial-gradient(circle at 85% 20%, rgba(47,224,210,.20) 0%, transparent 45%), var(--grille-claire); background-size: auto, 32px 32px, 32px 32px; }
.fb-hero--clair::before, .fb-hero--clair::after { display: none; }
.fb-hero--clair .fb-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.fb-hero--clair h1 { color: var(--encre); font-size: clamp(34px, 4.4vw, 68px); }
.fb-hero--clair h1 em { color: var(--teal); text-shadow: none; }
.fb-hero--clair .fb-dek { color: var(--texte); }
.fb-hero--clair .fb-fil, .fb-hero--clair .fb-fil a, .fb-hero--clair .fb-meta { color: var(--discret); }
.fb-hero--clair .fb-auteur strong { color: var(--encre); }
.fb-hero--clair .fb-pastille { color: var(--teal-deep); border-color: var(--filet-2); background: #fff; }
.fb-hero--clair .fb-serie-barre span { background: var(--filet); }
.fb-hero--clair .fb-serie-barre .is-passe { background: rgba(18,130,127,.45); }
.fb-hero--clair .fb-hero-photo { min-height: 0; aspect-ratio: 4 / 3; border-radius: 18px; box-shadow: 0 0 0 1px var(--filet-2), 18px 18px 0 -2px var(--neon), 0 30px 60px rgba(4,17,15,.15); }

/* — Tampon « Dossier » (TRACFIN) — */
.fb-tampon { border-style: dashed !important; transform: rotate(-2deg); }

/* — Photos dans l'article : légendes et 4 styles — */
.fede-blog .fb-fig { margin: 44px 0; }
.fede-blog .fb-fig figcaption { margin-top: 12px; text-align: left; font: 500 13px/1.5 var(--mono); letter-spacing: .02em; font-style: normal; color: var(--discret); }
.fede-blog .fb-fig figcaption::before { content: "▸ "; color: var(--teal); }
.fede-blog .fb-fig--large { position: relative; }
.fede-blog .fb-fig--large .blog-figure-img { border-radius: 18px; border: 0; box-shadow: 0 24px 60px rgba(4,17,15,.18); }
.fede-blog .fb-fig--large .blog-figure-img img { aspect-ratio: 16 / 8; object-fit: cover; }
.fede-blog .fb-fig--large figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 60px 22px 18px; border-radius: 0 0 18px 18px;
  background: linear-gradient(0deg, rgba(4,17,15,.85) 0%, rgba(4,17,15,0) 100%); color: #fff; }
.fede-blog .fb-fig--large figcaption::before { color: var(--neon); }
.fede-blog .fb-fig--decale { padding: 0 16px 16px 0; }
.fede-blog .fb-fig--decale .blog-figure-img { border: 0; border-radius: 14px; box-shadow: 16px 16px 0 -1px var(--menthe), 16px 16px 0 0 var(--neon); }
.fede-blog .fb-fig--duo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fede-blog .fb-fig--duo .blog-figure-img { border: 0; border-radius: 14px; }
.fede-blog .fb-fig--duo .blog-figure-img img { aspect-ratio: 4 / 5; object-fit: cover; height: 100%; }
.fede-blog .fb-fig--duo .blog-figure-img:nth-child(2) { margin-top: 40px; }
.fede-blog .fb-fig--duo figcaption { grid-column: 1 / -1; }

@media (max-width: 900px) {
  .fb-hero--scinde .fb-hero-inner, .fb-hero--scinde-inverse .fb-hero-inner, .fb-hero--mosaique .fb-hero-inner, .fb-hero--mosaique-inverse .fb-hero-inner, .fb-hero--clair .fb-hero-inner { grid-template-columns: 1fr; min-height: 0; }
  .fb-hero-photo { min-height: 260px; }
  .fb-hero--scinde .fb-hero-texte, .fb-hero--scinde-inverse .fb-hero-texte { padding: 120px var(--marge) 32px; }
  .fb-hero--scinde .fb-hero-photo::after, .fb-hero--scinde-inverse .fb-hero-photo::after { background: linear-gradient(180deg, var(--nuit) 0%, rgba(4,17,15,0) 30%); }
  .fb-hero--scinde-inverse .fb-hero-photo, .fb-hero--mosaique-inverse .fb-hero-mosaique { order: 0; }
  .fb-hero--clair .fb-hero-inner { gap: 32px; }
  .fb-hero-mosaique { height: 300px; }
  .fede-blog .fb-fig--large .blog-figure-img img { aspect-ratio: 4 / 3; }
  .fede-blog .fb-fig--duo .blog-figure-img:nth-child(2) { margin-top: 24px; }
}

/* Boutons dans le corps des articles : la règle des liens (.blog-body a, soulignement en dégradé) ne doit pas les écraser */
.fede-blog .fb-corps a.fb-btn:not(.fb-btn--fantome):not(.fb-btn--clair) { background: linear-gradient(135deg, var(--neon) 0%, var(--neon-2) 100%) !important; background-size: auto !important;
  padding: 15px 24px; color: var(--nuit) !important; text-decoration: none !important; box-shadow: var(--halo); }
.fede-blog .fb-corps a.fb-btn--fantome { background: transparent !important; color: #fff !important; text-decoration: none !important; }
.fede-blog .fb-corps a.fb-btn--clair { background: #fff !important; background-size: auto !important; padding: 15px 24px; color: var(--encre) !important; text-decoration: none !important; }
.theme-lmd .fb-btn:hover { box-shadow: 0 0 0 1px rgba(232,114,42,.9), 0 0 40px rgba(232,114,42,.45), 0 18px 44px rgba(0,0,0,.14); }

/* Contraste (audit 16/10) : titres d'encadrés plus foncés, auteur lisible sur un en-tête clair */
.fede-blog .blog-callout .blog-callout-title { color: var(--teal-dark); }
.fb-hero--clair .fb-avatar { background: #fff; border-color: var(--filet-2); color: var(--teal-dark); }
.theme-lmd .fb-avatar { background: rgba(232,114,42,.12); border-color: rgba(232,114,42,.45); color: #F6B173; }
.theme-lmd .blog-author-bio-avatar { box-shadow: 0 0 0 4px rgba(232,114,42,.14); }

/* Avatar auteur = logo de la Fédé (16/10) */
.fb-avatar.fb-avatar--logo, .fb-hero--clair .fb-avatar.fb-avatar--logo, .theme-lmd .fb-avatar.fb-avatar--logo { width: 48px; height: 48px; background: var(--nuit); border: 1px solid rgba(47,224,210,.45); }
.fb-avatar--logo img { display: block; width: 30px; height: auto; }
.fede-blog .blog-author-bio-avatar.fb-avatar--logo { width: 84px; height: 84px; border-radius: 20px; background: var(--nuit); box-shadow: 0 0 0 1px rgba(47,224,210,.45), 0 0 24px rgba(47,224,210,.22); }
.fede-blog .blog-author-bio-avatar.fb-avatar--logo img { width: auto; height: 60px; }
.theme-lmd .fb-avatar.fb-avatar--logo { border-color: rgba(232,114,42,.5); }
.theme-lmd.fede-blog .blog-author-bio-avatar.fb-avatar--logo { box-shadow: 0 0 0 1px rgba(232,114,42,.5), 0 0 24px rgba(232,114,42,.22); }
.fede-blog .blog-author-bio { grid-template-columns: 84px minmax(0, 1fr); column-gap: 28px; align-items: center; }
@media (max-width: 600px) { .fede-blog .blog-author-bio { grid-template-columns: minmax(0, 1fr); row-gap: 18px; } }

/* Article meublés (16/10) : liste à cocher et FAQ dépliable */
.fede-blog .fb-checklist { list-style: none; padding: 0; margin: 18px 0 28px; display: grid; gap: 10px; }
.fede-blog .fb-checklist li { position: relative; padding: 14px 16px 14px 50px; background: #fff; border: 1px solid var(--filet); border-radius: 12px; line-height: 1.6; }
.fede-blog .fb-checklist li::before { content: ""; position: absolute; left: 16px; top: 16px; width: 20px; height: 20px; border-radius: 6px;
  background: var(--menthe) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F706E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 14px no-repeat;
  box-shadow: inset 0 0 0 1px var(--filet-2); }
.fede-blog .fb-faq { display: grid; gap: 10px; margin: 18px 0 30px; }
.fede-blog .fb-faq details { background: #fff; border: 1px solid var(--filet); border-radius: 14px; padding: 0 20px; transition: box-shadow .2s ease; }
.fede-blog .fb-faq details[open] { box-shadow: 0 0 0 1px rgba(47,224,210,.45), var(--ombre); }
.fede-blog .fb-faq summary { cursor: pointer; list-style: none; padding: 18px 34px 18px 0; position: relative; font: 700 17px/1.4 var(--titre); color: var(--encre); }
.fede-blog .fb-faq summary::-webkit-details-marker { display: none; }
.fede-blog .fb-faq summary::after { content: "+"; position: absolute; right: 0; top: 14px; width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
  background: var(--menthe); color: var(--teal-deep); font: 700 18px/1 var(--titre); }
.fede-blog .fb-faq details[open] summary::after { content: "–"; }
.fede-blog .fb-faq details p { margin: 0 0 18px; }
.fede-blog .fb-stats-compact .blog-stat-value { font-size: clamp(26px, 2.3vw, 34px); white-space: nowrap; }

/* ── Grands écrans (16/10) : la page s'élargit avec l'écran, sans vide entre le texte et les colonnes ── */
.fede-blog .fb-corps.blog-body { max-width: 780px; width: 100%; margin-inline: auto; }   /* blog.css bloquait à 720 px, calé à gauche */
@media (min-width: 1600px) {
  .fede-blog .fb-layout { max-width: 1720px; margin-inline: auto; grid-template-columns: 270px minmax(0, 1fr) 340px; }
  .fede-blog .fb-corps.blog-body { max-width: 840px; font-size: 18.5px; }
  .fb-une, .fb-ilayout { max-width: 1840px; margin-inline: auto; }
  .fb-ihero-inner { max-width: calc(1840px - 2 * var(--marge)); margin-inline: auto; }
  .fb-serie > * { max-width: 1720px; margin-inline: auto; }
}
@media (min-width: 2000px) {
  .fede-blog .fb-layout { max-width: 1900px; grid-template-columns: 300px minmax(0, 1fr) 380px; gap: 80px; }
  .fede-blog .fb-corps.blog-body { max-width: 920px; font-size: 20px; }
  .fede-blog .fb-corps h2 { font-size: 40px; }
  .fb-toc a, .fb-essentiel li, .fb-serie-liste a, .fb-serie-liste span.fb-actuel { font-size: 16px; }
  .fb-une, .fb-ilayout { max-width: 2160px; }
  .fb-ihero-inner { max-width: calc(2160px - 2 * var(--marge)); }
  .fb-serie > * { max-width: 2040px; }
  .fb-grille { grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); }
}
@media (min-width: 2400px) {
  .fede-blog .fb-layout { max-width: 2000px; }
  .fede-blog .fb-corps.blog-body { max-width: 980px; font-size: 21px; }
}
