/* =====================================================================
   FDC — habillage propre à faucheursdechaises.eu (préfixe fdc-)
   Charge APRÈS blocs-figes/blocs-valides.css : on redéfinit son :root,
   on n'en modifie jamais les sélecteurs. Mode clair uniquement (P-351) :
   le bloc « verrou » ci-dessous annule le prefers-color-scheme dark du
   fichier figé, qui sinon basculerait le site en sombre chez Mathias.
   ===================================================================== */

:root {
	/* --- Palette de la direction artistique --- */
	--fdc-craie: #FBFAF6;
	--fdc-gravier: #ECE7DA;
	--fdc-encre: #16201B;
	--fdc-encre-douce: #5B655F;
	--fdc-vert: #2E5E4A;
	--fdc-vert-fonce: #1F4433;
	--fdc-paille: #E2B13C;
	--fdc-nuit: #13251D;
	--fdc-coquelicot: #C2361E;
	--fdc-accent-texte: #85620A; /* paille assombrie : seule version du paille admise en texte sur fond clair */

	/* --- Typo --- */
	--fdc-titre: "EB Garamond", Georgia, "Times New Roman", serif;
	--fdc-lecture: "Crimson Pro", Georgia, "Times New Roman", serif;
	--fdc-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	/* --- Redéfinition des variables des blocs figés (jamais leurs sélecteurs) --- */
	--sb-fond: var(--fdc-craie);
	--sb-encre: var(--fdc-encre);
	--sb-doux: var(--fdc-encre-douce);
	--sb-filet: rgba(22, 32, 27, .16);
	--sb-accent: var(--fdc-vert);
	--sb-accent-fort: var(--fdc-vert-fonce);
	--sb-accent-2: var(--fdc-accent-texte);
	--sb-surf: var(--fdc-gravier);
	--sb-surf2: color-mix(in srgb, var(--fdc-gravier) 82%, var(--fdc-paille) 18%);
	--sb-rub: var(--fdc-vert);
	--sb-rayon: 10px;
	--sb-ombre: 0 10px 28px -14px rgba(22, 32, 27, .35);
	--sb-ombre-haut: 0 24px 48px -24px rgba(22, 32, 27, .45);
	--sb-titre: var(--fdc-titre);
	--sb-lecture: var(--fdc-lecture);
	--sb-aside-largeur: 350px; /* 300 → 350 : largeur rendue à la colonne (retour R-1779, 06/10) */
	--sb-haut-collant: 100px;
	--sb-faq-largeur: 760px;

	/* --- Jetons génériques attendus par les encadrés injectés dans le corps d'article
	   (ex. "sbsrc-*" du bloc Sources, posé par le moteur de rédaction, hors thème) : sans
	   ces variables ils retombent sur un gris à 35% d'opacité, illisible (2,10:1 mesuré,
	   contraste_reel.log 06/10). On les relie à la même palette que les --sb-* ci-dessus. */
	--doux: var(--fdc-encre-douce);
	--surf: var(--fdc-gravier);
	--surf2: color-mix(in srgb, var(--fdc-gravier) 82%, var(--fdc-paille) 18%);
	--accent: var(--fdc-vert);
	--accent-txt: var(--fdc-vert);
	--filet: rgba(22, 32, 27, .16);
	--rayon: 10px;
}

/* Verrou mode clair : le site n'a pas de variante sombre (GD-030, P-351). */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--sb-fond: var(--fdc-craie); --sb-encre: var(--fdc-encre); --sb-doux: var(--fdc-encre-douce);
		--sb-filet: rgba(22, 32, 27, .16); --sb-surf: var(--fdc-gravier);
		--sb-surf2: color-mix(in srgb, var(--fdc-gravier) 82%, var(--fdc-paille) 18%);
	}
}

/* =====================================================================
   BASE
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--fdc-craie); color: var(--fdc-encre); font: 400 17px/1.6 var(--fdc-lecture); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--fdc-titre); color: var(--fdc-encre); margin: 0 0 .5rem; line-height: 1.15; }
.screen-reader-text { position: absolute !important; left: -9999px; top: -9999px; }
.fdc-skip { position: absolute; left: -9999px; top: 0; background: var(--fdc-vert); color: #fff; padding: .6rem 1rem; z-index: 100; text-decoration: none; }
.fdc-skip:focus { left: 1rem; top: 1rem; }

.fdc-cadre { width: min(1280px, 100% - 2.5rem); margin-inline: auto; }
@media (min-width: 1800px) { .fdc-cadre { width: min(1360px, 100% - 4rem); } }
@media (max-width: 600px) { .fdc-cadre { width: min(100% - 2rem, 1280px); } }

.fdc-cta { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .85rem 1.4rem; border-radius: 999px; font: 600 13px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; min-height: 48px; border: 2px solid transparent; cursor: pointer; white-space: nowrap; }
.fdc-cta--paille { background: var(--fdc-paille); color: var(--fdc-encre); }
.fdc-cta--paille:hover { background: #cf9c2e; }
.fdc-cta--filaire { border-color: var(--fdc-vert); color: var(--fdc-vert); background: transparent; }
.fdc-cta--filaire:hover { background: var(--fdc-vert); color: #fff; }

.fdc-pastille, .fdc-pastille-signe { display: inline-flex; }
.fdc-pastille { align-items: center; gap: .4rem; font: 600 12px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-encre); }
.fdc-pastille-signe { width: 10px; height: 10px; background: var(--fdc-rub, var(--fdc-vert)); flex: 0 0 10px; }
.fdc-pastille--rond .fdc-pastille-signe, .fdc-pastille-signe.fdc-pastille--rond { border-radius: 50%; }
.fdc-pastille--carre .fdc-pastille-signe, .fdc-pastille-signe.fdc-pastille--carre { border-radius: 2px; }
.fdc-pastille--titre { font-size: 14px; }
.fdc-pastille--mini { font-size: 10.5px; }
.fdc-pastille--photo { position: absolute; left: 10px; bottom: 10px; background: var(--fdc-craie); padding: .35rem .7rem; border-radius: 6px; }
.fdc-mini-carre { width: 8px; height: 8px; border-radius: 2px; background: var(--fdc-rub, var(--fdc-vert)); flex: 0 0 8px; }
.fdc-surtitre { display: block; font: 600 11px/1.4 var(--fdc-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--fdc-rub, var(--fdc-vert)); margin-bottom: .3rem; }

.fdc-chapo { font: 400 21px/1.5 var(--fdc-lecture); color: var(--fdc-encre); margin: 0 0 .8rem; }
.fdc-signature { font: 500 12.5px/1.4 var(--fdc-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--fdc-encre-douce); }
.fdc-signature--clair { color: rgba(251, 250, 246, .65); }
.fdc-voir-tout { font: 600 12px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-vert); text-decoration: none; white-space: nowrap; }

/* Repli d'image : jamais une case vide — aplat de couleur + la signature. */
.fdc-repli { display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--fdc-repli, var(--fdc-vert)) 16%, var(--fdc-craie)); color: var(--fdc-repli, var(--fdc-vert)); }
.fdc-repli .fdc-mono { width: 34%; height: 34%; }
.fdc-mono { width: 28px; height: 28px; color: var(--fdc-vert); display: inline-block; flex: none; }
.fdc-mono-arc { }
/* Le pied de page figé appelle sb_logo_mono() avec ses propres classes sb-mono* (convention
   d'origine du bloc figé) : on les habille ici, sans toucher au fichier footer.php. */
.sb-mono { width: 28px; height: 28px; color: var(--fdc-vert); display: inline-block; flex: none; }
.sb-mono--pied { width: 34px; height: 34px; color: var(--fdc-craie); }

/* Apparitions discrètes au défilement (fdc.js), jamais sans repli statique. */
.fdc-apparition { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.fdc-apparue { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .fdc-apparition { opacity: 1; transform: none; transition: none; } }

/* =====================================================================
   EN-TÊTE DU SITE
   ===================================================================== */
.fdc-entete { position: sticky; top: 0; z-index: 50; background: var(--fdc-craie); }

.fdc-barre-jour { background: var(--fdc-nuit); color: var(--fdc-craie); }
.fdc-barre-jour-in { display: flex; align-items: center; gap: 1.2rem; height: 32px; font: 600 11.5px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; }
.fdc-barre-date { white-space: nowrap; flex: 0 0 auto; }
.fdc-barre-minute { flex: 1 1 auto; display: flex; align-items: center; gap: .7rem; overflow: hidden; min-width: 0; }
.fdc-minute-tag { display: inline-flex; align-items: center; gap: .35rem; color: var(--fdc-paille); flex: 0 0 auto; }
.fdc-point-direct { width: 7px; height: 7px; border-radius: 50%; background: var(--fdc-coquelicot); display: inline-block; animation: fdc-pulse 1.8s ease-in-out infinite; }
@keyframes fdc-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .fdc-point-direct { animation: none; } }
.fdc-fil { display: flex; margin: 0; padding: 0; list-style: none; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.fdc-fil li { display: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fdc-fil li.is-actif { display: block; }
.fdc-fil a { color: var(--fdc-craie); text-decoration: none; }
.fdc-barre-maj { white-space: nowrap; color: rgba(251, 250, 246, .6); flex: 0 0 auto; }

.fdc-manchette { background: var(--fdc-craie); border-bottom: 1px solid var(--sb-filet); }
.fdc-manchette-in { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 104px; padding-block: .8rem; }
.fdc-manchette-in::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--sb-filet); z-index: 0; }
.fdc-burger { display: none; }
.fdc-manchette-centre { position: relative; z-index: 1; background: var(--fdc-craie); padding-inline: 1rem; display: flex; flex-direction: column; align-items: center; gap: .3rem; text-decoration: none; color: var(--fdc-encre); margin-inline: auto; }
.fdc-mono--heros { width: 40px; height: 40px; }
.fdc-manchette-nom { font: 600 32px/1 var(--fdc-titre); letter-spacing: -.01em; margin: 0; } /* 06/10 : neutralise la marge générique h1 (règle globale h1,h2,h3,h4), passage en <h1> sur l'accueil */
.fdc-manchette-nom i { font-style: italic; font-weight: 500; color: var(--fdc-vert); }
.fdc-devise { font: 500 11px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .12em; color: var(--fdc-encre-douce); padding-top: .4rem; border-top: 1px solid var(--sb-filet); margin-top: .2rem; }
.fdc-manchette-lettre { flex: 0 0 auto; position: relative; z-index: 1; }

.fdc-rubriques { background: var(--fdc-craie); border-bottom: 1px solid var(--sb-filet); }
.fdc-rubriques-in { display: flex; align-items: center; gap: 1.4rem; height: 44px; }
.fdc-rubriques-logo-compact { display: none; align-items: center; gap: .5rem; text-decoration: none; color: var(--fdc-encre); font: 600 14px var(--fdc-titre); flex: 0 0 auto; }
.fdc-rubriques-logo-compact .fdc-mono { width: 24px; height: 24px; }
body.home .fdc-rubriques-logo-compact { display: none; }
body:not(.home) .fdc-rubriques-logo-compact { display: flex; }
.fdc-entete.is-pose .fdc-manchette { display: none; }
.fdc-entete.is-pose .fdc-rubriques-logo-compact { display: flex; }
.fdc-rubriques-in ul { display: flex; gap: 1.3rem; margin: 0; padding: 0; list-style: none; flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; }
.fdc-rubriques-in ul::-webkit-scrollbar { display: none; }
.fdc-rubriques-in a { display: inline-flex; align-items: center; gap: .4rem; height: 44px; font: 600 13px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--fdc-encre); text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; }
.fdc-rubriques-in a.is-courant, .fdc-rubriques-in a[aria-current] { border-bottom-color: var(--fdc-rub); }
.fdc-loupe { flex: 0 0 auto; display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; color: var(--fdc-encre); text-decoration: none; }
.fdc-loupe svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }

