/*
 * Polices self-hosted (P-086) — Volkhov (titres) + Andika (lecture/interface).
 * Fichiers .woff2 déposés le 08/10 (Google Fonts, sous-ensemble latin).
 * (cf. COMPTE-RENDU.md) : tant qu'ils n'y sont pas, ces règles ne cassent rien
 * (font-display:swap + repli Georgia/system-ui déjà posé dans style.css), mais
 * le rendu typographique n'est pas celui de la DA. Jamais d'appel à
 * fonts.googleapis.com / fonts.gstatic.com sur ce thème.
 */
@font-face { font-family: 'Volkhov'; src: url('../fonts/volkhov-400-normal-latin.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Volkhov'; src: url('../fonts/volkhov-400-italic-latin.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Volkhov'; src: url('../fonts/volkhov-700-normal-latin.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Volkhov'; src: url('../fonts/volkhov-700-italic-latin.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'Andika'; src: url('../fonts/andika-400-normal-latin.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Andika'; src: url('../fonts/andika-400-italic-latin.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Andika'; src: url('../fonts/andika-700-normal-latin.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Andika'; src: url('../fonts/andika-700-italic-latin.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; }

/*
Theme Name: Le Bon Sens — Éphéméride
Theme URI: https://adiav2000.org/
Description: Thème magazine généraliste pour Le Bon Sens, l'éphéméride de la maison française. Idée visuelle unique : la feuille d'éphéméride (reliure moutarde, deux trous, chiffre géant, coin soulevé). Volkhov + Andika, mode clair uniquement. Préfixe CSS : lbs-.
Author: Le Bon Sens
Version: 1.0.0
Text Domain: lbs-ephemeride
Requires at least: 6.0
Requires PHP: 7.4
*/

/* ⚠️ Ce fichier est une SOURCE assemblée par assembler.sh dans assets/css/tout.css
   (seule feuille réellement chargée en front, cf. functions.php §4). N'enqueue
   jamais ce fichier directement : WordPress le lit seulement pour reconnaître le
   thème (l'en-tête ci-dessus). Les variables --sb-* ci-dessous nourrissent aussi
   les blocs figés (blocs-figes/blocs-valides.css) : ne jamais les renommer. */

:root {
	/* --- Palette Le Bon Sens (§2 DIRECTION-ARTISTIQUE.md) --- */
	--lbs-lin: #F5F7F6;
	--lbs-blanc: #FFFFFF;
	--lbs-canard: #0F4A57;
	--lbs-canard-profond: #0B3842;
	--lbs-encre: #17262B;
	--lbs-moutarde: #DDA21C;
	--lbs-beurre: #F7EBC9;
	--lbs-brume: #E2EDED;
	--lbs-dimanche: #B42318;
	--lbs-doux: #4F5F66;
	--lbs-filet: #D3DEDF;

	/* --- Rayons --- */
	--lbs-r-feuille: 6px;
	--lbs-r-s: 10px;
	--lbs-r-m: 16px;
	--lbs-r-l: 22px;

	/* --- Ombres, toutes teintées canard --- */
	--lbs-ombre-1: 0 1px 2px rgba(15,74,87,.08), 0 8px 20px -6px rgba(15,74,87,.12);
	--lbs-ombre-2: 0 24px 48px -16px rgba(15,74,87,.32);
	--lbs-ombre-feuille: 0 1px 0 #D3DEDF, 0 14px 28px -10px rgba(23,38,43,.35);

	/* --- Typo --- */
	--lbs-titre: 'Volkhov', Georgia, serif;
	--lbs-lecture: 'Andika', system-ui, -apple-system, sans-serif;

	/* --- Conteneur --- */
	--lbs-conteneur: 1200px;
	--lbs-accent: var(--lbs-canard);

	/* ===================================================================
	 * Variables des BLOCS FIGÉS (--sb-*) — seul endroit où le thème les
	 * redéfinit (§6 DA). Rien d'autre dans blocs-figes/blocs-valides.css
	 * n'est modifié.
	 * =================================================================== */
	--sb-fond: #F5F7F6;
	--sb-encre: #17262B;
	--sb-doux: #4F5F66;
	--sb-filet: #D3DEDF;
	--sb-accent: #0F4A57;
	--sb-accent-fort: #0B3842;
	--sb-accent-2: #DDA21C;
	--sb-surf: #E2EDED;
	--sb-surf2: #F7EBC9;
	--sb-rub: var(--sb-accent);
	--sb-rayon: 16px;
	--sb-ombre: 0 1px 2px rgba(15,74,87,.08), 0 8px 20px -6px rgba(15,74,87,.12);
	--sb-ombre-haut: 0 24px 48px -16px rgba(15,74,87,.32);
	--sb-titre: 'Volkhov', Georgia, serif;
	--sb-lecture: 'Andika', system-ui, -apple-system, sans-serif;
	--sb-aside-largeur: 320px;
	--sb-haut-collant: 76px;
	--sb-faq-largeur: 760px;
}

/* Le Bon Sens est en mode clair UNIQUEMENT (§0 DA) : on neutralise le sombre
   automatique porté par les blocs figés en forçant le même jeu de variables
   sous prefers-color-scheme:dark — jamais de bascule sombre sur ce site. */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--sb-fond: #F5F7F6; --sb-encre: #17262B; --sb-doux: #4F5F66; --sb-filet: #D3DEDF;
		--sb-surf: #E2EDED; --sb-surf2: #F7EBC9;
	}
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }
body {
	margin: 0; background: var(--lbs-lin); color: var(--lbs-encre);
	font: 400 18px/1.65 var(--lbs-lecture); -webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--lbs-titre); margin: 0; }
button { font-family: inherit; cursor: pointer; }
.screen-reader-text { position: absolute; left: -9999px; }

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/*
 * BLOCS FIGÉS — généraliste (journal/magazine) — CSS consolidé
 * Sources : pansemiotique.com/assets/pj/pj.css + style.css (sidebar/sommaire/encadrés/
 * auteur/footer), paroisse-saintpoldeleon.fr/style.css (FAQ .accordeon → .sb-faq),
 * cslp06.org/style.css (inspiration .encadre-point, non reprise telle quelle).
 * Toutes les couleurs/polices/ombres/rayons sont des VARIABLES --sb-* : un nouveau site
 * ne redéfinit QUE le bloc :root ci-dessous (ou une partie), jamais les règles plus bas.
 *
 * INTERDIT DE MODIFIER : les sélecteurs, la structure grid/flex, les media queries de
 * bascule mobile (760px). LIBRE DE MODIFIER : toutes les valeurs du :root.
 *
 * Le :root ci-dessous est repris EXACTEMENT par lbs-ephemeride dans app.css (variables
 * --sb-* recopiées avec les valeurs Le Bon Sens, §6 de la DIRECTION-ARTISTIQUE.md) :
 * on ne retouche rien du reste de ce fichier.
 */

:root {
	/* --- Couleurs --- */
	--sb-fond: #ffffff;
	--sb-encre: #0F1626;      /* texte principal */
	--sb-doux: #4B5266;       /* texte atténué (métadonnées) */
	--sb-filet: #E1E4EE;      /* bordures fines */
	--sb-accent: #1B358A;     /* couleur de marque / liens */
	--sb-accent-fort: #13245E;/* hover, boutons pleins */
	--sb-accent-2: #9A4212;   /* couleur secondaire (numéros, puces) */
	--sb-surf: #F3F4FA;       /* fond encadré clair niveau 1 */
	--sb-surf2: #E8ECF7;      /* fond encadré clair niveau 2 (surbrillance sommaire) */
	--sb-rub: var(--sb-accent); /* couleur de la rubrique courante, posée en inline style par article */

	/* --- Formes --- */
	--sb-rayon: 12px;
	--sb-ombre: 0 1px 2px rgba(19,36,94,.06), 0 4px 14px rgba(19,36,94,.07);
	--sb-ombre-haut: 0 2px 4px rgba(19,36,94,.08), 0 10px 26px rgba(19,36,94,.12);

	/* --- Typo --- */
	--sb-titre: "Manrope", "Helvetica Neue", Arial, sans-serif;   /* titres, UI, chiffres */
	--sb-lecture: "Newsreader", Georgia, "Times New Roman", serif; /* corps de lecture, chapô */

	/* --- Barre latérale --- */
	--sb-aside-largeur: 300px;
	--sb-haut-collant: 150px; /* distance du haut à laquelle une zone devient sticky (hauteur de l'en-tête) */
}

/* Le Bon Sens est en mode clair UNIQUEMENT (§0 DA) : le sombre automatique du bloc
   figé est neutralisé par lbs-ephemeride (app.css force le :root clair, cf. functions.php). */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--sb-fond: #10131C; --sb-encre: #EDEFF7; --sb-doux: #A7AFC6; --sb-filet: #262B3C;
		--sb-surf: #171B29; --sb-surf2: #1C2133;
	}
}
:root[data-theme="dark"] {
	--sb-fond: #10131C; --sb-encre: #EDEFF7; --sb-doux: #A7AFC6; --sb-filet: #262B3C;
	--sb-surf: #171B29; --sb-surf2: #1C2133;
}

.sb-cadre { width: min(1280px, 100% - 2.5rem); margin-inline: auto; }
.sb-kicker { font: 700 11.5px/1.5 var(--sb-titre); letter-spacing: .11em; text-transform: uppercase; color: var(--sb-accent); }

/* ============================= ARTICLE — en-tête ============================= */

.sb-article-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--sb-rub); }
.sb-article-hero-grille { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,1fr); gap: clamp(32px,4vw,60px); align-items: center; padding-block: clamp(30px,3vw,44px) clamp(36px,3.4vw,50px); }
.sb-article-hero--sans-photo .sb-article-hero-grille { grid-template-columns: minmax(0,900px); }
.sb-article-ariane { color: #BCC6E6; margin-bottom: 1.1rem; }
.sb-article-ariane a { color: #EAEDF9; }
.sb-article-titre { color: #fff; font: 800 clamp(32px,3.2vw,47px)/1.07 var(--sb-titre); letter-spacing: -.034em; margin: 0; text-wrap: balance; }
.sb-article-chapo { font: 400 clamp(18px,1.45vw,21px)/1.5 var(--sb-lecture); color: #D6DDF0; margin: 1.05rem 0 0; max-width: 40em; }
.sb-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.16); color: #C8D0E7; font: 600 13.5px/1.4 var(--sb-titre); }
.sb-article-auteur { display: inline-flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; min-height: 44px; }
.sb-article-auteur .sb-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px rgba(255,255,255,.85); flex: 0 0 48px; }
.sb-article-auteur-txt { display: flex; flex-direction: column; line-height: 1.25; }
.sb-article-auteur-nom { font: 800 15px/1.25 var(--sb-titre); color: #fff; }
.sb-article-figure { position: relative; margin: 0; }
.sb-article-figure img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; box-shadow: 0 2px 6px rgba(0,0,0,.18), 0 26px 60px rgba(4,9,32,.45); }

/* ============================= BARRE LATÉRALE + SOMMAIRE ============================= */

.sb-art-corps { display: grid; grid-template-columns: minmax(0,1fr) var(--sb-aside-largeur); gap: 48px; align-items: start; margin-top: 44px; }
.sb-art-corps--seul { grid-template-columns: minmax(0,860px); }
.sb-art-principal { min-width: 0; max-width: 820px; }
.sb-art-aside { position: relative; align-self: stretch; display: flex; flex-direction: column; gap: 20px; }

.sb-colle-zone { position: relative; }
.sb-colle-zone--som { flex: 1 1 auto; }
.sb-colle-zone--pub { flex: 0 0 auto; min-height: min(1100px,45%); }
.sb-colle-zone--pub:only-child { flex: 1 1 auto; }
.sb-colle[data-colle="true"] { position: sticky; top: var(--sb-haut-collant); }

.sb-sommaire { position: relative; overflow: hidden; background: var(--sb-fond); border: 1px solid var(--sb-filet); border-radius: 16px; padding: 1.25rem 1.25rem .9rem; box-shadow: var(--sb-ombre); }
.sb-sommaire::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--sb-rub); }
.sb-sommaire-tete { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.sb-sommaire-duree { font: 700 12px/1 var(--sb-titre); color: var(--sb-doux); background: var(--sb-surf); border-radius: 999px; padding: .4rem .65rem; white-space: nowrap; }
.sb-sommaire-barre { height: 4px; border-radius: 4px; background: var(--sb-surf2); margin: .9rem 0 .5rem; overflow: hidden; }
.sb-sommaire-barre span { display: block; height: 100%; border-radius: inherit; background: var(--sb-rub); transform: scaleX(0); transform-origin: 0 50%; transition: transform .12s linear; }
.sb-sommaire ol { margin: 0; padding: 0; list-style: none; counter-reset: s; }
.sb-sommaire li { counter-increment: s; }
.sb-sommaire li + li { border-top: 1px solid var(--sb-filet); }
.sb-sommaire a { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: .2rem; align-items: start; margin: 0 -.55rem; padding: .62rem .55rem; border-radius: 10px; font: 700 14.5px/1.38 var(--sb-titre); color: var(--sb-encre); text-decoration: none; transition: background .15s ease, color .15s ease; }
.sb-sommaire a::before { content: counter(s,decimal-leading-zero); font: 800 12.5px/1.7 var(--sb-titre); color: var(--sb-accent-2); }
.sb-sommaire a:hover { background: var(--sb-surf); color: var(--sb-accent-fort); }
.sb-sommaire a[aria-current="true"] { background: var(--sb-surf2); color: var(--sb-accent-fort); box-shadow: inset 3px 0 0 var(--sb-rub); }

.sb-sommaire-mobile { display: none; }
.sb-art-aside-pub { margin: 0; }

@media (max-width: 980px) { .sb-art-corps { grid-template-columns: minmax(0,1fr) 260px; gap: 36px; } }
@media (max-width: 760px) {
	.sb-article-hero-grille { grid-template-columns: 1fr; gap: 26px; padding-block: 28px 0; }
	.sb-article-titre { font-size: 29px; line-height: 1.09; }
	.sb-art-corps { grid-template-columns: 1fr; gap: 0; margin-top: 26px; }
	.sb-art-aside { display: none; }
	.sb-sommaire-mobile { display: block; position: relative; overflow: hidden; margin: 0 0 1.5rem; border: 1px solid var(--sb-filet); border-radius: 14px; background: var(--sb-fond); box-shadow: var(--sb-ombre); padding: 0; }
	.sb-sommaire-mobile::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--sb-rub); }
	.sb-sommaire-mobile summary { list-style: none; display: flex; align-items: center; gap: .6rem; min-height: 54px; padding: .35rem 1rem 0; font: 800 15px/1.2 var(--sb-titre); color: var(--sb-encre); cursor: pointer; }
	.sb-sommaire-mobile summary::-webkit-details-marker { display: none; }
	.sb-sommaire-mobile summary em { font: 700 12.5px/1 var(--sb-titre); font-style: normal; color: var(--sb-doux); background: var(--sb-surf); border-radius: 999px; padding: .35rem .6rem; }
	.sb-sommaire-mobile ol { list-style: none; counter-reset: s; margin: 0; padding: .2rem 1rem .8rem; }
	.sb-sommaire-mobile li { counter-increment: s; padding: 0; border-top: 1px solid var(--sb-filet); }
	.sb-sommaire-mobile a { display: grid; grid-template-columns: 28px minmax(0,1fr); min-height: 44px; align-items: center; padding: .5rem 0; font: 700 15px/1.35 var(--sb-titre); color: var(--sb-encre); text-decoration: none; }
	.sb-sommaire-mobile a::before { content: counter(s,decimal-leading-zero); font: 800 12.5px/1 var(--sb-titre); color: var(--sb-accent-2); }
}
@media (prefers-reduced-motion: reduce) { .sb-sommaire-barre span, .sb-sommaire a { transition: none; } }

/* ============================= ENCADRÉS ============================= */

/* Listes → cartes à coches / étapes numérotées */
.sb-texte .sb-steps, .sb-texte .sb-cards { list-style: none; padding: 0; margin: 1.75rem 0; display: grid; gap: .85rem; }
.sb-texte .sb-steps { counter-reset: sbetape; }
.sb-texte .sb-steps > li { position: relative; margin: 0; padding: .95rem 1.1rem .95rem 3.9rem; background: var(--sb-surf); border-radius: var(--sb-rayon); line-height: 1.55; }
.sb-texte .sb-steps > li::before { counter-increment: sbetape; content: counter(sbetape); position: absolute; left: 1rem; top: .85rem; width: 2.1rem; height: 2.1rem; border-radius: 999px; background: var(--sb-accent); color: #fff; font: 800 15px/2.1rem var(--sb-titre); text-align: center; }
.sb-texte .sb-cards { display: block; margin: 1.6rem 0; padding: .35rem 1.3rem; background: var(--sb-surf); border: 1px solid var(--sb-filet); border-left: 4px solid var(--sb-rub); border-radius: var(--sb-rayon); }
.sb-texte .sb-cards > li { position: relative; margin: 0; padding: .8rem 0 .8rem 2.1rem; font: 500 16.5px/1.55 var(--sb-lecture); color: var(--sb-encre); }
.sb-texte .sb-cards > li + li { border-top: 1px solid var(--sb-filet); }
.sb-texte .sb-cards > li::before { content: ""; position: absolute; left: 0; top: 1.02rem; width: 1.3rem; height: 1.3rem; border-radius: 999px; background: var(--sb-rub) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/.8rem no-repeat; }

/* Tableau comparatif → cartes */
.sb-compare { display: grid; grid-template-columns: repeat(var(--sb-compare-cols, auto-fit), minmax(min(100%,17rem),1fr)); gap: 1rem; margin: 1.75rem 0; }
.sb-compare-card { padding: 1.25rem 1.35rem; background: var(--sb-fond); border: 1px solid var(--sb-filet); border-top: 4px solid var(--sb-rub); border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre); }
.sb-compare-card h3 { font: 800 18px/1.25 var(--sb-titre); margin: 0 0 .8rem; color: var(--sb-encre); }
.sb-compare-row { padding: .6rem 0; border-top: 1px solid var(--sb-filet); }
.sb-compare-row:first-child { border-top: 0; padding-top: 0; }
.sb-compare-row dt { margin: 0 0 .2rem; font: 700 11.5px/1.4 var(--sb-titre); letter-spacing: .08em; text-transform: uppercase; color: var(--sb-doux); }
.sb-compare-row dd { margin: 0; font: 400 15.5px/1.5 var(--sb-lecture); color: var(--sb-encre); }

/* Bloc Sources — jamais cliquable */
.sb-sources { background: var(--sb-surf); padding: 24px 28px; border-top: 3px solid var(--sb-encre); margin: 32px 0; }
.sb-sources-titre { font: 700 11px var(--sb-titre); letter-spacing: .12em; text-transform: uppercase; color: var(--sb-encre); margin: 0 0 14px; }
.sb-sources ul, .sb-sources ol { list-style: none; margin: 0; padding: 0; counter-reset: sbsrc; }
.sb-sources ol li { counter-increment: sbsrc; }
.sb-sources ol li::before { content: counter(sbsrc); flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--sb-encre); color: var(--sb-fond); font: 700 11px/22px var(--sb-titre); text-align: center; }
.sb-sources li { display: flex; align-items: baseline; gap: 8px; padding: 10px 0; border-top: 1px solid color-mix(in srgb, var(--sb-encre) 10%, transparent); }
.sb-sources li:first-child { border-top: 0; }