@media (max-width: 760px) {
	.fdc-manchette-in { min-height: 56px; }
	.fdc-manchette-nom { font-size: 20px; }
	.fdc-devise { display: none; }
	.fdc-mono--heros { width: 26px; height: 26px; }
	.fdc-burger { display: flex; flex-direction: column; justify-content: center; gap: 4px; width: 40px; height: 40px; background: none; border: 0; padding: 0; position: relative; z-index: 1; }
	.fdc-burger span { display: block; height: 2px; width: 100%; background: var(--fdc-encre); border-radius: 1px; }
	.fdc-manchette-lettre { display: none; }
	/* 06/10 (juge visuel n°3, bloquant 2 ; ui-ux-pro-max consulté : règle "Horizontal
	   Scroll" sévérité Haute, "le contenu doit tenir dans la largeur du viewport" — on
	   n'assume donc pas le défilement horizontal). En dessous de 760px, logo-compact +
	   liste des rubriques + loupe ne tenaient jamais sur une ligne : la liste (flex:1 1
	   auto + overflow-x:auto) se réduisait sous sa largeur de contenu et le premier mot
	   ("MAISON") sortait tronqué en plein mot ("MAIS") contre le bord de l'écran, sans
	   indice de défilement, la loupe poussée hors viewport. La barre d'onglets du bas
	   porte déjà un bouton « Rubriques » (fdc-panneau-mobile) : l'en-tête mobile ne garde
	   que la chaise, le nom et la loupe. */
	.fdc-rubriques-in { justify-content: space-between; }
	.fdc-rubriques-in ul { display: none; }
	.fdc-rubriques-logo-compact, body.home .fdc-rubriques-logo-compact { display: flex; }
	.fdc-barre-maj { display: none; }
	.fdc-panneau-mobile { position: fixed; inset: 0; top: 76px; background: var(--fdc-craie); z-index: 60; padding: 1.5rem; overflow-y: auto; }
	.fdc-panneau-mobile[hidden] { display: none; }
	.fdc-panneau-mobile ul { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: .8rem; }
	.fdc-panneau-mobile a { text-decoration: none; color: var(--fdc-encre); font: 500 16px var(--fdc-titre); }
}

/* =====================================================================
   S1 — LA UNE
   ===================================================================== */
.fdc-une { background: var(--fdc-craie); padding-block: 2.5rem clamp(2.5rem, 5vw, 4.5rem); }
.fdc-une-in { display: grid; grid-template-columns: 296px minmax(0, 1fr) 320px; align-items: start; }
.fdc-une-majeur { order: 2; padding-inline: 2rem; border-right: 1px solid var(--sb-filet); }
.fdc-une-secondaires { order: 1; padding-right: 2rem; border-right: 1px solid var(--sb-filet); display: flex; flex-direction: column; gap: 1.2rem; }
.fdc-une-minute { order: 3; padding-left: 2rem; background: var(--fdc-gravier); border-radius: 10px; margin-left: 1.5rem; padding: 1.3rem; }

.fdc-une-majeur-photo { display: block; position: relative; }
.fdc-une-majeur-photo img, .fdc-une-majeur-photo .fdc-repli { border-radius: 6px; box-shadow: var(--sb-ombre-haut); aspect-ratio: 3/2; width: 100%; height: auto; object-fit: cover; display: block; }
/* Posée sur le coin bas-gauche de la photo, SANS déborder du cadre (RE : la pastille
   dépassait de 18px à 1920/1440/390 — « rester dans son cadre, ne pas couper de texte »). */
.fdc-une-pastille { position: absolute; left: 14px; bottom: 14px; background: var(--fdc-paille); color: var(--fdc-encre); font: 700 12px/1 var(--fdc-mono); letter-spacing: .04em; padding: .5rem .9rem; border-radius: 999px; box-shadow: 0 6px 16px -6px rgba(22, 32, 27, .45); max-width: calc(100% - 28px); }

/* Crédit photo (banque libre), discret, coin HAUT-droit de la photo de une (jamais en bas :
 * la pastille "À la une" y est déjà) — rien d'affiché si fdc_credit_photo_une() ne retourne
 * rien (06/10, juge visuel n°3, mineur ; texte volontairement court pour ne jamais déborder
 * ni chevaucher). */
.fdc-credit-photo { position: absolute; right: 10px; top: 10px; background: rgba(19, 37, 29, .55); color: var(--fdc-craie); font: 400 10px/1.3 var(--fdc-mono); padding: .3rem .55rem; border-radius: 5px; max-width: calc(100% - 28px); white-space: nowrap; }
.fdc-une-titre { font: 600 clamp(32px, 3.2vw, 44px)/1.08 var(--fdc-titre); text-align: center; margin: 2rem 0 .8rem; }
.fdc-une-titre a { text-decoration: none; color: inherit; }
.fdc-une-majeur .fdc-chapo, .fdc-une-majeur .fdc-signature { text-align: center; }

.fdc-une-sec { display: flex; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--sb-filet); }
.fdc-une-secondaires .fdc-une-sec:last-child { border-bottom: 0; padding-bottom: 0; }
.fdc-une-sec a { flex: 0 0 112px; }
.fdc-une-sec img, .fdc-une-sec .fdc-repli { width: 112px; height: 75px; object-fit: cover; border-radius: 6px; display: block; }
.fdc-une-sec h3 { font: 500 20px/1.25 var(--fdc-titre); margin: .3rem 0 0; }
.fdc-une-sec h3 a { text-decoration: none; color: var(--fdc-encre); }

.fdc-minute-tete { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.fdc-minute-tete h2 { font: 600 20px/1 var(--fdc-titre); text-transform: uppercase; letter-spacing: .03em; margin: 0; }
.fdc-une-minute ul { list-style: none; margin: 0; padding: 0; }
.fdc-une-minute li { display: flex; align-items: center; gap: .6rem; padding: .6rem 0; border-top: 1px dashed var(--sb-filet); flex-wrap: wrap; }
.fdc-une-minute li:first-child { border-top: 0; }
.fdc-minute-vignette { width: 40px; height: 40px; border-radius: 6px; overflow: hidden; flex: 0 0 40px; }
.fdc-minute-vignette img, .fdc-minute-vignette .fdc-repli { width: 40px; height: 40px; object-fit: cover; }
.fdc-minute-heure { font: 500 12px var(--fdc-mono); color: var(--fdc-vert); flex: 0 0 auto; }
.fdc-une-minute a { font: 600 15px/1.3 var(--fdc-lecture); text-decoration: none; color: var(--fdc-encre); flex: 1 1 auto; }
.fdc-une-minute > .fdc-voir-tout { display: block; margin-top: .8rem; }

@media (max-width: 1100px) { .fdc-une-in { grid-template-columns: 1fr; gap: 1.5rem; } .fdc-une-majeur, .fdc-une-secondaires { order: initial; border-right: 0; padding-inline: 0; } .fdc-une-minute { order: initial; margin-left: 0; } }
@media (max-width: 760px) {
	.fdc-une { padding-block: 1.5rem 2rem; }
	.fdc-une-majeur { order: 1; }
	.fdc-une-secondaires { order: 2; }
	.fdc-une-minute { order: 3; }
	.fdc-une-titre { font-size: 30px; text-align: left; }
	.fdc-une-majeur .fdc-chapo, .fdc-une-majeur .fdc-signature { text-align: left; }
}

/* =====================================================================
   SECTIONS GÉNÉRIQUES DE L'ACCUEIL (S2-S11)
   ===================================================================== */
.fdc-section { padding-block: clamp(2.6rem, 5vw, 4rem); }
.fdc-fond-craie { background: var(--fdc-craie); }
.fdc-fond-gravier { background: var(--fdc-gravier); }
.fdc-fond-nuit { background: var(--fdc-nuit); color: var(--fdc-craie); }
.fdc-fond-vert { background: var(--fdc-vert); color: var(--fdc-craie); }
.fdc-section-tete { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.6rem; padding-bottom: .8rem; border-bottom: 3px solid var(--fdc-rub, var(--fdc-vert)); }
.fdc-section-tete h2 { margin: 0; font: 600 26px/1 var(--fdc-titre); text-transform: uppercase; letter-spacing: .03em; flex: 1 1 auto; display: flex; align-items: center; gap: .5rem; }
.fdc-compteur { font: 500 12px var(--fdc-mono); color: var(--fdc-encre-douce); white-space: nowrap; }
.fdc-titre-clair { color: var(--fdc-craie); font: 600 26px var(--fdc-titre); text-transform: uppercase; border-bottom: 3px solid var(--fdc-paille); padding-bottom: .8rem; margin: 0 0 1.6rem; }

.fdc-grille--4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.8rem; }
.fdc-grille--3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem; }
.fdc-carte { display: flex; flex-direction: column; }
.fdc-carte-photo { position: relative; display: block; border-radius: 6px; overflow: hidden; margin-bottom: .8rem; }
.fdc-carte-photo img, .fdc-carte-photo .fdc-repli { aspect-ratio: 3/2; width: 100%; height: auto; object-fit: cover; display: block; }
.fdc-carte h3 { font: 500 22px/1.25 var(--fdc-titre); margin: 0 0 .4rem; }
.fdc-carte h3 a { text-decoration: none; color: var(--fdc-encre); }
.fdc-carte .fdc-chapo { text-align: left; font-size: 16px; color: var(--fdc-encre-douce); margin: 0 0 .5rem; }
.fdc-carte--large { grid-column: span 2; }
.fdc-carte--large .fdc-carte-photo img, .fdc-carte--large .fdc-carte-photo .fdc-repli { aspect-ratio: 16/10; }
@media (max-width: 1100px) { .fdc-grille--4, .fdc-grille--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .fdc-grille--4, .fdc-grille--3 { grid-template-columns: 1fr; } .fdc-carte--large { grid-column: span 1; } }

.fdc-classement { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.6rem; }
.fdc-classement li { position: relative; display: flex; flex-direction: column; gap: .5rem; border-right: 1px solid rgba(251, 250, 246, .15); padding-right: 1.4rem; }
.fdc-classement li:last-child { border-right: 0; }
.fdc-classement-num { font: 600 72px/1 var(--fdc-titre); color: var(--fdc-paille); font-variant-numeric: lining-nums tabular-nums; }
.fdc-classement-vignette { position: absolute; top: 0; right: 1.4rem; width: 56px; height: 56px; border-radius: 6px; overflow: hidden; }
.fdc-classement-vignette img, .fdc-classement-vignette.fdc-repli, .fdc-classement .fdc-repli { width: 56px; height: 56px; object-fit: cover; }
.fdc-classement-corps a { font: 600 18px/1.3 var(--fdc-lecture); color: var(--fdc-craie); text-decoration: none; }
@media (max-width: 900px) { .fdc-classement { grid-template-columns: 1fr; gap: 1rem; } .fdc-classement li { border-right: 0; flex-direction: row; align-items: center; padding-right: 0; } .fdc-classement-num { font-size: 40px; } .fdc-classement-vignette { position: static; margin-left: auto; } }

.fdc-maison { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.4rem; align-items: start; }
.fdc-maison-principal img, .fdc-maison-principal .fdc-repli { aspect-ratio: 3/2; width: 100%; object-fit: cover; border-radius: 6px; display: block; margin-bottom: .8rem; }
.fdc-maison-principal h3 { font: 500 30px/1.2 var(--fdc-titre); }
.fdc-maison-principal h3 a { color: var(--fdc-encre); text-decoration: none; }
.fdc-maison-breves { display: flex; flex-direction: column; gap: 1.2rem; border-left: 1px solid var(--sb-filet); padding-left: 2rem; }
.fdc-breve { display: flex; gap: 1rem; align-items: flex-start; }
.fdc-breve a { flex: 0 0 140px; }
.fdc-breve img, .fdc-breve .fdc-repli { width: 140px; height: 93px; object-fit: cover; border-radius: 6px; display: block; }
.fdc-breve h4 { font: 600 19px/1.3 var(--fdc-lecture); margin: 0 0 .3rem; }
.fdc-breve h4 a { color: var(--fdc-encre); text-decoration: none; }
@media (max-width: 900px) { .fdc-maison { grid-template-columns: 1fr; } .fdc-maison-breves { border-left: 0; padding-left: 0; border-top: 1px solid var(--sb-filet); padding-top: 1.2rem; } }
@media (max-width: 600px) { .fdc-breve a { flex: 0 0 96px; } .fdc-breve img, .fdc-breve .fdc-repli { width: 96px; height: 64px; } }

.fdc-mode { display: grid; grid-template-columns: 2fr 1fr; gap: 1.6rem; }
.fdc-mode-principal { position: relative; display: block; border-radius: 6px; overflow: hidden; text-decoration: none; }
.fdc-mode-principal img, .fdc-mode-principal .fdc-repli { aspect-ratio: 16/10; width: 100%; object-fit: cover; display: block; }
.fdc-mode-etiquette { position: absolute; top: 14px; left: 14px; background: #7A2E52; color: #fff; font: 700 11px var(--fdc-mono); text-transform: uppercase; padding: .35rem .7rem; border-radius: 999px; z-index: 2; }
/* Le dégradé vit SUR le titre lui-même (comme .fdc-duo-photo span, .fdc-toutes-rubriques-photo
   span), pas sur un ::after voisin : un ::after de l'ancêtre n'est jamais vu par un outil qui
   mesure le fond réel du texte, et sans photo chargée (repli) rien n'assombrissait le blanc —
   mesuré 1.04:1 le 06/10 (contraste_reel.log, « Vinted: sécurité pour acheter… »). */
.fdc-mode-titre { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 72px 18px 16px; background: linear-gradient(to top, rgba(19, 37, 29, .92), rgba(19, 37, 29, .5) 60%, transparent); color: #fff; font: 600 clamp(24px, 3vw, 36px)/1.15 var(--fdc-titre); z-index: 2; }
.fdc-mode-secondaires { display: flex; flex-direction: column; gap: 1.2rem; }
@media (max-width: 900px) { .fdc-mode { grid-template-columns: 1fr; } }

.fdc-duo-rubriques { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; }
.fdc-duo-col-rubrique { display: flex; flex-direction: column; gap: 1rem; }
.fdc-duo-col-rubrique + .fdc-duo-col-rubrique { border-left: 1px solid var(--sb-filet); padding-left: 2.4rem; }
.fdc-duo-photo { display: block; position: relative; border-radius: 6px; overflow: hidden; text-decoration: none; }
.fdc-duo-photo img, .fdc-duo-photo .fdc-repli { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
.fdc-duo-photo span { position: absolute; left: 0; right: 0; bottom: 0; padding: .8rem 1rem; background: linear-gradient(to top, rgba(19, 37, 29, .85), transparent); color: #fff; font: 500 18px var(--fdc-titre); }
.fdc-duo-breve { display: flex; gap: .8rem; align-items: center; text-decoration: none; color: var(--fdc-encre); }
.fdc-duo-breve img, .fdc-duo-breve .fdc-repli { width: 56px; height: 56px; border-radius: 6px; object-fit: cover; flex: 0 0 56px; }
.fdc-duo-breve span { font: 600 16px var(--fdc-lecture); }
@media (max-width: 900px) { .fdc-duo-rubriques { grid-template-columns: 1fr; gap: 2rem; } .fdc-duo-col-rubrique + .fdc-duo-col-rubrique { border-left: 0; padding-left: 0; border-top: 1px solid var(--sb-filet); padding-top: 1.5rem; } }

.fdc-sante { display: grid; grid-template-columns: 1fr 1.3fr; gap: 2.4rem; align-items: start; }
.fdc-sante-principal { position: relative; }
.fdc-sante-principal::before { content: ""; position: absolute; inset: 16px -16px -16px 16px; background: var(--fdc-gravier); border-radius: 6px; z-index: 0; }
.fdc-sante-principal a { position: relative; z-index: 1; display: block; border-radius: 6px; overflow: hidden; }
.fdc-sante-principal img, .fdc-sante-principal .fdc-repli { aspect-ratio: 4/5; width: 100%; object-fit: cover; display: block; box-shadow: var(--sb-ombre-haut); }
.fdc-sante-principal h3 { position: relative; z-index: 1; font: 500 26px var(--fdc-titre); margin-top: 1rem; }
.fdc-sante-principal h3 a { color: var(--fdc-encre); text-decoration: none; }
.fdc-sante-liste { display: flex; flex-direction: column; gap: 1.2rem; }
.fdc-ligne { display: flex; gap: 1rem; border-top: 1px solid var(--sb-filet); padding-top: 1.2rem; }
.fdc-sante-liste .fdc-ligne:first-child, .fdc-toutes-rubriques-col ul li:first-child { border-top: 0; padding-top: 0; }
.fdc-ligne a { flex: 0 0 160px; }
.fdc-ligne img, .fdc-ligne .fdc-repli { width: 160px; height: 107px; object-fit: cover; border-radius: 6px; }
.fdc-ligne h4 { font: 600 19px var(--fdc-lecture); margin: 0 0 .3rem; }
.fdc-ligne h4 a { color: var(--fdc-encre); text-decoration: none; }
.fdc-ligne .fdc-chapo { font-size: 15px; margin: 0; }
@media (max-width: 900px) { .fdc-sante { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .fdc-ligne a { flex: 0 0 100px; } .fdc-ligne img, .fdc-ligne .fdc-repli { width: 100px; height: 67px; } }

.fdc-breve-horodatee { display: flex; flex-direction: column; gap: .5rem; }
.fdc-breve-horodatee a { display: block; border-radius: 6px; overflow: hidden; }
.fdc-breve-horodatee img, .fdc-breve-horodatee .fdc-repli { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
/* Toujours sur fond gravier (S10 Actualité) : le coquelicot standard mesurait 4,43:1 (< 4,5
   requis) — on prend la variante texte plus sombre documentée par la DA pour ce fond. */
.fdc-horodatage { font: 600 12px var(--fdc-mono); color: #B3301B; }
.fdc-breve-horodatee h3 { font: 500 20px var(--fdc-titre); margin: 0; }
.fdc-breve-horodatee h3 a { color: var(--fdc-encre); text-decoration: none; }

.fdc-toutes-rubriques { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.fdc-toutes-rubriques-col h3 { font: 600 20px var(--fdc-titre); text-transform: uppercase; border-bottom: 2px solid var(--fdc-rub); padding-bottom: .6rem; margin-bottom: .8rem; }
.fdc-toutes-rubriques-col h3 a { color: inherit; text-decoration: none; }
.fdc-toutes-rubriques-photo { position: relative; display: block; border-radius: 6px; overflow: hidden; margin-bottom: .6rem; text-decoration: none; }
.fdc-toutes-rubriques-photo img, .fdc-toutes-rubriques-photo .fdc-repli { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
.fdc-toutes-rubriques-photo span { position: absolute; left: 0; right: 0; bottom: 0; padding: .6rem .8rem; background: linear-gradient(to top, rgba(19, 37, 29, .85), transparent); color: #fff; font: 600 15px var(--fdc-lecture); }
.fdc-toutes-rubriques-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fdc-toutes-rubriques-col li { border-top: 1px solid var(--sb-filet); padding-top: .5rem; }
.fdc-toutes-rubriques-col a { font: 400 16px var(--fdc-lecture); color: var(--fdc-encre); text-decoration: none; }
.fdc-bientot { font: 400 14px var(--fdc-lecture); color: var(--fdc-encre-douce); }
@media (max-width: 1100px) { .fdc-toutes-rubriques { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .fdc-toutes-rubriques { grid-template-columns: 1fr; } }

.fdc-lettre-in { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
.fdc-lettre-signe .fdc-mono--lettre { width: 120px; height: 120px; }
.fdc-lettre-texte h2 { font: 500 clamp(24px, 3vw, 34px)/1.2 var(--fdc-titre); margin: 0 0 .4rem; }
.fdc-lettre-texte p { margin: 0; color: var(--fdc-encre-douce); }
.fdc-lettre-form { display: flex; gap: .6rem; flex-wrap: wrap; }
.fdc-lettre-form input[type=email] { min-width: 220px; padding: .85rem 1rem; border: 1px solid var(--sb-filet); border-radius: 999px; font: 400 15px var(--fdc-lecture); background: var(--fdc-craie); }
.fdc-piege { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.fdc-lettre-rgpd { grid-column: 1 / -1; margin: .6rem 0 0; font: 400 11px var(--fdc-mono); color: var(--fdc-encre-douce); text-align: center; }
@media (max-width: 900px) { .fdc-lettre-in { grid-template-columns: 1fr; text-align: center; } .fdc-lettre-signe { display: flex; justify-content: center; } .fdc-lettre-form { justify-content: center; } }

/* =====================================================================
   ARTICLE — en-tête (pièce ENTETE-diptyque, non figée)
   ===================================================================== */
.fdc-entete-article { background: var(--fdc-craie); padding-block: 2.4rem 0; }
.fdc-entete-article-in { position: relative; display: grid; grid-template-columns: 5fr 6fr; gap: 3rem; align-items: center; }
.fdc-entete-article-aplat { position: absolute; left: 28px; top: 28px; right: 0; bottom: -28px; background: var(--fdc-gravier); border-radius: 6px; z-index: 0; }
.fdc-entete-article-photo, .fdc-entete-article-texte { position: relative; z-index: 1; }
.fdc-entete-article-img { display: block; border-radius: 6px; }
.fdc-entete-article-img img, .fdc-entete-article-img .fdc-repli { width: 100%; aspect-ratio: 4/5; max-height: 560px; object-fit: cover; display: block; border-radius: 6px; box-shadow: var(--sb-ombre-haut); }
/* Posée sur le coin haut-gauche de la photo, SANS déborder du cadre — même correction
   que .fdc-une-pastille (offset négatif remplacé par un offset positif + max-width) :
   le contrôle premier_ecran mesurait 12px de dépassement sur TOUS les articles à
   1920/1440/390 (exactement l'offset négatif, quelle que soit la largeur du texte). */
.fdc-entete-article-pastille { position: absolute; top: 12px; left: 12px; max-width: calc(100% - 24px); background: var(--fdc-craie); padding: .4rem .8rem; border-radius: 6px; box-shadow: 0 6px 16px -6px rgba(22, 32, 27, .45); z-index: 2; }
.fdc-fil-ariane { font: 500 11px var(--fdc-mono); color: var(--fdc-encre-douce); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .6rem; }
.fdc-fil-ariane a { color: var(--fdc-encre-douce); text-decoration: none; }
/* Pas de text-align:center sur le conteneur lui-même (RE : « aucun long bloc de texte
   centré ») : chaque pièce courte (fil d'Ariane, surtitre, H1, chapô, signature) est centrée
   INDIVIDUELLEMENT, jamais le bloc entier ariane+surtitre+H1+chapô pris comme un seul texte. */
.fdc-entete-article-texte > * { text-align: center; }
.fdc-h1-article { font: 600 clamp(30px, 3.4vw, 50px)/1.1 var(--fdc-titre); text-transform: uppercase; letter-spacing: .015em; margin: .6rem 0; }
.fdc-filet-court { width: 60px; height: 2px; background: var(--fdc-vert); margin: 0 auto 1.2rem; }
.fdc-chapo-article { font: 400 23px/1.5 var(--fdc-lecture); text-align: center; color: var(--fdc-encre); margin: 0 0 1.4rem; }
.fdc-auteur-ligne { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.fdc-auteur-mini { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--fdc-encre); font: 600 14px var(--fdc-lecture); }
.fdc-auteur-mini .sb-avatar { width: 40px; height: 40px; }
.fdc-meta-article { font: 400 12.5px var(--fdc-mono); color: var(--fdc-encre-douce); text-transform: uppercase; letter-spacing: .03em; }
.fdc-actions-article { display: flex; justify-content: center; gap: .8rem; margin-top: 1.2rem; }
@media (max-width: 900px) {
	.fdc-entete-article-in { grid-template-columns: 1fr; gap: 1.2rem; }
	.fdc-entete-article-aplat { left: 12px; right: 0; top: 12px; bottom: -12px; }
	.fdc-entete-article-img img, .fdc-entete-article-img .fdc-repli { aspect-ratio: 4/3; max-height: 320px; }
	.fdc-h1-article { font-size: 30px; }
}

/* « À lire aussi » pleine largeur après l'article (jamais une case vide). */
.fdc-article-suite { padding-block: 3rem; }

/* =====================================================================
   RUBRIQUE — fronton + une à cheval
   ===================================================================== */
.fdc-fronton { background: var(--fdc-gravier); padding-top: 3rem; padding-bottom: 9rem; position: relative; text-align: center; }
.fdc-fronton--compact { padding-bottom: 3rem; }
.fdc-fronton-in { max-width: 720px; margin-inline: auto; }
.fdc-fronton-titre { font: 600 clamp(40px, 6vw, 68px)/1.05 var(--fdc-titre); text-transform: uppercase; letter-spacing: .02em; margin: .6rem 0; }
.fdc-fronton-chapo { font: 400 20px/1.5 var(--fdc-lecture); color: var(--fdc-encre); margin: 0 0 1rem; }
.fdc-fronton-compteurs { font: 500 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-encre-douce); }
.fdc-fronton-une { margin-top: -120px; position: relative; z-index: 2; display: grid; grid-template-columns: 2fr 1fr; gap: 1.2rem; text-align: left; }
.fdc-fronton-une img, .fdc-fronton-une .fdc-repli { aspect-ratio: 3/2; width: 100%; object-fit: cover; border-radius: 6px; display: block; }
.fdc-fronton-une-principal img, .fdc-fronton-une-principal .fdc-repli { box-shadow: var(--sb-ombre-haut); }
.fdc-fronton-une-secondaires { display: flex; flex-direction: column; gap: 1.2rem; }
.fdc-fronton-une-secondaires img, .fdc-fronton-une-secondaires .fdc-repli { box-shadow: var(--sb-ombre); }
.fdc-fronton-une h3 { font: 500 20px var(--fdc-titre); margin: .5rem 0 0; }
.fdc-fronton-une h3 a { color: var(--fdc-encre); text-decoration: none; }
@media (max-width: 800px) { .fdc-fronton { padding-bottom: 5rem; } .fdc-fronton-une { grid-template-columns: 1fr; margin-top: -60px; } }

.fdc-liste-horodatee { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fdc-liste-horodatee li { display: grid; grid-template-columns: 1fr 220px; gap: 1.5rem; align-items: center; padding: 1.3rem 0; border-top: 1px solid var(--sb-filet); }
.fdc-liste-horodatee li:first-child { border-top: 0; }
.fdc-liste-horodatee h3 { font: 500 22px var(--fdc-titre); margin: 0 0 .3rem; }
.fdc-liste-horodatee h3 a { color: var(--fdc-encre); text-decoration: none; }
.fdc-liste-horodatee .fdc-chapo { text-align: left; font-size: 15px; margin: 0; }
.fdc-liste-horodatee-photo { display: block; border-radius: 6px; overflow: hidden; }
.fdc-liste-horodatee-photo img, .fdc-liste-horodatee-photo .fdc-repli { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
@media (max-width: 700px) { .fdc-liste-horodatee li { grid-template-columns: 1fr; gap: .8rem; } .fdc-liste-horodatee-photo { order: -1; } }

.fdc-suite-liens { display: flex; justify-content: center; margin: 2.5rem 0 0; }

/* =====================================================================
   PAGES GÉNÉRIQUES / ANNEXES
   ===================================================================== */
.fdc-page-entete { background: var(--fdc-gravier); padding: 2.5rem 0; text-align: center; }
.fdc-page-entete h1 { font: 600 clamp(28px, 4vw, 42px) var(--fdc-titre); margin: 0; }
.fdc-page-texte { max-width: 680px; margin: 2.5rem auto; font-size: 18px; line-height: 1.7; padding-inline: 1rem; }

.fdc-apropos-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding-block: 3rem; }
.fdc-apropos-hero-photo { position: relative; }
.fdc-apropos-hero-photo .fdc-entete-article-aplat { left: auto; right: 28px; top: 28px; bottom: -28px; left: -28px; }
.fdc-apropos-hero-photo img, .fdc-apropos-hero-photo .fdc-repli { position: relative; z-index: 1; width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 6px; box-shadow: var(--sb-ombre-haut); }
.fdc-apropos-hero-texte h1 { font: 600 clamp(28px, 4vw, 40px) var(--fdc-titre); text-transform: uppercase; }
.fdc-apropos-hero-texte .fdc-devise-page { font: 500 italic 20px var(--fdc-titre); color: var(--fdc-vert); }
.fdc-apropos-ce-quon-fait { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--sb-filet); border-bottom: 1px solid var(--sb-filet); margin-top: 2.5rem; padding-block: 2.5rem; }
.fdc-apropos-colonne { padding: 2rem; border-left: 1px solid var(--sb-filet); }
.fdc-apropos-colonne:first-child { border-left: 0; }
.fdc-apropos-colonne h2 { font-size: 20px; }
.fdc-apropos-colonne ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.fdc-apropos-colonne li { padding-left: 1.6rem; position: relative; }
.fdc-apropos-oui li::before { content: ""; position: absolute; left: 0; top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: var(--fdc-vert); }
.fdc-apropos-non li::before { content: ""; position: absolute; left: 0; top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: var(--fdc-coquelicot); }
.fdc-apropos-chiffres { background: var(--fdc-nuit); color: var(--fdc-craie); padding: 3rem 0; display: flex; justify-content: center; gap: 4rem; text-align: center; }
.fdc-apropos-chiffres b { display: block; font: 600 56px var(--fdc-titre); color: var(--fdc-paille); }
.fdc-apropos-redaction { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; padding-block: 3rem; }
.fdc-auteur-carte-mini { text-align: center; text-decoration: none; color: var(--fdc-encre); display: block; }
.fdc-auteur-carte-mini img, .fdc-auteur-carte-mini .fdc-repli { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto .8rem; }
.fdc-auteur-carte-mini h3 { font-size: 20px; margin: 0 0 .2rem; }
.fdc-apropos-methode { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding-block: 3rem; }
.fdc-methode-etape b { display: block; font: 600 40px var(--fdc-titre); color: var(--fdc-vert); margin-bottom: .4rem; }
@media (max-width: 900px) {
	.fdc-apropos-hero { grid-template-columns: 1fr; }
	.fdc-apropos-ce-quon-fait { grid-template-columns: 1fr; }
	.fdc-apropos-colonne { border-left: 0; border-top: 1px solid var(--sb-filet); }
	.fdc-apropos-colonne:first-child { border-top: 0; }
	.fdc-apropos-redaction { grid-template-columns: 1fr; }
	.fdc-apropos-methode { grid-template-columns: 1fr 1fr; }
	.fdc-apropos-chiffres { flex-direction: column; gap: 1.5rem; }
}

/* Contact */
/* 06/10 (jugement visuel n°2, erreur 21) : sans align-items, la carte du formulaire
   s'étirait à la hauteur du panneau vert nuit (contenu plus long) et laissait ~160px
   de vide sous le bouton « Envoyer ». Les deux colonnes se calent désormais en haut. */
.fdc-contact-grille { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; padding-block: 2.5rem; align-items: start; }
.fdc-contact-carte { background: var(--fdc-craie); border-radius: 10px; padding: 2rem; box-shadow: var(--sb-ombre); }
.fdc-champs-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fdc-champ { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1rem; }
.fdc-champ label { font: 600 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--fdc-encre-douce); }
.fdc-champ input, .fdc-champ textarea { padding: .75rem .9rem; border: 1px solid var(--sb-filet); border-radius: 8px; font: 400 15px var(--fdc-lecture); background: var(--fdc-craie); }
.fdc-pilules { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.fdc-pilule { position: relative; display: inline-flex; }
.fdc-pilule input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.fdc-pilule span { padding: .5rem 1rem; border: 1px solid var(--sb-filet); border-radius: 999px; font: 500 13px var(--fdc-mono); }
.fdc-pilule input:checked + span { background: var(--fdc-vert); color: #fff; border-color: var(--fdc-vert); }
.fdc-contact-panneau { background: var(--fdc-nuit); color: var(--fdc-craie); border-radius: 10px; padding: 2rem; }
.fdc-contact-panneau h2 { color: var(--fdc-craie); font-size: 22px; }
.fdc-contact-panneau p { color: rgba(251, 250, 246, .78); }
.fdc-contact-panneau .fdc-mono { width: 60px; height: 60px; color: var(--fdc-paille); opacity: .5; margin-bottom: 1rem; }
.fdc-contact-succes { text-align: center; padding: 3rem 1rem; }
.fdc-contact-succes .fdc-mono { width: 60px; height: 60px; color: var(--fdc-vert); margin: 0 auto 1rem; }
@media (max-width: 800px) { .fdc-contact-grille { grid-template-columns: 1fr; } .fdc-champs-duo { grid-template-columns: 1fr; } }
/* Mobile 390 : bouton ENVOYER mesuré à 923px du haut (seuil 700) — en-tête + formulaire
   compactés, champs nom/e-mail remis côte à côte (RE, 06/10/2026). Aucun champ supprimé. */
@media (max-width: 480px) {
	.fdc-fronton--compact { padding-top: 1.2rem; padding-bottom: 1.2rem; }
	.fdc-fronton--compact .fdc-fronton-titre { font-size: 26px; margin: .4rem 0; }
	.fdc-contact-grille { padding-block: 1.2rem; gap: 1.2rem; }
	.fdc-contact-carte { padding: 1.25rem; }
	.fdc-champs-duo { grid-template-columns: 1fr 1fr; gap: .6rem; }
	/* RE 06/10/2026 (contrôle largeur_mobile) : le duo 2 colonnes ci-dessus faisait
	   déborder la page de 34-49px à 375/390 — un <input>/<textarea> ne descend jamais
	   sous sa largeur par défaut (~190px) dans une grille sans min-width:0, même en 1fr.
	   On garde les 2 colonnes (hauteur du bouton Envoyer) et on autorise la grille à
	   réduire ses pistes sous ce minimum natif, sans toucher au nombre de colonnes. */
	.fdc-champs-duo > .fdc-champ { min-width: 0; }
	.fdc-champs-duo input, .fdc-champs-duo textarea { min-width: 0; }
	.fdc-champ { margin-bottom: .7rem; }
	.fdc-champ label { font-size: 11px; }
	.fdc-champ input, .fdc-champ textarea { padding: .55rem .7rem; font-size: 14px; }
	.fdc-champ textarea { min-height: 64px; }
	.fdc-pilules { gap: .4rem; margin-bottom: .7rem; }
	.fdc-pilule span { padding: .4rem .7rem; font-size: 11px; }
}

/* Auteur — fiche réelle */
.fdc-auteur-rubriques { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; margin: 1rem 0; }
.fdc-auteur-compteur { font: 500 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-encre-douce); }

/* 404 */
.fdc-404 { text-align: center; padding-block: 4rem; }
.fdc-404 .fdc-mono { width: 140px; height: 140px; color: var(--fdc-vert); transform: rotate(60deg); }
.fdc-404 h1 { font: 600 32px var(--fdc-titre); margin: 1.5rem 0 .5rem; }
.fdc-404 p { color: var(--fdc-encre-douce); margin: 0 0 1.5rem; }

/* Recherche */
.fdc-recherche-requete { font-weight: 700; color: var(--fdc-vert); }

/* Formulaire de recherche (searchform.php) */
.fdc-recherche-form { display: flex; border: 1px solid var(--sb-filet); border-radius: 999px; overflow: hidden; background: var(--fdc-craie); max-width: 420px; margin-inline: auto; }
.fdc-recherche-form input[type=search] { flex: 1 1 auto; border: 0; padding: .75rem 1.1rem; font: 400 15px var(--fdc-lecture); background: transparent; }
.fdc-recherche-form button { border: 0; background: var(--fdc-vert); color: #fff; padding: .75rem 1.1rem; cursor: pointer; }

/* =====================================================================
   PIED DE PAGE — reprise 06/10 (vérification du bloc figé footer.php)
   ===================================================================== */
/* Le pied reste collé en bas même sur une page courte (jamais de bande
   blanche entre le contenu et le pied) : body en colonne flex, le <main>
   (#fdc-contenu, ouvert dans header.php / fermé dans blocs-figes/footer.php)
   prend tout l'espace restant. Le pied lui-même garde sa hauteur naturelle. */
html, body { min-height: 100%; }
body.fdc-corps { display: flex; flex-direction: column; }
#fdc-contenu { flex: 1 1 auto; display: block; min-width: 0; }

/* Titres de colonne du pied en paille (DA §9), au lieu du gris neutre du bloc figé. */
.sb-pied-titre { color: var(--fdc-paille); }

/* FT-013 : jamais une 3e colonne orpheline sur une largeur intermédiaire — l'auto-fit du
   bloc figé est remplacé par des paliers nets (3 → 2 → 1) qui démarrent toujours ensemble. */
@media (max-width: 920px) { .sb-pied-grille { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sb-pied-grille { grid-template-columns: 1fr; } }

/* =====================================================================
   ARTICLE — gouttière corps/barre resserrée (retour R-1779, repasse 06/10
   captures 1920 px nest-vs-tado) : le bloc figé plafonne .sb-art-principal à
   max-width:820px, plus étroit que son propre rail de grille (minmax(0,1fr)) ;
   l'écart entre les deux (jusqu'à ~210 px) s'ajoutait au gap réel et donnait
   ~240 px de vide avant la colonne. On supprime le plafond (le corps occupe
   tout son rail, sans toucher au sélecteur ni à la structure grid du bloc
   figé) et on fixe un vrai gap de 56 px (fourchette 48-64 demandée) : la
   largeur récupérée va à la colonne (300→350px ci-dessus en :root) ET au
   corps du texte. */
.sb-art-principal { max-width: none; }
.sb-art-corps { gap: 56px; }

/* Conteneur collant UNIQUE (retour Mathias 06/10, juge visuel n°3, bloquant 1 : le
   formulaire « Une question à la rédaction ? » remontait PAR-DESSUS le sommaire en fin
   d'article, texte coupé net). Cause de fond : la tentative précédente (deux éléments
   .sb-colle-zone--som / --pub rendus avec display:contents) laissait DEUX éléments
   sticky indépendants dans le même conteneur — chacun s'arrête, en bas, au bord de SA
   PROPRE boîte englobante ; près de la fin de l'article ces deux bords ne coïncident
   plus, d'où le chevauchement. Fix structurel (accord Mathias, ui-ux-pro-max consulté :
   « ne jamais empiler plusieurs éléments sticky/fixed sans compter les uns avec les
   autres ») : blocs-figes/partial-sidebar.php ne pose plus qu'UN SEUL élément .sb-colle
   (.sb-colle-unique), qui empile sommaire puis formulaire en flux normal — ni l'un ni
   l'autre n'est sticky à titre individuel. Le marqueur data-colle et le calcul
   d'empilement du script du bloc figé (INCHANGÉS) s'appliquent à ce seul conteneur
   exactement comme avant à un seul élément : un seul point d'arrêt en bas de colonne,
   jamais de chevauchement. Bibliothèque alignée pareil (sauvegarde
   .bak-avant-colle-unique-0610) : "$HOME/Documents/Seobooster Ltd./04. Réseau/sb-kit/
   gabarits-design/blocs-valides/generaliste/partial-sidebar.php". */
.sb-colle-unique { display: flex; flex-direction: column; gap: 20px; }

/* Sommaire compact à défilement interne (suite du fix ci-dessus) : sur un article à
   beaucoup de parties (ex. /ampoules-eclairages-piece/, 6 entrées → nav ~354px), le total
   sommaire+formulaire+marges dépasse la fenêtre 1440×780 et le calcul JS du bloc figé
   (protégé, non modifié) désactive alors le collant du formulaire (data-colle="false") :
   il redevient un bloc qui défile normalement — toujours juste sous le sommaire grâce au
   fix ci-dessus, mais sans plus remonter avec lui pendant la lecture. On plafonne la LISTE
   du sommaire (jamais son sélecteur, une valeur seulement) pour que l'ensemble tienne
   toujours dans les deux fenêtres cibles et reste sticky ensemble quel que soit le nombre
   de parties. */
.sb-sommaire ol { max-height: 180px; overflow-y: auto; scrollbar-width: thin; }

/* Encart « Une question à la rédaction ? » — seul contenu de la zone pub, posé sous le
   sommaire (DA §7). Volontairement court : titre + 2 champs + bouton, pour que l'ensemble
   sommaire+encart tienne sous l'écran et reste collant (ui-ux-pro-max : label visible par
   champ, jamais de placeholder seul ; feedback de soumission via page de confirmation). */
.fdc-encart-question { background: var(--fdc-craie); border-radius: 10px; padding: 1.2rem; box-shadow: var(--sb-ombre); }
.fdc-encart-question .fdc-encart-titre { font: 600 18px/1.2 var(--fdc-titre); margin: 0 0 .8rem; color: var(--fdc-encre); }
.fdc-encart-question .fdc-champ { display: block; margin-bottom: .6rem; }
.fdc-encart-question .fdc-champ label { display: block; font: 600 11px/1.3 var(--fdc-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--fdc-encre-douce); margin-bottom: .3rem; }
.fdc-encart-question input, .fdc-encart-question textarea { width: 100%; padding: .55rem .7rem; border: 1px solid var(--sb-filet); border-radius: 8px; font: 400 14px var(--fdc-lecture); background: var(--fdc-craie); }
.fdc-encart-question textarea { min-height: 54px; resize: vertical; }
.fdc-encart-question .fdc-cta { width: 100%; }
.fdc-encart-question .fdc-encart-merci { font: 400 14px/1.5 var(--fdc-lecture); color: var(--fdc-encre-douce); margin: 0; }

/* =====================================================================
   INFOGRAPHIES DU SOCLE — [sbs_lieu] [sbs_tarifs] [sbs_frise] [sbs_jauges]
   (socle/socle-infographies.php). Le socle n'émet que du balisage neutre
   (éléments personnalisés sbs-*, classes sbs_*) ; tout l'habillage vient
   d'ici, aux couleurs et polices de la DA (gravier, vert Luxembourg, paille,
   Cormorant/Crimson/DM Mono), au même niveau de soin que les encadrés
   figés voisins (.sb-encadre-cle, .sb-duo…).
   ⚠️ Limite du socle, non contournée ici : <meter> (sbs_tarifs) est un
   élément « remplacé » — aucun navigateur n'affiche le texte placé dedans
   (le prix écrit en PHP), seule la jauge graphique est visible. Le prix
   n'a donc pas de rendu texte possible en CSS seul ; signalé à
   l'orchestrateur pour correction à la source (concerne tout le réseau).
   <data> (sbs_jauges) n'a pas ce problème : son texte s'affiche normalement.
   ===================================================================== */
sbs-lieu, sbs-tarifs, sbs-tarif, sbs-frise, sbs-etape, sbs-jauges, sbs-jauge { display: block; }

.sbs_frise, .sbs_tarifs, .sbs_jauges, .sbs_lieu { margin: 2rem 0; padding: 1.3rem 1.5rem .4rem; background: var(--fdc-gravier); border-radius: var(--sb-rayon, 10px); border-left: 4px solid var(--fdc-vert); }
.sbs_frise_titre, .sbs_tarifs_titre, .sbs_jauges_titre { display: block; font: 700 12px/1.3 var(--fdc-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--fdc-vert); margin: 0 0 .9rem; }
.sbs_lieu_nom { display: block; font: 600 20px var(--fdc-titre); color: var(--fdc-encre); margin: 0 0 .5rem; }

/* Source, commune aux 4 composants — jamais de lien cliquable (le socle n'en pose pas). */
.sbs_source, .sbs_tarifs_notes { display: block; margin-top: .8rem; padding-top: .7rem; border-top: 1px dashed var(--sb-filet); font: 400 11.5px var(--fdc-mono); color: var(--fdc-encre-douce); }

/* --- [sbs_frise] : étapes datées --- */
.sbs_etape { display: flex; gap: 1.1rem; align-items: baseline; padding: .8rem 0; border-top: 1px dashed var(--sb-filet); }
.sbs_etape:first-of-type { border-top: 0; padding-top: 0; }
.sbs_etape_date { flex: 0 0 auto; min-width: 120px; font: 600 13px var(--fdc-mono); color: var(--fdc-vert); }
.sbs_etape_titre { display: block; font: 600 18px var(--fdc-lecture); color: var(--fdc-encre); margin: 0 0 .2rem; }
/* R-1797 : la description reste toujours visible, jamais masquée ni repliée. */
.sbs_etape_desc { display: block; font: 400 15px/1.5 var(--fdc-lecture); color: var(--fdc-encre-douce); }
@media (max-width: 600px) { .sbs_etape { flex-direction: column; gap: .3rem; } .sbs_etape_date { min-width: 0; } }

/* --- [sbs_tarifs] : libellé + jauge de prix --- */
.sbs_tarif { display: grid; grid-template-columns: minmax(0,1fr) 130px auto; column-gap: 1rem; align-items: center; padding: .75rem 0; border-top: 1px solid var(--sb-filet); }
.sbs_tarif:first-of-type { border-top: 0; padding-top: 0; }
.sbs_tarif_libelle { display: block; font: 600 16px var(--fdc-lecture); color: var(--fdc-encre); }
.sbs_tarif_barre { width: 100%; height: 10px; accent-color: var(--fdc-vert); }
.sbs_tarif_prix { font: 600 15px var(--fdc-mono); color: var(--fdc-vert); white-space: nowrap; text-align: right; }
.sbs_tarif_barre::-webkit-meter-bar { background: var(--sb-filet); border: 0; border-radius: 999px; height: 10px; }
.sbs_tarif_barre::-webkit-meter-optimum-value, .sbs_tarif_barre::-webkit-meter-suboptimum-value, .sbs_tarif_barre::-webkit-meter-even-less-good-value { background: var(--fdc-vert); border-radius: 999px; }
.sbs_tarif_barre::-moz-meter-bar { background: var(--fdc-vert); border-radius: 999px; }
@media (max-width: 600px) { .sbs_tarif { grid-template-columns: minmax(0,1fr) auto; gap: .4rem 1rem; } .sbs_tarif_libelle { grid-column: 1; } .sbs_tarif_prix { grid-column: 2; grid-row: 1; } .sbs_tarif_barre { grid-column: 1 / -1; } }

/* --- [sbs_jauges] : chiffres-clés (<data>, texte visible normalement) --- */
.sbs_jauge { display: flex; align-items: baseline; gap: .5rem; padding: .75rem 0; border-top: 1px solid var(--sb-filet); flex-wrap: wrap; }
.sbs_jauge:first-of-type { border-top: 0; padding-top: 0; }
.sbs_jauge_libelle { flex: 1 1 auto; min-width: 0; font: 600 16px var(--fdc-lecture); color: var(--fdc-encre); }
.sbs_jauge_valeur { font: 600 28px var(--fdc-titre); color: var(--fdc-vert); font-variant-numeric: lining-nums tabular-nums; }
.sbs_jauge_unite { font: 500 12px var(--fdc-mono); color: var(--fdc-encre-douce); }

/* --- [sbs_lieu] : fiche-lieu --- */
.sbs_lieu_adresse { display: block; font: 400 16px var(--fdc-lecture); color: var(--fdc-encre); font-style: normal; margin: 0 0 .3rem; }
.sbs_lieu_acces { display: block; font: 400 14px var(--fdc-lecture); color: var(--fdc-encre-douce); margin: 0 0 .8rem; }
.sbs_lieu_carte { display: inline-flex; align-items: center; gap: .4rem; font: 600 13px var(--fdc-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--fdc-vert); text-decoration: none; }
.sbs_lieu_carte:hover { color: var(--fdc-vert-fonce); }
.sbs_icone_repere { width: 18px; height: 18px; fill: currentColor; }

/* =====================================================================
   PASSE 1 — corrections du jugement visuel du 06/10 (ROUGE, WOW 5/10)
   Tout ce qui suit l'emporte sur les règles plus haut (même spécificité,
   déclaré après). Titres : EB Garamond — Cormorant Garamond plaçait mal
   ses accents en graisse 600/700 (« vêtements », « écologiques »), mesuré
   en rendu headless le 06/10 sur les fichiers Google Fonts ET Fontsource.
   ===================================================================== */

/* Une image sans height:auto prenait la hauteur de son attribut HTML (800 px) :
   c'est ce qui donnait la photo Maison de ~1 100 px et la 3e photo Actualité plus courte. */
img { height: auto; }

/* Deuxième ton : le geste du logo (« de » en italique vert) repris sur les titres-clés. */
.fdc-ton2 { font-style: italic; font-weight: 500; color: var(--fdc-vert); }
.fdc-fond-nuit .fdc-ton2, .fdc-ap-chiffres .fdc-ton2 { color: var(--fdc-paille); }

/* Bandeau du jour : la ligne de 1 coupait l'accent des capitales (« VETEMENTS »). */
.fdc-fil li { line-height: 1.5; }

/* ---------- S1 la une ---------- */
.fdc-une-pastille { text-transform: uppercase; }
.fdc-une-titre { font-weight: 600; letter-spacing: -.005em; text-wrap: balance; }
/* 06/10 (juge visuel n°3, mineur) : titre sur 5 lignes serrées ("Vinted ou / Vestiaire /
   Collective pour / vendre ses / vêtements") — 3 lignes au plus, titre complet dans
   l'attribut title de l'<a> (posé par inc/accueil-blocs.php). */
.fdc-une-sec h3 { font-weight: 500; font-size: 19px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fdc-une-minute { align-self: stretch; display: flex; flex-direction: column; }
.fdc-une-minute ul { flex: 1 1 auto; }
.fdc-une-minute li { display: block; padding: .55rem 0; }
.fdc-minute-lien { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: .75rem; align-items: start; text-decoration: none; color: var(--fdc-encre); }
.fdc-minute-lien:hover .fdc-minute-titre { text-decoration: underline; text-underline-offset: 3px; }
.fdc-minute-vignette { width: 52px; height: 52px; flex: none; border-radius: 6px; overflow: hidden; }
.fdc-minute-vignette img, .fdc-minute-vignette .fdc-repli { width: 52px; height: 52px; object-fit: cover; display: block; }
.fdc-minute-texte { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.fdc-minute-heure { font: 500 11.5px/1.3 var(--fdc-mono); color: var(--fdc-vert); letter-spacing: .02em; }
.fdc-minute-titre { font: 600 15px/1.3 var(--fdc-lecture); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fdc-une-minute > .fdc-voir-tout { margin-top: auto; padding-top: .8rem; }

/* ---------- Rythme vertical des bandes : chaque bande tient dans un écran ---------- */
.fdc-section { padding-block: clamp(2.25rem, 3.4vw, 3rem); }
.fdc-section-tete { margin-bottom: 1.25rem; padding-bottom: .7rem; }
.fdc-section-tete h2 { font-size: 24px; font-weight: 600; }
.fdc-carte h3 { font-size: 21px; font-weight: 500; line-height: 1.22; }
.fdc-grille--filets > * + * { position: relative; }
/* Filets verticaux SANS changer la largeur des cartes (sinon les photos n'ont pas la même hauteur). */
@media (min-width: 1101px) {
	.fdc-grille--filets { gap: 2.2rem; }
	.fdc-grille--filets > * + *::before { content: ""; position: absolute; left: -1.1rem; top: 0; bottom: 0; width: 1px; background: var(--sb-filet); }
}

/* ---------- S3 À garder sous le coude (bande nuit) ---------- */
.fdc-titre-clair { font-weight: 600; display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem 1rem; }
.fdc-titre-clair span { font: 500 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: rgba(251, 250, 246, .65); }
.fdc-classement li { padding-right: 1.4rem; }
.fdc-classement-vignette { position: absolute; top: 0; right: 1.4rem; width: 64px; height: 64px; border-radius: 6px; overflow: hidden; flex: 0 0 64px; }
.fdc-classement-vignette img, .fdc-classement-vignette .fdc-repli { width: 64px; height: 64px; object-fit: cover; display: block; }
.fdc-classement-corps { display: flex; flex-direction: column; gap: .45rem; }
.fdc-classement-num { font-weight: 600; }
@media (max-width: 900px) {
	.fdc-classement li { display: grid; grid-template-columns: 44px minmax(0, 1fr) 56px; gap: .8rem; align-items: center; padding: 0 0 1rem; border-bottom: 1px solid rgba(251, 250, 246, .15); }
	.fdc-classement li:last-child { border-bottom: 0; }
	.fdc-classement-vignette { position: static; order: 3; width: 56px; height: 56px; }
	.fdc-classement-vignette img, .fdc-classement-vignette .fdc-repli { width: 56px; height: 56px; }
	.fdc-classement-corps { order: 2; }
	.fdc-classement-corps a { font-size: 16px; }
}

/* ---------- S4 Maison : photo bornée, 5 brèves qui remplissent la colonne ---------- */
.fdc-maison { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem; align-items: stretch; }
.fdc-maison-photo { display: block; border-radius: 6px; overflow: hidden; margin-bottom: .9rem; }
.fdc-maison-principal img, .fdc-maison-principal .fdc-repli { aspect-ratio: 2 / 1; max-height: clamp(300px, 46vh, 440px); margin: 0; border-radius: 0; }
.fdc-maison-principal h3 { font-size: 30px; font-weight: 600; line-height: 1.15; }
.fdc-maison-breves { justify-content: space-between; gap: .9rem; }
.fdc-breve { padding-bottom: .9rem; border-bottom: 1px solid var(--sb-filet); }
.fdc-breve:last-child { border-bottom: 0; padding-bottom: 0; }
.fdc-breve a { flex: 0 0 120px; }
.fdc-breve img, .fdc-breve .fdc-repli { width: 120px; height: 80px; }
.fdc-breve h4 { font-size: 17.5px; line-height: 1.3; }

/* ---------- S5 Économie & Tech : une grande carte + 3 lignes ---------- */
.fdc-eco { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem; align-items: stretch; }
.fdc-eco--seul { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.fdc-eco-principal .fdc-carte-photo img, .fdc-eco-principal .fdc-carte-photo .fdc-repli { aspect-ratio: 2 / 1; max-height: clamp(300px, 46vh, 440px); }
.fdc-eco-principal h3 { font-size: 30px; font-weight: 600; line-height: 1.15; }
.fdc-eco-liste { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; border-left: 1px solid var(--sb-filet); padding-left: 2rem; }
.fdc-eco-liste .fdc-ligne:first-child { border-top: 0; padding-top: 0; }
.fdc-ligne a { flex: 0 0 150px; }
.fdc-ligne img, .fdc-ligne .fdc-repli { width: 150px; height: 100px; display: block; }
.fdc-ligne h4 { font-size: 18px; line-height: 1.3; }
@media (max-width: 900px) { .fdc-eco { grid-template-columns: 1fr; gap: 1.5rem; } .fdc-eco-liste { border-left: 0; padding-left: 0; } }
@media (max-width: 600px) { .fdc-ligne a { flex: 0 0 100px; } .fdc-ligne img, .fdc-ligne .fdc-repli { width: 100px; height: 67px; } }

/* ---------- S6 Mode & Style : grande photo sur 2 colonnes × 2 rangs + 4 cartes ---------- */
.fdc-mode { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; gap: 1.6rem 1.75rem; }
.fdc-mode-principal { grid-column: span 2; grid-row: span 2; min-height: 100%; }
.fdc-mode-principal img, .fdc-mode-principal .fdc-repli { width: 100%; height: 100%; aspect-ratio: auto; min-height: 360px; object-fit: cover; }
.fdc-mode-titre { font-weight: 600; }
.fdc-mode-carte .fdc-carte-photo { margin-bottom: .6rem; }
.fdc-mode-carte .fdc-carte-photo img, .fdc-mode-carte .fdc-carte-photo .fdc-repli { aspect-ratio: 2 / 1; }
.fdc-mode-carte h3 { font-size: 19px; margin: 0; }
.fdc-mode--2 .fdc-mode-principal, .fdc-mode--3 .fdc-mode-principal { grid-row: span 1; }
.fdc-mode--2 .fdc-mode-carte { grid-column: span 2; }
.fdc-mode--1 .fdc-mode-principal { grid-column: 1 / -1; }
@media (max-width: 900px) {
	.fdc-mode { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
	.fdc-mode-principal { grid-column: 1 / -1; grid-row: auto; }
	.fdc-mode-principal img, .fdc-mode-principal .fdc-repli { aspect-ratio: 4 / 3; height: auto; min-height: 0; }
	.fdc-mode-carte h3 { font-size: 17px; }
}

/* ---------- S7 Auto | Loisirs ---------- */
.fdc-duo-photo img, .fdc-duo-photo .fdc-repli { aspect-ratio: 2 / 1; width: 100%; display: block; }
.fdc-duo-photo span { font-weight: 500; font-size: 21px; padding: 2.5rem 1.1rem .9rem; background: linear-gradient(to top, rgba(19, 37, 29, .92), rgba(19, 37, 29, .55) 60%, transparent); }
.fdc-duo-breve { padding-top: .8rem; border-top: 1px solid var(--sb-filet); }
.fdc-duo-breve span { font-size: 16.5px; line-height: 1.3; }

/* ---------- S9 Santé : l'aplat décalé reste derrière la PHOTO (il passait derrière le titre) ---------- */
.fdc-sante { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3rem; align-items: stretch; }
.fdc-sante-principal::before { content: none; }
.fdc-sante-photo { display: block; border-radius: 6px; overflow: hidden; box-shadow: 16px 16px 0 var(--fdc-gravier); margin: 0 16px 16px 0; }
.fdc-sante-principal img, .fdc-sante-principal .fdc-repli { aspect-ratio: 4 / 3; box-shadow: none; }
.fdc-sante-principal h3 { font-size: 26px; font-weight: 600; line-height: 1.2; margin-top: 1.1rem; }
.fdc-sante-liste { justify-content: space-between; }

/* ---------- S10 Actualité ---------- */
.fdc-breve-horodatee a { flex: none; }
.fdc-breve-horodatee img, .fdc-breve-horodatee .fdc-repli { display: block; }
.fdc-breve-horodatee h3 { font-weight: 500; font-size: 19px; line-height: 1.25; }

/* ---------- S11 Index des rubriques (illustré, 4 × 2, la 8e case = la rédaction) ----------
   06/10 (rubrique-CONSTAT ROUGE n°5/6) : chaque colonne a désormais une vignette (le dernier
   article déjà récupéré côté PHP, cf. fdc_vignette() — jamais une case vide) ; sous 600px la
   colonne bascule en ligne compacte horizontale (image à gauche) au lieu d'un bloc texte
   d'environ 2000px sans aucune image. */
.fdc-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--sb-filet); }
.fdc-index-col { display: flex; flex-direction: column; padding: 1.3rem 1.4rem 1.4rem; border-bottom: 1px solid var(--sb-filet); border-left: 1px solid var(--sb-filet); }
.fdc-index-col:nth-child(4n+1) { border-left: 0; padding-left: 0; }
.fdc-index-img { display: block; width: 72px; height: 72px; flex: 0 0 auto; border-radius: 10px; overflow: hidden; margin-bottom: .7rem; border-top: 3px solid var(--fdc-rub, var(--fdc-vert)); }
.fdc-index-img img, .fdc-index-img .fdc-repli { width: 100%; height: 100%; object-fit: cover; display: block; }
.fdc-index-img--signe { display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); }
.fdc-index-corps { display: flex; flex-direction: column; min-width: 0; }
.fdc-index-col h3 { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; font: 600 21px/1.2 var(--fdc-titre); margin: 0 0 .35rem; }
.fdc-index-col h3 a { color: var(--fdc-encre); text-decoration: none; }
.fdc-index-col h3 span { font: 500 12px var(--fdc-mono); color: var(--fdc-encre-douce); }
.fdc-index-chapo { font: 400 14.5px/1.45 var(--fdc-lecture); color: var(--fdc-encre-douce); margin: 0 0 .6rem; }
.fdc-index-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.fdc-index-col li a { font: 600 15.5px/1.35 var(--fdc-lecture); color: var(--fdc-encre); text-decoration: none; }
.fdc-index-col li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.fdc-index-col--redaction { background: var(--fdc-nuit); color: var(--fdc-craie); border-radius: 0 0 10px 10px; }
.fdc-index-col--redaction h3 { color: var(--fdc-craie); }
.fdc-index-col--redaction .fdc-index-img { border-top-color: var(--fdc-paille); }
.fdc-index-col--redaction .fdc-index-chapo { color: rgba(251, 250, 246, .72); }
.fdc-index-col--redaction li a { color: var(--fdc-paille); }
.fdc-mono--index { width: 30px; height: 30px; color: var(--fdc-craie); }
@media (max-width: 1100px) { .fdc-index { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fdc-index-col:nth-child(4n+1) { border-left: 1px solid var(--sb-filet); padding-left: 1.4rem; } .fdc-index-col:nth-child(2n+1) { border-left: 0; padding-left: 0; } }
@media (max-width: 600px) {
	.fdc-index { grid-template-columns: 1fr; }
	.fdc-index-col, .fdc-index-col:nth-child(4n+1) { border-left: 0; padding: .85rem 0; border-bottom: 1px solid var(--sb-filet); }
	.fdc-index-col:first-child { border-top: 0; }
	/* Ligne compacte horizontale : image + compteur à gauche, texte à droite, chapô masqué
	   (déjà donné en toutes lettres par le chapô de la rubrique plus haut dans la page) —
	   c'est ce qui fait tomber la colonne d'~2000px sans image à quelques lignes par rubrique. */
	.fdc-index-col { flex-direction: row; align-items: flex-start; gap: .9rem; }
	.fdc-index-img { width: 56px; height: 56px; margin-bottom: 0; border-top: 0; border-left: 3px solid var(--fdc-rub, var(--fdc-vert)); border-radius: 8px; }
	.fdc-index-chapo { display: none; }
	.fdc-index-col h3 { font-size: 17.5px; margin-bottom: .3rem; }
	.fdc-index-col--redaction { padding-inline: 1.2rem; border-radius: 10px; }
}

/* ---------- S12 La lettre ---------- */
.fdc-lettre-texte h2 { font-weight: 500; }
.fdc-lettre-merci { margin: 0; font: 600 17px/1.4 var(--fdc-lecture); color: var(--fdc-vert); }

/* =====================================================================
   ARTICLE + AUTEUR — la photo passe DEVANT l'aplat décalé (elle était
   peinte dessous : le visiteur voyait un panneau beige vide).
   ===================================================================== */
.fdc-entete-article-aplat { inset: 28px -28px -28px 28px; z-index: 0; }
.fdc-entete-article-img { position: relative; z-index: 1; }
.fdc-entete-article-pastille { z-index: 2; }
.fdc-h1-article { font-weight: 600; text-wrap: balance; }
.fdc-entete-article { padding-bottom: 2.6rem; }
@media (min-width: 901px) { .fdc-entete-article-in { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 4rem; } }
/* Portrait de la fiche auteur : même cadre 4/5 que la photo d'article (il était écrasé à ~100 px). */
.fdc-entete-article-img .sb-avatar { width: 100%; height: auto; aspect-ratio: 4 / 5; max-height: 560px; border-radius: 6px; border: 0; object-fit: cover; box-shadow: var(--sb-ombre-haut); display: block; }
.fdc-entete-article-img img.sb-avatar[src$=".svg"], .fdc-entete-article-img .sb-avatar-symbole { object-fit: contain; background: var(--fdc-craie); padding: 18%; }
@media (max-width: 900px) {
	.fdc-entete-article-in { gap: 2rem; }
	.fdc-entete-article-aplat { inset: 14px -10px -14px 14px; }
	.fdc-entete-article-img .sb-avatar { aspect-ratio: 4 / 3; max-height: 320px; }
	.fdc-entete-article { padding-bottom: 1.6rem; }
}

/* Actions d'en-tête : deux vrais boutons (partager / poser une question), plus de bouton mort. */
.fdc-actions-article { flex-wrap: wrap; }

/* Maillage « À découvrir également » (module du site) : un vrai bloc de lecture, plus une liste à puces brute. */
.sb-maillage { margin: 2.4rem 0; padding: 1.2rem 1.4rem; background: var(--fdc-craie); border: 1px solid var(--sb-filet); border-top: 3px solid var(--fdc-rub, var(--fdc-vert)); border-radius: 10px; }
.sb-maillage h2 { font: 600 13px/1.3 var(--fdc-mono) !important; text-transform: uppercase; letter-spacing: .06em; color: var(--fdc-vert); margin: 0 0 .6rem !important; }
.sb-maillage h2::before { content: none !important; }
.sb-maillage ul { list-style: none; margin: 0; padding: 0; }
.sb-maillage li { margin: 0; padding: 0; border-top: 1px solid var(--sb-filet); }
.sb-maillage li:first-child { border-top: 0; }
.sb-maillage li::before { content: none !important; }
.sb-maillage li a { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; font: 600 17px/1.35 var(--fdc-lecture); color: var(--fdc-encre); text-decoration: none; }
.sb-maillage li a::after { content: "→"; color: var(--fdc-vert); }
.sb-maillage li:has(a[href*="/category/"]) a { font: 600 12px/1 var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-vert); justify-content: flex-start; gap: .4rem; padding-top: .9rem; }
.sb-maillage li:has(a[href*="/category/"]) a::before { content: "Toute la rubrique"; }
.sb-maillage li:has(a[href*="/category/"]) a::after { content: " →"; }

/* Encadrés à coches en série : 3 habillages qui alternent (en 390, l'article assurance
   enchaînait une dizaine de boîtes beiges identiques). */
.sb-texte .sb-cards:nth-of-type(3n+2) { background: var(--fdc-craie); border: 1px solid var(--sb-filet); border-left: 4px solid var(--fdc-paille); }
.sb-texte .sb-cards:nth-of-type(3n+2) > li::before { background-color: var(--fdc-accent-texte); }
.sb-texte .sb-cards:nth-of-type(3n) { background: var(--fdc-nuit); border-color: var(--fdc-nuit); border-left-color: var(--fdc-paille); }
.sb-texte .sb-cards:nth-of-type(3n) > li { color: var(--fdc-craie); }
.sb-texte .sb-cards:nth-of-type(3n) > li + li { border-top-color: rgba(251, 250, 246, .16); }
.sb-texte .sb-cards:nth-of-type(3n) > li::before { background-color: var(--fdc-paille); }
.sb-texte .sb-cards:nth-of-type(3n) a { color: var(--fdc-paille); }

/* =====================================================================
   NAVIGATION BASSE MOBILE — une vraie action dans le premier écran 390 :
   « La lettre » en pilule paille (avant : Accueil / Chercher seulement).
   ===================================================================== */
@media (max-width: 760px) {
	.sb-nav-mobile { align-items: center; gap: 2px; }
	.sb-nav-mobile a, .sb-nav-mobile button { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 48px; background: none; border: 0; padding: 0; color: var(--fdc-encre-douce); font: 600 11px var(--fdc-mono); text-transform: uppercase; letter-spacing: .03em; text-decoration: none; cursor: pointer; }
	.sb-nav-mobile button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
	.sb-nav-mobile .fdc-nav-lettre { flex: 1.25; background: var(--fdc-paille); color: var(--fdc-encre); border-radius: 999px; margin-inline: 4px; min-height: 52px; box-shadow: 0 6px 16px -8px rgba(22, 32, 27, .55); }
	.sb-nav-mobile .fdc-nav-lettre svg { stroke: var(--fdc-encre); }
	body.fdc-corps { padding-bottom: 72px; }
	.fdc-panneau-rubriques { margin: 1.2rem 0 0 !important; padding-bottom: 1rem !important; border-bottom: 1px solid var(--sb-filet); }
	.fdc-panneau-rubriques .fdc-pastille { font-size: 14px; }
	.fdc-panneau-mobile { z-index: 45; bottom: 72px; }
}
@media (min-width: 761px) { .fdc-panneau-rubriques { display: none; } }

/* =====================================================================
   CONTACT — le panneau nuit se remplit (il restait vide sur ~200 px).
   ===================================================================== */
.fdc-contact-panneau { display: flex; flex-direction: column; gap: .4rem; }
.fdc-contact-panneau h2 { font-weight: 600; }
.fdc-contact-sujets { margin: .8rem 0 0; display: grid; gap: .9rem; }
.fdc-contact-sujets div { padding-top: .8rem; border-top: 1px solid rgba(251, 250, 246, .16); }
.fdc-contact-sujets dt { font: 600 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-paille); margin-bottom: .25rem; }
.fdc-contact-sujets dd { margin: 0; font: 400 16px/1.5 var(--fdc-lecture); color: rgba(251, 250, 246, .82); }
.fdc-contact-lien { margin-top: auto; padding-top: 1rem; font: 600 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-paille); text-decoration: none; }

/* =====================================================================
   À PROPOS — refonte (R-1796) : diptyque inversé avec la vraie photo des
   chaises du Luxembourg, chiffres réels, 7 rubriques + 1 case « sujet »,
   la rédaction, la méthode illustrée, contact et éditeur.
   ===================================================================== */
.fdc-ap-hero { background: var(--fdc-craie); padding-block: clamp(2rem, 4vw, 3.5rem) clamp(3rem, 5vw, 4.5rem); }
.fdc-ap-hero-in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.fdc-ap-surtitre { font: 600 15px var(--fdc-titre); margin: 1.4rem 0 .2rem; color: var(--fdc-encre); }
.fdc-ap-surtitre i { font-style: italic; font-weight: 500; color: var(--fdc-vert); }
.fdc-ap-titre { font: 600 clamp(44px, 5.4vw, 78px)/1.02 var(--fdc-titre); letter-spacing: -.01em; margin: 0 0 .6rem; }
.fdc-ap-devise { font: 500 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .12em; color: var(--fdc-encre-douce); padding-top: .7rem; border-top: 2px solid var(--fdc-vert); display: inline-block; margin: 0 0 1.4rem; }
.fdc-ap-chapo { font: 400 21px/1.55 var(--fdc-lecture); max-width: 58ch; margin: 0 0 1.8rem; }
.fdc-ap-actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.fdc-ap-hero-photo { position: relative; margin: 0 28px 28px 0; }
.fdc-ap-aplat { position: absolute; inset: 28px -28px -28px 28px; background: var(--fdc-gravier); border-radius: 6px; z-index: 0; }
.fdc-ap-hero-photo img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 4 / 5; max-height: 620px; object-fit: cover; border-radius: 6px; box-shadow: var(--sb-ombre-haut); }
.fdc-ap-hero-photo figcaption, .fdc-ap-methode-photo figcaption { position: relative; z-index: 1; margin-top: .6rem; font: 400 11px/1.4 var(--fdc-mono); color: var(--fdc-encre-douce); }
.fdc-ap-hero-photo figcaption { position: absolute; left: 12px; right: 12px; bottom: 10px; margin: 0; padding: .35rem .6rem; background: rgba(19, 37, 29, .72); color: rgba(251, 250, 246, .9); border-radius: 4px; z-index: 2; }

.fdc-ap-chiffres { background: var(--fdc-nuit); color: var(--fdc-craie); }
.fdc-ap-chiffres-in { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); align-items: center; padding-block: 2.6rem; }
.fdc-ap-chiffres-titre { font: 600 32px/1.1 var(--fdc-titre); color: var(--fdc-craie); margin: 0; }
.fdc-ap-chiffres-in > div { border-left: 1px solid rgba(251, 250, 246, .16); padding-left: 2rem; }
.fdc-ap-chiffres b { display: block; font: 600 72px/1 var(--fdc-titre); color: var(--fdc-paille); font-variant-numeric: lining-nums tabular-nums; }
.fdc-ap-chiffres span { font: 500 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .06em; color: rgba(251, 250, 246, .72); }

.fdc-ap-rubriques { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.fdc-ap-rubrique { display: flex; flex-direction: column; gap: .6rem; padding: 1.3rem 1.3rem 1.2rem; background: var(--fdc-craie); border: 1px solid var(--sb-filet); border-top: 4px solid var(--fdc-rub, var(--fdc-vert)); border-radius: 10px; text-decoration: none; color: var(--fdc-encre); box-shadow: var(--sb-ombre); transition: transform .2s ease, box-shadow .2s ease; }
.fdc-ap-rubrique:hover { transform: translateY(-3px); box-shadow: var(--sb-ombre-haut); }
.fdc-ap-rubrique-nom { font: 600 22px/1.2 var(--fdc-titre); }
.fdc-ap-rubrique-nom .fdc-pastille--titre { font: 600 22px/1.2 var(--fdc-titre); text-transform: none; letter-spacing: 0; }
.fdc-ap-rubrique-nom .fdc-pastille-signe { width: 12px; height: 12px; flex-basis: 12px; }
.fdc-ap-rubrique-chapo { font: 400 15.5px/1.5 var(--fdc-lecture); color: var(--fdc-encre-douce); flex: 1 1 auto; }
.fdc-ap-rubrique-compte { font: 600 12px var(--fdc-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--fdc-rub, var(--fdc-vert)); }
.fdc-ap-rubrique--idee { background: var(--fdc-vert); border-color: var(--fdc-vert); border-top-color: var(--fdc-paille); color: var(--fdc-craie); }
.fdc-ap-rubrique--idee .fdc-ap-rubrique-chapo { color: rgba(251, 250, 246, .82); }
.fdc-ap-rubrique--idee .fdc-ap-rubrique-compte { color: var(--fdc-paille); }
@media (prefers-reduced-motion: reduce) { .fdc-ap-rubrique { transition: none; } .fdc-ap-rubrique:hover { transform: none; } }

.fdc-ap-redaction { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.fdc-ap-auteur { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 1.2rem; align-items: start; background: var(--fdc-craie); border-radius: 10px; padding: 1.4rem; box-shadow: var(--sb-ombre); }
.fdc-ap-auteur-photo .sb-avatar { width: 112px; height: 112px; border: 3px solid var(--fdc-paille); box-shadow: none; }
.fdc-ap-auteur-photo .sb-avatar[src$=".svg"] { object-fit: contain; background: var(--fdc-gravier); padding: 18px; }
.fdc-ap-auteur h3 { font: 600 24px/1.15 var(--fdc-titre); margin: .2rem 0 .3rem; }
.fdc-ap-auteur h3 a { color: var(--fdc-encre); text-decoration: none; }
.fdc-ap-auteur-bio { font: 400 15.5px/1.5 var(--fdc-lecture); margin: .5rem 0 .7rem; }

.fdc-ap-methode { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.fdc-ap-methode-photo { margin: 0; }
.fdc-ap-methode-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; box-shadow: -16px 16px 0 var(--fdc-gravier); }
.fdc-ap-methode-texte h2 { font: 600 clamp(32px, 3.4vw, 46px)/1.08 var(--fdc-titre); margin: 0 0 1.2rem; }
.fdc-ap-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 2rem; }
.fdc-ap-etapes li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: .8rem; align-items: start; }
.fdc-ap-etapes b { font: 600 46px/.9 var(--fdc-titre); color: var(--fdc-vert); font-variant-numeric: lining-nums; }
.fdc-ap-etapes h3 { font: 600 19px/1.25 var(--fdc-titre); margin: 0 0 .2rem; }
.fdc-ap-etapes p { font: 400 15.5px/1.5 var(--fdc-lecture); margin: 0; color: var(--fdc-encre-douce); }
.fdc-ap-jamais { margin: 1.6rem 0 0; padding: .9rem 1.1rem; border-left: 4px solid var(--fdc-coquelicot); background: var(--fdc-gravier); border-radius: 0 8px 8px 0; font: 400 16px/1.5 var(--fdc-lecture); }
.fdc-ap-jamais b { color: #A12A15; }

.fdc-ap-contact { background: var(--fdc-vert); color: var(--fdc-craie); }
.fdc-ap-contact-in { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 2.5rem; align-items: center; padding-block: 2.8rem; }
.fdc-ap-contact h2 { color: var(--fdc-craie); font: 600 clamp(28px, 3vw, 40px)/1.1 var(--fdc-titre); margin: 0 0 .6rem; }
.fdc-ap-contact h2 .fdc-ton2 { color: var(--fdc-paille); }
.fdc-ap-contact p { margin: 0; color: rgba(251, 250, 246, .85); }
.fdc-ap-contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.fdc-ap-editeur { font: 400 13px/1.5 var(--fdc-mono); }
.fdc-ap-editeur a { color: var(--fdc-paille); }

@media (max-width: 1000px) {
	.fdc-ap-rubriques { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fdc-ap-redaction { grid-template-columns: 1fr; }
	.fdc-ap-chiffres-in { grid-template-columns: repeat(3, 1fr); gap: 1.2rem 0; }
	.fdc-ap-chiffres-titre { grid-column: 1 / -1; }
	.fdc-ap-chiffres-in > div:nth-child(2) { border-left: 0; padding-left: 0; }
}
@media (max-width: 860px) {
	.fdc-ap-hero-in, .fdc-ap-methode, .fdc-ap-contact-in { grid-template-columns: 1fr; }
	.fdc-ap-hero-photo { order: -1; margin: 0 14px 14px 0; }
	.fdc-ap-aplat { inset: 14px -14px -14px 14px; }
	.fdc-ap-hero-photo img { aspect-ratio: 4 / 3; max-height: 360px; }
	.fdc-ap-etapes { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.fdc-ap-rubriques { grid-template-columns: 1fr; }
	.fdc-ap-chiffres b { font-size: 48px; }
	.fdc-ap-chiffres-in > div { padding-left: 1rem; }
	.fdc-ap-auteur { grid-template-columns: 80px minmax(0, 1fr); padding: 1.1rem; }
	.fdc-ap-auteur-photo .sb-avatar { width: 80px; height: 80px; }
	.fdc-ap-chapo { font-size: 18px; }
}

/* Duo Auto | Loisirs : deux colonnes de même largeur (le filet ne mange plus la 2e). */
.fdc-duo-rubriques { gap: 0; }
.fdc-duo-col-rubrique { padding-right: 2.2rem; }
.fdc-duo-col-rubrique + .fdc-duo-col-rubrique { padding-left: 2.2rem; padding-right: 0; }
@media (max-width: 900px) { .fdc-duo-col-rubrique, .fdc-duo-col-rubrique + .fdc-duo-col-rubrique { padding-inline: 0; } .fdc-duo-rubriques { gap: 2rem; } }

/* Repli mobile des grilles redéfinies plus haut dans cette passe (elles écrasaient les
   règles ≤ 900 px d'origine : Maison et Santé restaient sur 2 colonnes en 390). */
.fdc-breve > div, .fdc-ligne > div { min-width: 0; }
@media (max-width: 900px) {
	.fdc-maison, .fdc-sante { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
	.fdc-maison-principal img, .fdc-maison-principal .fdc-repli, .fdc-eco-principal .fdc-carte-photo img, .fdc-eco-principal .fdc-carte-photo .fdc-repli { aspect-ratio: 3 / 2; max-height: none; }
	.fdc-sante-photo { margin: 0 12px 12px 0; box-shadow: 12px 12px 0 var(--fdc-gravier); }
	.fdc-maison-principal h3, .fdc-eco-principal h3 { font-size: 25px; }
}
@media (max-width: 600px) {
	.fdc-breve a { flex: 0 0 96px; }
	.fdc-breve img, .fdc-breve .fdc-repli { width: 96px; height: 64px; }
	.fdc-une-titre { font-size: 31px; }
}
/* La rédaction : la grille suit le nombre réel de signatures (2 aujourd'hui → pas de 3e case vide). */
.fdc-ap-redaction--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fdc-ap-redaction--1 { grid-template-columns: minmax(0, 720px); }
.fdc-ap-redaction--2 .fdc-ap-auteur { grid-template-columns: 140px minmax(0, 1fr); gap: 1.6rem; padding: 1.8rem; }
.fdc-ap-redaction--2 .fdc-ap-auteur-photo .sb-avatar { width: 140px; height: 140px; }
@media (max-width: 1000px) { .fdc-ap-redaction--2 { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .fdc-ap-redaction--2 .fdc-ap-auteur { grid-template-columns: 80px minmax(0, 1fr); padding: 1.1rem; gap: 1rem; } .fdc-ap-redaction--2 .fdc-ap-auteur-photo .sb-avatar { width: 80px; height: 80px; } }
/* Sources : une seule boîte (le module du site emballait la liste à coches dans un 2e cadre). */
[class^="sbsrc-"] > .sb-cards, [class*=" sbsrc-"] > .sb-cards { background: none; border: 0; padding: 0; margin: 0; box-shadow: none; }
/* « À lire aussi » : la bande gravier a ses marges intérieures (le titre collait au bord). */
.fdc-article-suite { padding: 2.4rem clamp(1rem, 2.5vw, 2rem); border-radius: 10px; margin-bottom: 3rem; }
/* La carte auteur touchait la bande « À lire aussi » (07/10, R-1916) : marge franche au-dessus. */
.fdc-article-suite { margin-top: clamp(2.5rem, 4vw, 3.5rem); }

/* RUBRIQUE — la une « à cheval » recouvrait le titre de la rubrique (marge négative à
   l'intérieur du même bloc) : le fond gravier s'arrête désormais à mi-hauteur des photos,
   et les photos commencent sous le chapô. */
.fdc-fronton:not(.fdc-fronton--compact) { padding-bottom: 0; background: linear-gradient(to bottom, var(--fdc-gravier) 0, var(--fdc-gravier) calc(100% - 220px), var(--fdc-craie) calc(100% - 220px)); }
.fdc-fronton-une { margin-top: 2.2rem; }
.fdc-fronton-une-principal img, .fdc-fronton-une-principal .fdc-repli { aspect-ratio: 16 / 10; }
.fdc-fronton-une-secondaires img, .fdc-fronton-une-secondaires .fdc-repli { aspect-ratio: 2 / 1; }
.fdc-fronton-une h3 { font-weight: 500; font-size: 21px; line-height: 1.25; }
.fdc-fronton-une-principal h3 { font-size: 28px; font-weight: 600; }
@media (max-width: 800px) { .fdc-fronton-une { margin-top: 1.4rem; } .fdc-fronton:not(.fdc-fronton--compact) { background: linear-gradient(to bottom, var(--fdc-gravier) 0, var(--fdc-gravier) calc(100% - 120px), var(--fdc-craie) calc(100% - 120px)); } }
.fdc-liste-horodatee + .fdc-suite-liens, .fdc-liste-horodatee { margin-top: 1rem; }
/* 06/10 (rubrique-CONSTAT) : liste de secours HTML pur sous la grille/liste + bouton
   « Charger plus », pour que tous les articles restent atteignables sans JavaScript —
   volontairement discrète (texte seul, pas de vignette) : le gabarit illustré au-dessus
   reste la vraie vitrine, cette liste n'est qu'un filet de sécurité d'accès. */
.fdc-secours { margin-top: 2.5rem; padding-top: 1.6rem; border-top: 1px solid var(--sb-filet); }
.fdc-secours-titre { font: 700 13px var(--fdc-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--fdc-encre-douce); margin: 0 0 .9rem; }
.fdc-secours-titre span { font-weight: 500; opacity: .7; text-transform: none; letter-spacing: 0; }
.fdc-secours-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .4rem 2rem; }
.fdc-secours-liste li { display: flex; gap: .6rem; align-items: baseline; font: 400 14.5px/1.4 var(--fdc-lecture); border-bottom: 1px dashed var(--sb-filet); padding-bottom: .35rem; }
.fdc-secours-liste time { flex: 0 0 auto; font: 500 12px var(--fdc-mono); color: var(--fdc-encre-douce); white-space: nowrap; }
.fdc-secours-liste a { color: var(--fdc-encre); text-decoration: none; }
.fdc-secours-liste a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .fdc-secours-liste { grid-template-columns: 1fr; } }
/* Mobile : « Quatre à lire » et « Actualité » en 2 colonnes compactes (4 grandes photos
   empilées faisaient 1 900 px de défilement). */
@media (max-width: 600px) {
	.fdc-grille--filets, .fdc-fond-gravier .fdc-grille--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem .9rem; }
	.fdc-grille--filets .fdc-chapo, .fdc-grille--filets .fdc-signature { display: none; }
	.fdc-grille--filets .fdc-carte h3, .fdc-breve-horodatee h3 { font-size: 17px; line-height: 1.25; }
	.fdc-grille--filets .fdc-pastille--photo { font-size: 9.5px; left: 6px; bottom: 6px; padding: .3rem .5rem; }
	.fdc-horodatage { font-size: 10.5px; }
	.fdc-maison-principal .fdc-chapo, .fdc-eco-principal .fdc-chapo { font-size: 16.5px; }
}

/* 06/10 — contraste sur fond vert : le jaune paille ne fait que 3,76:1 → texte craie, filet paille conservé. */
.fdc-ap-rubrique--idee .fdc-ap-rubrique-compte { color: var(--fdc-craie); text-decoration: underline; text-decoration-color: var(--fdc-paille); text-underline-offset: 3px; }
.fdc-ap-editeur a { color: var(--fdc-craie); text-decoration-color: var(--fdc-paille); }

/* 06/10 (juge visuel n°3, revérification) : sur l'accueil mobile, la manchette porte déjà le nom ;
   la barre compacte (nom + loupe) le répétait juste dessous. Rubriques et recherche restent dans la barre du bas. */
@media (max-width: 760px) { body.home .fdc-rubriques { display: none; } }