/* "À lire aussi" terminal → bloc de liens */
.sb-alire { margin: 2.4rem 0 1.6rem; padding: 1.2rem 1.3rem .6rem; border: 1px solid var(--sb-filet); border-top: 4px solid var(--sb-rub); border-radius: var(--sb-rayon); background: var(--sb-fond); box-shadow: var(--sb-ombre); }
.sb-alire ul { list-style: none; margin: 0; padding: 0; }
.sb-alire li { border-top: 1px solid var(--sb-filet); }
.sb-alire li:first-child { border-top: 0; }
.sb-alire a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; padding: .75rem 0; font: 700 16px/1.35 var(--sb-titre); color: var(--sb-encre); text-decoration: none; }
.sb-alire a:hover { color: var(--sb-accent); }
.sb-alire a svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; }

/* Encadré "à retenir" automatique */
.sb-encadre-cle { margin: 40px 0; padding: 6px 28px 20px; background: var(--sb-surf); border-radius: var(--sb-rayon); }
.sb-encadre-cle h2 { border-top: 0 !important; }

/* ============================= FAQ ============================= */

.sb-faq { margin: 3rem auto 0; max-width: var(--sb-faq-largeur, 760px); }
.sb-faq-titre { text-align: center; margin-bottom: 1.2rem; }
.sb-faq-liste { display: grid; gap: .85rem; }
.sb-faq-carte { border: 1px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 16px 20px; background: var(--sb-fond); }
.sb-faq-carte summary { cursor: pointer; font: 700 16px/1.4 var(--sb-titre); color: var(--sb-encre); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; }
.sb-faq-carte summary::-webkit-details-marker { display: none; }
.sb-faq-carte summary::after { content: "+"; font-size: 22px; color: var(--sb-accent); flex: none; }
.sb-faq-carte[open] summary::after { content: "–"; }
.sb-faq-carte p { margin: 12px 0 0; color: var(--sb-doux); font: 400 15.5px/1.6 var(--sb-lecture); }

/* ============================= SIGNATURE / AUTEUR ============================= */

.sb-auteur-carte { display: grid; grid-template-columns: 110px 1fr; gap: 26px; align-items: start; margin: 46px 0 10px; padding: 28px; background: var(--sb-surf); border-top: 3px solid var(--sb-encre); border-radius: var(--sb-rayon); }
.sb-avatar { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; display: block; border: 4px solid var(--sb-fond); box-shadow: 0 8px 20px -10px rgba(0,0,0,.45); }
.sb-avatar-symbole { display: inline-grid; place-items: center; background: var(--sb-fond); }
.sb-avatar-symbole svg { width: 60%; height: 60%; }
.sb-auteur-nom { margin: 4px 0 2px; font: 400 28px/1.2 var(--sb-titre); }
.sb-auteur-nom a { text-decoration: none; color: var(--sb-encre); }
.sb-auteur-role { margin: 0 0 12px; font: 600 13px/1.4 var(--sb-titre); color: var(--sb-accent); }
.sb-auteur-bio { margin: 0 0 16px; font: 16px/1.7 var(--sb-lecture); color: var(--sb-encre); }
.sb-auteur-liens { display: flex; flex-wrap: wrap; gap: 10px; }
.sb-auteur-liens a { padding: 10px 16px; border-radius: 99px; border: 1px solid var(--sb-encre); font: 600 13px/1 var(--sb-titre); text-decoration: none; color: var(--sb-encre); }
.sb-auteur-liens a:first-child { background: var(--sb-encre); color: var(--sb-fond); }
@media (max-width: 760px) { .sb-auteur-carte { grid-template-columns: 72px 1fr; gap: 16px; padding: 20px 18px; } .sb-avatar { width: 72px; height: 72px; border-width: 3px; } .sb-auteur-nom { font-size: 23px; } .sb-auteur-bio { font-size: 15px; } }

/* ============================= PIED DE PAGE ============================= */

.sb-pied { background: var(--sb-encre); color: #fff; padding-top: 48px; }
.sb-pied-haut { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.14); }
.sb-pied-marque { display: flex; align-items: center; gap: 16px; }
.sb-pied-nom { font: 800 18px var(--sb-titre); margin: 0; }
.sb-pied-baseline { font: 400 14px/1.5 var(--sb-lecture); color: rgba(255,255,255,.65); margin: 4px 0 0; max-width: 42ch; }
.sb-pied-loupe { display: flex; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; overflow: hidden; }
.sb-pied-loupe input { background: transparent; border: 0; color: #fff; padding: 10px 16px; min-width: 200px; }
.sb-pied-loupe button { border: 0; background: rgba(255,255,255,.12); color: #fff; padding: 10px 18px; cursor: pointer; }
.sb-pied-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 32px; padding-block: 32px; }
.sb-pied-titre { font: 700 13px var(--sb-titre); text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.55); margin: 0 0 14px; }
.sb-pied-pastilles { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sb-pastille { display: inline-flex; align-items: center; gap: 6px; font: 700 12px var(--sb-titre); padding: 6px 12px; border-radius: 999px; text-decoration: none; }
.sb-pied-compte { opacity: .75; font-weight: 500; }
.sb-pied-rubriques { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sb-pied-rubrique { display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: inherit; }
.sb-pied-rubrique-tete { display: flex; align-items: center; gap: 8px; font: 700 14px var(--sb-titre); color: #fff; }
.sb-pied-rubrique-point { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.sb-pied-rubrique-nom { text-decoration: none; }
.sb-pied-rubrique:hover .sb-pied-rubrique-nom { text-decoration: underline; text-underline-offset: 3px; }
.sb-pied-rubrique-chapo { font: 400 13px/1.45 var(--sb-lecture); color: rgba(255,255,255,.62); }
.sb-pied-fil, .sb-pied-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sb-pied-fil a, .sb-pied-liste a { color: rgba(255,255,255,.85); text-decoration: none; font: 500 14px var(--sb-titre); }
.sb-pied-fil a:hover, .sb-pied-liste a:hover { color: #fff; text-decoration: underline; }
.sb-pied-fil time { display: block; font-size: 11px; color: rgba(255,255,255,.5); }
.sb-ours { padding-block: 20px; border-top: 1px solid rgba(255,255,255,.14); font: 500 13px var(--sb-titre); color: rgba(255,255,255,.6); }

/* Nav mobile basse — facultative */
.sb-nav-mobile { display: none; }
@media (max-width: 760px) {
	.sb-nav-mobile { display: flex; position: fixed; inset: auto 0 0; z-index: 40; background: var(--sb-fond); border-top: 1px solid var(--sb-filet); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
	.sb-nav-mobile a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; min-height: 48px; justify-content: center; color: var(--sb-doux); text-decoration: none; font: 600 11px var(--sb-titre); }
	.sb-nav-mobile a svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
	.sb-nav-mobile a.is-actif { color: var(--sb-accent); }
}

.sb-encadre-essentiel { background: var(--sb-surf2); border-left: 4px solid var(--sb-accent); border-radius: var(--sb-rayon); padding: 18px 22px 8px; margin: 28px 0; }
.sb-encadre-essentiel > .sb-kicker, .sb-encadre-chiffre > .sb-kicker { display: block; font: 700 11px var(--sb-titre); letter-spacing: .12em; text-transform: uppercase; color: var(--sb-accent-fort); margin: 0 0 8px; }
.sb-encadre-essentiel ul { list-style: none; margin: 0; padding: 0; background: none; border: 0; }
.sb-encadre-essentiel li { position: relative; padding: 8px 0 10px 28px; border-top: 1px solid color-mix(in srgb, var(--sb-encre) 10%, transparent); font: 400 16px/1.5 var(--sb-lecture); color: var(--sb-encre); }
.sb-encadre-essentiel li:first-child { border-top: 0; }
.sb-encadre-essentiel li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 12px; height: 7px; border-left: 3px solid var(--sb-accent); border-bottom: 3px solid var(--sb-accent); transform: rotate(-45deg); }
.sb-encadre-chiffre { display: grid; grid-template-columns: auto 1fr; gap: 6px 22px; align-items: center; background: var(--sb-accent); color: #fff; border-radius: var(--sb-rayon); padding: 20px 24px; margin: 32px 0; }
.sb-encadre-chiffre > .sb-kicker { grid-column: 1 / -1; color: rgba(255,255,255,.85); }
.sb-encadre-chiffre-valeur { font: 900 clamp(34px, 5vw, 52px)/1 var(--sb-titre); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.sb-encadre-chiffre-libelle { font: 400 16px/1.45 var(--sb-lecture); margin: 0; }
.sb-encadre-chiffre-source { grid-column: 1 / -1; font: 500 12px var(--sb-titre); color: rgba(255,255,255,.85); margin: 4px 0 0; }
@media (max-width: 600px) { .sb-encadre-chiffre { grid-template-columns: 1fr; } }
.sb-exergue { margin: 36px 0; padding: 6px 0 6px 26px; border-left: 4px solid var(--sb-accent-2); }
.sb-exergue p { font: 600 clamp(20px, 2.4vw, 26px)/1.35 var(--sb-lecture); color: var(--sb-encre); margin: 0; text-wrap: balance; }
.sb-exergue p::before { content: "« "; color: var(--sb-accent-2); }
.sb-exergue p::after { content: " »"; color: var(--sb-accent-2); }
.sb-exergue cite { display: block; margin-top: 10px; font: 600 13px var(--sb-titre); font-style: normal; color: var(--sb-doux); }
.sb-encadre-pratique { background: var(--sb-surf); border-radius: var(--sb-rayon); padding: 18px 22px 10px; margin: 30px 0; border-top: 3px solid var(--sb-accent); }
.sb-encadre-pratique > .sb-kicker { display: block; font: 700 11px var(--sb-titre); letter-spacing: .12em; text-transform: uppercase; color: var(--sb-accent-fort); margin: 0 0 8px; }
.sb-encadre-pratique ol { list-style: none; counter-reset: sbprat; margin: 0; padding: 0; }
.sb-encadre-pratique li { counter-increment: sbprat; position: relative; padding: 8px 0 10px 38px; font: 400 16px/1.5 var(--sb-lecture); border-top: 1px solid color-mix(in srgb, var(--sb-encre) 10%, transparent); }
.sb-encadre-pratique li:first-child { border-top: 0; }
.sb-encadre-pratique li::before { content: counter(sbprat); position: absolute; left: 0; top: 8px; width: 26px; height: 26px; border-radius: 50%; background: var(--sb-accent); color: #fff; font: 700 13px/26px var(--sb-titre); text-align: center; }
.sb-duo { margin: 32px 0; }
.sb-duo > .sb-kicker { display: block; font: 700 11px var(--sb-titre); letter-spacing: .12em; text-transform: uppercase; color: var(--sb-accent-fort); margin: 0 0 10px; }
.sb-duo-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sb-duo-col { background: var(--sb-surf); border-radius: var(--sb-rayon); padding: 16px 18px 8px; border-top: 4px solid var(--sb-accent); }
.sb-duo-col + .sb-duo-col { border-top-color: var(--sb-accent-2); }
.sb-duo-titre { font: 800 16px var(--sb-titre); margin: 0 0 6px; color: var(--sb-encre); }
.sb-duo-col ul { list-style: none; margin: 0; padding: 0; }
.sb-duo-col li { padding: 7px 0 9px 18px; position: relative; font: 400 15px/1.5 var(--sb-lecture); border-top: 1px solid color-mix(in srgb, var(--sb-encre) 10%, transparent); }
.sb-duo-col li:first-child { border-top: 0; }
.sb-duo-col li::before { content: ""; position: absolute; left: 0; top: 15px; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .55; }
@media (max-width: 600px) { .sb-duo-grille { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
	.sb-article-hero-grille { gap: 16px; padding-block: 20px 0; }
	.sb-article-titre { font-size: 26px; }
	.sb-article-chapo { font-size: 16px; margin-top: .6rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.sb-article-hero img, .sb-article-hero picture { max-height: 200px; width: 100%; object-fit: cover; }
}
.sb-texte a:not([class]) { color: var(--sb-accent-fort); font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--sb-accent) 55%, transparent); transition: text-decoration-color .15s, background-color .15s; }
.sb-texte a:not([class]):hover { text-decoration-color: var(--sb-accent); background: color-mix(in srgb, var(--sb-surf2) 70%, transparent); }

/*
 * Le Bon Sens — app.css (source, assemblée dans assets/css/tout.css par assembler.sh).
 * Préfixe lbs- ; les variables --lbs-* et --sb-* viennent de style.css (:root).
 * Conteneur : .sb-cadre (bloc figé, 1280px) — on redéfinit sa largeur ici à 1200/1320.
 */

/*
 * ⚠️ Le Bon Sens est en mode clair UNIQUEMENT (§0 DA). blocs-figes/blocs-valides.css
 * (figé, non modifiable) porte sa propre règle @media(prefers-color-scheme:dark) qui
 * bascule --sb-* en sombre — et comme assembler.sh le concatène APRÈS style.css dans
 * tout.css, cette règle figée gagnerait la cascade sur la neutralisation posée dans
 * style.css (même sélecteur, dernier bloc gagne). app.css est la DERNIÈRE source
 * assemblée : on reneutralise ICI, pour de vrai, y compris pour Mathias qui travaille
 * en sombre (P-351) — jamais un site qui bascule sombre alors que la DA l'interdit.
 */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--sb-fond: #F5F7F6; --sb-encre: #17262B; --sb-doux: #4F5F66; --sb-filet: #D3DEDF;
		--sb-surf: #E2EDED; --sb-surf2: #F7EBC9;
		--lbs-lin: #F5F7F6; --lbs-blanc: #FFFFFF; --lbs-encre: #17262B; --lbs-doux: #4F5F66; --lbs-filet: #D3DEDF;
	}
	body { background: var(--lbs-lin); color: var(--lbs-encre); }
}

.sb-cadre { width: min(var(--lbs-conteneur), 100% - 120px); margin-inline: auto; }
@media (min-width: 1700px) { .sb-cadre { width: min(1320px, 100% - 200px); } }
@media (max-width: 760px) { .sb-cadre { width: min(100%, 100% - 32px); } }

/* ===================================================================
 * LOGO / LOGOTYPE / PASTILLES
 * =================================================================== */
.lbs-mono { width: 34px; height: 40px; color: var(--lbs-canard); }
.lbs-logotype { display: inline-flex; align-items: center; gap: 10px; }
.lbs-logotype-symbole { display: inline-flex; }
.lbs-logotype-mots { display: inline-flex; align-items: baseline; gap: 4px; font-family: var(--lbs-titre); }
.lbs-logotype-le { font-style: italic; font-weight: 400; font-size: .62em; color: var(--lbs-canard); }
.lbs-logotype-nom { font-weight: 700; font-size: 1.15em; letter-spacing: -.01em; color: var(--lbs-encre); }
.lbs-devise { display: block; text-align: center; font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); margin-top: 2px; }

.lbs-pastille { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--lbs-rub, var(--lbs-canard)); flex: 0 0 auto; }
.lbs-pastille--inline { margin-right: 6px; vertical-align: middle; }
.lbs-rub-nom { font: 700 13px var(--lbs-lecture); letter-spacing: .02em; color: var(--lbs-rub, var(--lbs-canard)); }

.lbs-pastille-filtre { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--lbs-filet); font: 700 13px var(--lbs-lecture); color: var(--lbs-encre); text-decoration: none; background: var(--lbs-blanc); }
.lbs-pastille-filtre:hover { border-color: var(--lbs-rub); }
.lbs-pastilles-filtres { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 28px; }

/* ===================================================================
 * REPLI PHOTO — jamais une case vide (§6 DA)
 * =================================================================== */
.lbs-repli { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 160px; background: var(--lbs-repli, var(--lbs-canard)); color: #fff; border-radius: inherit; }
.lbs-repli-feuille { width: 42%; height: 42%; opacity: .9; }

/* ===================================================================
 * FEUILLE D'ÉPHÉMÉRIDE — le motif signature (§1/§9 DA)
 * =================================================================== */
.lbs-feuille { position: relative; display: flex; flex-direction: column; align-items: center; background: var(--lbs-blanc); border-radius: var(--lbs-r-feuille); box-shadow: var(--lbs-ombre-feuille); padding: 10px 10px 8px; text-align: center; }
.lbs-feuille-reliure { position: absolute; top: 0; left: 0; right: 0; height: 18%; min-height: 14px; background: var(--lbs-moutarde); border-radius: var(--lbs-r-feuille) var(--lbs-r-feuille) 0 0; display: flex; align-items: center; justify-content: space-around; padding: 0 14%; }
.lbs-feuille-reliure span { width: 7px; height: 7px; border-radius: 50%; background: var(--lbs-lin); display: block; }
.lbs-feuille-jour { font: 700 1em var(--lbs-lecture); font-variant-numeric: lining-nums tabular-nums; color: var(--lbs-encre); line-height: 1; margin-top: 26%; }
.lbs-feuille--dimanche .lbs-feuille-jour { color: var(--lbs-dimanche); }
.lbs-feuille-mois { font: 400 italic .22em var(--lbs-titre); color: var(--lbs-doux); text-transform: capitalize; }
.lbs-feuille-jsem { font: 700 .16em var(--lbs-lecture); color: var(--lbs-doux); text-transform: capitalize; }
.lbs-feuille-languette { margin-top: 6px; font: 700 .15em var(--lbs-lecture); color: var(--lbs-canard); border-top: 1px solid var(--lbs-filet); padding-top: 6px; width: 100%; }
.lbs-feuille::after { content: ""; position: absolute; right: 0; bottom: 0; width: 16px; height: 16px; background: radial-gradient(circle at 100% 100%, rgba(23,38,43,.22), transparent 70%); border-bottom-right-radius: var(--lbs-r-feuille); }

.lbs-feuille--grande { width: 150px; height: 178px; font-size: 1px; transform: rotate(-4deg); }
.lbs-feuille--grande .lbs-feuille-jour { font-size: 84px; }
.lbs-feuille--moyenne { width: 168px; height: 200px; font-size: 1px; transform: rotate(-3deg); }
.lbs-feuille--moyenne .lbs-feuille-jour { font-size: 84px; }
.lbs-feuille--petite { width: 76px; height: 90px; font-size: 1px; transform: rotate(-3deg); }
.lbs-feuille--petite .lbs-feuille-jour { font-size: 38px; }
.lbs-feuille--petite .lbs-feuille-languette { display: none; }

/* ===================================================================
 * EN-TÊTE DU SITE (§7.1 DA)
 * =================================================================== */
.lbs-entete { position: relative; background: var(--lbs-lin); z-index: 50; }
.lbs-entete-fine { height: 36px; border-bottom: 1px solid var(--lbs-filet); }
.lbs-entete-fine-rang { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.lbs-entete-date { font: 700 14px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-entete-fine-droite { display: flex; align-items: center; gap: 18px; }
.lbs-entete-fine-droite a { font: 700 13px var(--lbs-lecture); color: var(--lbs-canard); text-decoration: none; }
.lbs-loupe-bouton { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; color: var(--lbs-canard); }
.lbs-loupe-bouton svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }

.lbs-entete-logo { height: 80px; }
.lbs-entete-logo-rang { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.lbs-entete-logo-lien { text-decoration: none; display: flex; flex-direction: column; align-items: center; }
.lbs-entete-logo .lbs-mono--logo { width: 34px; height: 40px; }
.lbs-entete-logo .lbs-logotype-nom { font-size: 26px; }

.lbs-entete-nav { height: 48px; border-top: 1px solid var(--lbs-filet); }
.lbs-entete-nav-rang { height: 100%; }
.lbs-nav-liste { list-style: none; display: flex; align-items: center; justify-content: center; gap: 28px; margin: 0; padding: 0; height: 100%; }
.lbs-nav-lien { display: inline-flex; align-items: center; gap: 7px; height: 100%; font: 700 15px var(--lbs-lecture); color: var(--lbs-encre); text-decoration: none; border-bottom: 3px solid transparent; }
.lbs-nav-lien.is-actif, .lbs-nav-lien:hover { border-bottom-color: var(--lbs-rub); }

.lbs-entete-mobile { display: none; }
@media (max-width: 760px) {
	.lbs-entete-fine, .lbs-entete-logo, .lbs-entete-nav { display: none; }
	.lbs-entete-mobile { display: block; }
	.lbs-entete-mobile-barre { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; }
	.lbs-entete-mobile-bouton { background: none; border: 0; width: 32px; height: 32px; color: var(--lbs-canard); }
	.lbs-entete-mobile-bouton svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
	.lbs-entete-mobile-logo .lbs-mono { width: 24px; height: 28px; }
	.lbs-ruban-rubriques { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; height: 44px; align-items: center; padding: 0 16px; border-top: 1px solid var(--lbs-filet); scrollbar-width: none; }
	.lbs-ruban-rubriques::-webkit-scrollbar { display: none; }
	.lbs-ruban-pastille { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; font: 700 13px var(--lbs-lecture); color: var(--lbs-encre); text-decoration: none; white-space: nowrap; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--lbs-filet); }
}
.lbs-entete[data-sb-entete-collant].is-pose { position: sticky; top: 0; box-shadow: var(--lbs-ombre-1); }
.lbs-entete[data-sb-entete-collant].is-pose .lbs-entete-fine,
.lbs-entete[data-sb-entete-collant].is-pose .lbs-entete-logo { max-height: 0; opacity: 0; overflow: hidden; }
@media (min-width: 761px) {
	.lbs-entete[data-sb-entete-collant] { transition: none; }
	.lbs-entete[data-sb-entete-collant].is-pose { background: var(--lbs-blanc); }
	.lbs-entete[data-sb-entete-collant].is-pose .lbs-entete-nav { height: 60px; border-top: 0; }
	.lbs-entete[data-sb-entete-collant].is-pose .lbs-entete-nav::before { content: ""; }
}

/* ===================================================================
 * SECTIONS GÉNÉRIQUES — fonds (6 en alternance, §7.2 DA)
 * =================================================================== */
.lbs-section { padding-block: 56px; }
.lbs-section--blanc { background: var(--lbs-blanc); }
.lbs-section--lin { background: var(--lbs-lin); }
.lbs-section--brume { background: var(--lbs-brume); }
.lbs-section--beurre { background: var(--lbs-beurre); }
.lbs-section--canard-profond { background: var(--lbs-canard-profond); color: var(--lbs-lin); }
.lbs-section-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.lbs-section-tete h2 { display: flex; align-items: center; gap: 10px; font: 700 30px var(--lbs-titre); }
.lbs-section-tete--filet { border-left: 4px solid var(--lbs-rub); padding-left: 16px; }
.lbs-section-tete--filet h2 { font-size: 26px; }
.lbs-titre-clair { color: var(--lbs-lin); font: 700 30px var(--lbs-titre); margin-bottom: 24px; }
.lbs-lien-plus { display: inline-block; margin-top: 20px; font: 700 14px var(--lbs-lecture); color: var(--lbs-canard); text-decoration: none; border-bottom: 2px solid var(--lbs-moutarde); }

/* Cartes génériques */
.lbs-carte { background: var(--lbs-blanc); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); overflow: hidden; transition: box-shadow .2s; }
.lbs-carte a { display: block; text-decoration: none; color: inherit; }
.lbs-carte-photo { position: relative; aspect-ratio: 16/10; overflow: hidden; border-radius: var(--lbs-r-m) var(--lbs-r-m) 0 0; }
.lbs-carte-photo img, .lbs-carte-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.lbs-carte:hover .lbs-carte-photo img { transform: scale(1.03); }
.lbs-carte:hover { box-shadow: var(--lbs-ombre-2); }
.lbs-carte h3 { font: 700 18px/1.3 var(--lbs-titre); padding: 14px 16px 4px; }
.lbs-carte-meta { padding: 0 16px 16px; font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-etiquette-statut { position: absolute; top: 12px; left: 12px; background: var(--lbs-canard); color: #fff; font: 700 12px var(--lbs-lecture); padding: 5px 10px; border-radius: 999px; }

.lbs-grille-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.lbs-grille-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lbs-grille-rubrique { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 28px; }
@media (max-width: 1024px) { .lbs-grille-4, .lbs-grille-3, .lbs-grille-rubrique { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .lbs-grille-4, .lbs-grille-3, .lbs-grille-rubrique { grid-template-columns: 1fr; } }

.lbs-liste-colonne { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lbs-liste-colonne li a { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.lbs-liste-colonne-photo { width: 120px; height: 90px; border-radius: var(--lbs-r-s); object-fit: cover; flex: 0 0 auto; }
.lbs-liste-colonne-titre { font: 700 17px/1.35 var(--lbs-titre); }

.lbs-bouton { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; font: 700 14px var(--lbs-lecture); text-decoration: none; border: 0; }
.lbs-bouton--contour { background: transparent; border: 1px solid var(--lbs-canard); color: var(--lbs-canard); }
.lbs-bouton--moutarde { background: var(--lbs-moutarde); color: var(--lbs-encre); }
.lbs-bouton--mini { padding: 6px 14px; font-size: 13px; background: var(--lbs-brume); color: var(--lbs-encre); }
.lbs-bouton-ecouter svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.lbs-charger-plus { text-align: center; margin: 36px 0; }
.lbs-secours { margin-top: 24px; border-top: 1px solid var(--lbs-filet); padding-top: 16px; }
.lbs-secours-titre { font: 700 13px var(--lbs-lecture); color: var(--lbs-doux); text-transform: uppercase; letter-spacing: .06em; }
.lbs-secours-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 6px 20px; }
.lbs-secours-liste li { display: flex; gap: 10px; font: 400 14px var(--lbs-lecture); padding: 6px 0; border-top: 1px solid var(--lbs-filet); }
.lbs-secours-liste time { color: var(--lbs-doux); flex: 0 0 70px; }
@media (max-width: 760px) { .lbs-secours-liste { grid-template-columns: 1fr; } }

/* ===================================================================
 * S1 — LA UNE (§7.2 DA) — 680px à 1440
 * =================================================================== */
.lbs-une { position: relative; background: var(--lbs-lin); }
.lbs-une::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 300px; background: var(--lbs-canard); }
.lbs-une-grille { position: relative; display: grid; grid-template-columns: 7fr 5fr; gap: 0; align-items: start; padding-top: 40px; }
.lbs-une-photo { position: relative; grid-column: 1; margin: 0; border-radius: var(--lbs-r-l); overflow: hidden; box-shadow: var(--lbs-ombre-2); aspect-ratio: 690/440; }
.lbs-une-photo-img, .lbs-une-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-une-feuille-pose { position: absolute; top: -28px; left: -28px; animation: lbs-pose-feuille .42s cubic-bezier(.16,1,.3,1) both; }
@keyframes lbs-pose-feuille { from { transform: translateY(-16px) rotate(-9deg); opacity: 0; } to { transform: translateY(0) rotate(-4deg); opacity: 1; } }
.lbs-une-carte { position: relative; grid-column: 2; margin-left: -48px; margin-top: 32px; background: var(--lbs-blanc); border-radius: var(--lbs-r-l); box-shadow: var(--lbs-ombre-2); padding: 28px 30px; z-index: 2; }
.lbs-une-titre { font: 700 56px/1.06 var(--lbs-titre); letter-spacing: -.005em; margin: 10px 0 14px; max-height: calc(56px*1.06*4); overflow: hidden; }
.lbs-une-titre a { text-decoration: none; color: var(--lbs-encre); }
.lbs-une-chapo { font: 400 italic 20px/1.45 var(--lbs-titre); color: var(--lbs-doux); margin: 0 0 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lbs-une-auteur { display: flex; align-items: center; gap: 10px; font: 700 14px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-une-auteur img, .lbs-une-auteur .sb-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.lbs-une-filet { border: 0; border-top: 1px solid var(--lbs-filet); margin: 18px 0; }
.lbs-une-secondaires { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lbs-une-secondaires a { display: flex; gap: 12px; text-decoration: none; color: inherit; align-items: flex-start; }
.lbs-une-sec-photo { width: 104px; height: 78px; border-radius: var(--lbs-r-s); object-fit: cover; flex: 0 0 auto; }
.lbs-une-sec-txt { display: flex; flex-direction: column; gap: 4px; }
.lbs-une-sec-titre { font: 700 18px/1.25 var(--lbs-titre); }
.lbs-une-minute { margin-top: 36px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; min-height: 96px; }
.lbs-une-minute-tete h2 { font: 700 22px var(--lbs-titre); margin: 0; }
.lbs-une-minute-tete p { margin: 2px 0 0; font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-une-feuillets { display: flex; gap: 12px; flex-wrap: wrap; flex: 1; }
.lbs-feuillet { flex: 1 1 220px; max-width: 250px; min-height: 72px; background: var(--lbs-blanc); border-radius: 0 var(--lbs-r-feuille) var(--lbs-r-feuille) var(--lbs-r-feuille); box-shadow: var(--lbs-ombre-1); padding: 10px 14px; display: flex; flex-direction: column; gap: 4px; text-decoration: none; position: relative; animation: lbs-glisse-feuillet .3s ease both; }
.lbs-feuillet::before { content: ""; position: absolute; left: -2px; top: 10%; bottom: 10%; width: 4px; background: repeating-linear-gradient(to bottom, var(--lbs-lin) 0 6px, transparent 6px 12px); }
@keyframes lbs-glisse-feuillet { from { transform: translateX(-12px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
.lbs-feuillet-heure { font: 700 15px var(--lbs-lecture); color: var(--lbs-canard); font-variant-numeric: tabular-nums; }
.lbs-feuillet-titre { font: 400 15px/1.3 var(--lbs-lecture); color: var(--lbs-encre); }

@media (max-width: 1024px) {
	.lbs-une-grille { grid-template-columns: 1fr; }
	.lbs-une-carte { grid-column: 1; margin-left: 0; margin-top: -32px; }
}
@media (max-width: 760px) {
	.lbs-une::before { height: 200px; }
	.lbs-une-grille { padding-top: 24px; }
	.lbs-une-photo { aspect-ratio: 358/268; }
	.lbs-une-feuille-pose { top: -16px; left: -10px; }
	.lbs-une-feuille--grande { width: 76px; height: 90px; }
	.lbs-une-feuille--grande .lbs-feuille-jour { font-size: 38px; }
	.lbs-une-carte { margin-top: -32px; padding: 20px; }
	.lbs-une-titre { font-size: 30px; }
	.lbs-une-sec-photo { width: 96px; height: 72px; }
	.lbs-une-minute { flex-direction: column; align-items: stretch; }
	.lbs-une-feuillets { flex-direction: column; }
	.lbs-feuillet { max-width: none; }
}

/* ===================================================================
 * S2 — ACTUALITÉ
 * =================================================================== */
.lbs-section--blanc .lbs-carte-photo { aspect-ratio: 16/10; }

/* ===================================================================
 * S3 — LES PLUS LUS
 * =================================================================== */
.lbs-liste-classement { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.lbs-liste-classement a { display: flex; align-items: center; gap: 18px; text-decoration: none; color: var(--lbs-lin); }
.lbs-classement-numero { font: 700 72px/1 var(--lbs-lecture); color: var(--lbs-moutarde); font-variant-numeric: tabular-nums; flex: 0 0 auto; margin-right: -24px; z-index: 1; }
.lbs-classement-photo { width: 96px; height: 72px; border-radius: var(--lbs-r-m); object-fit: cover; flex: 0 0 auto; }
.lbs-classement-titre { font: 700 18px/1.3 var(--lbs-titre); }
@media (max-width: 760px) { .lbs-classement-numero { font-size: 44px; margin-right: -12px; } .lbs-classement-photo { width: 96px; height: 72px; } }

/* ===================================================================
 * S4/S6/S7 — RUBRIQUES DE L'ACCUEIL
 * =================================================================== */
.lbs-grille-principal-colonne { display: grid; grid-template-columns: 6fr 5fr; gap: 32px; align-items: start; }
.lbs-carte-principale { position: relative; border-radius: var(--lbs-r-l); overflow: hidden; }
.lbs-carte-principale-photo { aspect-ratio: 16/10; }
.lbs-carte-principale-photo img, .lbs-carte-principale-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-carte-principale-bandeau { display: block; background: var(--lbs-blanc); margin: -40px 24px 0; position: relative; border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); padding: 16px 20px; }
.lbs-carte-principale-titre { display: block; font: 700 22px/1.25 var(--lbs-titre); color: var(--lbs-encre); }
.lbs-carte-principale-chapo { display: block; margin-top: 6px; font: 400 15px/1.5 var(--lbs-lecture); color: var(--lbs-doux); }
@media (max-width: 900px) { .lbs-grille-principal-colonne { grid-template-columns: 1fr; } }

.lbs-demi-colonnes { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.lbs-demi-colonne-titre { border-left: 4px solid var(--lbs-rub); padding-left: 14px; font: 700 24px var(--lbs-titre); margin-bottom: 18px; }
@media (max-width: 900px) { .lbs-demi-colonnes { grid-template-columns: 1fr; gap: 36px; } }

.lbs-duo-portraits { display: flex; gap: 20px; }
.lbs-carte-portrait { flex: 1; border-radius: var(--lbs-r-m); overflow: hidden; box-shadow: var(--lbs-ombre-1); background: var(--lbs-blanc); aspect-ratio: 3/4; position: relative; }
.lbs-carte-portrait--decalee { margin-top: 40px; }
.lbs-carte-portrait a { display: block; height: 100%; text-decoration: none; }
.lbs-carte-portrait img, .lbs-carte-portrait .lbs-repli { width: 100%; height: 75%; object-fit: cover; }
.lbs-carte-portrait h3 { font: 700 18px/1.25 var(--lbs-titre); padding: 10px 14px; color: var(--lbs-encre); }
@media (max-width: 600px) { .lbs-duo-portraits { flex-direction: column; } .lbs-carte-portrait--decalee { margin-top: 0; } .lbs-carte-portrait { aspect-ratio: auto; } }

/* ===================================================================
 * S5 — L'OUTIL : LE MOIS DU BON SENS
 * =================================================================== */
.lbs-outil-mois { position: relative; background: var(--lbs-blanc); border-radius: var(--lbs-r-l); box-shadow: var(--lbs-ombre-2); overflow: hidden; }
.lbs-outil-mois-reliure { height: 28px; background: var(--lbs-moutarde); display: flex; align-items: center; justify-content: space-around; padding: 0 6%; }
.lbs-outil-mois-reliure span { width: 9px; height: 9px; border-radius: 50%; background: var(--lbs-lin); }
.lbs-outil-mois-corps { display: grid; grid-template-columns: 1fr 1.6fr; gap: 24px; padding: 28px 32px 32px; }
.lbs-outil-mois-gauche h2 { font: 700 italic 56px var(--lbs-titre); margin-bottom: 8px; }
.lbs-outil-mois-gauche p { font: 400 16px/1.5 var(--lbs-lecture); color: var(--lbs-doux); max-width: 22ch; }
.lbs-outil-mois-feuillets { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lbs-outil-mois-feuillets li, .lbs-outil-mois-feuillets li a { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.lbs-outil-mois-date { font: 700 40px var(--lbs-lecture); color: var(--lbs-canard); font-variant-numeric: tabular-nums; flex: 0 0 auto; }
.lbs-outil-mois-geste { flex: 1; font: 400 15px/1.4 var(--lbs-lecture); }
.lbs-outil-mois-vignette { width: 88px; height: 66px; border-radius: var(--lbs-r-s); object-fit: cover; flex: 0 0 auto; }
@media (max-width: 900px) { .lbs-outil-mois-corps { grid-template-columns: 1fr; } .lbs-outil-mois-gauche h2 { font-size: 38px; } }

/* ===================================================================
 * S8 — SANTÉ
 * =================================================================== */
.lbs-encadre-ymyl { background: var(--lbs-brume); border-left: 4px solid var(--lbs-canard); padding: 12px 18px; border-radius: var(--lbs-r-s); font: 400 14px/1.5 var(--lbs-lecture); color: var(--lbs-encre); margin-bottom: 24px; }
.lbs-grille-large-plus-trois { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
.lbs-carte-large { background: var(--lbs-blanc); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); display: flex; overflow: hidden; }
.lbs-carte-large a { display: flex; width: 100%; text-decoration: none; color: inherit; }
.lbs-carte-large figure { flex: 0 0 45%; aspect-ratio: 8/5; margin: 0; }
.lbs-carte-large figure img, .lbs-carte-large figure .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-carte-large-texte { padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.lbs-carte-large-texte h3 { font: 700 20px/1.3 var(--lbs-titre); }
.lbs-carte-large-texte time { font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-liste-3 { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lbs-liste-3 a { display: flex; gap: 12px; text-decoration: none; color: inherit; }
.lbs-liste-3 img, .lbs-liste-3 .lbs-repli { width: 110px; height: 80px; border-radius: var(--lbs-r-s); object-fit: cover; flex: 0 0 auto; }
.lbs-liste-3 span { display: flex; flex-direction: column; gap: 2px; }
.lbs-liste-3 time { font: 400 12px var(--lbs-lecture); color: var(--lbs-doux); }
@media (max-width: 900px) { .lbs-grille-large-plus-trois { grid-template-columns: 1fr; } .lbs-carte-large { flex-direction: column; } .lbs-carte-large figure { aspect-ratio: 16/10; } }

/* ===================================================================
 * S9 — CTA CONTACT (carte à cheval)
 * =================================================================== */
.lbs-section--cta-jonction { position: relative; padding-top: 0; padding-bottom: 60px; background: var(--lbs-lin); }
.lbs-cta-carte { position: relative; background: var(--lbs-canard); color: #fff; border-radius: var(--lbs-r-l); box-shadow: var(--lbs-ombre-2); display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: center; padding: 36px 40px; margin-top: -60px; overflow: hidden; }
.lbs-cta-texte h2 { font: 700 30px/1.2 var(--lbs-titre); color: var(--lbs-lin); margin-bottom: 10px; }
.lbs-cta-texte p { font: 400 16px/1.5 var(--lbs-lecture); color: rgba(245,247,246,.85); margin-bottom: 18px; }
.lbs-cta-photo { position: relative; margin: 0; aspect-ratio: 4/3; border-radius: var(--lbs-r-m); overflow: hidden; }
.lbs-cta-photo img, .lbs-cta-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-cta-feuille-coin { position: absolute; top: -14px; right: -14px; }
@media (max-width: 900px) { .lbs-cta-carte { grid-template-columns: 1fr; padding: 28px; } }

/* ===================================================================
 * ARTICLE — en-tête propre (ENTETE, non figée, §7.3 DA)
 * =================================================================== */
.lbs-entete-article { background: var(--lbs-brume); padding-block: 48px; }
.lbs-entete-article-grille { display: grid; grid-template-columns: 170px minmax(0,1fr) 420px; gap: 32px; align-items: start; }
.lbs-entete-article-feuille { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.lbs-entete-article-feuille .lbs-feuille { transform: rotate(-3deg); }
.lbs-entete-article-relu { font: 400 14px var(--lbs-lecture); color: var(--lbs-doux); text-align: center; margin: 0; }
.lbs-article-ariane { font: 700 13px var(--lbs-lecture); color: var(--lbs-doux); margin-bottom: 10px; }
.lbs-article-ariane a { color: var(--lbs-canard); text-decoration: none; }
.lbs-article-titre { font: 700 42px/1.12 var(--lbs-titre); color: var(--lbs-encre); margin: 8px 0 14px; max-height: calc(42px*1.12*4); overflow: hidden; }
.lbs-article-chapo { font: 400 italic 20px/1.45 var(--lbs-titre); color: var(--lbs-doux); margin: 0 0 20px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lbs-article-auteur-ligne { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.lbs-entete-article-photo { position: relative; margin: 0; align-self: start; grid-row: span 2; aspect-ratio: 4/3; border-radius: var(--lbs-r-l); overflow: hidden; box-shadow: var(--lbs-ombre-2); }
.lbs-entete-article-photo::after { content: ""; position: absolute; right: 0; bottom: 0; width: 28px; height: 28px; background: radial-gradient(circle at 100% 100%, rgba(23,38,43,.3), transparent 70%); }
.lbs-entete-article-photo img { width: 100%; height: 100%; object-fit: cover; }
.lbs-article-legende { position: absolute; left: 14px; bottom: 14px; background: #fff; color: var(--lbs-doux); font: 400 12px var(--lbs-lecture); padding: 5px 10px; border-radius: var(--lbs-r-feuille); max-width: 80%; }
@media (max-width: 1024px) { .lbs-entete-article-grille { grid-template-columns: 1fr; } .lbs-entete-article-photo { margin-top: -40px; margin-left: 170px; } }
@media (max-width: 760px) {
	.lbs-entete-article { padding-block: 24px; }
	.lbs-entete-article-grille { grid-template-columns: 1fr; gap: 16px; }
	.lbs-entete-article-feuille { flex-direction: row; justify-content: flex-start; }
	.lbs-entete-article-feuille .lbs-feuille--moyenne { width: 64px; height: 76px; }
	.lbs-entete-article-feuille .lbs-feuille--moyenne .lbs-feuille-jour { font-size: 32px; }
	.lbs-article-titre { font-size: 30px; }
	.lbs-article-chapo { font-size: 18px; }
	.lbs-entete-article-photo { margin: -20px 0 0; aspect-ratio: 358/268; }
}

.lbs-article-suite { padding: 56px 0; background: var(--lbs-blanc); }
.lbs-article-suite h2 { font: 700 24px var(--lbs-titre); margin-bottom: 20px; }
.lbs-article-utile { display: flex; align-items: center; gap: 10px; margin-top: 32px; font: 700 14px var(--lbs-lecture); color: var(--lbs-doux); }

/* ===================================================================
 * RUBRIQUE (§7.4 DA)
 * =================================================================== */
.lbs-rub-bandeau { background: color-mix(in srgb, var(--lbs-rub) 12%, var(--lbs-lin)); padding-top: 48px; padding-bottom: 96px; }
.lbs-rub-bandeau-grille { display: grid; grid-template-columns: 7fr 5fr; gap: 32px; align-items: start; }
.lbs-rub-bandeau-texte h1 { font: 700 84px var(--lbs-titre); color: var(--lbs-rub); line-height: 1; margin: 10px 0 14px; }
.lbs-rub-promesse { font: 400 20px/1.5 var(--lbs-lecture); color: var(--lbs-encre); max-width: 36ch; }
.lbs-rub-compteurs { font: 700 14px var(--lbs-lecture); color: var(--lbs-doux); margin-top: 10px; }
.lbs-rub-pile { position: relative; height: 320px; }
.lbs-rub-feuille { position: absolute; inset: 0; border-radius: var(--lbs-r-feuille) var(--lbs-r-feuille) var(--lbs-r-m) var(--lbs-r-m); background: var(--lbs-rub); box-shadow: var(--lbs-ombre-1); }
.lbs-rub-feuille--2 { transform: translateY(-12px) rotate(2deg); opacity: .7; }
.lbs-rub-feuille--3 { transform: translateY(-24px) rotate(-1.5deg); opacity: .5; }
.lbs-rub-feuille--1 { display: block; text-decoration: none; overflow: hidden; box-shadow: var(--lbs-ombre-2); }
.lbs-rub-feuille--1 img, .lbs-rub-feuille--1 .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-rub-feuille-etiquette { position: absolute; left: 14px; bottom: 44px; background: #fff; color: var(--lbs-encre); font: 700 18px var(--lbs-titre); padding: 8px 14px; border-radius: var(--lbs-r-feuille); max-width: 80%; }
.lbs-rub-feuille-date { position: absolute; right: 14px; bottom: 14px; background: var(--lbs-moutarde); color: var(--lbs-encre); font: 700 13px var(--lbs-lecture); padding: 5px 10px; border-radius: var(--lbs-r-feuille); }
@media (max-width: 900px) { .lbs-rub-bandeau-grille { grid-template-columns: 1fr; } .lbs-rub-bandeau-texte h1 { font-size: 44px; } .lbs-rub-pile { height: 220px; margin-top: 16px; } }

.lbs-rub-corps { margin-top: -64px; padding-bottom: 56px; }
.lbs-rub-une { display: grid; grid-template-columns: 7fr 5fr; gap: 32px; margin-bottom: 40px; }
@media (max-width: 900px) { .lbs-rub-une { grid-template-columns: 1fr; } }
.lbs-carte--fond-blanc { background: var(--lbs-blanc); }

/* ===================================================================
 * AUTEUR (§7.5 DA)
 * =================================================================== */
.lbs-auteur-bandeau { background: var(--lbs-brume); padding-block: 56px; }
.lbs-auteur-bandeau-grille { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.lbs-auteur-portrait { position: relative; aspect-ratio: 280/340; border-radius: 0 var(--lbs-r-feuille) var(--lbs-r-m) var(--lbs-r-m); overflow: hidden; box-shadow: var(--lbs-ombre-feuille); transform: rotate(-2deg); margin: 0; }
.lbs-auteur-portrait img, .lbs-auteur-portrait .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-auteur-portrait-reliure { position: absolute; top: 0; left: 0; right: 0; height: 10%; background: var(--lbs-moutarde); }
.lbs-auteur-texte h1 { font: 700 56px var(--lbs-titre); margin-bottom: 8px; }
.lbs-auteur-role { font: 700 15px var(--lbs-lecture); color: var(--lbs-canard); margin-bottom: 10px; }
.lbs-auteur-bio { font: 400 17px/1.6 var(--lbs-lecture); color: var(--lbs-encre); max-width: 60ch; margin-bottom: 10px; }
.lbs-auteur-compteurs { font: 700 14px var(--lbs-lecture); color: var(--lbs-doux); }
@media (max-width: 760px) { .lbs-auteur-bandeau-grille { grid-template-columns: 1fr; justify-items: center; } .lbs-auteur-portrait { max-width: 220px; } .lbs-auteur-texte { text-align: center; } .lbs-auteur-texte h1 { font-size: 36px; } }

/* ===================================================================
 * À PROPOS (§7.6 DA)
 * =================================================================== */
.lbs-apropos-s1 { background: var(--lbs-canard); color: var(--lbs-lin); padding-block: 56px 90px; }
.lbs-apropos-s1-grille { display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: center; }
.lbs-apropos-s1-texte h1 { font: 700 56px/1.1 var(--lbs-titre); color: var(--lbs-lin); margin-bottom: 14px; }
.lbs-apropos-s1-texte p { font: 400 18px/1.55 var(--lbs-lecture); color: rgba(245,247,246,.9); max-width: 46ch; }
.lbs-apropos-s1-photo { position: relative; margin: 0; aspect-ratio: 4/3; border-radius: var(--lbs-r-l); overflow: hidden; box-shadow: var(--lbs-ombre-2); margin-bottom: -60px; }
.lbs-apropos-s1-photo img, .lbs-apropos-s1-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-apropos-s1-feuille { position: absolute; top: -20px; left: -20px; }
@media (max-width: 900px) { .lbs-apropos-s1-grille { grid-template-columns: 1fr; } .lbs-apropos-s1-photo { margin-bottom: 0; } }

.lbs-methode-feuillets { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 24px; }
.lbs-methode-feuillet { background: var(--lbs-blanc); border-radius: var(--lbs-r-feuille) var(--lbs-r-m) var(--lbs-r-m) var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); padding: 18px; }
.lbs-methode-feuillet figure { margin: 0 0 14px; aspect-ratio: 4/3; border-radius: var(--lbs-r-s); overflow: hidden; }
.lbs-methode-feuillet figure img, .lbs-methode-feuillet figure .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-methode-feuillet h3 { font: 700 18px var(--lbs-titre); margin-bottom: 6px; }
.lbs-methode-feuillet p { font: 400 15px/1.5 var(--lbs-lecture); color: var(--lbs-doux); margin: 0; }
@media (max-width: 900px) { .lbs-methode-feuillets { grid-template-columns: 1fr; } }

.lbs-equipe-grille { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 24px; }
.lbs-equipe-carte { display: block; text-decoration: none; color: inherit; background: var(--lbs-blanc); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); overflow: hidden; text-align: center; padding-bottom: 16px; }
.lbs-equipe-carte figure { margin: 0 0 14px; aspect-ratio: 3/4; }
.lbs-equipe-carte figure img, .lbs-equipe-carte figure .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-equipe-carte h3 { font: 700 17px var(--lbs-titre); margin-bottom: 2px; }
.lbs-equipe-carte p { font: 400 13px var(--lbs-lecture); color: var(--lbs-canard); margin: 0 0 6px; }
.lbs-equipe-compte { font: 700 12px var(--lbs-lecture); color: var(--lbs-doux); }
@media (max-width: 900px) { .lbs-equipe-grille { grid-template-columns: repeat(2,1fr); } }

.lbs-apropos-corrections { text-align: left; max-width: 68ch; margin-inline: auto; }
.lbs-apropos-corrections h2 { font: 700 26px var(--lbs-titre); margin-bottom: 10px; }
.lbs-apropos-corrections p { font: 400 16px/1.5 var(--lbs-lecture); color: var(--lbs-encre); }

/* ===================================================================
 * CONTACT (§7.7 DA)
 * =================================================================== */
.lbs-contact-bande { background: var(--lbs-canard); padding-block: 48px 90px; }
.lbs-contact-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.lbs-contact-texte h1 { font: 700 56px/1.1 var(--lbs-titre); color: var(--lbs-lin); margin-bottom: 14px; }
.lbs-contact-texte p { font: 400 17px/1.5 var(--lbs-lecture); color: rgba(245,247,246,.9); margin-bottom: 22px; max-width: 42ch; }
.lbs-contact-photo { margin: 0; aspect-ratio: 4/3; border-radius: var(--lbs-r-l); overflow: hidden; box-shadow: var(--lbs-ombre-2); }
.lbs-contact-photo img, .lbs-contact-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-contact-carte { position: relative; background: var(--lbs-blanc); border-radius: var(--lbs-r-l); box-shadow: var(--lbs-ombre-2); padding: 32px 30px 26px; margin-top: -120px; }
.lbs-contact-carte-reliure { position: absolute; top: 0; left: 0; right: 0; height: 12px; background: var(--lbs-moutarde); border-radius: var(--lbs-r-l) var(--lbs-r-l) 0 0; }
.lbs-form-contact { display: grid; gap: 16px; margin-top: 6px; }
.lbs-form-ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lbs-form-champ { display: flex; flex-direction: column; gap: 6px; }
.lbs-form-champ label { font: 700 13px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-form-champ input, .lbs-form-champ select, .lbs-form-champ textarea { font: 400 16px var(--lbs-lecture); padding: 11px 14px; border: 1px solid var(--lbs-filet); border-radius: var(--lbs-r-s); background: var(--lbs-lin); color: var(--lbs-encre); }
.lbs-form-consentement { display: flex; align-items: flex-start; gap: 8px; font: 400 13px/1.4 var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-contact-envoye { font: 700 17px var(--lbs-lecture); color: var(--lbs-canard); padding: 20px 0; }
@media (max-width: 900px) { .lbs-contact-grille { grid-template-columns: 1fr; } .lbs-contact-carte { margin-top: 0; } .lbs-form-ligne { grid-template-columns: 1fr; } }
.lbs-contact-feuillets { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
@media (max-width: 900px) { .lbs-contact-feuillets { grid-template-columns: 1fr; } }

/* ===================================================================
 * MENTIONS / PAGE GÉNÉRIQUE
 * =================================================================== */
.lbs-page-bandeau { background: var(--lbs-brume); padding: 48px 0; }
.lbs-page-bandeau h1 { font: 700 42px var(--lbs-titre); }
.lbs-page-texte { max-width: 760px; }
.lbs-mentions-bandeau-grille { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.lbs-mentions-corps { display: grid; grid-template-columns: 220px 1fr; gap: 40px; max-width: 980px; }
.lbs-mentions-texte h2 { font: 700 22px var(--lbs-titre); margin: 28px 0 10px; }
.lbs-mentions-texte p { color: var(--lbs-encre); }
@media (max-width: 760px) { .lbs-mentions-corps { grid-template-columns: 1fr; } }

/* ===================================================================
 * 404 (§7.9 DA)
 * =================================================================== */
.lbs-404-bande { background: var(--lbs-canard); padding-block: 56px; color: #fff; }
.lbs-404-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.lbs-404-feuille { position: relative; background: var(--lbs-blanc); color: var(--lbs-encre); width: 320px; max-width: 100%; aspect-ratio: 320/360; border-radius: var(--lbs-r-l); box-shadow: var(--lbs-ombre-feuille); transform: rotate(-5deg); display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto; }
.lbs-404-dechire { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 40px; color: var(--lbs-blanc); }
.lbs-404-chiffre { font: 700 120px var(--lbs-lecture); color: var(--lbs-encre); line-height: 1; }
.lbs-404-texte { font: 400 italic 22px var(--lbs-titre); color: var(--lbs-doux); margin-top: 6px; }
.lbs-404-recherche { display: flex; flex-direction: column; gap: 18px; }
.lbs-404-recents { padding-top: 0; margin-top: -40px; }
@media (max-width: 900px) { .lbs-404-grille { grid-template-columns: 1fr; } .lbs-404-feuille { width: 240px; } .lbs-404-chiffre { font-size: 72px; } }

/* ===================================================================
 * RECHERCHE (§7.10 DA)
 * =================================================================== */
.lbs-recherche-bandeau { background: var(--lbs-brume); padding: 40px 0 60px; }
.lbs-recherche-bandeau h1 { font: 700 42px var(--lbs-titre); margin-bottom: 18px; }
.lbs-recherche-champ { display: flex; max-width: 760px; background: var(--lbs-blanc); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-2); overflow: hidden; margin-bottom: -40px; }
.lbs-recherche-champ input { flex: 1; border: 0; padding: 0 20px; font: 400 16px var(--lbs-lecture); background: transparent; height: 64px; }
.lbs-recherche-champ button { border: 0; background: var(--lbs-canard); color: #fff; padding: 0 28px; font: 700 14px var(--lbs-lecture); height: 64px; }
.lbs-recherche-compte { margin-top: 44px; font: 700 15px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-resultats-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.lbs-resultat a { display: flex; gap: 18px; text-decoration: none; color: inherit; }
.lbs-resultat-photo { width: 220px; height: 150px; border-radius: var(--lbs-r-s); overflow: hidden; flex: 0 0 auto; margin: 0; }
.lbs-resultat-photo img, .lbs-resultat-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-resultat-texte { display: flex; flex-direction: column; gap: 4px; }
.lbs-resultat-titre { font: 700 20px/1.3 var(--lbs-titre); }
.lbs-resultat-extrait { font: 400 15px/1.5 var(--lbs-lecture); color: var(--lbs-doux); }
@media (max-width: 760px) { .lbs-resultat a { flex-direction: column; } .lbs-resultat-photo { width: 100%; height: auto; aspect-ratio: 16/10; } }
.lbs-tuile-rubrique { display: block; position: relative; aspect-ratio: 16/10; border-radius: var(--lbs-r-m); overflow: hidden; text-decoration: none; }
.lbs-tuile-rubrique img, .lbs-tuile-rubrique .lbs-repli { width: 100%; height: 100%; object-fit: cover; }
.lbs-tuile-rubrique span { position: absolute; left: 14px; bottom: 14px; background: #fff; color: var(--lbs-encre); font: 700 15px var(--lbs-titre); padding: 6px 12px; border-radius: 999px; }
.lbs-rien { font: 400 16px/1.5 var(--lbs-lecture); color: var(--lbs-doux); margin: 24px 0; }

/* ===================================================================
 * APPARITION AU DÉFILEMENT (une fois, discret)
 * =================================================================== */
.lbs-section, .lbs-une, .lbs-rub-bandeau, .lbs-contact-bande, .lbs-404-bande, .lbs-auteur-bandeau {
	opacity: 0; transform: translateY(12px); animation: lbs-apparait .26s ease forwards;
}
@keyframes lbs-apparait { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.lbs-une-feuille-pose, .lbs-feuillet, .lbs-section, .lbs-une, .lbs-rub-bandeau, .lbs-contact-bande, .lbs-404-bande, .lbs-auteur-bandeau { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* ===================================================================
 * PASSE 1 (08/10/2026) — corrections mesurées sur les captures v1.
 * Tout est en surcharge ici (dernière feuille assemblée) : aucun bloc figé
 * n'est réécrit, seules ses variables --sb-* et des surcharges de valeurs.
 * =================================================================== */

/* 0. Variables des blocs figés : blocs-valides.css (assemblé APRÈS style.css)
 *    remettait ses propres valeurs par défaut (bleu nuit #0F1626, Manrope/Newsreader
 *    → repli Arial/Times) : pied de page, sommaire, FAQ et boîte auteur n'avaient
 *    ni les couleurs ni les polices du site. On les reposer ICI, en dernier. */
:root {
	--sb-fond: #F5F7F6; --sb-encre: #17262B; --sb-doux: #4F5F66; --sb-filet: #D3DEDF;
	--sb-accent: #0F4A57; --sb-accent-fort: #0B3842; --sb-accent-2: #DDA21C;
	--sb-surf: #E2EDED; --sb-surf2: #F7EBC9; --sb-rayon: 16px;
	--sb-ombre: 0 1px 2px rgba(15,74,87,.08), 0 8px 20px -6px rgba(15,74,87,.12);
	--sb-ombre-haut: 0 24px 48px -16px rgba(15,74,87,.32);
	--sb-titre: 'Volkhov', Georgia, serif; --sb-lecture: 'Andika', system-ui, -apple-system, sans-serif;
	--sb-aside-largeur: 320px; --sb-haut-collant: 84px; --sb-faq-largeur: 760px;
}
:root[data-theme="dark"] { --sb-fond: #F5F7F6; --sb-encre: #17262B; --sb-doux: #4F5F66; --sb-filet: #D3DEDF; --sb-surf: #E2EDED; --sb-surf2: #F7EBC9; }
/* Casse normale partout (DA §3 : pas de capitales espacées). */
.sb-kicker { text-transform: none; letter-spacing: 0; font: 700 15px/1.4 var(--lbs-titre); color: var(--lbs-canard); }

/* Liens-titres jamais soulignés dans les cartes. */
.lbs-carte-principale a, .lbs-liste-colonne a, .lbs-une-carte a { text-decoration: none; color: inherit; }
.lbs-liste-colonne { align-content: start; }

/* 1. LA UNE — tient entière dans 1440×780 sous l'en-tête (≤ 704 px). */
.lbs-une-titre { max-height: none; overflow: visible; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.lbs-une-sec-txt { display: block; }
.lbs-une-sec-txt .lbs-rub-nom { font-size: 12px; }
.lbs-une-sec-titre { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; }
.lbs-feuillet-titre { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lbs-une-minute { min-height: 0; margin-top: 22px; padding-bottom: 28px; }
.lbs-feuillet { min-height: 64px; padding: 8px 14px; }
@media (min-width: 1025px) {
	.lbs-une-grille { padding-top: 28px; }
	.lbs-une-photo { aspect-ratio: auto; height: 452px; }
	.lbs-une-carte { margin-top: 24px; margin-left: -64px; padding: 22px 26px 20px; }
	.lbs-une-titre { font-size: 44px; line-height: 1.08; margin: 8px 0 10px; }
	.lbs-une-titre--long { font-size: 38px; }
	.lbs-une-chapo { font-size: 18px; margin-bottom: 12px; }
	.lbs-une-filet { margin: 14px 0; }
	.lbs-une-secondaires { grid-template-columns: 1fr 1fr; gap: 16px; }
	.lbs-une-secondaires a { gap: 10px; }
	.lbs-une-sec-photo { width: 72px; height: 72px; }
	.lbs-une-sec-titre { font-size: 15px; line-height: 1.25; }
}
@media (max-width: 760px) {
	.lbs-une-feuillets { gap: 10px; }
	.lbs-feuillet { flex: 0 0 auto; max-width: none; }
	.lbs-une-titre, .lbs-une-titre--long { font-size: 28px; line-height: 1.12; }
	.lbs-une-sec-photo { width: 72px; height: 72px; }
	.lbs-une-sec-titre { font-size: 16px; }
}

/* 2. SECTIONS DE L'ACCUEIL ≤ 700 px à 1440 ET 1920 — photos bornées en hauteur. */
@media (min-width: 901px) {
	.lbs-section { padding-block: 48px; }
	.lbs-section--cta-jonction { padding-top: 0; }
	.lbs-carte-principale-photo { aspect-ratio: auto; height: 340px; }
	.lbs-carte-principale-chapo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.lbs-demi-colonne .lbs-carte { margin-bottom: 16px; }
	.lbs-demi-colonne .lbs-carte-photo { aspect-ratio: auto; height: 240px; }
	.lbs-demi-colonne .lbs-liste-colonne-photo { width: 96px; height: 72px; }
	.lbs-demi-colonne .lbs-liste-colonne-titre { font-size: 16px; }
	.lbs-demi-colonne-titre { margin-bottom: 16px; }
	.lbs-carte h3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; padding-bottom: 14px; }
	.lbs-section--blanc .lbs-grille-4 .lbs-carte h3 { padding-bottom: 4px; }
}
.lbs-grille-4 .lbs-carte time { display: block; padding: 0 16px 16px; font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); }
/* Mode : deux portraits de hauteur fixe, la photo prend la place libre (jamais de trou blanc). */
.lbs-carte-portrait { aspect-ratio: auto; height: 380px; display: flex; flex-direction: column; }
.lbs-carte-portrait a { display: flex; flex-direction: column; height: 100%; color: var(--lbs-encre); }
.lbs-carte-portrait img, .lbs-carte-portrait .lbs-repli { flex: 1 1 auto; min-height: 0; height: auto; width: 100%; object-fit: cover; }
.lbs-carte-portrait h3 { flex: 0 0 auto; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; padding: 12px 14px 14px; }
.lbs-carte-portrait:only-child { flex: 0 1 50%; }
@media (max-width: 600px) { .lbs-carte-portrait { height: 340px; } }

/* Les guides de fond : durée de lecture réelle en grand chiffre moutarde. */
.lbs-section--canard-profond .lbs-section-tete { margin-bottom: 22px; align-items: baseline; }
.lbs-section--canard-profond .lbs-titre-clair { margin: 0; }
.lbs-section-sous-titre { margin: 0; font: 400 italic 17px/1.4 var(--lbs-titre); color: rgba(245,247,246,.82); }
.lbs-classement-numero { display: inline-flex; flex-direction: column; align-items: center; min-width: 64px; font-size: 52px; text-shadow: 0 2px 10px rgba(11,56,66,.6); }
.lbs-classement-numero small { font: 700 14px/1 var(--lbs-lecture); color: var(--lbs-moutarde); margin-top: 2px; }
@media (max-width: 760px) { .lbs-classement-numero { font-size: 36px; min-width: 48px; } }

/* 6. SANTÉ : carte large en deux moitiés égales (le titre n'est plus écrasé). */
.lbs-carte-large a { display: grid; grid-template-columns: 1fr 1fr; }
.lbs-carte-large figure { flex: none; aspect-ratio: auto; height: 100%; min-height: 300px; }
.lbs-carte-large-texte { min-width: 0; padding: 22px 24px; }
.lbs-carte-large-texte h3 { font-size: 22px; }
.lbs-carte-large-texte p { margin: 0; font: 400 15px/1.5 var(--lbs-lecture); color: var(--lbs-doux); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.lbs-liste-3 span { font: 700 16px/1.3 var(--lbs-titre); color: var(--lbs-encre); }
.lbs-liste-3 time { font-weight: 400; font-family: var(--lbs-lecture); }
@media (max-width: 900px) { .lbs-carte-large a { grid-template-columns: 1fr; } .lbs-carte-large figure { min-height: 0; height: auto; aspect-ratio: 16/10; } }

/* 3. MOBILE : le ruban de rubriques passe à la ligne (plus rien ne sort de l'écran). */
@media (max-width: 760px) {
	.lbs-ruban-rubriques { flex-wrap: wrap; justify-content: center; overflow: visible; height: auto; gap: 6px; padding: 8px 12px; }
	.lbs-ruban-pastille { padding: 4px 9px; }
	.lbs-entete.is-pose .lbs-ruban-rubriques { display: none; }
	.lbs-entete.is-pose:has([data-lbs-menu-ouvrir][aria-expanded="true"]) .lbs-ruban-rubriques { display: flex; }
}

/* 7. PIED DE PAGE : canard profond, logo à sa taille, colonnes équilibrées. */
.sb-pied.lbs-pied { background: var(--lbs-canard-profond); }
.lbs-pied .sb-mono--pied { width: 40px; height: 48px; flex: 0 0 auto; color: var(--lbs-canard); }
.lbs-pied .sb-pied-nom { font: 700 24px var(--lbs-titre); color: var(--lbs-lin); }
.lbs-pied .sb-pied-baseline { font: 400 italic 15px/1.45 var(--lbs-titre); color: rgba(245,247,246,.78); }
.lbs-pied .sb-pied-titre { text-transform: none; letter-spacing: 0; font: 700 17px var(--lbs-titre); color: var(--lbs-lin); }
.lbs-pied .sb-pied-rubrique-tete { font: 700 15px var(--lbs-lecture); }
.lbs-pied .sb-pied-rubrique-chapo { font: 400 13px/1.45 var(--lbs-lecture); color: rgba(245,247,246,.7); }
.lbs-pied .sb-pied-fil a, .lbs-pied .sb-pied-liste a { display: block; font: 400 15px/1.4 var(--lbs-lecture); color: rgba(245,247,246,.9); }
.lbs-pied .sb-pied-fil time { font: 400 12px var(--lbs-lecture); color: rgba(245,247,246,.6); margin-bottom: 2px; }
.lbs-pied .sb-pied-loupe { border-color: rgba(245,247,246,.35); }
.lbs-pied .sb-pied-loupe input { font: 400 15px var(--lbs-lecture); color: var(--lbs-lin); }
.lbs-pied .sb-pied-loupe button { background: var(--lbs-moutarde); color: var(--lbs-encre); font: 700 14px var(--lbs-lecture); }
.lbs-pied .sb-pied-loupe input::placeholder { color: rgba(245,247,246,.65); }
@media (min-width: 901px) {
	.lbs-pied .sb-pied-grille { grid-template-columns: 1.7fr 1.2fr .6fr; }
	.lbs-pied .sb-pied-rubriques { grid-template-columns: 1fr 1fr; gap: 16px 28px; }
}

/* ARTICLE — nom d'auteur lisible sur la bande brume, boîte auteur en double retirée,
 * barre latérale = sommaire + formulaire en UN bloc collant plus court que l'écran. */
.lbs-entete-article .sb-article-auteur, .lbs-entete-article .sb-article-auteur-nom { color: var(--lbs-encre); }
.lbs-entete-article .sb-article-auteur-nom { font: 700 15px var(--lbs-lecture); }
.lbs-entete-article .sb-article-auteur .sb-avatar { box-shadow: 0 0 0 2px var(--lbs-blanc); }
.lbs-article .sb-auteur-fin { display: none; }
.sb-art-aside .sb-colle { display: flex; flex-direction: column; gap: 14px; }
.sb-art-aside .sb-sommaire { padding: 14px 16px 8px; }
/* R-1918 (Mathias 08/10) : le sommaire s'affiche EN ENTIER, jamais de défilement interne — on serre la typo à la place */
.sb-art-aside .sb-sommaire ol { max-height: none; overflow: visible; }
.sb-art-aside .sb-sommaire li { margin: 0; }
.sb-art-aside .sb-sommaire a { font-size: 13.5px; line-height: 1.3; padding-block: 3px; }
.sb-art-aside .sb-sommaire a { padding: .45rem .55rem; font-size: 14px; }
.lbs-aside-form { display: grid; gap: 10px; background: var(--lbs-blanc); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); padding: 22px 18px 18px; border-top: 8px solid var(--lbs-moutarde); }
.lbs-aside-form-titre { margin: 0; font: 700 19px/1.25 var(--lbs-titre); color: var(--lbs-encre); }
.lbs-aside-form-txt { margin: 0; font: 400 14px/1.45 var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-aside-form input[type="email"], .lbs-aside-form textarea { width: 100%; box-sizing: border-box; font: 400 15px var(--lbs-lecture); padding: 10px 12px; border: 1px solid var(--lbs-filet); border-radius: var(--lbs-r-s); background: var(--lbs-lin); color: var(--lbs-encre); resize: vertical; }
.lbs-aside-form-rgpd { display: flex; gap: 8px; align-items: flex-start; font: 400 12.5px/1.4 var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-aside-form .lbs-bouton { justify-content: center; width: 100%; cursor: pointer; }

/* INFOGRAPHIES DU SOCLE (sbs_*) — v1 les rendait en texte brut collé. */
.sbs_jauges, .sbs_tarifs, .sbs_frise, .sbs_lieu { display: block; margin: 32px 0; border-radius: var(--lbs-r-m); font-family: var(--lbs-lecture); }
.sbs_jauges_titre, .sbs_tarifs_titre, .sbs_frise_titre, .sbs_lieu_nom { display: block; grid-column: 1 / -1; font: 700 20px/1.3 var(--lbs-titre); color: var(--lbs-encre); margin: 0 0 14px; }
.sbs_jauges { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; background: var(--lbs-brume); padding: 22px; }
.sbs_jauge { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "v u" "l l"; align-items: end; column-gap: 4px; background: var(--lbs-blanc); border-radius: var(--lbs-r-s); border-top: 5px solid var(--lbs-moutarde); padding: 12px 14px 14px; box-shadow: var(--lbs-ombre-1); }
.sbs_jauge_valeur { grid-area: v; font: 700 40px/1 var(--lbs-lecture); font-variant-numeric: lining-nums tabular-nums; color: var(--lbs-canard); }
.sbs_jauge_unite { grid-area: u; font: 700 18px/1.4 var(--lbs-lecture); color: var(--lbs-canard); }
.sbs_jauge_libelle { grid-area: l; margin-top: 6px; font: 400 14px/1.35 var(--lbs-lecture); color: var(--lbs-encre); }
.sbs_source { display: block; grid-column: 1 / -1; margin-top: 12px; font: 400 13px/1.4 var(--lbs-lecture); color: var(--lbs-doux); }
.sbs_tarifs { background: var(--lbs-blanc); border: 1px solid var(--lbs-filet); box-shadow: var(--lbs-ombre-1); padding: 22px 24px; }
.sbs_tarif { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "l p" "b b"; gap: 6px 14px; align-items: baseline; padding: 11px 0; border-top: 1px solid var(--lbs-filet); }
.sbs_tarif_libelle { grid-area: l; font: 400 15px/1.35 var(--lbs-lecture); color: var(--lbs-encre); }
.sbs_tarif_prix { grid-area: p; font: 700 17px var(--lbs-lecture); font-variant-numeric: tabular-nums; color: var(--lbs-canard); }
.sbs_tarif_barre { grid-area: b; -webkit-appearance: none; appearance: none; width: 100%; height: 10px; border: 0; border-radius: 5px; background: var(--lbs-brume); }
.sbs_tarif_barre::-webkit-meter-bar { background: var(--lbs-brume); border: 0; border-radius: 5px; 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(--lbs-canard); border-radius: 5px; }
.sbs_tarif_barre::-moz-meter-bar { background: var(--lbs-canard); border-radius: 5px; }
.sbs_tarifs_notes { display: block; margin-top: 10px; font: 400 13px/1.45 var(--lbs-lecture); color: var(--lbs-doux); }
.sbs_frise { background: var(--lbs-blanc); border: 1px solid var(--lbs-filet); padding: 22px 24px; }
.sbs_etape { display: block; position: relative; margin-left: 7px; padding: 0 0 18px 22px; border-left: 2px solid var(--lbs-filet); }
.sbs_etape:last-of-type { border-left-color: transparent; padding-bottom: 0; }
.sbs_etape::before { content: ""; position: absolute; left: -8px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--lbs-moutarde); box-shadow: 0 0 0 3px var(--lbs-blanc); }
.sbs_etape_date { display: block; font: 700 14px var(--lbs-lecture); color: var(--lbs-canard); }
.sbs_etape_titre { display: block; font: 700 17px/1.3 var(--lbs-titre); color: var(--lbs-encre); }
.sbs_etape_desc { display: block; font: 400 15px/1.5 var(--lbs-lecture); color: var(--lbs-doux); }
.sbs_lieu { background: var(--lbs-brume); padding: 20px 22px; }
.sbs_lieu_adresse, .sbs_lieu_acces { display: block; font: 400 15px/1.5 var(--lbs-lecture); font-style: normal; }
.sbs_lieu_carte { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font: 700 14px var(--lbs-lecture); color: var(--lbs-canard); }
.sbs_icone_repere { width: 16px; height: 16px; fill: var(--lbs-canard); }
@media (max-width: 760px) { .sbs_jauges { grid-template-columns: 1fr 1fr; padding: 16px; } .sbs_jauge_valeur { font-size: 32px; } .sbs_tarifs, .sbs_frise { padding: 18px 16px; } }

/* RUBRIQUE : la colonne ne passe plus sous le bandeau, photo bornée. */
.lbs-rub-corps { position: relative; z-index: 2; }
@media (min-width: 901px) { .lbs-rub-une .lbs-carte-principale-photo { height: 380px; } }

/* CONTACT : la carte formulaire n'est plus coupée sous l'en-tête. */
.lbs-contact-bande { padding-block: 48px 56px; }
.lbs-contact-carte { margin-top: 0; }

/* Liste complète repliée (accordéon). */
details.lbs-secours > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font: 700 15px var(--lbs-lecture); color: var(--lbs-canard); padding: 10px 0; }
details.lbs-secours > summary::-webkit-details-marker { display: none; }
details.lbs-secours > summary::before { content: "+"; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--lbs-brume); font-weight: 700; }
details.lbs-secours[open] > summary::before { content: "−"; }
.lbs-secours-liste a { color: var(--lbs-encre); text-decoration: none; }
.lbs-secours-liste a:hover { text-decoration: underline; }

/* ===================================================================
 * PASSE 1 — 2e publication (relecture des captures v2)
 * =================================================================== */
/* La feuille d'éphéméride : le mois et le jour de la semaine étaient en .22em
 * d'une feuille à 1px de police → invisibles. Tailles réelles de la DA (§4/§7.2). */
.lbs-feuille { height: auto; }
.lbs-feuille-jour { margin-top: 0; }
.lbs-feuille-mois { font-size: 18px; line-height: 1.2; }
.lbs-feuille-jsem { font-size: 13px; line-height: 1.3; }
.lbs-feuille-languette { font-size: 13px; line-height: 1.3; }
.lbs-feuille--grande { min-height: 178px; padding-top: 36px; }
.lbs-feuille--grande .lbs-feuille-jour { font-size: 76px; }
.lbs-feuille--moyenne { min-height: 200px; padding-top: 40px; }
.lbs-feuille--petite { min-height: 90px; padding-top: 20px; }
.lbs-feuille--petite .lbs-feuille-jour { font-size: 34px; }
.lbs-feuille--petite .lbs-feuille-mois { font-size: 11px; }
.lbs-feuille--petite .lbs-feuille-jsem { display: none; }
/* La feuille n'est plus rognée par la photo sur laquelle elle est épinglée. */
.lbs-une-photo, .lbs-cta-photo, .lbs-apropos-s1-photo { overflow: visible; }
.lbs-une-photo-img, .lbs-une-photo > .lbs-repli { border-radius: var(--lbs-r-l); }
.lbs-cta-photo img, .lbs-cta-photo > .lbs-repli { border-radius: var(--lbs-r-m); }
.lbs-apropos-s1-photo img, .lbs-apropos-s1-photo > .lbs-repli { border-radius: var(--lbs-r-l); }
@media (max-width: 760px) {
	.lbs-une-feuille-pose .lbs-feuille--grande { width: 84px; min-height: 98px; padding: 22px 6px 8px; }
	.lbs-une-feuille-pose .lbs-feuille--grande .lbs-feuille-jour { font-size: 40px; }
	.lbs-une-feuille-pose .lbs-feuille--grande .lbs-feuille-mois { font-size: 12px; }
	.lbs-une-feuille-pose .lbs-feuille--grande .lbs-feuille-jsem, .lbs-une-feuille-pose .lbs-feuille--grande .lbs-feuille-languette { display: none; }
	.lbs-entete-article-feuille .lbs-feuille--moyenne { height: auto; min-height: 80px; padding: 18px 6px 6px; }
	.lbs-entete-article-feuille .lbs-feuille--moyenne .lbs-feuille-mois { font-size: 11px; }
	.lbs-entete-article-feuille .lbs-feuille--moyenne .lbs-feuille-jsem { display: none; }
}
/* Le point de rubrique isolé au-dessus du titre d'article (la rubrique est déjà dans le fil d'Ariane). */
.lbs-entete-article-texte > .lbs-pastille { display: none; }

/* La carte « Une question pratique ? » chevauche le bas de la section précédente :
 * la section lui laisse la place (le lien « Toute la rubrique Santé » était recouvert). */
.lbs-section:has(+ .lbs-section--cta-jonction) { padding-bottom: 104px; }

/* Barre latérale : le bloc sommaire + formulaire tient sous l'en-tête compact (≤ 660 px). */
@media (min-width: 981px) { .sb-art-corps { gap: 56px; } }
@media (min-width: 1700px) { :root { --sb-aside-largeur: 440px; } }
.sb-art-aside .sb-sommaire ol { max-height: none; }
.lbs-aside-form { gap: 8px; padding: 20px 18px 16px; }
.lbs-aside-form textarea { min-height: 60px; height: 60px; }
.lbs-aside-form .lbs-bouton { padding: 10px 18px; }

/* Mobile : « Ce qui change pour vous » = 1 grande carte puis des lignes avec vignette (DA §7.2 S2). */
@media (max-width: 600px) {
	.lbs-grille-4 { gap: 12px; }
	.lbs-grille-4 .lbs-carte:not(:first-child) a { display: grid; grid-template-columns: 112px minmax(0,1fr); grid-template-rows: auto 1fr; }
	.lbs-grille-4 .lbs-carte:not(:first-child) .lbs-carte-photo { grid-row: span 2; aspect-ratio: auto; height: 100%; min-height: 96px; border-radius: var(--lbs-r-m) 0 0 var(--lbs-r-m); }
	.lbs-grille-4 .lbs-carte:not(:first-child) .lbs-etiquette-statut { display: none; }
	.lbs-grille-4 .lbs-carte:not(:first-child) h3 { font-size: 16px; padding: 12px 14px 2px; }
	.lbs-grille-4 .lbs-carte:not(:first-child) time { padding: 0 14px 12px; }
}

/* À propos : la carte « La rédaction » sans portrait montre le symbole en grand, pas un aplat vide. */
.lbs-equipe-carte .lbs-repli .lbs-mono { width: 34%; height: auto; }

/* ===================================================================
 * PASSE 1 — 3e publication
 * =================================================================== */
/* Barre latérale : bloc mesuré à 683 px en v3 → sous les 671 px utiles à 1440×780. */
.sb-art-aside .sb-sommaire ol { max-height: none; }
/* Petits titres des encadrés figés en casse normale (DA §3). */
.sb-sources-titre, .sb-compare-row dt, .sb-encadre-essentiel > .sb-kicker, .sb-encadre-chiffre > .sb-kicker, .sb-encadre-pratique > .sb-kicker, .sb-duo > .sb-kicker { text-transform: none; letter-spacing: 0; font: 700 16px/1.3 var(--lbs-titre); }
/* « À lire aussi » : bande blanche pleine largeur (elle s'arrêtait au conteneur). */
.lbs-article-suite { box-shadow: 0 0 0 100vmax var(--lbs-blanc); clip-path: inset(0 -100vmax); margin-top: 48px; }
/* Point de rubrique aligné sur la 1re ligne d'un titre de section qui passe à la ligne. */
.lbs-section-tete h2 { align-items: baseline; }
.lbs-section-tete h2 > .lbs-pastille { align-self: center; flex: 0 0 auto; }
@media (max-width: 760px) { .lbs-section-tete h2 > .lbs-pastille { align-self: flex-start; margin-top: .55em; } }

/* ===================================================================
 * PASSE 2 (08/10/2026) — retours de la porte de sortie
 * =================================================================== */
/* 1. ARTICLE : l'en-tête vit dans la colonne principale (single.php) ; la barre
 *    latérale démarre au niveau de la bande brume, formulaire EN HAUT du bloc
 *    collant (order:-1, structure figée inchangée), sommaire dessous.
 *    La bande brume pleine largeur est peinte par un pseudo-élément (ombre portée,
 *    jamais de défilement horizontal) et s'arrête à mi-photo : photo à cheval. */
.lbs-article .sb-art-corps { margin-top: 0; }
.lbs-entete-article { position: relative; background: transparent; padding: 40px 0 0; }
.lbs-entete-article::before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 140px; background: var(--lbs-brume); box-shadow: 0 0 0 100vmax var(--lbs-brume); clip-path: inset(0 -100vmax); }
.lbs-entete-article-grille { grid-template-columns: 168px minmax(0,1fr); gap: 24px; }
.lbs-article-titre { font-size: 40px; max-height: none; }
.lbs-entete-article-photo { grid-row: auto; margin: 28px 0 0; aspect-ratio: auto; height: 360px; }
.lbs-entete-article + .sb-sommaire-mobile, .lbs-entete-article + .sb-texte { margin-top: 40px; }
.lbs-article .sb-art-aside { padding-top: 40px; }
.sb-art-aside .sb-art-aside-pub { order: -1; }
@media (max-width: 1024px) { .lbs-entete-article-photo { margin: 24px 0 0; } }
@media (max-width: 760px) {
	.lbs-entete-article { padding-top: 24px; }
	.lbs-entete-article::before { bottom: 90px; }
	.lbs-entete-article-grille { grid-template-columns: 1fr; gap: 12px; }
	.lbs-article-titre { font-size: 30px; }
	.lbs-entete-article-photo { margin: 16px 0 0; height: auto; aspect-ratio: 16/10; }
	.lbs-entete-article + .sb-sommaire-mobile, .lbs-entete-article + .sb-texte { margin-top: 24px; }
}

/* 2. « Une question pratique ? » : marge haute franche ; la carte chevauche
 *    désormais la jonction avec le pied de page (DA §7.2 S9), pas la section d'avant. */
.lbs-section:has(+ .lbs-section--cta-jonction) { padding-bottom: 48px; }
.lbs-section.lbs-section--cta-jonction { padding-top: 56px; padding-bottom: 0; }
.lbs-cta-carte { margin-top: 0; margin-bottom: -80px; z-index: 2; }
body:has(.lbs-section--cta-jonction) .sb-pied { padding-top: 136px; }

/* 3. Mots et adresses très longs (URL brutes dans le texte et les sources) :
 *    coupés à la ligne au lieu d'élargir la page à 390 px. */
.sb-art-principal, .sb-texte, .sb-sources, .sb-faq, .lbs-article-suite, .lbs-page-texte, .lbs-mentions-texte { overflow-wrap: anywhere; }
.sb-texte a, .sb-sources a { word-break: break-word; }

/* 5. Crédit des portraits sous licence CC BY-SA. */
.lbs-credit { display: block; font: 400 12px/1.4 var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-credit a { color: var(--lbs-doux); text-decoration: underline; text-underline-offset: 2px; }
.lbs-auteur-portrait-col .lbs-credit { margin-top: 14px; text-align: center; }
.lbs-equipe-carte .lbs-credit { margin-top: 6px; padding: 0 10px; font-size: 11.5px; }
/* Le script figé décale de `top` un bloc NON collant (position relative) : à 1440 au
 * chargement, le formulaire descendait de 188 px sous le pli. Pas de décalage hors collage. */
.sb-art-aside .sb-colle[data-colle="false"] { top: auto !important; }

/* ===================================================================
 * PASSE 3 (08/10/2026) — retours du juge visuel (WOW 7 → viser 8+)
 * Une seule idée forte amplifiée : l'aplat sarcelle de la une, titre géant
 * en deux tons. Le reste : encarts variés, étiquettes tirées des données.
 * =================================================================== */

/* --- Bandeau « En direct » sous le menu (heures réelles de publication) --- */
.lbs-direct { background: var(--lbs-blanc); border-top: 1px solid var(--lbs-filet); border-bottom: 1px solid var(--lbs-filet); }
.lbs-direct-rang { display: flex; align-items: center; gap: 18px; height: 44px; min-width: 0; }
.lbs-direct-pilule { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; background: #B42318; color: #fff; font: 700 13px/1 var(--lbs-lecture); padding: 6px 12px 6px 10px; border-radius: 999px; }
.lbs-direct-point { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: lbs-pouls 1.6s ease-in-out infinite; }
@keyframes lbs-pouls { 50% { opacity: .25; } }
.lbs-direct-liste { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.lbs-direct-liste li { flex: 1 1 0; min-width: 0; }
.lbs-direct-liste li + li { border-left: 1px solid var(--lbs-filet); padding-left: 14px; }
.lbs-direct-liste li:nth-child(n+4) { display: none; }
.lbs-direct-liste li.is-entre { animation: lbs-direct-entre .45s ease both; }
@keyframes lbs-direct-entre { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.lbs-direct-liste a { display: flex; align-items: baseline; gap: 8px; min-width: 0; text-decoration: none; color: var(--lbs-encre); font: 400 14px/1.3 var(--lbs-lecture); white-space: nowrap; }
.lbs-direct-liste a:hover span { text-decoration: underline; }
.lbs-direct-liste time { flex: 0 0 auto; font-weight: 700; color: #B42318; font-variant-numeric: tabular-nums; }
.lbs-direct-liste time small { font-size: 12px; color: var(--lbs-doux); }
.lbs-direct-liste a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.lbs-entete.is-pose .lbs-direct { display: none; }
@media (max-width: 760px) {
	.lbs-direct-rang { height: 40px; gap: 10px; width: calc(100% - 32px); }
	.lbs-direct-liste li:nth-child(n+2) { display: none; }
	.lbs-direct-pilule { font-size: 12px; padding: 5px 9px 5px 8px; }
}
@media (prefers-reduced-motion: reduce) { .lbs-direct-point, .lbs-direct-liste li.is-entre { animation: none; } }

/* --- LA UNE : aplat sarcelle plein écran, titre géant en deux tons --- */
.lbs-une { background: var(--lbs-lin); }
.lbs-une::before { content: none; }
.lbs-une-aplat { position: relative; background: var(--lbs-canard); color: var(--lbs-lin); }
.lbs-une-grille { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 56px; align-items: center; padding: 40px 0 44px; }
.lbs-une-texte { min-width: 0; }
.lbs-une-surtitre { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; }
.lbs-une-rub { display: inline-flex; align-items: center; background: var(--lbs-blanc); color: var(--lbs-rub); font: 700 13px/1 var(--lbs-lecture); padding: 7px 12px; border-radius: 999px; text-decoration: none; }
.lbs-une-surtitre .lbs-etiquette-statut { position: static; box-shadow: none; }
.lbs-une-titre, .lbs-une-titre--long { display: block; -webkit-line-clamp: unset; max-height: none; overflow: visible; font: 700 58px/1.03 var(--lbs-titre); letter-spacing: -.018em; margin: 16px 0 16px; color: var(--lbs-lin); text-wrap: balance; }
.lbs-une-titre a { color: var(--lbs-lin); text-decoration: none; }
.lbs-une-titre a:hover .lbs-ton-1 { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.lbs-une-titre .lbs-ton-2 { font-style: italic; font-weight: 400; color: var(--lbs-moutarde); }
.lbs-une-titre.lbs-titre--court { font-size: 66px; }
.lbs-une-titre.lbs-titre--long { font-size: 50px; }
.lbs-une-titre.lbs-titre--tres-long { font-size: 44px; }
.lbs-une-chapo { font: 400 18px/1.5 var(--lbs-lecture); color: rgba(245,247,246,.86); margin: 0 0 18px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 54ch; }
.lbs-une-auteur { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; font: 700 14px var(--lbs-lecture); color: rgba(245,247,246,.86); }
.lbs-une-auteur img, .lbs-une-auteur .sb-avatar { width: 34px; height: 34px; box-shadow: 0 0 0 2px var(--lbs-moutarde); }
.lbs-une-lire { margin-left: 6px; padding: 11px 20px; }
.lbs-une-visuel { position: relative; min-width: 0; }
.lbs-une-photo, .lbs-une-photo.lbs-une-photo { aspect-ratio: auto; height: 380px; margin: 0; border-radius: var(--lbs-r-l); box-shadow: 0 30px 60px -22px rgba(0,0,0,.55); }
.lbs-une-feuille-pose { top: -26px; left: -30px; z-index: 3; }
.lbs-une-secondaires, .lbs-une-secondaires.lbs-une-secondaires { position: relative; z-index: 2; margin: -72px 0 0 -40px; background: var(--lbs-blanc); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-2); padding: 14px 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; color: var(--lbs-encre); }
.lbs-une-secondaires a { color: var(--lbs-encre); }
.lbs-une-sec-photo { width: 72px; height: 72px; }
.lbs-une-sec-titre { font-size: 15px; line-height: 1.25; }
.lbs-une-minute { margin-top: 0; padding: 20px 0 24px; }
.lbs-feuillet-heure small { font-size: 12px; color: var(--lbs-doux); font-weight: 700; }
@media (min-width: 1700px) {
	.lbs-une-grille { grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); gap: 64px; padding: 44px 0 48px; }
	.lbs-une-titre, .lbs-une-titre--long { font-size: 74px; }
	.lbs-une-titre.lbs-titre--court { font-size: 86px; }
	.lbs-une-titre.lbs-titre--long { font-size: 62px; }
	.lbs-une-titre.lbs-titre--tres-long { font-size: 54px; }
	.lbs-une-chapo { font-size: 19px; }
	.lbs-une-photo, .lbs-une-photo.lbs-une-photo { height: 420px; }
}
@media (max-width: 1024px) {
	.lbs-une-grille { grid-template-columns: 1fr; gap: 32px; }
	.lbs-une-photo, .lbs-une-photo.lbs-une-photo { height: 360px; }
	.lbs-une-secondaires, .lbs-une-secondaires.lbs-une-secondaires { margin: -56px 16px 0; }
}
@media (max-width: 760px) {
	.lbs-une-grille { gap: 26px; padding: 22px 0 28px; }
	.lbs-une-titre, .lbs-une-titre--long, .lbs-une-titre.lbs-titre--court, .lbs-une-titre.lbs-titre--moyen { font-size: 36px; line-height: 1.06; margin: 12px 0; }
	.lbs-une-titre.lbs-titre--long { font-size: 31px; }
	.lbs-une-titre.lbs-titre--tres-long { font-size: 27px; }
	.lbs-une-chapo { font-size: 16px; }
	.lbs-une-lire { margin-left: 0; }
	.lbs-une-photo, .lbs-une-photo.lbs-une-photo { height: auto; aspect-ratio: 16/10; }
	.lbs-une-feuille-pose { top: -14px; left: 12px; }
	.lbs-une-secondaires, .lbs-une-secondaires.lbs-une-secondaires { margin: -34px 10px 0; grid-template-columns: 1fr; gap: 12px; }
}

/* --- Titre d'article en deux tons --- */
.lbs-article-titre .lbs-ton-2 { font-style: italic; font-weight: 400; color: var(--lbs-canard); }

/* --- Étiquettes de statut variées (données réelles) --- */
.lbs-etiquette-statut { position: absolute; top: 12px; left: 12px; z-index: 2; max-width: calc(100% - 24px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 12.5px/1 var(--lbs-lecture); padding: 7px 11px; border-radius: 999px; background: var(--lbs-canard); color: #fff; box-shadow: 0 2px 10px rgba(11,56,66,.25); }
.lbs-etiquette--nouveau { background: var(--lbs-moutarde); color: var(--lbs-encre); }
.lbs-etiquette--dossier { background: var(--lbs-canard-profond); color: var(--lbs-lin); }
.lbs-etiquette--rapide { background: var(--lbs-blanc); color: var(--lbs-canard); }
.lbs-etiquette--rub { background: var(--lbs-rub); color: #fff; }
.lbs-carte-principale-photo, .lbs-carte-large figure, .lbs-carte-photo { position: relative; }

/* --- 11. Titres de carte coupés à mi-ligne : la marge basse sort de la zone rognée --- */
@media (min-width: 901px) {
	.lbs-carte h3 { padding-bottom: 0; margin-bottom: 14px; }
	.lbs-section--blanc .lbs-grille-4 .lbs-carte h3 { padding-bottom: 0; margin-bottom: 6px; }
}
.lbs-carte-portrait h3 { padding-bottom: 0; margin-bottom: 14px; }

/* --- Les guides de fond : n°1 en grande carte photo, 2 à 5 en classement --- */
.lbs-guides-grille { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 44px; align-items: start; }
.lbs-guide-une a { position: relative; display: block; text-decoration: none; color: var(--lbs-lin); }
.lbs-guide-une-photo { margin: 0; height: 290px; border-radius: var(--lbs-r-l); overflow: hidden; box-shadow: 0 26px 50px -20px rgba(0,0,0,.55); }
.lbs-guide-une-photo img, .lbs-guide-une-photo .lbs-repli { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.lbs-guide-une a:hover img { transform: scale(1.03); }
.lbs-guide-rang { font: 700 64px/.9 var(--lbs-lecture); font-variant-numeric: lining-nums; color: var(--lbs-moutarde); }
.lbs-guide-une .lbs-guide-rang { position: absolute; left: 6px; top: 236px; font-size: 128px; text-shadow: 0 6px 22px rgba(11,56,66,.75); }
.lbs-guide-une-txt { display: block; padding: 16px 0 0 96px; }
.lbs-guide-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.lbs-guide-meta .lbs-etiquette-statut { position: static; box-shadow: none; }
.lbs-guide-duree { font: 700 13px var(--lbs-lecture); color: rgba(245,247,246,.75); }
.lbs-guide-une-titre { display: block; margin-top: 10px; font: 700 25px/1.22 var(--lbs-titre); }
.lbs-guide-une-chapo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 6px; font: 400 15px/1.5 var(--lbs-lecture); color: rgba(245,247,246,.8); }
.lbs-guides-liste { list-style: none; margin: 0; padding: 0; display: grid; }
.lbs-guides-liste a { display: grid; grid-template-columns: 56px 104px minmax(0,1fr); align-items: center; gap: 16px; padding: 14px 0; border-top: 1px solid rgba(245,247,246,.16); text-decoration: none; color: var(--lbs-lin); }
.lbs-guides-liste li:first-child a { border-top: 0; padding-top: 0; }
.lbs-guide-rang--petit { text-align: center; }
.lbs-guides-photo { width: 104px; height: 78px; border-radius: var(--lbs-r-s); object-fit: cover; }
.lbs-guides-txt { min-width: 0; }
.lbs-guides-titre { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 700 18px/1.3 var(--lbs-titre); }
.lbs-guides-liste a:hover .lbs-guides-titre { text-decoration: underline; }
.lbs-guides-meta { display: block; margin-top: 4px; font: 400 13.5px var(--lbs-lecture); color: rgba(245,247,246,.75); }
@media (max-width: 900px) {
	.lbs-guides-grille { grid-template-columns: 1fr; gap: 28px; }
	.lbs-guide-une-photo { height: 220px; }
	.lbs-guide-une .lbs-guide-rang { top: 170px; font-size: 96px; }
	.lbs-guide-une-txt { padding-left: 72px; }
	.lbs-guides-liste a { grid-template-columns: 40px 84px minmax(0,1fr); gap: 12px; }
	.lbs-guide-rang--petit { font-size: 44px; }
	.lbs-guides-photo { width: 84px; height: 64px; }
	.lbs-guides-titre { font-size: 16px; }
}

/* --- Le journal en chiffres : infographie tirée de la base --- */
.lbs-chiffres-grille { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 64px; align-items: center; }
.lbs-chiffres-tuile { position: relative; display: flex; flex-direction: column; background: var(--lbs-moutarde); color: var(--lbs-encre); border-radius: var(--lbs-r-feuille) var(--lbs-r-feuille) var(--lbs-r-l) var(--lbs-r-l); padding: 56px 30px 28px; box-shadow: var(--lbs-ombre-feuille); transform: rotate(-2deg); }
.lbs-chiffres-reliure { position: absolute; top: 0; left: 0; right: 0; height: 30px; display: flex; align-items: center; justify-content: space-around; padding: 0 24%; background: var(--lbs-canard-profond); border-radius: var(--lbs-r-feuille) var(--lbs-r-feuille) 0 0; }
.lbs-chiffres-reliure span { width: 10px; height: 10px; border-radius: 50%; background: var(--lbs-brume); }
.lbs-chiffres-nombre { font: 700 136px/.9 var(--lbs-lecture); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.03em; }
.lbs-chiffres-libelle { margin-top: 12px; font: 700 21px/1.25 var(--lbs-titre); }
.lbs-chiffres-mois { margin-top: 12px; padding-top: 12px; border-top: 2px solid rgba(23,38,43,.2); font: 400 15px/1.4 var(--lbs-lecture); }
.lbs-chiffres-barres h2 { font: 700 30px var(--lbs-titre); margin: 0 0 4px; }
.lbs-chiffres-sous-titre { margin: 0 0 20px; font: 400 16px/1.4 var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-chiffres-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lbs-chiffres-liste a { display: grid; grid-template-columns: 140px minmax(0,1fr) 44px; align-items: center; gap: 14px; text-decoration: none; color: var(--lbs-encre); }
.lbs-chiffres-rub { font: 700 15px var(--lbs-lecture); }
.lbs-chiffres-liste a:hover .lbs-chiffres-rub { text-decoration: underline; }
.lbs-chiffres-piste { display: block; height: 24px; background: rgba(255,255,255,.75); border-radius: 6px; overflow: hidden; }
.lbs-chiffres-piste span { display: block; height: 100%; background: var(--lbs-rub); border-radius: 6px; }
.lbs-chiffres-n { font: 700 20px var(--lbs-lecture); font-variant-numeric: tabular-nums; text-align: right; }
@media (max-width: 900px) {
	.lbs-chiffres-grille { grid-template-columns: 1fr; gap: 36px; }
	.lbs-chiffres-tuile { width: min(100%, 300px); margin: 8px auto 0; }
	.lbs-chiffres-nombre { font-size: 100px; }
	.lbs-chiffres-liste a { grid-template-columns: 112px minmax(0,1fr) 34px; gap: 10px; }
	.lbs-chiffres-rub { font-size: 14px; }
}

/* --- Bloc « Une question pratique ? » sans photo (page À propos) --- */
.lbs-cta-feuille-seule { display: flex; align-items: center; justify-content: center; padding: 20px 0; }
.lbs-cta-feuille-seule .lbs-feuille--grande { transform: rotate(4deg); }

/* ===================================================================
 * ARTICLE — encarts variés (inc/encarts-article.php)
 * =================================================================== */
/* Listes simples : plus de boîte vert d'eau, des coches dans le texte. */
.lbs-corps-article .sb-cards { background: transparent; border: 0; border-radius: 0; padding: 0 0 0 2px; }
/* En bref : 1er paragraphe. */
.lbs-encart { position: relative; margin: 32px 0; padding: 18px 24px 6px; border-radius: var(--lbs-r-m); }
.lbs-encart > .lbs-encart-titre { margin: 0 0 8px; font: 700 17px/1.3 var(--lbs-titre); }
.lbs-encart--bref { background: var(--lbs-beurre); border-left: 6px solid var(--lbs-moutarde); }
.lbs-encart--bref > .lbs-encart-titre { color: #6E510A; }
/* Pratique : « Encadré : … » de la rédaction. */
.lbs-encart--pratique { background: var(--lbs-blanc); border: 2px solid var(--lbs-canard); box-shadow: var(--lbs-ombre-1); margin-top: 40px; padding-top: 22px; }
.lbs-encart--pratique::before { content: "Pratique"; position: absolute; top: -13px; left: 18px; background: var(--lbs-canard); color: #fff; font: 700 12.5px/1 var(--lbs-lecture); padding: 6px 11px; border-radius: 999px; }
.lbs-encart--pratique > .lbs-encart-titre { color: var(--lbs-canard); font-size: 19px; }
/* Attention : erreurs, pièges, précautions. */
.lbs-encart--attention { background: #FCF1EF; border-left: 6px solid #B42318; padding-top: 4px; }
.lbs-encart--attention > h2 { color: #8E1B12; font-size: 25px; margin-top: 14px; border-top: 0; }
.lbs-encart--attention .sb-cards > li::before { background: #B42318 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18.5v.5'/%3E%3C/svg%3E") center/.85rem no-repeat; }
.lbs-note-prudence { border-left: 4px solid #B42318; padding: 4px 0 4px 16px; font-style: italic; }
/* À retenir (bloc figé sb-encadre-cle) : aplat sarcelle profond. */
.lbs-article .sb-encadre-cle { background: var(--lbs-canard-profond); color: var(--lbs-lin); padding: 8px 28px 20px; }
.lbs-article .sb-encadre-cle h2, .lbs-article .sb-encadre-cle h3, .lbs-article .sb-encadre-cle p, .lbs-article .sb-encadre-cle li { color: var(--lbs-lin); }
.lbs-article .sb-encadre-cle a { color: var(--lbs-moutarde); }
.lbs-article .sb-encadre-cle .sb-cards > li + li { border-top-color: rgba(245,247,246,.18); }
.lbs-article .sb-encadre-cle .sb-cards > li::before { background-color: var(--lbs-moutarde); }
/* Fiches en grille (rafales de petits sous-titres). */
.lbs-fiches { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 26px 0 34px; }
.lbs-fiche { position: relative; min-width: 0; background: var(--lbs-blanc); border: 1px solid var(--lbs-filet); border-top: 4px solid var(--lbs-rub, var(--lbs-canard)); border-radius: var(--lbs-r-m); padding: 16px 18px 6px; box-shadow: var(--lbs-ombre-1); }
.lbs-corps-article .lbs-fiche h3 { margin: 0 0 6px; padding: 0; border: 0; font: 700 18px/1.3 var(--lbs-titre); color: var(--lbs-encre); }
.lbs-fiche p { margin: 0 0 10px; font-size: 16px; line-height: 1.55; }
.lbs-fiche .sb-cards { margin: 2px 0 8px; }
.lbs-fiche .sb-cards > li { padding: .4rem 0 .4rem 1.9rem; font-size: 15.5px; }
.lbs-fiche .sb-cards > li::before { top: .55rem; }
.lbs-fiche--attention { background: #FCF1EF; border-top-color: #B42318; }
.lbs-corps-article .lbs-fiche--attention h3 { color: #8E1B12; }
.lbs-fiche--liste { background: var(--lbs-beurre); border-top-color: var(--lbs-moutarde); }
/* Étapes numérotées (sous-titres qui commencent par un verbe d'action). */
.lbs-fiches--etapes { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.lbs-fiches--etapes .lbs-fiche { background: var(--lbs-canard); border: 0; box-shadow: none; padding: 18px 18px 8px; }
.lbs-corps-article .lbs-fiches--etapes .lbs-fiche h3, .lbs-fiches--etapes .lbs-fiche p, .lbs-fiches--etapes .lbs-fiche li { color: var(--lbs-lin); }
.lbs-fiches--etapes .lbs-fiche a { color: var(--lbs-moutarde); }
.lbs-fiche-num { display: block; margin-bottom: 8px; font: 700 46px/1 var(--lbs-lecture); font-variant-numeric: lining-nums; color: var(--lbs-moutarde); }
@media (max-width: 760px) { .lbs-fiches { grid-template-columns: 1fr; } }
/* Tableaux réels. */
.lbs-tableau { margin: 28px 0; border: 1px solid var(--lbs-filet); border-radius: var(--lbs-r-m); overflow: hidden; background: var(--lbs-blanc); box-shadow: var(--lbs-ombre-1); }
.lbs-tableau figcaption { padding: 12px 18px; background: var(--lbs-canard); color: var(--lbs-lin); font: 700 16px/1.3 var(--lbs-titre); }
.lbs-tableau table { width: 100%; border-collapse: collapse; table-layout: fixed; font: 400 15.5px/1.45 var(--lbs-lecture); }
.lbs-tableau th, .lbs-tableau td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--lbs-filet); overflow-wrap: anywhere; }
.lbs-tableau thead th { background: var(--lbs-brume); color: var(--lbs-canard-profond); font-weight: 700; }
.lbs-tableau tbody tr:nth-child(even) { background: var(--lbs-lin); }
.lbs-tableau--modele td { height: 46px; border-right: 1px dashed var(--lbs-filet); }
.lbs-tableau--modele td:last-child { border-right: 0; }
.lbs-tableau--modele tbody tr:nth-child(even) { background: transparent; }
@media (max-width: 600px) {
	.lbs-tableau:not(.lbs-tableau--modele) thead { display: none; }
	.lbs-tableau:not(.lbs-tableau--modele) tr { display: block; padding: 10px 14px; border-bottom: 1px solid var(--lbs-filet); }
	.lbs-tableau:not(.lbs-tableau--modele) th[scope="row"], .lbs-tableau:not(.lbs-tableau--modele) td { display: block; padding: 3px 0; border: 0; }
	.lbs-tableau:not(.lbs-tableau--modele) td::before { content: attr(data-label) " : "; font-weight: 700; color: var(--lbs-doux); }
	.lbs-tableau--modele th { padding: 8px 6px; font-size: 12.5px; }
}
/* Barres de prix [sbs_tarifs] remplies au prorata (le <meter> natif reste pour les lecteurs d'écran). */
.sbs_tarif { position: relative; }
.sbs_tarif .lbs-meter-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lbs-tarif-barre { grid-area: b; display: block; height: 12px; background: var(--lbs-brume); border-radius: 6px; overflow: hidden; }
.lbs-tarif-barre > span { display: block; height: 100%; background: var(--lbs-canard); border-radius: 6px; }
.sbs_tarif:first-of-type .lbs-tarif-barre > span { background: var(--lbs-moutarde); }
/* Sources : « Nom du site — titre » cliquable, date de consultation dessous. */
.lbs-sources .sb-sources-liste li { align-items: flex-start; }
.lbs-source-corps { display: block; min-width: 0; font: 400 15.5px/1.5 var(--lbs-lecture); color: var(--lbs-encre); }
.lbs-source-corps a { color: var(--lbs-encre); text-decoration: underline; text-decoration-color: var(--lbs-moutarde); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.lbs-source-corps a:hover { color: var(--lbs-canard); }
.lbs-source-corps strong { color: var(--lbs-canard); }
.lbs-source-date { display: block; margin-top: 2px; font-size: 13px; color: var(--lbs-doux); }
/* « À lire aussi » : la rubrique à part, sous la liste d'articles. */
.lbs-alire-rubrique { display: inline-block; margin: 8px 0 14px; font: 700 15px var(--lbs-lecture); color: var(--lbs-canard); text-decoration: none; border-bottom: 2px solid var(--lbs-moutarde); }
.lbs-etiquette--chiffres { background: #2C4FA3; color: #fff; }
.lbs-etiquette--etapes { background: var(--lbs-beurre); color: var(--lbs-encre); }
.lbs-etiquette--officiel { background: var(--lbs-blanc); color: #8E1B12; box-shadow: inset 0 0 0 2px #B42318, 0 2px 10px rgba(11,56,66,.2); }
.lbs-etiquette--rapide { background: var(--lbs-brume); color: var(--lbs-canard-profond); }
/* Une : 1920 → la une sous 700 px. */
@media (min-width: 1700px) { .lbs-une-grille { padding: 40px 0 42px; } }
/* Mobile : le mois de la petite feuille d'article ne se coupe plus (« Septembr/e »). */
@media (max-width: 760px) {
	.lbs-entete-article-feuille .lbs-feuille--moyenne { width: 78px; }
	.lbs-entete-article-feuille .lbs-feuille--moyenne .lbs-feuille-mois { font-size: 10.5px; white-space: nowrap; letter-spacing: -.01em; }
}

/* ===================================================================
 * PASSE 4 (08/10/2026) — juge visuel n°2 (WOW 8/10)
 * =================================================================== */
/* 1. Une : la photo déborde jusqu'au bord droit de l'écran (≥ 45 % de la largeur),
 *    coins arrondis à gauche seulement ; la carte des 2 sujets et la feuille restent posées dessus. */
@media (min-width: 1025px) {
	.lbs-une-aplat { overflow-x: clip; }
	.lbs-une-photo, .lbs-une-photo.lbs-une-photo { margin-right: calc((100vw - min(1200px, 100vw - 120px)) / -2); border-radius: var(--lbs-r-l) 0 0 var(--lbs-r-l); }
	.lbs-une-photo .lbs-une-photo-img, .lbs-une-photo > .lbs-repli { border-radius: var(--lbs-r-l) 0 0 var(--lbs-r-l); }
}
@media (min-width: 1700px) {
	.lbs-une-photo, .lbs-une-photo.lbs-une-photo { margin-right: calc((100vw - min(1320px, 100vw - 200px)) / -2); }
}
/* 7. Chapôs entiers (coupés à une phrase complète côté PHP) : plus de points de suspension. */
.lbs-une-chapo, .lbs-article-chapo { display: block; -webkit-line-clamp: unset; overflow: visible; }

/* 2. Grilles d'encarts sans case vide. */
.lbs-fiches.lbs-fiches--grille { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 16px; }
.lbs-fiches.lbs-fiches--colonnes { display: block; columns: 2; column-gap: 16px; }
.lbs-fiches--colonnes > .lbs-fiche { display: block; width: 100%; margin: 0 0 16px; break-inside: avoid; }
@media (max-width: 760px) {
	.lbs-fiches.lbs-fiches--grille { grid-template-columns: 1fr; }
	.lbs-fiches--grille > .lbs-fiche { grid-column: auto !important; }
	.lbs-fiches.lbs-fiches--colonnes { columns: 1; }
}
/* 3. Fiches « solution » (libellé + Usage / Effet / Durée…) et lignes de définition. */
.lbs-fiche > .lbs-fiche-titre { margin: 0 0 8px; font: 700 18px/1.3 var(--lbs-titre); color: var(--lbs-encre); }
.lbs-def { margin: 0 0 8px; }
.lbs-def-ligne { padding: 8px 0; border-top: 1px solid var(--lbs-filet); }
.lbs-def-ligne:first-child { border-top: 0; padding-top: 2px; }
.lbs-def dt { margin: 0 0 2px; font: 700 13.5px/1.3 var(--lbs-lecture); color: var(--lbs-canard); }
.lbs-def dd { margin: 0; font-size: 15.5px; line-height: 1.5; }
.lbs-corps-article > .lbs-def { margin: 24px 0 30px; padding: 8px 22px; background: var(--lbs-blanc); border: 1px solid var(--lbs-filet); border-radius: var(--lbs-r-m); box-shadow: var(--lbs-ombre-1); }
.lbs-corps-article > .lbs-def .lbs-def-ligne { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 16px; align-items: baseline; padding: 11px 0; }
@media (max-width: 600px) { .lbs-corps-article > .lbs-def .lbs-def-ligne { grid-template-columns: 1fr; gap: 2px; } }
.lbs-fiches--v1 .lbs-fiche { background: var(--lbs-blanc); border-top: 4px solid var(--lbs-rub, var(--lbs-canard)); }
.lbs-fiches--v2 .lbs-fiche { background: var(--lbs-brume); border: 0; border-left: 5px solid var(--lbs-canard); box-shadow: none; }
.lbs-fiches--v2 .lbs-def-ligne { border-top-color: rgba(15,74,87,.18); }
.lbs-fiches--v3 .lbs-fiche { background: var(--lbs-beurre); border: 2px dashed var(--lbs-moutarde); box-shadow: none; }
.lbs-fiches--v3 .lbs-def dt { color: #6E510A; }
.lbs-fiches--v3 .lbs-def-ligne { border-top-color: rgba(110,81,10,.2); }
/* Checklist : cases carrées sur carte blanche à reliure moutarde. */
.lbs-encart--checklist { background: var(--lbs-blanc); border: 1px solid var(--lbs-filet); border-top: 6px solid var(--lbs-moutarde); box-shadow: var(--lbs-ombre-1); }
.lbs-encart--checklist > .lbs-encart-titre { color: var(--lbs-encre); }
.lbs-encart--checklist .sb-cards > li::before { border-radius: 5px; background-color: var(--lbs-moutarde); }
/* « À retenir » qui couvre une longue partie à sous-titres : fond clair, pas un bloc sombre interminable. */
.lbs-article .sb-encadre-cle:has(h3) { background: var(--lbs-blanc); color: var(--lbs-encre); border: 1px solid var(--lbs-filet); border-left: 6px solid var(--lbs-canard-profond); }
.lbs-article .sb-encadre-cle:has(h3) :is(h2, h3, p, li) { color: var(--lbs-encre); }
.lbs-article .sb-encadre-cle:has(h3) a { color: var(--lbs-canard); }
.lbs-article .sb-encadre-cle:has(h3) .sb-cards > li::before { background-color: var(--lbs-canard); }
.lbs-article .sb-encadre-cle:has(h3) .sb-cards > li + li { border-top-color: var(--lbs-filet); }

/* 4. Pied de page : « Le site » sous « Les rubriques », colonnes de hauteurs proches. */
@media (min-width: 901px) {
	.lbs-pied .sb-pied-grille { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); column-gap: 56px; }
	.lbs-pied .sb-pied-grille > .sb-pied-col:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
	.lbs-pied .sb-pied-grille > .sb-pied-col:nth-child(3) { grid-column: 1; grid-row: 2; padding-top: 18px; border-top: 1px solid rgba(245,247,246,.14); }
	.lbs-pied .sb-pied-grille > .sb-pied-col:nth-child(3) .sb-pied-liste { display: flex; flex-wrap: wrap; gap: 8px 28px; }
}
/* Passe 4 — 2e publication : fiches à hauteur de leur texte (aucun blanc dans une carte),
 * étapes alignées ; une à 1920 sous 700 px ; définitions qui commencent par une capitale. */
.lbs-fiches--fiches.lbs-fiches--grille { align-items: start; }
.lbs-def dd::first-letter { text-transform: uppercase; }
.lbs-etapes-liste > li { background: var(--lbs-beurre); }
.lbs-etapes-liste > li::before { background: var(--lbs-moutarde); color: var(--lbs-encre); }
@media (min-width: 1700px) {
	.lbs-une-grille { padding: 30px 0 32px; }
	.lbs-une-titre, .lbs-une-titre--long { font-size: 72px; line-height: 1; }
	.lbs-une-minute { padding: 16px 0 20px; }
}
/* Passe 4 — barre latérale : sommaire TOUJOURS en entier, jamais de défilement interne
 * (règle Mathias R-1918, 08/10). Pour que le bloc formulaire + sommaire tienne sous l'en-tête
 * à 1440×780, le sommaire est compacté (lignes serrées), pas coupé. */
@media (min-width: 981px) {
	.sb-art-aside .sb-sommaire ol { max-height: none; overflow: visible; }
	.sb-art-aside .sb-sommaire a { padding: .28rem .5rem; font-size: 13.5px; line-height: 1.3; }
	.sb-art-aside .sb-sommaire { padding: 12px 14px 6px; }
	.lbs-aside-form { padding: 16px 16px 14px; gap: 7px; }
	.lbs-aside-form textarea { min-height: 52px; height: 52px; }
}

/* R-1918 + erreur 27 (08/10, orchestrateur) : sommaire entier, sans barre de défilement ; s'il ne tient pas sous
 * le formulaire, app.js replie les dernières parties derrière un bouton qui les déplie dans la page. */
.sb-art-aside .sb-sommaire li.lbs-som-cache { display: none; }
.lbs-som-plus { display: block; width: 100%; margin: 6px 0 4px; padding: 7px 10px; border: 1px dashed var(--sb-filet, #cfd8d8); border-radius: 8px; background: transparent; font: 600 13.5px var(--lbs-lecture, system-ui); color: var(--sb-accent, #0F4A57); cursor: pointer; text-align: left; }
.lbs-som-plus:hover, .lbs-som-plus:focus-visible { background: var(--sb-surf, #eef3f3); }

/* Cartes « Dans la rubrique » (single) : le lien vit DANS le titre (h3 > a) et s'étire sur toute la carte —
 * un titre de carte interrogatif n'est plus pris pour une question de FAQ (R-0032), carte toujours cliquable. */
.lbs-carte--lien-etire { position: relative; }
.lbs-carte--lien-etire .lbs-carte-lien { display: block; color: inherit; }
.lbs-carte--lien-etire h3 a { display: inline; color: inherit; text-decoration: none; }
.lbs-carte--lien-etire h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lbs-carte--lien-etire h3 a:focus-visible { outline: 2px solid var(--sb-accent, #0F4A57); outline-offset: 2px; }

/* ===================================================================
 * PASSE 5 (08/10/2026) — juge visuel n°3 : finitions
 * =================================================================== */
/* 1. Grilles d'encarts : app.js mesure la vraie hauteur des fiches et choisit la mise en page
 *    sans trou (rangée → 2 colonnes indépendantes → pile). Sans script : la mise en page PHP. */
.lbs-fiches.lbs-fiches--rangee { display: grid; gap: 16px; align-items: start; columns: auto; }
.lbs-fiches.lbs-fiches--deux { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; align-items: start; columns: auto; }
.lbs-fiches.lbs-fiches--pile { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; columns: auto; }
.lbs-fiches-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.lbs-fiches--deux > .lbs-fiche, .lbs-fiches--pile > .lbs-fiche, .lbs-fiches--rangee > .lbs-fiche, .lbs-fiches-col > .lbs-fiche { margin: 0; grid-column: auto; }
.lbs-fiches--deux > .lbs-fiche { grid-column: 1 / -1; }
.lbs-fiches.lbs-fiches--mesure { display: block; columns: auto; }
.lbs-fiches--mesure > .lbs-fiche { display: block; margin: 0 0 16px; }

/* 2. Chapô d'article : la phrase entière choisie côté PHP s'affiche en entier (plus de coupe à la 3e ligne). */
.lbs-article-chapo { display: block; -webkit-line-clamp: unset; overflow: visible; }

/* 4. « Une question pratique ? » : de l'air franc avant le pied de page (≥ 56 px), plus de
 *    100 px de gris au-dessus, plus de chevauchement du pied (même couleur, on ne les distinguait plus). */
.lbs-section:has(+ .lbs-section--cta-jonction) { padding-bottom: 56px; }
.lbs-section.lbs-section--cta-jonction { padding-top: 0; padding-bottom: 72px; }
.lbs-section--blanc + .lbs-section--cta-jonction, .lbs-section--beurre + .lbs-section--cta-jonction, .lbs-section--brume + .lbs-section--cta-jonction { padding-top: 56px; }
.lbs-section--blanc:has(+ .lbs-section--cta-jonction), .lbs-section--beurre:has(+ .lbs-section--cta-jonction), .lbs-section--brume:has(+ .lbs-section--cta-jonction) { padding-bottom: 56px; }
.lbs-cta-carte { margin-bottom: 0; }
body:has(.lbs-section--cta-jonction) .sb-pied { padding-top: 48px; }
@media (max-width: 760px) { .lbs-section.lbs-section--cta-jonction { padding-bottom: 56px; } }

/* 6. Titres de section : hiérarchie nette (accueil et à propos). */
.lbs-section-tete h2, .lbs-titre-clair { font-size: 44px; line-height: 1.08; letter-spacing: -.01em; }
.lbs-section-tete--filet h2 { font-size: 40px; }
.lbs-section-tete--filet { border-left-width: 6px; }
.lbs-demi-colonne-titre { font-size: 36px; line-height: 1.1; border-left-width: 6px; }
.lbs-chiffres-barres h2 { font-size: 40px; line-height: 1.1; }
.lbs-cta-texte h2 { font-size: 36px; }
.lbs-section > .sb-cadre > h2 { font: 700 42px/1.1 var(--lbs-titre); letter-spacing: -.01em; margin-bottom: 22px; }
.lbs-apropos-corrections h2 { font-size: 34px; line-height: 1.15; }
@media (max-width: 760px) {
	.lbs-section-tete h2, .lbs-titre-clair, .lbs-section > .sb-cadre > h2 { font-size: 31px; }
	.lbs-section-tete--filet h2, .lbs-demi-colonne-titre, .lbs-chiffres-barres h2 { font-size: 28px; }
	.lbs-cta-texte h2 { font-size: 28px; }
}
/* 3. Monogrammes d'auteur : la feuille dessinée porte déjà sa reliure → pas de 2e bandeau par-dessus. */
.lbs-auteur-portrait:has(img[src$=".svg"]) .lbs-auteur-portrait-reliure { display: none; }
.lbs-section > .sb-cadre.lbs-apropos-corrections > h2 { font-size: 34px; line-height: 1.15; }
@media (max-width: 760px) { .lbs-section > .sb-cadre.lbs-apropos-corrections > h2 { font-size: 28px; } }

/* RE-0240 (porte de sortie 08/10) : jamais de marge haute nulle — le panneau « Une question pratique ? »
 * garde un espace propre au-dessus de lui, quel que soit le fond de la section qui le précède. */
.lbs-section.lbs-section--cta-jonction { padding-top: 40px; }
.lbs-section:has(+ .lbs-section--cta-jonction) { padding-bottom: 40px; }

/* Juge visuel n°4 (08/10) : une fiche seule dans son groupe occupe toute la largeur de la colonne de texte
 * (elle était coincée dans une colonne de 85-120 px, mots coupés + grand vide — erreur 21). Filet CSS sans JS. */
.lbs-fiches:has(> .lbs-fiche:only-child) { display: block; columns: auto; }
.lbs-fiches > .lbs-fiche:only-child { width: 100%; max-width: none; grid-column: 1 / -1 !important; }
.lbs-fiche { overflow-wrap: break-word; hyphens: manual; word-break: normal; }

/* ===================================================================
 * PASSE /PEAUFINER (08/10/2026) — finitions, direction artistique inchangée
 * =================================================================== */
/* P4. Mobile : le nom « Le Bon Sens » à côté de la feuille dans la barre du haut. */
.lbs-entete-mobile-logo { text-decoration: none; display: inline-flex; align-items: center; }
.lbs-logotype--mobile { gap: 8px; }
.lbs-logotype--mobile .lbs-mono--logo { width: 24px; height: 28px; }
.lbs-logotype--mobile .lbs-logotype-mots { font-size: 20px; line-height: 1; }
.lbs-logotype--mobile .lbs-logotype-nom { font-size: 21px; }

/* P5. Mobile : de l'air entre la grande carte et la liste qui la suit (Argent & Tech, Auto, Loisirs & Table). */
@media (max-width: 900px) {
	.lbs-demi-colonne > .lbs-carte { margin-bottom: 20px; }
	.lbs-demi-colonne > .lbs-duo-portraits { margin-bottom: 4px; }
}

/* P3. « Le journal en chiffres » : l'actualité annoncée à part, sous les barres. */
.lbs-chiffres-note { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 16px 0 0; font: 400 15px/1.45 var(--lbs-lecture); color: var(--lbs-encre); }
.lbs-chiffres-note .lbs-pastille { background: var(--lbs-rub); }
.lbs-chiffres-note a { font-weight: 700; color: var(--lbs-canard); }

/* P8. Rubriques : une phrase d'accroche sous le titre des cartes de la grille. */
.lbs-grille-rubrique .lbs-carte h3 { padding-bottom: 6px; }
.lbs-carte-accroche { margin: 0; padding: 0 16px 10px; font: 400 15px/1.45 var(--lbs-lecture); color: var(--lbs-doux); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* P9. Fil d'Ariane aéré : « Accueil › Maison ». */
.lbs-ariane-sep { white-space: pre; }

/* P11. Contact mobile : titre puis formulaire entier dans le premier écran ; le texte et la photo passent dessous. */
@media (max-width: 900px) {
	body:has(.lbs-contact-bande) .lbs-direct { display: none; }
	.lbs-contact-bande { padding-block: 18px 40px; }
	.lbs-contact-grille { gap: 14px; }
	.lbs-contact-texte { display: contents; }
	.lbs-contact-texte h1 { order: 1; font-size: 30px; line-height: 1.1; margin: 0; }
	.lbs-contact-carte { order: 2; padding: 22px 18px 18px; }
	.lbs-contact-texte p { order: 3; margin: 4px 0 0; }
	.lbs-contact-photo { order: 4; }
	.lbs-form-contact { gap: 11px; }
	.lbs-form-contact .lbs-form-ligne { grid-template-columns: 1fr 1fr; gap: 10px; }
	.lbs-form-champ { gap: 4px; min-width: 0; }
	.lbs-form-champ input, .lbs-form-champ select { min-width: 0; padding: 10px 12px; }
	.lbs-form-champ textarea { height: 68px; min-height: 68px; padding: 10px 12px; }
	.lbs-form-consentement { font-size: 12.5px; }
	.lbs-form-contact .lbs-bouton { min-height: 46px; }
}

/* P10. Page « Tous les dossiers » (plan éditorial, page-dossiers.php). */
.lbs-dossiers-bandeau { background: var(--lbs-canard); color: var(--lbs-lin); padding-block: 40px 44px; }
.lbs-dossiers-bandeau .lbs-article-ariane, .lbs-dossiers-bandeau .lbs-article-ariane a { color: rgba(245,247,246,.85); }
.lbs-dossiers-bandeau h1 { font: 700 56px/1.08 var(--lbs-titre); color: var(--lbs-lin); margin: 8px 0 12px; letter-spacing: -.01em; }
.lbs-dossiers-promesse { font: 400 18px/1.5 var(--lbs-lecture); color: rgba(245,247,246,.9); margin: 0 0 22px; max-width: 60ch; }
.lbs-dossiers-sommaire { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lbs-dossiers-sommaire a { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 6px 14px; border-radius: 999px; background: var(--lbs-blanc); color: var(--lbs-encre); font: 700 14px var(--lbs-lecture); text-decoration: none; }
.lbs-dossiers-sommaire a b { color: var(--lbs-doux); font-weight: 400; }
.lbs-dossiers-sommaire a:hover, .lbs-dossiers-sommaire a:focus-visible { box-shadow: inset 0 0 0 2px var(--lbs-rub); }
.lbs-dossiers-rubrique { scroll-margin-top: 90px; padding-bottom: 36px; margin-bottom: 36px; border-bottom: 1px solid var(--lbs-filet); }
.lbs-dossiers-rubrique:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.lbs-dossiers-tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; }
.lbs-dossiers-tete .lbs-demi-colonne-titre { margin-bottom: 6px; }
.lbs-dossiers-compte { font: 400 16px var(--lbs-lecture); color: var(--lbs-doux); margin-left: 6px; }
.lbs-dossiers-chapo { margin: 0 0 18px; font: 400 italic 17px/1.45 var(--lbs-titre); color: var(--lbs-doux); }
.lbs-dossiers-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 4px 28px; }
.lbs-dossiers-liste a { display: flex; flex-direction: column; gap: 2px; padding: 10px 0 10px 14px; border-left: 3px solid color-mix(in srgb, var(--lbs-rub) 35%, transparent); text-decoration: none; color: var(--lbs-encre); }
.lbs-dossiers-liste a:hover .lbs-dossiers-titre, .lbs-dossiers-liste a:focus-visible .lbs-dossiers-titre { text-decoration: underline; }
.lbs-dossiers-liste a:hover { border-left-color: var(--lbs-rub); }
.lbs-dossiers-titre { font: 700 16px/1.35 var(--lbs-titre); }
.lbs-dossiers-meta { font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-dossiers-actu { font-weight: 700; color: #3A4652; }
@media (max-width: 1024px) { .lbs-dossiers-liste { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 760px) {
	.lbs-dossiers-bandeau { padding-block: 24px 28px; }
	.lbs-dossiers-bandeau h1 { font-size: 34px; }
	.lbs-dossiers-promesse { font-size: 16px; }
	.lbs-dossiers-liste { grid-template-columns: 1fr; }
}

/* --- /peaufiner 08/10 : page À propos refaite (chiffres, rubriques, équipe, FAQ) --- */
.lbs-ap-chiffres { background: var(--lbs-beurre); padding-block: 96px 36px; }
.lbs-ap-chiffres-grille { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.lbs-ap-chiffre { margin: 0; display: flex; flex-direction: column; gap: 2px; padding: 4px 0 4px 16px; border-left: 4px solid var(--lbs-moutarde); }
.lbs-ap-chiffre strong { font: 700 40px/1.1 var(--lbs-titre); color: var(--lbs-canard); }
.lbs-ap-chiffre span { font: 400 14px/1.4 var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-ap-intro { font: 400 17px/1.5 var(--lbs-lecture); color: var(--lbs-doux); margin: 6px 0 22px; max-width: 60ch; }
.lbs-ap-num { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 10px; border-radius: 50%; background: var(--lbs-moutarde); color: var(--lbs-encre); font: 700 15px var(--lbs-lecture); vertical-align: 2px; }
.lbs-ap-rubriques { display: grid; grid-template-columns: repeat(auto-fill,minmax(230px,1fr)); gap: 16px; }
.lbs-ap-rub { display: flex; flex-direction: column; gap: 6px; padding: 18px 18px 16px; background: var(--lbs-blanc); border-radius: var(--lbs-r-m); border-top: 4px solid var(--lbs-canard); box-shadow: var(--lbs-ombre-1); text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s; }
.lbs-ap-rub:hover, .lbs-ap-rub:focus-visible { transform: translateY(-3px); box-shadow: var(--lbs-ombre-2); }
.lbs-ap-rub h3 { font: 700 19px var(--lbs-titre); margin: 0; }
.lbs-ap-rub p { font: 400 14px/1.45 var(--lbs-lecture); color: var(--lbs-doux); margin: 0; flex: 1; }
.lbs-equipe-grille--trois { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 980px; margin-inline: auto; gap: 24px; }
.lbs-equipe-grille--trois .lbs-equipe-carte { padding: 0 18px 20px; }
.lbs-equipe-grille--trois figure { aspect-ratio: 1/1; margin: 0 -18px 16px; }
.lbs-equipe-role { font: 700 13px var(--lbs-lecture); color: var(--lbs-canard); text-transform: uppercase; letter-spacing: .06em; }
.lbs-equipe-grille--trois .lbs-equipe-bio { font: 400 14px/1.5 var(--lbs-lecture); color: var(--lbs-encre); margin: 8px 0 10px; text-align: left; }
.lbs-ap-note { margin: 18px 0 0; text-align: center; font: 400 13px var(--lbs-lecture); color: var(--lbs-doux); }
.lbs-ap-faq { max-width: 760px; margin-inline: auto; }
.lbs-ap-faq details { background: var(--lbs-blanc); border-radius: var(--lbs-r-s); margin-top: 10px; box-shadow: var(--lbs-ombre-1); }
.lbs-ap-faq summary { cursor: pointer; padding: 16px 18px; font: 700 17px var(--lbs-titre); list-style: none; min-height: 44px; }
.lbs-ap-faq summary::-webkit-details-marker { display: none; }
.lbs-ap-faq summary::after { content: "+"; float: right; color: var(--lbs-canard); font-size: 22px; line-height: 1; }
.lbs-ap-faq details[open] summary::after { content: "–"; }
.lbs-ap-faq details p { margin: 0; padding: 0 18px 18px; font: 400 16px/1.55 var(--lbs-lecture); }
@media (max-width: 900px) { .lbs-ap-chiffres-grille { grid-template-columns: repeat(2,1fr); } .lbs-equipe-grille--trois { grid-template-columns: 1fr; max-width: 340px; } .lbs-ap-chiffres { padding-block: 40px 24px; } }
