/*
Theme Name:        La Chaîne du Droit
Theme URI:         https://lachainedudroit.fr
Author:            La Chaîne du Droit
Description:       Thème en blocs de La Chaîne du Droit — « la salle et la page ». Il habille ce que produit le plugin lcdd-core et n'en contient aucune logique : ni donnée, ni requête SQL, ni route. Deux modes, jour et nuit ; en nuit, seule la loi reste éclairée.
Version:           1.0.43
Requires at least: 6.6
Tested up to:      7.1
Requires PHP:      8.1
License:           GPL-2.0-or-later
Text Domain:       lcdd-theme
*/

/* ══════════════════════════════════════════════════════════════════════════
   1. JETONS DES DEUX MODES

   Toutes les couleurs « selon le mode » de theme.json pointent ici. Un seul
   jeu de noms, deux jeux de valeurs : un écran est dessiné une fois.

   ⚠ La classe .lcdd-nuit applique le mode nuit à un SOUS-ARBRE. Jusqu'en
     1.0.17, la salle (direct, atelier) la portait et restait sombre en jour ;
     depuis 1.0.18, elle suit le mode du visiteur (décision d'Ambroise,
     21 octobre 2026 : le bouton jour/nuit n'y faisait rien).
     Les propriétés personnalisées héritent ; les poser sur un conteneur
     suffit pour tout ce qu'il contient, plugin compris.

   Contrastes calculés par deploy/bin/contraste.py — tous ≥ 4,5:1 pour le
   texte courant (le plus faible : #B83A48 sur #F3EDD3, 4,78:1).
   ══════════════════════════════════════════════════════════════════════════ */

/* @socle-jeu */
:root {
	--lcdd-t-fond: #FBFAF6;
	--lcdd-t-surface: #FFFFFF;
	--lcdd-t-encre: #113F59;
	--lcdd-t-encre-douce: #34536A;
	--lcdd-t-encre-pale: #5B7183;
	--lcdd-t-filet: #E4E1D6;
	--lcdd-t-filet-fort: #113F59;
	--lcdd-t-lien: #0E6E70;
	--lcdd-t-action: #113F59;
	--lcdd-t-action-encre: #FFFFFF;
	--lcdd-t-corail-texte: #B83A48;
	--lcdd-t-note: #FBF1EE;
	--lcdd-t-puce-fond: #E8F7F6;
	--lcdd-t-puce-encre: #0E6E70;
	--lcdd-t-ombre-papier: none;
	--lcdd-t-barre: rgba(255, 255, 255, .94);

	--lcdd-papier: #F3EDD3;
	--lcdd-papier-encre: #0A2B3E;
	--lcdd-salle: #071E2C;
	--lcdd-salle-surface: #0A2B3E;

	--lcdd-entete-h: 0px;
	color-scheme: light;
}

html[data-lcdd-mode="nuit"],
.lcdd-nuit {
	--lcdd-t-fond: #071E2C;
	--lcdd-t-surface: #0A2B3E;
	--lcdd-t-encre: #F3EDD3;
	--lcdd-t-encre-douce: #BFBFAE;
	--lcdd-t-encre-pale: #949A90;
	--lcdd-t-filet: #1D3A49;
	--lcdd-t-filet-fort: #F3EDD3;
	--lcdd-t-lien: #20D6C7;
	--lcdd-t-action: #20D6C7;
	--lcdd-t-action-encre: #071E2C;
	--lcdd-t-corail-texte: #F08A90;
	--lcdd-t-note: #0E3346;
	--lcdd-t-puce-fond: #0A343F;
	--lcdd-t-puce-encre: #20D6C7;
	--lcdd-t-ombre-papier: 0 30px 60px -20px rgba(0, 0, 0, .55);
	--lcdd-t-barre: rgba(7, 30, 44, .92);
	color-scheme: dark;
}

/* Contraste renforcé — bouton de la barre d'accessibilité. */
html.lcdd-contraste {
	--lcdd-t-encre-douce: var(--lcdd-t-encre);
	--lcdd-t-encre-pale: var(--lcdd-t-encre);
	--lcdd-t-filet: var(--lcdd-t-encre-pale);
}
html.lcdd-texte-grand { font-size: 112.5%; }
/*
 * ⚠ En contraste renforcé, le filet prend la couleur de l'encre. Tout ce qui
 *   s'en sert comme FOND — le rail d'une barre, un interrupteur éteint —
 *   devenait de la couleur de ce qu'il porte : les barres de la page des
 *   statistiques paraissaient toutes pleines (signalement n° 25, 1.0.41).
 *   Le rail devient un contour.
 */
html.lcdd-contraste .lcdd-contenu .lcdd-st__bt,
html.lcdd-contraste .lcdd-affichage__choix:not([aria-pressed="true"]) i { background: transparent; box-shadow: inset 0 0 0 1.5px var(--lcdd-t-encre); }
html.lcdd-contraste .lcdd-affichage__choix:not([aria-pressed="true"]) i::after { background: var(--lcdd-t-encre); }
/* @fin-socle-jeu */

/* ══════════════════════════════════════════════════════════════════════════
   2. HARMONISATION AVEC LE PLUGIN

   Le plugin publie ses variables --lcdd-* dans un :root en ligne
   (Frontend\Theme::print_vars). `html:root` les surclasse par spécificité,
   sans dépendre de l'ordre d'impression.

   ⚠ Le plugin emploie --lcdd-primary à la fois comme COULEUR DE TEXTE
     (titres de panneaux) et comme FOND DE BOUTON (texte blanc en dur). Aucune
     valeur unique ne convient aux deux sur fond sombre : la section 2 bis
     corrige les boutons et les bandeaux en mode nuit. La correction durable
     est dans le plugin — séparer « primary » en encre et en aplat.
   ══════════════════════════════════════════════════════════════════════════ */

/* @socle-jeu */
html:root,
html:root .lcdd-nuit,
html:root[data-lcdd-mode="nuit"] {
	--lcdd-font: var(--wp--preset--font-family--sans);
	--lcdd-sans: var(--wp--preset--font-family--sans);
	--lcdd-serif: var(--wp--preset--font-family--serif);
	--lcdd-mono: var(--wp--preset--font-family--mono);
	--lcdd-radius: 8px;
	--lcdd-radius-sm: 6px;
	--lcdd-radius-xs: 4px;
	--lcdd-cream: #F3EDD3;
	--lcdd-live: #B83A48;
	/* Les fonds du plugin restent marine dans les deux modes (lcdd-core 0.12.77). */
	--lcdd-aplat: #113F59;
}

/* ⚠ Un sous-arbre en nuit doit aussi porter sa COULEUR de texte, pas seulement
   ses variables : WordPress fait hériter la couleur des liens de navigation
   (« color:inherit », plus spécifique que nos règles), et ils héritaient le
   marine de la page — invisibles dans l'en-tête de la salle en mode jour.
   Mesuré au rendu le 19 octobre 2026. */
.lcdd-nuit { color: var(--lcdd-t-encre); }

html:root {
	--lcdd-primary: #113F59;
	--lcdd-secondary: #19BEC0;
	--lcdd-secondary-ink: #0E6E70;
	--lcdd-accent: #19BEC0;
	--lcdd-text: #113F59;
	--lcdd-ink: #113F59;
	--lcdd-muted: #5B7183;
	--lcdd-faint: #5B7183;
	--lcdd-bg: #FFFFFF;
	--lcdd-surface: #F6F4EC;
	--lcdd-surface-2: #EEEBE2;
	--lcdd-border: #E4E1D6;
	--lcdd-line: #E4E1D6;
	--lcdd-shadow: none;
	--lcdd-shadow-lg: 0 18px 50px rgba(17, 63, 89, .14);
}

html:root[data-lcdd-mode="nuit"],
html:root .lcdd-nuit {
	--lcdd-primary: #F3EDD3;
	--lcdd-secondary: #20D6C7;
	--lcdd-secondary-ink: #20D6C7;
	--lcdd-accent: #20D6C7;
	--lcdd-text: #F3EDD3;
	--lcdd-ink: #F3EDD3;
	--lcdd-muted: #BFBFAE;
	--lcdd-faint: #949A90;
	--lcdd-bg: #0A2B3E;
	--lcdd-surface: #0E3346;
	--lcdd-surface-2: #13394C;
	--lcdd-border: #1D3A49;
	--lcdd-line: #1D3A49;
	--lcdd-shadow: none;
	--lcdd-shadow-lg: 0 18px 50px rgba(0, 0, 0, .5);
	/* Variables de la frise (lcdd-refs-010.css) et des états — lcdd-core 0.12.77.
	   Contrastes calculés : 6,5 à 7,8:1. */
	--lcdd-wash: #0E3346;
	--lcdd-etat-vigueur: #34D399;
	--lcdd-etat-abroge: #F08A90;
	--lcdd-etat-modifie: #E5B45A;
	--lcdd-avert-fond: #2A2410;
}

/* @fin-socle-jeu */
/* En nuit, le texte de chaque version est posé sur le papier crème : la loi
   reste la seule chose éclairée, comme dans les maquettes. */
/* Les changements d'une rédaction à l'autre (1.0.25). Le texte est sur le
   papier en nuit comme en jour : une seule palette. Retiré : barré, rouge
   brique ; ajouté : surligné vert, souligné, pour qui ne distingue pas les
   couleurs. Contrastes : 7,1:1 et 7,4:1. Un lecteur d'écran entend « début
   du texte retiré… fin du texte retiré ». */
/* `pre-line` (1.0.37) : les alinéas du texte source restent des alinéas,
   dans le texte marqué comme dans le texte simple. */
.lcdd-marque { white-space: pre-line; max-width: 56ch; }
:is(.lcdd-marque, .lcdd-fr__legende) :is(ins, del) { padding: 0 .12em; border-radius: 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
:is(.lcdd-marque, .lcdd-fr__legende) del { background: #F5D8D3; color: #84261D; text-decoration: line-through; text-decoration-thickness: 1.5px; }
:is(.lcdd-marque, .lcdd-fr__legende) ins { background: #CDEEDF; color: #0A5539; text-decoration: underline; text-decoration-color: rgba(10, 85, 57, .45); text-underline-offset: .18em; }
.lcdd-marque :is(ins, del)::before,
.lcdd-marque :is(ins, del)::after { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lcdd-marque del::before { content: " [début du texte retiré] "; }
.lcdd-marque del::after { content: " [fin du texte retiré] "; }
.lcdd-marque ins::before { content: " [début du texte ajouté] "; }
.lcdd-marque ins::after { content: " [fin du texte ajouté] "; }
.lcdd-fr__legende { margin: 0 0 8px; font-size: .875rem; color: var(--lcdd-t-encre-douce); }
.lcdd-fr__legende :is(ins, del) { font-weight: 600; }
.lcdd-fr__sansdiff { margin: 8px 0 0; font-size: .875rem; color: var(--lcdd-t-encre-pale); }
.lcdd-sansmarques { margin: 8px 0 0; }
.lcdd-sansmarques > summary { cursor: pointer; font-size: .875rem; font-weight: 600; color: var(--lcdd-t-lien, #0E6E70); }
.lcdd-sansmarques[open] > summary { margin-bottom: 8px; }

:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) :is(.lcdd-fr__t, .lcdd-pc__vt) {
	--lcdd-verbatim: #0A2B3E;
	background: #F3EDD3;
	padding: .75rem 1rem;
	border-radius: 4px;
	box-shadow: var(--lcdd-t-ombre-papier);
}

/* 2 bis — composants du plugin en mode nuit. */
/* @socle-jeu */
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-btn { background: #20D6C7; color: #071E2C; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-btn--ghost { background: transparent; color: #F3EDD3; border-color: rgba(243, 237, 211, .45); }
/* @fin-socle-jeu */
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-btn--live { background: #B83A48; color: #FFFFFF; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-badge--role { background: #20D6C7; color: #071E2C; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-badge--soon { background: #F3EDD3; color: #0A2B3E; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd input,
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd textarea,
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd select { background: #071E2C; color: #F3EDD3; border-color: #1D3A49; }

/* Le plugin dessine un dégradé et un halo sur son bandeau : le thème les
   retire, en jour comme en nuit. Un aplat et un filet suffisent. */
.lcdd-hero::after { display: none; }
.lcdd-hero .lcdd-btn--ghost { color: var(--lcdd-t-encre); }
/* @socle-jeu */
.lcdd-btn { border-radius: 6px; box-shadow: none; }
.lcdd-btn:hover { box-shadow: none; filter: none; }
/* @fin-socle-jeu */

/* Le sélecteur de niveau du plugin est déplacé dans la barre d'accessibilité
   (filtre lcdd_show_reading_level_switcher). On l'y met en forme. */
.lcdd-utilitaire .lcdd-lvl { position: static; display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--lcdd-t-filet); border-radius: 6px; background: var(--lcdd-t-surface); box-shadow: none; }
.lcdd-utilitaire .lcdd-lvl__btn { min-height: 30px; padding: 0 10px; border: 0; border-radius: 4px; background: transparent; color: var(--lcdd-t-encre); font: 500 .8125rem/1 var(--wp--preset--font-family--sans); cursor: pointer; }
.lcdd-utilitaire .lcdd-lvl__btn.is-on { background: var(--lcdd-t-encre); color: var(--lcdd-t-fond); font-weight: 600; }

/* ══════════════════════════════════════════════════════════════════════════
   3. BASE
   ══════════════════════════════════════════════════════════════════════════ */

/* @socle-jeu */
body { background: var(--lcdd-t-fond); color: var(--lcdd-t-encre); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(a) { text-underline-offset: .2em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--lcdd-t-lien); outline-offset: 2px; }
.lcdd-mono { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; }
/* @fin-socle-jeu */

/* ══ La lecture (1.0.24) ═════════════════════════════════════════════════
   Mesuré sur 18 pages, à 1440, 1024 et 390 px, le 22 octobre 2026 :
   • des lignes de 97 à 172 signes (paragraphes, extraits de recherche,
     texte de loi, mentions légales) : au-delà de 80, l'œil perd le début
     de la ligne suivante ;
   • 79 blocs finissant par un mot seul sur sa ligne, titres compris.
   La mesure : 56ch, soit environ 75 signes en Plex Sans (le « 0 » fait
   0,6 em, un signe moyen 0,43 em). Les titres s'équilibrent ; les
   paragraphes évitent la dernière ligne d'un mot (text-wrap: pretty, ignoré
   sans dommage par un navigateur qui ne le connaît pas). */
/* @socle-jeu */
:is(h1, h2, h3, h4, figcaption, .lcdd-hero__title) { text-wrap: balance; }
:is(p, li, dd, blockquote, .lcdd-hint) { text-wrap: pretty; }
main :is(p, li, dd, blockquote, figcaption, .lcdd-hint) { max-width: 56ch; }
/* @fin-socle-jeu */
main :is(p, li).has-text-align-center { margin-inline: auto; }
/* Libellés courts sur deux lignes : on équilibre, pour ne pas laisser
   « parlementaire » ou « d’audience » seul en bas. */
:is(.lcdd-corpus dd, .lcdd-legal__sommaire li) { text-wrap: balance; }
/* Dans un cadre (carte de résultat, encadré), c'est le CADRE qui prend la
   mesure, et le texte le remplit : un texte de 56ch dans une carte de
   1 280 px laissait la moitié droite vide. */
.lcdd-contenu .lcdd-legif__list { max-width: 39rem; }
.lcdd-contenu .lcdd-fr__rupture { max-width: 30rem; }
main :is(.lcdd-legifcard, .lcdd-fr__rupture) :is(p, li, dd) { max-width: none; }
/* Surtitre court (deux à quatre mots) : capitales espacées, rétablies en
   1.0.23 à la demande d'Ambroise. Jamais pour un nom, une adresse ou une
   phrase : en capitales, un texte long se lit plus lentement. */
.lcdd-surtitre { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; letter-spacing: .09em; text-transform: uppercase; color: var(--lcdd-t-corail-texte); margin: 0; }
.lcdd-chiffre { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; }
.lcdd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Les guillemets d'ouverture d'un texte de loi sont placés dans la marge. */
.lcdd-verbatim { font-family: var(--wp--preset--font-family--serif); text-indent: -.45em; }

/* ══════════════════════════════════════════════════════════════════════════
   4. EN-TÊTE
   ══════════════════════════════════════════════════════════════════════════ */

.lcdd-utilitaire { background: #F3EDD3; color: #113F59; border-bottom: 1px solid #E4DCBE; font-size: .8125rem; }
html[data-lcdd-mode="nuit"] .lcdd-utilitaire { background: #0A2B3E; color: #F3EDD3; border-bottom-color: #1D3A49; }
.lcdd-utilitaire__in { max-width: 1280px; margin: 0 auto; padding: 6px clamp(1rem, 4vw, 2.5rem); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.lcdd-utilitaire__mention { margin-right: auto; }
.lcdd-utilitaire__in { justify-content: flex-end; }
.lcdd-utilitaire a { color: inherit; text-decoration: none; font-weight: 600; }
.lcdd-utilitaire__btn { min-height: 30px; padding: 0 10px; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; font: 600 .8125rem/1 var(--wp--preset--font-family--sans); cursor: pointer; opacity: .9; }
.lcdd-utilitaire__btn[aria-pressed="true"] { background: currentColor; }
.lcdd-utilitaire__btn[aria-pressed="true"] span { color: #F3EDD3; }
html[data-lcdd-mode="nuit"] .lcdd-utilitaire__btn[aria-pressed="true"] span { color: #0A2B3E; }

.lcdd-entete { position: sticky; top: 0; z-index: 50; background: var(--lcdd-t-barre); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--lcdd-t-filet); }
.admin-bar .lcdd-entete { top: 32px; }
@media (max-width: 782px) { .admin-bar .lcdd-entete { top: 0; } }
.lcdd-entete__in { max-width: 1280px; margin: 0 auto; padding: 12px clamp(1rem, 4vw, 2.5rem); display: flex; align-items: center; gap: 28px; }
.lcdd-logo { display: block; flex-shrink: 0; line-height: 0; }
.lcdd-logo img { height: 42px; width: auto; }
/* @socle-jeu */
.lcdd-logo__nuit { display: none; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-logo__jour { display: none; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) .lcdd-logo__nuit { display: block; }
/* @fin-socle-jeu */
.lcdd-entete .wp-block-navigation { flex: 1 1 auto; }
.lcdd-entete .wp-block-navigation a { color: var(--lcdd-t-encre); text-decoration: none; }
.lcdd-entete .wp-block-navigation a:hover,
.lcdd-entete .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; }
.lcdd-entete__actions { display: flex; align-items: center; gap: 12px; }
.lcdd-entete__actions a { white-space: nowrap; }
.lcdd-mode { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--lcdd-t-filet); border-radius: 6px; background: transparent; color: var(--lcdd-t-encre); cursor: pointer; }
.lcdd-mode svg { width: 18px; height: 18px; }
.lcdd-mode__soleil { display: none; }
html[data-lcdd-mode="nuit"] .lcdd-mode__lune { display: none; }
html[data-lcdd-mode="nuit"] .lcdd-mode__soleil { display: block; }
.lcdd-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 6px; background: var(--lcdd-t-action); color: var(--lcdd-t-action-encre) !important; font-weight: 600; font-size: .9375rem; text-decoration: none !important; border: 0; cursor: pointer; }
.lcdd-bouton--corail { background: #B83A48; color: #FFFFFF !important; }
.lcdd-bouton--clair { background: #20D6C7; color: #071E2C !important; }
.lcdd-bouton--contour { background: transparent; color: var(--lcdd-t-encre) !important; border: 1px solid currentColor; }
.lcdd-bouton--grand { min-height: 54px; padding: 0 24px; font-size: 1rem; }
@media (max-width: 900px) {
	.lcdd-utilitaire__mention { display: none; }
	.lcdd-entete__in { gap: 14px; }
	.lcdd-entete__question { display: none !important; }
}

/* ══════════════════════════════════════════════════════════════════════════
   5. LA SALLE ET LA PAGE
   ══════════════════════════════════════════════════════════════════════════ */

.lcdd-salle { background: #071E2C; color: #F3EDD3; }
.lcdd-salle h1, .lcdd-salle h2, .lcdd-salle h3 { color: #F3EDD3; }
.lcdd-salle a:not(.lcdd-bouton, .lcdd-btn) { color: #20D6C7; }

/* L'écran : deux cadres décalés, en trait fin — le seul endroit où le motif
   du logo apparaît. La retenue est la signature. */
/* Les trois cadres du logo (1.0.23). Le turquoise, presque droit, devient
   le bord de l'écran ; le crème et le rouge s'inclinent derrière, du même
   sens que dans le logo. Ils sont dessinés en CSS, et non plus en SVG étiré
   (preserveAspectRatio="none") : une rotation dans un SVG déformé devient un
   cisaillement, et les cadres se tordaient sur téléphone. */
.lcdd-ecran { --lcdd-ecran-marge: clamp(14px, 2vw, 24px); position: relative; isolation: isolate; padding: var(--lcdd-ecran-marge); }
.lcdd-ecran::before,
.lcdd-ecran::after { content: ""; position: absolute; inset: calc(var(--lcdd-ecran-marge) - 6px); z-index: -1; border-radius: 20px; pointer-events: none; }
.lcdd-ecran::before { border: 2px solid rgba(243, 237, 211, .5); transform: rotate(-1.6deg); }
.lcdd-ecran::after { border: 2px solid #D54F58; transform: rotate(2deg); }
.lcdd-ecran__boite { position: relative; border-radius: 16px; background: #0A2B3E; padding: 12px; border: 2px solid #19BEC0; box-shadow: 0 40px 80px -24px rgba(0, 0, 0, .6); }
.lcdd-ecran__image { position: relative; aspect-ratio: 16 / 9; border-radius: 8px; background: #000; overflow: hidden; display: block; }
.lcdd-ecran__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lcdd-ecran__lire { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; border-radius: 50%; background: #F3EDD3; color: #071E2C; display: flex; align-items: center; justify-content: center; }
.lcdd-ecran__bandeau { position: absolute; left: 24px; right: 24px; bottom: 22px; display: flex; }
.lcdd-ecran__bandeau::before { content: ""; width: 5px; flex-shrink: 0; background: #D54F58; }
.lcdd-ecran__bandeau span { padding: 9px 14px; background: rgba(243, 237, 211, .96); color: #071E2C; font-weight: 600; font-size: 1.0625rem; }
.lcdd-ecran__pied { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 14px 6px 2px; }
/* Sur téléphone, le bandeau passait sur deux lignes et couvrait le bouton de
   lecture : il se resserre, le bouton rapetisse. (1.0.23) */
@media (max-width: 600px) {
	.lcdd-ecran__lire { width: 52px; height: 52px; top: 38%; }
	.lcdd-ecran__bandeau { left: 12px; right: 12px; bottom: 12px; }
	.lcdd-ecran__bandeau span { padding: 6px 10px; font-size: .875rem; line-height: 1.35; }
}
.lcdd-direct-etat { display: inline-flex; align-items: center; gap: 8px; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: #F08A90; }
.lcdd-direct-etat::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #D54F58; }
.lcdd-direct-etat[data-etat="direct"]::before { animation: lcdd-pouls 1.6s infinite; }
@keyframes lcdd-pouls { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }

/* La page : la loi, posée sur du papier crème, dans les deux modes. */
/* @socle-jeu */
.lcdd-papier { background: #F3EDD3; color: #0A2B3E; border-radius: 4px; box-shadow: var(--lcdd-t-ombre-papier); }
.lcdd-papier :is(h1, h2, h3, p) { color: #0A2B3E; }
/* @fin-socle-jeu */
.lcdd-papier a { color: #0A2B3E; }
.lcdd-papier .lcdd-surtitre { color: #B83A48; }

.lcdd-filets > * + * { border-left: 1px solid var(--lcdd-t-filet); }
@media (max-width: 781px) { .lcdd-filets > * + * { border-left: 0; border-top: 1px solid var(--lcdd-t-filet); } }

.lcdd-porte { display: block; padding: 30px 26px; color: var(--lcdd-t-encre) !important; text-decoration: none !important; }
.lcdd-porte:hover .lcdd-porte__titre { text-decoration: underline; text-underline-offset: 5px; }
.lcdd-porte__titre { display: block; margin-top: 10px; font-size: 1.1875rem; font-weight: 600; line-height: 1.3; }

.lcdd-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); border-top: 2px solid var(--lcdd-t-filet-fort); }
.lcdd-etapes li { padding: 22px 24px 0 0; }
.lcdd-etapes__t { display: block; font-size: 1.125rem; font-weight: 600; }
.lcdd-etapes__d { display: block; margin-top: 6px; font-size: .9375rem; line-height: 1.55; color: var(--lcdd-t-encre-douce); }
@media (max-width: 781px) {
	.lcdd-etapes { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--lcdd-t-filet-fort); }
	.lcdd-etapes li { padding: 0 0 16px 20px; }
}

.lcdd-corpus { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); border-top: 1px solid rgba(243, 237, 211, .18); }
.lcdd-corpus > div { padding: 24px 20px 0 0; }
.lcdd-corpus > div + div { border-left: 1px solid rgba(243, 237, 211, .18); padding-left: 20px; }
.lcdd-corpus dt { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; font-size: clamp(1.5rem, 2.6vw, 2.125rem); color: #F3EDD3; }
.lcdd-corpus dd { margin: 8px 0 0; font-size: .875rem; line-height: 1.45; color: #BFBFAE; }
.lcdd-corpus__absent { font-family: var(--wp--preset--font-family--sans); font-size: 1rem; color: #949A90; }
@media (max-width: 600px) {
	.lcdd-corpus { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
	.lcdd-corpus > div, .lcdd-corpus > div + div { border-left: 0; padding-left: 0; }
}

.lcdd-encadre { padding: 26px 28px; border-radius: 6px; background: var(--lcdd-t-note); }
.lcdd-carte { padding: 26px 28px; border-radius: 6px; background: var(--lcdd-t-surface); border: 1px solid var(--lcdd-t-filet); }
.lcdd-emplacement { display: inline-flex; align-items: center; justify-content: center; width: 120px; height: 52px; border: 1px dashed var(--lcdd-t-filet); border-radius: 4px; font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; color: var(--lcdd-t-encre-pale); }

/* Les blocs du plugin dans le thème : ils prennent la largeur large. */
.wp-site-blocks .lcdd-page { max-width: none; padding-left: 0; padding-right: 0; }
.lcdd-contenu .lcdd { font-family: var(--wp--preset--font-family--sans); }

/* ══════════════════════════════════════════════════════════════════════════
   6. PIED DE PAGE ET BARRE MOBILE
   ══════════════════════════════════════════════════════════════════════════ */

.lcdd-pied { background: #071E2C; color: #BFBFAE; font-size: .9375rem; }
.lcdd-pied a { color: #F3EDD3; text-decoration: none; }
.lcdd-pied a:hover { text-decoration: underline; }
.lcdd-pied h2 { color: #949A90; font-size: .8125rem; font-weight: 600; letter-spacing: 0; margin: 0 0 12px; }
.lcdd-pied ul { list-style: none; margin: 0; padding: 0; line-height: 2; }
.lcdd-pied__mentions { border-top: 1px solid rgba(243, 237, 211, .12); font-size: .875rem; color: #949A90; }
/* Le soutien d'Infomaniak : UNE ligne, dans la bande des mentions. Texte et
   logo suivent la même taille, qui se réduit avec l'écran : jamais de retour
   à la ligne, même à 320 px. */
.lcdd-pied__soutien { max-width: 1280px; margin: 0 auto; padding: 18px clamp(1rem, 4vw, 2.5rem) 6px; font-size: .875rem; line-height: 1.6; color: #BFBFAE; }
/* « d’ » et le logo ne se séparent jamais ; sur ordinateur la phrase tient sur
   une ligne, sur un téléphone elle passe sur deux, le logo en fin de phrase. */
/* Le logo d'Infomaniak est posé SUR LA LIGNE DE BASE de la phrase : le bas de
   ses lettres touche celui du texte, et son « i » monte à hauteur des
   majuscules. Centré verticalement, il flottait au-dessus. La zone tactile
   (44 px) est portée par un pseudo-élément, sans élargir la ligne. (1.0.7) */
.lcdd-pied__logo { white-space: nowrap; }
.lcdd-pied__soutien a { position: relative; display: inline-block; margin-left: .3em; line-height: 1; border-radius: 3px; }
.lcdd-pied__soutien a::after { content: ""; position: absolute; inset: -14px -6px; }
.lcdd-pied__soutien a:focus-visible { outline: 2px solid #20D6C7; outline-offset: 4px; }
.lcdd-pied__soutien img { display: inline-block; height: 1.02em; width: auto; vertical-align: baseline; margin-bottom: -.05em; }
.lcdd-pied__mentions a { color: #20D6C7; }
.lcdd-pied__bas { max-width: 1280px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2.5rem) 28px; }
.lcdd-pied__version { font-family: var(--wp--preset--font-family--mono, "IBM Plex Mono", monospace); font-size: .625rem; letter-spacing: .03em; color: #5E727C; }

.lcdd-barre-mobile { display: none; }
@media (max-width: 781px) {
	body { padding-bottom: 84px; }
	.lcdd-barre-mobile { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; height: 84px; box-sizing: border-box; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; background: var(--lcdd-t-barre); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-top: 1px solid var(--lcdd-t-filet); }
	.lcdd-barre-mobile a { display: flex; flex-direction: column; align-items: center; gap: 3px; min-height: 44px; font-size: .6875rem; font-weight: 500; color: var(--lcdd-t-encre-pale); text-decoration: none; }
	.lcdd-barre-mobile a[aria-current="page"] { color: var(--lcdd-t-encre); font-weight: 700; }
	.lcdd-barre-mobile svg { width: 22px; height: 22px; }
	.lcdd-barre-mobile .lcdd-barre-mobile__plus { justify-self: center; width: 50px; height: 50px; border-radius: 50%; background: #B83A48; color: #FFFFFF; justify-content: center; }
	.lcdd-salle-page .lcdd-barre-mobile { display: none; }
	.lcdd-salle-page body, body.lcdd-salle-page { padding-bottom: 0; }
}

/* ══════════════════════════════════════════════════════════════════════════
   7. LES PAGES SOMBRES (direct, replay)
   ══════════════════════════════════════════════════════════════════════════ */

/* La salle suit le mode (1.0.18). Elle ne porte plus .lcdd-nuit : ses
   couleurs sont celles des jetons — la nuit, exactement les valeurs d'avant
   (#071E2C, #F3EDD3, #20D6C7) ; le jour, celles de la page. Le bouton
   jour/nuit, sans effet ici jusqu'alors, fait ce qu'il annonce.
   .lcdd-salle reste écrit en dur pour les bandes sombres de l'accueil, qui
   ne sont pas des pages de salle. L'écran de la vidéo (.lcdd-ecran__boite)
   reste sombre dans les deux modes : c'est un écran. */
body.lcdd-salle-page { background: var(--lcdd-t-fond); }
body.lcdd-salle-page .lcdd-entete { background: var(--lcdd-t-barre); border-bottom-color: var(--lcdd-t-filet); }
body.lcdd-salle-page main.lcdd-salle { background: var(--lcdd-t-fond); color: var(--lcdd-t-encre); }
body.lcdd-salle-page main.lcdd-salle :is(h1, h2, h3) { color: var(--lcdd-t-encre); }
body.lcdd-salle-page main.lcdd-salle a:not(.lcdd-bouton, .lcdd-btn) { color: var(--lcdd-t-lien); }

/* Entre la tablette et le grand écran, l'en-tête doit tenir sur une ligne :
   mesuré à 800 px, la navigation passait sur deux. */
@media (max-width: 1180px) {
	.lcdd-entete__in { gap: 18px; }
	.lcdd-entete .wp-block-navigation { --wp--style--block-gap: 16px; font-size: .875rem; }
	.lcdd-logo img { height: 36px; }
}
@media (max-width: 1024px) and (min-width: 600px) {
	.lcdd-entete .wp-block-navigation__container { gap: 12px !important; }
}
/* ⚠ Petits téléphones (320-380 px) : logo, menu, mode et « Connexion »
   dépassaient de 14 px — mesuré à 320 px le 20 octobre 2026, sur toutes les
   pages. Tout le site glissait alors latéralement sous le pouce. */
@media (max-width: 380px) {
	.lcdd-entete__in { gap: 10px; }
	.lcdd-logo img { height: 30px; }
	.lcdd-entete__actions { gap: 8px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   8. LE BANDEAU DES PAGES DU PLUGIN (.lcdd-hero)

   ⚠ lcdd.css impose « color:#fff !important » à ses titres (l. 304-308) :
     sur le fond clair du thème, le bandeau des Ateliers et de « Vos
     questions » était BLANC SUR BLANC — vu au rendu, le 19 octobre 2026.
     Seul un !important plus spécifique peut le défaire. Les couleurs suivent
     le mode : encre en jour, crème dans la salle.
   ══════════════════════════════════════════════════════════════════════════ */
html body .lcdd-hero :is(.lcdd-hero__title, h1, h2, h3),
html body .lcdd-hero .lcdd-hero__sub { color: var(--lcdd-t-encre) !important; }
html body .lcdd-hero .lcdd-btn { background: var(--lcdd-t-action); color: var(--lcdd-t-action-encre) !important; border-color: transparent; }
html body .lcdd-hero .lcdd-btn--ghost { background: transparent; color: var(--lcdd-t-encre) !important; border-color: currentColor; }

/* Une page courte ne laisse pas de bande claire sous le pied : le contenu
   s'étire (vu au rendu sur /lcdd-parcours/, 19 octobre 2026). */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1 0 auto; }

/* ══════════════════════════════════════════════════════════════════════════
   9. LES ÉCRANS DU PLUGIN, DANS LA LANGUE DU THÈME (1.0.4)

   ⚠ Jusqu'à la 1.0.3, le thème ne faisait que recolorer les écrans du
     plugin : bandeau-carte bordé, cartes à ombre, pastilles à emoji,
     colonnes décalées de 40 px sur l'en-tête. Ils lisaient comme un écran
     d'administration posé dans un site éditorial. Ils prennent ici les
     règles des pages dessinées (accueil, bibliothèque) : un surtitre, un
     grand titre, des filets fins, des chiffres en Plex Mono, aucun
     pictogramme décoratif.
   ══════════════════════════════════════════════════════════════════════════ */

/* Une seule colonne pour tout le site : l'en-tête, le contenu et le pied
   commencent au même pixel, de 320 à 1440 px. */
.lcdd-entete__in, .lcdd-utilitaire__in { box-sizing: content-box; }
main.lcdd-colonne { padding-left: clamp(1rem, 4vw, 2.5rem); padding-right: clamp(1rem, 4vw, 2.5rem); }
.wp-site-blocks :is(.lcdd-page, .lcdd-dashboard) { max-width: none; margin: 0; padding: 0; }

/* L'en-tête de page : surtitre, titre, chapeau, un filet. */
html body .lcdd-hero { background: none !important; border: 0; border-bottom: 1px solid var(--lcdd-t-filet); border-radius: 0; box-shadow: none; padding: 8px 0 32px; margin: 0 0 40px; overflow: visible; color: var(--lcdd-t-encre); }
.lcdd-hero__kicker,
.lcdd-contenu .lcdd-eyebrow { font-family: var(--wp--preset--font-family--sans); font-size: .9375rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--lcdd-t-encre-douce); margin: 0; }
html body .lcdd-hero .lcdd-hero__title,
.lcdd-contenu .lcdd-dash__title { margin: 14px 0 0; max-width: 24ch; font-size: clamp(2rem, 4.2vw, 3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; color: var(--lcdd-t-encre) !important; }
html body .lcdd-hero .lcdd-hero__sub { margin: 14px 0 0; max-width: 60ch; font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); line-height: 1.55; opacity: 1; color: var(--lcdd-t-encre-douce) !important; }
html body .lcdd-hero .lcdd-hero__cta { margin-top: 24px; }
.lcdd-contenu .lcdd-dash__head { align-items: flex-end; padding: 8px 0 32px; margin: 0 0 40px; border-bottom: 1px solid var(--lcdd-t-filet); }

/* Le tableau de bord (1.0.22). Signalé par Ambroise : « tout est trop tassé,
   les tailles de police pas très bonnes ». Quatre colonnes de 300 px
   serraient des panneaux à 15 px de texte. Deux colonnes, des marges
   intérieures franches, un corps de 1 rem, les boutons en pied de panneau. */
.lcdd-contenu .lcdd-dashboard { max-width: none; padding: 0; }
.lcdd-contenu .lcdd-dash__meta { margin: 18px 0 0; font-size: 1.0625rem; line-height: 1.5; color: var(--lcdd-t-encre-douce); }
.lcdd-contenu .lcdd-dash__n { font-family: var(--wp--preset--font-family--mono); color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-dashboard .lcdd-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr)); gap: 24px; }
.lcdd-contenu .lcdd-dashboard .lcdd-panel { display: flex; flex-direction: column; padding: 30px 32px 32px; }
.lcdd-contenu .lcdd-dashboard .lcdd-panel .lcdd-h3 { margin: 0 0 18px; font-size: 1.25rem; line-height: 1.3; }
.lcdd-contenu .lcdd-dashboard .lcdd-panel :is(p, li) { font-size: 1rem; line-height: 1.6; }
.lcdd-contenu .lcdd-dashboard .lcdd-panel > p:last-child:has(.lcdd-btn) { margin-top: auto; padding-top: 24px; }
.lcdd-contenu .lcdd-dashboard .lcdd-question-form__form { gap: 14px; }
/* Statut d'atelier : une étiquette du thème, lisible de nuit comme de jour.
   Les pastilles pastel du plugin (vert pâle, rose pâle) brillaient sur le
   fond de nuit. Le direct garde sa couleur : c'est le seul état urgent. */
.lcdd-contenu .lcdd-statusbadge { padding: 2px 10px; border-radius: 4px; background: var(--lcdd-t-puce-fond); color: var(--lcdd-t-puce-encre); }
.lcdd-contenu .lcdd-statusbadge--en_live { background: transparent; border: 1px solid currentColor; color: var(--lcdd-t-corail-texte); }

/* Formulaires d'atelier (créer, modifier) : même air que le tableau de bord.
   Les aides étaient à 13 px et les panneaux collés les uns aux autres. */
.lcdd-contenu .lcdd-page--form .lcdd-panel { padding: 30px 32px 32px; }
.lcdd-contenu .lcdd-page--form .lcdd-panel + .lcdd-panel { margin-top: 24px; }
.lcdd-contenu .lcdd-page--form .lcdd-panel .lcdd-h3 { margin: 0 0 10px; font-size: 1.25rem; }
.lcdd-contenu .lcdd-page--form .lcdd-field { margin: 24px 0 0; }
.lcdd-contenu .lcdd-page--form .lcdd-panel > .lcdd-field:first-child { margin-top: 0; }
.lcdd-contenu .lcdd-page--form .lcdd-field__label { margin-bottom: 8px; font-size: 1rem; font-weight: 600; }
.lcdd-contenu .lcdd-page--form .lcdd-hint { font-size: .9375rem; line-height: 1.55; color: var(--lcdd-t-encre-douce); }
.lcdd-contenu .lcdd-page--form .lcdd-btn--sm { min-height: 40px; padding: 0 14px; }
.lcdd-contenu .lcdd-page--form .lcdd-formstack__actions { margin-top: 32px; gap: 12px; }
.lcdd-contenu .lcdd input[type=file] { padding: 10px; border: 1px dashed var(--lcdd-t-filet-fort); border-radius: 6px; background: transparent; color: var(--lcdd-t-encre-douce); font-size: .9375rem; }
.lcdd-contenu .lcdd input[type=file]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 1px solid var(--lcdd-t-filet-fort); border-radius: 6px; background: transparent; color: var(--lcdd-t-encre); font: inherit; font-weight: 600; cursor: pointer; }

@media (max-width: 600px) {
	.lcdd-contenu :is(.lcdd-dashboard, .lcdd-page--form) .lcdd-panel { padding: 22px 20px 24px; }
}

/* Titres de section : la voix de la plateforme, sans pictogramme. */
.lcdd-contenu .lcdd :is(.lcdd-h2) { margin: 56px 0 18px; font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; letter-spacing: -.015em; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd .lcdd-hero + .lcdd-h2,
.lcdd-contenu .lcdd .lcdd-hero + * .lcdd-h2:first-child { margin-top: 0; }
.lcdd-contenu .lcdd .lcdd-h3 { font-size: 1.0625rem; font-weight: 600; letter-spacing: -.01em; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-muted { color: var(--lcdd-t-encre-pale); }

/* Surfaces : un filet, pas d'ombre, pas de bond au survol. */
.lcdd-contenu :is(.lcdd-panel, .lcdd-acard, .lcdd-qcard, .lcdd-vitem, .lcdd-stat) { background: var(--lcdd-t-surface); border: 1px solid var(--lcdd-t-filet); border-radius: 8px; box-shadow: none; transform: none; }
.lcdd-contenu :is(.lcdd-acard, .lcdd-vitem):hover { border-color: var(--lcdd-t-encre-pale); box-shadow: none; transform: none; }
.lcdd-contenu .lcdd-panel { padding: 24px 26px; }
.lcdd-contenu :is(.lcdd-grid, .lcdd-cards-grid) { gap: 20px; }

/* Les chiffres d'un tableau de bord : Plex Mono, comme la bibliothèque. */
.lcdd-contenu .lcdd-stat { flex-direction: column; align-items: flex-start; gap: 0; padding: 20px 22px; }
.lcdd-contenu .lcdd-stat__value { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; font-size: 1.5rem; font-weight: 500; letter-spacing: 0; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-stat__label { order: -1; margin-bottom: 8px; font-size: .8125rem; color: var(--lcdd-t-encre-pale); }

/* Carte d'atelier : la vignette sans image devient un coin de la salle, la
   date en grand — les deux cadres du logo en filigrane. */
.lcdd-contenu .lcdd-acard__thumb:not(.lcdd-acard__thumb--img) { position: relative; overflow: hidden; height: 156px; padding: 18px 22px; justify-content: flex-start; align-items: flex-end; background: #071E2C; color: #F3EDD3; font-size: 1rem; }
.lcdd-acard__date { display: flex; flex-direction: column; gap: 6px; }
.lcdd-acard__jour { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; font-size: 2.75rem; line-height: 1; }
.lcdd-acard__mois { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; color: #20D6C7; }
.lcdd-contenu .lcdd-acard__body { gap: 10px; padding: 20px 22px 22px; }
.lcdd-contenu .lcdd-acard__title { font-size: 1.125rem; font-weight: 600; letter-spacing: -.01em; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-acard__time { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; font-weight: 400; color: var(--lcdd-t-corail-texte); }

/* Boutons : ceux du thème. */
.lcdd-contenu .lcdd-btn { min-height: 44px; padding: 0 18px; border: 1px solid transparent; border-radius: 6px; background: var(--lcdd-t-action); color: var(--lcdd-t-action-encre); font-size: .9375rem; font-weight: 600; letter-spacing: 0; box-shadow: none; }
.lcdd-contenu .lcdd-btn:hover { filter: none; box-shadow: none; transform: none; opacity: .92; }
.lcdd-contenu .lcdd-btn--ghost { background: transparent; color: var(--lcdd-t-encre); border-color: var(--lcdd-t-filet-fort); }
.lcdd-contenu .lcdd-btn--sm { min-height: 36px; padding: 0 12px; font-size: .875rem; }

/* Étiquettes et filtres : filets fins, pas de pastilles colorées. */
.lcdd-contenu .lcdd-badge { padding: 4px 8px; border-radius: 4px; font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; font-weight: 600; }
.lcdd-contenu .lcdd-badge--role { background: var(--lcdd-t-puce-fond); color: var(--lcdd-t-puce-encre); }
.lcdd-contenu .lcdd-themechip { padding: 8px 14px; border: 1px solid var(--lcdd-t-filet); border-radius: 999px; background: transparent; color: var(--lcdd-t-encre); font-size: .875rem; font-weight: 500; transition: border-color .15s ease; }
.lcdd-contenu .lcdd-themechip:hover { border-color: var(--lcdd-t-encre-pale); }
.lcdd-contenu .lcdd-themechip.is-active { background: var(--lcdd-t-encre); color: var(--lcdd-t-fond); border-color: var(--lcdd-t-encre); }

/* Champs : rectangles nets, anneau turquoise au focus. */
.lcdd-contenu .lcdd :is(input[type=text], input[type=search], input[type=email], input[type=url], input[type=datetime-local], input[type=number], select, textarea),
.lcdd-contenu .lcdd-searchbar input { min-height: 46px; padding: 10px 14px; border: 1px solid #C9C4B5; border-radius: 6px; background: var(--lcdd-t-surface); color: var(--lcdd-t-encre); font-size: 1rem; box-shadow: none; }
.lcdd-contenu .lcdd textarea { min-height: 112px; }
.lcdd-contenu .lcdd :is(input, select, textarea):focus { border-color: #19BEC0; box-shadow: 0 0 0 3px rgba(25, 190, 192, .25); outline: none; }
.lcdd-contenu .lcdd-searchbar { gap: 10px; }
.lcdd-contenu .lcdd-searchbar input { min-height: 52px; }
.lcdd-contenu .lcdd-searchbar .lcdd-btn { min-height: 52px; padding: 0 24px; }

/* ══════════════════════════════════════════════════════════════════════════
   10. MENTIONS LÉGALES (.lcdd-legal) — page en blocs, modifiable dans
   l'éditeur. Sommaire collant à gauche sur grand écran, sections à filet,
   fiches en deux colonnes. Les champs à compléter sont surlignés en corail,
   pour qu'aucun ne parte en ligne par mégarde.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-legal { max-width: 1280px !important; margin: 0 auto !important; padding: var(--wp--preset--spacing--50, 48px) 0 var(--wp--preset--spacing--70, 96px); color: var(--lcdd-t-encre); }
.lcdd-legal__tete { padding: 8px 0 32px; margin: 0 0 40px; border-bottom: 1px solid var(--lcdd-t-filet); }
.lcdd-legal__titre { margin: 14px 0 0; font-size: clamp(2rem, 4.2vw, 3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
.lcdd-legal__chapeau { margin: 14px 0 0; max-width: 60ch; font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); line-height: 1.55; color: var(--lcdd-t-encre-douce); }
.lcdd-legal__date { margin: 18px 0 0; font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; color: var(--lcdd-t-encre-pale); }
.lcdd-legal__corps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.lcdd-legal__sommaire { padding: 20px 22px; border: 1px solid var(--lcdd-t-filet); border-radius: 8px; background: var(--lcdd-t-surface); }
.lcdd-legal__sommaire-titre { margin: 0 0 10px; font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; color: var(--lcdd-t-encre-pale); font-weight: 600; }
.lcdd-legal__sommaire ol { margin: 0; padding: 0 0 0 1.4em; font-size: .9375rem; line-height: 1.5; }
.lcdd-legal__sommaire li { padding: 3px 0; }
.lcdd-legal__sommaire li::marker { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; color: var(--lcdd-t-corail-texte); }
.lcdd-legal__sommaire a { color: var(--lcdd-t-encre); text-decoration: none; }
.lcdd-legal__sommaire a:hover { text-decoration: underline; }
.lcdd-legal__texte { max-width: 56ch; }
.lcdd-legal__section { padding: 0 0 36px; margin: 0 0 36px; border-bottom: 1px solid var(--lcdd-t-filet); scroll-margin-top: 110px; }
.lcdd-legal__section:last-child { border-bottom: 0; margin-bottom: 0; }
.lcdd-legal__section h2 { display: flex; align-items: baseline; gap: 14px; margin: 0 0 16px; font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; letter-spacing: -.015em; scroll-margin-top: 110px; }
.lcdd-legal__n { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; font-weight: 400; color: var(--lcdd-t-corail-texte); }
.lcdd-legal p, .lcdd-legal li { font-size: 1rem; line-height: 1.65; }
.lcdd-legal p { margin: 0 0 14px; }
.lcdd-legal a { color: var(--lcdd-t-lien); }
.lcdd-legal__liste { margin: 0 0 14px; padding-left: 1.2em; }
.lcdd-legal__liste li { margin-bottom: 6px; }
.lcdd-legal__soutien { padding: 16px 18px; border-left: 3px solid #0098FF; border-radius: 0 6px 6px 0; background: var(--lcdd-t-surface); }
.lcdd-legal__foi { padding: 14px 18px; border-radius: 6px; background: var(--lcdd-t-note); font-weight: 500; }
.lcdd-legal__fiche { margin: 18px 0 14px; }
.lcdd-legal__fiche table { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.55; }
.lcdd-legal__fiche :is(th, td) { padding: 12px 14px 12px 0; border: 0; border-top: 1px solid var(--lcdd-t-filet); text-align: left; vertical-align: top; }
.lcdd-legal__fiche tbody th { width: 34%; font-weight: 600; color: var(--lcdd-t-encre); }
.lcdd-legal__fiche thead th { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; color: var(--lcdd-t-encre-pale); border-top: 0; }
.lcdd-legal__fiche--trois td:first-child { font-weight: 600; }
.lcdd-legal code { font-family: var(--wp--preset--font-family--mono); font-size: .875em; padding: 1px 5px; border-radius: 4px; background: var(--lcdd-t-puce-fond); color: var(--lcdd-t-puce-encre); }
mark.lcdd-a-completer { padding: 1px 6px; border: 1px dashed #B83A48; border-radius: 4px; background: #FBF1EE; color: #8A2433; font-weight: 500; }
:is(html[data-lcdd-mode="nuit"], .lcdd-nuit) mark.lcdd-a-completer { background: #3A1A1F; color: #F08A90; border-color: #F08A90; }
@media (min-width: 1000px) {
	.lcdd-legal__corps { grid-template-columns: 260px minmax(0, 1fr); gap: 64px; align-items: start; }
	.lcdd-legal__sommaire { position: sticky; top: 110px; }
}
@media (max-width: 600px) {
	.lcdd-legal__fiche table, .lcdd-legal__fiche tbody, .lcdd-legal__fiche tr, .lcdd-legal__fiche :is(th, td) { display: block; width: auto; }
	.lcdd-legal__fiche thead { display: none; }
	.lcdd-legal__fiche tr { padding: 10px 0; border-top: 1px solid var(--lcdd-t-filet); }
	.lcdd-legal__fiche :is(th, td) { padding: 2px 0; border-top: 0; }
	/*
	 * ⚠ Empilé, le tableau à trois colonnes perdait ses en-têtes (signalement
	 *   n° 24, 1.0.41) : chaque ligne devenait trois paragraphes, sans dire
	 *   lequel est la finalité, lequel la durée. Chaque cellule reprend ici
	 *   l'intitulé de sa colonne. Ils sont écrits dans la page, modifiable
	 *   dans l'éditeur : changer un en-tête là-bas, c'est le changer ici.
	 */
	.lcdd-legal__fiche--trois tr { padding: 14px 0; }
	.lcdd-legal__fiche--trois td { padding: 4px 0; }
	.lcdd-legal__fiche--trois td:first-child { font-size: 1rem; padding-bottom: 6px; }
	.lcdd-legal__fiche--trois td:is(:nth-child(2), :nth-child(3))::before { display: block; margin: 6px 0 2px; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; color: var(--lcdd-t-encre-pale); }
	.lcdd-legal__fiche--trois td:nth-child(2)::before { content: "Pourquoi"; }
	.lcdd-legal__fiche--trois td:nth-child(3)::before { content: "Combien de temps"; }
	.lcdd-legal__fiche tbody th { font-size: 1rem; }
}

/* ══════════════════════════════════════════════════════════════════════════
   11. LA BIBLIOTHÈQUE (.lcdd-st) ET L'ACCÈS DIRECT À UN ARTICLE (1.0.5)

   ⚠ Le plugin enferme la bibliothèque dans une colonne de 78 caractères
     centrée : sous un titre aligné à gauche, tout le contenu commençait
     290 px plus loin — vu par Ambroise le 20 octobre 2026. Elle prend la
     colonne du site, cartes sur trois colonnes, tableaux à filets.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-contenu .lcdd-st { max-width: none; margin: 40px 0 0; padding-top: 32px; border-top: 1px solid var(--lcdd-t-filet); }
.lcdd-contenu .lcdd-st__quand { margin: 0 0 40px; color: var(--lcdd-t-encre-pale); }
.lcdd-contenu .lcdd-st__sec { margin: 0 0 64px; }
.lcdd-contenu .lcdd-st__h2 { margin: 0 0 8px; font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; letter-spacing: -.015em; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-st__note { max-width: 56ch; margin: 0 0 20px; font-size: .9375rem; color: var(--lcdd-t-encre-douce); }
.lcdd-contenu .lcdd-st__src { margin-top: 14px; font-style: normal; font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; color: var(--lcdd-t-encre-pale); }
.lcdd-contenu .lcdd-st__grille { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.lcdd-contenu .lcdd-st__c { padding: 22px 24px; gap: 4px; border: 1px solid var(--lcdd-t-filet); border-radius: 8px; background: var(--lcdd-t-surface); }
/* Plex Mono donne aux espaces des milliers la largeur d'un chiffre :
   « 2 143 634 » se lisait en trois nombres. On les resserre. */
.lcdd-contenu .lcdd-st__n { font-size: clamp(1.625rem, 2.6vw, 2rem); font-weight: 500; word-spacing: -.38em; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-st__l { margin-top: 6px; font-size: .9375rem; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-st__h { font-size: .8125rem; color: var(--lcdd-t-encre-pale); }
.lcdd-contenu .lcdd-st__chart { height: 220px; border-bottom-color: var(--lcdd-t-filet); }
.lcdd-contenu .lcdd-st__chart--mois { height: 150px; margin-bottom: 1.8rem; }
.lcdd-contenu .lcdd-st__mois { border-top-color: var(--lcdd-t-filet); }
.lcdd-contenu .lcdd-st__vol { border-top-color: var(--lcdd-t-filet); }
.lcdd-contenu .lcdd-st__volc dd { color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-st__volc dt, .lcdd-contenu .lcdd-st__voll { color: var(--lcdd-t-encre-douce); }
.lcdd-contenu .lcdd-st__col i { background: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-st__bt { background: var(--lcdd-t-filet); }
.lcdd-contenu .lcdd-st__bf { background: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-st__bar { max-width: 900px; }
.lcdd-contenu .lcdd-st__avert { max-width: 56ch; padding: 20px 24px; border: 0; border-radius: 6px; background: var(--lcdd-t-note); }
.lcdd-contenu .lcdd-st__avert p { color: var(--lcdd-t-encre-douce); }
.lcdd-st__table { width: 100%; max-width: 900px; border-collapse: collapse; font-size: .9375rem; }
.lcdd-st__table :is(th, td) { padding: 12px 16px 12px 0; border-top: 1px solid var(--lcdd-t-filet); text-align: left; vertical-align: baseline; }
.lcdd-st__table thead th { border-top: 0; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; color: var(--lcdd-t-encre-pale); }
.lcdd-st__table tbody th { font-weight: 600; white-space: nowrap; }
.lcdd-st__table .lcdd-st__num { text-align: right; padding-right: 0; font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; word-spacing: -.38em; white-space: nowrap; }
.lcdd-st__table .lcdd-st__date { font-family: var(--wp--preset--font-family--mono); font-size: .875rem; white-space: nowrap; }
.lcdd-st__code { display: inline-block; min-width: 4.6em; font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; font-weight: 400; color: var(--lcdd-t-corail-texte); }
@media (max-width: 600px) {
	.lcdd-st__table thead { display: none; }
	.lcdd-st__table tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 12px 0; border-top: 1px solid var(--lcdd-t-filet); }
	.lcdd-st__table :is(th, td) { padding: 0; border: 0; }
	.lcdd-st__table td:not(.lcdd-st__num):not(.lcdd-st__date) { grid-column: 1 / -1; order: 3; font-size: .875rem; color: var(--lcdd-t-encre-douce); }
	.lcdd-st__table tbody th { white-space: normal; }
}

/* Recherche : la saisie qui désigne un article mène droit à sa page. */
.lcdd-refdirect { display: grid; gap: 6px; margin: 0 0 48px; padding: 24px 28px; border: 1px solid var(--lcdd-t-filet-fort); border-radius: 8px; background: var(--lcdd-t-surface); color: var(--lcdd-t-encre); text-decoration: none; transition: background .15s ease; }
.lcdd-refdirect:hover { background: var(--lcdd-t-puce-fond); }
.lcdd-refdirect__k { font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; color: var(--lcdd-t-corail-texte); font-weight: 600; }
.lcdd-refdirect__t { font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.375rem, 2.4vw, 1.75rem); line-height: 1.2; }
.lcdd-refdirect__d { font-size: .9375rem; color: var(--lcdd-t-lien); }

/* La recherche dans le corpus : un panneau dans la page, non une boîte grise ;
   un surlignage qui se lit sans crier ; aucun glyphe absent de la police. */
.lcdd-contenu .lcdd-legif { padding: 0; border: 0; background: none; box-shadow: none; }
.lcdd-contenu .lcdd-legif__head { display: flex; align-items: baseline; gap: 12px; }
.lcdd-contenu .lcdd-legif__head .lcdd-h2 { margin: 0; }
.lcdd-contenu .lcdd-legif__badge { padding: 0; border-radius: 0; background: none; color: var(--lcdd-t-corail-texte); font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; font-weight: 600; }
.lcdd-contenu .lcdd-legifcard { border: 1px solid var(--lcdd-t-filet); border-left: 3px solid var(--lcdd-t-lien); border-radius: 8px; background: var(--lcdd-t-surface); box-shadow: none; }
.lcdd-contenu .lcdd-legifcard mark { padding: 0 1px; border-radius: 2px; background: rgba(25, 190, 192, .16); color: inherit; box-shadow: inset 0 -2px 0 rgba(25, 190, 192, .55); }
.lcdd-contenu .lcdd-legifcard__contexte::before { content: none; }

/* ══════════════════════════════════════════════════════════════════════════
   12. RETOUCHES DU 20 OCTOBRE (1.0.7)
   ══════════════════════════════════════════════════════════════════════════ */

/* En-tête : les rubriques respirent et s'alignent sur le milieu du logo. */
/* ⚠ WordPress pose 20 px de marge haute sur le 2e enfant d'un groupe (écart de bloc) : le menu tombait de 10 px sous le milieu du logo. */
.lcdd-entete__in { align-items: center; }
.lcdd-entete__in > * { margin-block: 0 !important; }
.lcdd-entete .wp-block-navigation { align-self: center; }
.lcdd-entete .wp-block-navigation__container { align-items: center; }
.lcdd-entete .wp-block-navigation .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; line-height: 1; padding: 0; }
@media (min-width: 1181px) {
	.lcdd-entete__in { gap: 40px; }
	.lcdd-entete .wp-block-navigation__container { gap: 32px !important; }
}

/* « Poser une question » : le circuit en cinq temps, l'étape présente marquée. */
.lcdd-circuit-mini { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; padding: 0; }
.lcdd-circuit-mini li { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 12px; border: 1px solid var(--lcdd-t-filet); border-radius: 999px; font-size: .875rem; color: var(--lcdd-t-encre-pale); }
.lcdd-circuit-mini li span { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; }
.lcdd-circuit-mini li[aria-current="step"] { border-color: var(--lcdd-t-encre); background: var(--lcdd-t-encre); color: var(--lcdd-t-fond); font-weight: 600; }
/* Le champ dépassait de sa carte : largeur 100 % plus ses marges. */
.lcdd-question-form__form :is(textarea, input) { box-sizing: border-box; width: 100%; max-width: 100%; }

/* ══════════════════════════════════════════════════════════════════════════
   13. EN-TÊTE CENTRÉ, PAGES TEXTE ET PARCOURS DANS LA COLONNE (1.0.9)
   ══════════════════════════════════════════════════════════════════════════ */

/* Les rubriques au centre de l'espace entre le logo et les boutons. */
@media (min-width: 600px) {
	.lcdd-entete .wp-block-navigation { flex: 1 1 auto; display: flex; justify-content: center; }
	.lcdd-entete .wp-block-navigation__container { justify-content: center; }
}

/* ⚠ Le plugin centre la page d'un article dans une colonne de 680 px, et
   pose « D'où vient ce texte » sur une autre largeur : trois bords
   différents sous un en-tête aligné à gauche. Tout part désormais de la
   colonne du site ; la lecture reste bornée à 760 px.
   Et la voix de la plateforme (titres, explications de la navette) passe en
   Plex Sans : seul le TEXTE DE LOI reste en Spectral (CLAUDE.md § 8). */
.lcdd-contenu .lcdd-tx { max-width: none; margin: 0; padding: 0; font-family: var(--wp--preset--font-family--sans); }
.lcdd-contenu .lcdd-tx > :not(.lcdd-tx__duo) { max-width: 760px; margin-left: 0; margin-right: 0; }
.lcdd-contenu .lcdd-tx__duo { max-width: none; margin-left: 0; margin-right: 0; gap: 48px; }
.lcdd-contenu .lcdd-tx :is(.lcdd-tx__head, .lcdd-tx__sec, .lcdd-tx__h2, .lcdd-tx__resume, .lcdd-tx__lead, .lcdd-tx__meta, .lcdd-tx__more, .lcdd-tx__foot, .lcdd-fr, .lcdd-fr__v, .lcdd-tx__etapes) { font-family: var(--wp--preset--font-family--sans); }
.lcdd-contenu .lcdd-tx :is(.lcdd-fr__t, .lcdd-pc__vt, .lcdd-verbatim, blockquote) { font-family: var(--wp--preset--font-family--serif); }
.lcdd-contenu .lcdd-tx__h2 { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; letter-spacing: -.015em; }

/* La méthode, sous le chapeau de « Poser une question » : la voix de la
   plateforme, un filet à gauche, sans emphase. (1.0.10) */
.lcdd-methode { margin: 20px 0 0; padding: 2px 0 2px 16px; border-left: 2px solid var(--lcdd-t-lien); font-size: 1rem; line-height: 1.6; color: var(--lcdd-t-encre-douce); }
.lcdd-methode a { color: var(--lcdd-t-lien); }

/* ══════════════════════════════════════════════════════════════════════════
   14. RÉGLAGES D'AFFICHAGE DANS L'EN-TÊTE (1.0.11)
   Un bouton « Aa » à côté du jour/nuit ; un petit panneau, deux interrupteurs.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-affichage { position: relative; }
.lcdd-affichage__aa { font-family: var(--wp--preset--font-family--serif); font-size: 1.0625rem; line-height: 1; letter-spacing: -.02em; }
.lcdd-affichage__btn[aria-expanded="true"] { border-color: var(--lcdd-t-lien); }
.lcdd-affichage__panneau { position: absolute; top: calc(100% + 8px); right: 0; z-index: 70; width: 248px; padding: 12px; border: 1px solid var(--lcdd-t-filet); border-radius: 8px; background: var(--lcdd-t-surface); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45); }
.lcdd-affichage__panneau[hidden] { display: none; }
.lcdd-affichage__titre { margin: 2px 4px 8px; font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; color: var(--lcdd-t-encre-pale); font-weight: 600; }
.lcdd-affichage__choix { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: var(--lcdd-t-encre); font: 500 .9375rem/1.2 var(--wp--preset--font-family--sans); cursor: pointer; text-align: left; }
.lcdd-affichage__choix:hover { background: var(--lcdd-t-puce-fond); }
.lcdd-affichage__choix i { position: relative; flex: none; width: 34px; height: 20px; border-radius: 999px; background: var(--lcdd-t-filet); transition: background .15s ease; }
.lcdd-affichage__choix i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--lcdd-t-surface); transition: transform .15s ease; }
.lcdd-affichage__choix[aria-pressed="true"] i { background: var(--lcdd-t-lien); }
.lcdd-affichage__choix[aria-pressed="true"] i::after { transform: translateX(14px); }
.lcdd-entete__actions { gap: 10px; }


/* Mobile (≤ 600 px) : « Connexion » / « Mon espace » quittent l'en-tête — la
   barre d'onglets du bas offre « Moi » — et le panneau « Aa » prend la
   largeur de l'écran, sous l'en-tête. Mesuré à 390 px : l'en-tête débordait
   de 8 px, le panneau sortait de 31 px à gauche. (1.0.11) */
@media (max-width: 600px) {
	.lcdd-entete__actions > a:not(.lcdd-bouton) { display: none; }
	/* ⚠ « Mon espace » porte `.lcdd-bouton` : la règle ci-dessus le manquait, et
	     l'en-tête d'un membre connecté débordait de 55 px à 390 px (mesuré le
	     21 octobre 2026). « Moi », dans la barre du bas, y mène. (1.0.17) */
	.lcdd-entete__actions > .lcdd-bouton--contour { display: none; }
	/* Le menu du compte (1.0.35) reste : un rond de 44 px, les initiales. */
	.lcdd-affichage { position: static; }
	.lcdd-affichage__panneau { left: clamp(1rem, 4vw, 2.5rem); right: clamp(1rem, 4vw, 2.5rem); width: auto; top: calc(100% + 6px); }
}

/* ══════════════════════════════════════════════════════════════════════════
   15. LES SUGGESTIONS DE RECHERCHE DANS LA LANGUE DU THÈME (1.0.12)

   ⚠ Le plugin peint la liste en `#fff` en dur ; en nuit, le texte héritait
     de la crème du thème : crème sur blanc, illisible — vu sur iPhone par
     Ambroise le 20 octobre 2026. Fond, encre, survol et étiquettes suivent
     désormais les jetons du mode.
   ══════════════════════════════════════════════════════════════════════════ */
html body .lcdd-ac__list { background: var(--lcdd-t-surface); color: var(--lcdd-t-encre); border: 1px solid var(--lcdd-t-filet); border-radius: 8px; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45); overflow: hidden; }
html body .lcdd-ac__item { min-height: 44px; padding: 10px 14px; color: var(--lcdd-t-encre); border-bottom: 1px solid var(--lcdd-t-filet); font-size: .9375rem; line-height: 1.35; }
html body .lcdd-ac__item:hover, html body .lcdd-ac__item.is-active { background: var(--lcdd-t-puce-fond); color: var(--lcdd-t-encre); }
html body .lcdd-ac__hint { font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; font-weight: 400; color: var(--lcdd-t-corail-texte); opacity: 1; }
html body .lcdd-ac__item.is-active .lcdd-ac__hint { color: var(--lcdd-t-corail-texte); }
html body .lcdd-ac__msg, html body .lcdd-ac__grouplabel { color: var(--lcdd-t-encre-pale); }


/* ══════════════════════════════════════════════════════════════════════════
   16. LE MENU MOBILE, PLEIN ÉCRAN (1.0.13)

   ⚠ L'en-tête porte un `backdrop-filter` (le flou givré). En CSS, un filtre
     fait de l'élément le bloc conteneur de ses descendants `position:fixed` :
     le menu de WordPress, censé couvrir l'écran, était enfermé dans les 68 px
     de l'en-tête — une seule rubrique visible, noir sur blanc, même la nuit.
     Vu sur iPhone par Ambroise le 20 octobre 2026. Menu ouvert, le flou est
     levé ; le menu prend tout l'écran, aux couleurs du mode.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-entete:has(.wp-block-navigation__responsive-container.is-menu-open) { backdrop-filter: none; -webkit-backdrop-filter: none; }
html body .lcdd-entete .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column;
	padding: 20px clamp(1rem, 4vw, 2.5rem) 40px;
	background: var(--lcdd-t-fond) !important; color: var(--lcdd-t-encre) !important;
}
.admin-bar .lcdd-entete .wp-block-navigation__responsive-container.is-menu-open { top: 46px; }
.lcdd-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px; align-items: flex-start; }
.lcdd-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 0 !important; width: 100%; }
.lcdd-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--lcdd-t-filet); }
.lcdd-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: flex; width: 100%; min-height: 64px; padding: 0 !important;
	font-size: 1.625rem; font-weight: 600; letter-spacing: -.015em; line-height: 1.2;
	color: var(--lcdd-t-encre) !important; text-decoration: none;
}
.lcdd-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { color: var(--lcdd-t-lien) !important; }
.lcdd-entete .wp-block-navigation__responsive-container-close {
	top: 20px; right: clamp(1rem, 4vw, 2.5rem); width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--lcdd-t-filet); border-radius: 6px; color: var(--lcdd-t-encre);
}
.lcdd-entete .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--lcdd-t-encre); }
/* ⚠ Le `display` ci-dessus l'emportait sur le masquage de WordPress au-delà
     de 600 px : sur ordinateur, les trois barres restaient au-dessus d'un menu
     déjà affiché en clair, inutiles (vu par Ambroise le 21 octobre 2026). Le
     bouton n'existe qu'en dessous du point de bascule. (1.0.16)
   ⚠ Ce point est 680 px, pas les 600 px du bloc : entre 600 et 679 px, les
     trois liens ne tenaient pas sur la ligne du logo et l'en-tête passait à
     125 px sur deux lignes (mesuré de 20 en 20 px). Jusqu'à 679 px, on garde
     donc le bouton et le menu plein écran. */
@media (min-width: 600px) and (max-width: 679px) {
	.lcdd-entete .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
}
@media (min-width: 680px) {
	.lcdd-entete .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; }
}
.lcdd-entete .wp-block-navigation__responsive-container-open svg,
.lcdd-entete .wp-block-navigation__responsive-container-close svg { width: 24px; height: 24px; fill: currentColor; }

/* ══════════════════════════════════════════════════════════════════════════
   17. LES CARTES DE RÉSULTATS JURIDIQUES (1.0.14)

   ⚠ Le plugin colle le code et l'état au titre, dans une pastille en ligne
     (`display:inline-block; margin-left`) : sur un téléphone, la pastille
     passait à la ligne contre le titre, décalée, et les deux boutons se
     touchaient. Vu sur iPhone par Ambroise le 20 octobre 2026. Chaque
     élément a désormais sa ligne et son espace ; l'extrait — un texte de
     loi — passe en Spectral, comme partout où la loi parle.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-contenu .lcdd-legifcard { padding: 20px 22px; border-radius: 8px; }
.lcdd-contenu .lcdd-legifcard__title { display: block; margin: 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-legifcard__sub { display: block; margin: 6px 0 0; padding: 0; border-radius: 0; background: none; font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; font-weight: 400; line-height: 1.5; letter-spacing: 0; color: var(--lcdd-t-encre-pale); }
.lcdd-contenu .lcdd-legifcard__prov { display: inline-block; margin: 8px 0 0; }
.lcdd-contenu .lcdd-legifcard__extract { margin: 14px 0 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.0625rem; line-height: 1.6; color: var(--lcdd-t-encre); }
.lcdd-contenu .lcdd-legifcard__contexte { margin: 12px 0 0; font-size: .8125rem; line-height: 1.5; color: var(--lcdd-t-encre-pale); }
.lcdd-contenu .lcdd-legifcard__full { margin: 12px 0 0; }
.lcdd-contenu .lcdd-legifcard__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.lcdd-contenu .lcdd-legifcard__actions > * { margin: 0 !important; }
@media (max-width: 600px) {
	.lcdd-contenu .lcdd-legifcard { padding: 18px 16px; }
	.lcdd-contenu .lcdd-legifcard__actions > * { flex: 1 1 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════════════════
   18. CONTRASTES DU MODE JOUR (1.0.15) — mesurés sur 112 rendus, le 20 octobre
   ⚠ Les liens vers Légifrance de la page Texte suivaient `--lcdd-turq`, un
     turquoise clair : 2,19:1 sur blanc, pour 4,5 exigés. Ils prennent la
     couleur de lien du mode (sombre le jour, turquoise vif la nuit). Le vert
     « en vigueur » passait à 4,49:1 sur sa pastille : un ton plus sombre le
     jour. Aucun défaut relevé en nuit.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-contenu :is(.lcdd-tx__lf, .lcdd-fr__lf a) { color: var(--lcdd-t-lien); }
html:not([data-lcdd-mode="nuit"]) .lcdd-contenu { --lcdd-etat-vigueur: #086446; }

/* ══════════════════════════════════════════════════════════════════════════
   19. CONTRASTES RELEVÉS LE 21 OCTOBRE 2026 (1.0.17) — audit de 180 rendus
   ⚠ Dates du tableau de bord : 4,26:1 le jour, 4,24:1 la nuit, pour 4,5.
     « Retirer » (co-intervenants) : rouge du direct sur fond de nuit, 2,18:1.
     Liens « parcours chronologique » et « retour à la fiche » : turquoise
     clair sur blanc, 2,19:1.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-contenu .lcdd-atl__main .lcdd-muted { color: #46596A; }
html[data-lcdd-mode="nuit"] .lcdd-contenu .lcdd-atl__main .lcdd-muted { color: #BDC2B6; }
html[data-lcdd-mode="nuit"] .lcdd-contenu .lcdd-linkbtn { color: #F08A90; }
.lcdd-contenu .lcdd-tx__more a { color: var(--lcdd-t-lien); }

/* ══════════════════════════════════════════════════════════════════════════
   20. LA PAGE INTROUVABLE (1.0.17)
   Le chiffre en Plex Mono (ce qui se compte), contour seul, en retrait : il
   signale sans crier. Puis les trois chemins du site — un article, un
   atelier, une question. Sur téléphone, tout s'empile, le chiffre au-dessus.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-404-page { overflow: hidden; }
.lcdd-404 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(1.5rem, 4vw, 4rem); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); border-bottom: 1px solid var(--lcdd-t-filet); }
.lcdd-404__tete { max-width: 38rem; }
.lcdd-404__titre { margin: .75rem 0 1rem; font-size: clamp(2rem, 4.6vw, 3.25rem); line-height: 1.08; letter-spacing: -.02em; color: var(--lcdd-t-encre); }
.lcdd-404__chapeau { margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.2rem); line-height: 1.6; color: var(--lcdd-t-encre-douce); }
.lcdd-404__chiffre {
	margin: 0; font-family: var(--wp--preset--font-family--mono); font-weight: 300;
	font-size: clamp(6rem, 17vw, 13rem); line-height: .85; letter-spacing: -.04em;
	color: transparent; -webkit-text-stroke: 1.5px var(--lcdd-t-corail-texte);
	font-variant-numeric: tabular-nums; user-select: none;
}
.lcdd-404__bloc { padding: clamp(1.75rem, 3vw, 2.5rem) 0; border-bottom: 1px solid var(--lcdd-t-filet); }
.lcdd-404__bloc:last-child { border-bottom: 0; }
.lcdd-404__h2 { margin: 0 0 .4rem; font-size: 1.25rem; line-height: 1.3; color: var(--lcdd-t-encre); }
.lcdd-404__aide { margin: 0 0 .25rem; color: var(--lcdd-t-encre-douce); }
.lcdd-404__bloc .lcdd-search { max-width: 40rem; }
.lcdd-404__exemples { display: flex; flex-wrap: wrap; gap: .5rem; margin: .25rem 0 0; padding: 0; list-style: none; }
.lcdd-404__exemples a {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 .9rem; border: 1px solid var(--lcdd-t-filet);
	border-radius: 999px; font-size: .9rem; color: var(--lcdd-t-lien); text-decoration: none; background: var(--lcdd-t-surface);
}
.lcdd-404__exemples a:hover, .lcdd-404__exemples a:focus-visible { border-color: var(--lcdd-t-lien); }
.lcdd-404__portes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.lcdd-404__porte {
	display: flex; flex-direction: column; gap: .4rem; height: 100%; box-sizing: border-box; padding: 1.1rem 1.25rem;
	border: 1px solid var(--lcdd-t-filet); border-radius: 10px; background: var(--lcdd-t-surface); text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}
.lcdd-404__porte:hover, .lcdd-404__porte:focus-visible { border-color: var(--lcdd-t-lien); transform: translateY(-2px); }
.lcdd-404__porte-titre { font-weight: 600; color: var(--lcdd-t-encre); }
.lcdd-404__porte-titre span { color: var(--lcdd-t-lien); }
.lcdd-404__porte-texte { font-size: .9375rem; line-height: 1.5; color: var(--lcdd-t-encre-douce); }
.lcdd-404__pied { margin: 1.5rem 0 0; font-size: .9375rem; color: var(--lcdd-t-encre-douce); }
.lcdd-404__pied a { color: var(--lcdd-t-lien); }
@media (max-width: 780px) {
	.lcdd-404 { grid-template-columns: 1fr; }
	.lcdd-404__chiffre { order: -1; font-size: clamp(5rem, 28vw, 8rem); }
	.lcdd-404__portes { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .lcdd-404__porte { transition: none; } .lcdd-404__porte:hover { transform: none; } }

/* ══════════════════════════════════════════════════════════════════════════
   21. LA BIBLIOTHÈQUE AU DOIGT (avec le plugin 0.15.6)
   ⚠ Vu sur iPhone le 22 octobre 2026 : les tableaux des fonds rangeaient
     leurs cellules au hasard de la grille (le nombre seul, centré, sans
     unité) ; le graphique ne disait aucune valeur au doigt, sans axe, la
     première année coupée, et défilait de côté sans le montrer.
   ══════════════════════════════════════════════════════════════════════════ */
.lcdd-st__unite { display: none; }
.lcdd-st__fig { margin: 0; max-width: 900px; }
.lcdd-st__lecture { display: flex; flex-direction: column; gap: 2px; min-height: 2.8em; margin: 0 0 12px; font-family: var(--wp--preset--font-family--mono); font-size: .9375rem; font-variant-numeric: tabular-nums; word-spacing: -.25em; color: var(--lcdd-t-encre); }
.lcdd-st__plot { position: relative; padding-left: 56px; }
.lcdd-st__axe { position: absolute; left: 0; right: 0; top: 0; height: 220px; pointer-events: none; }
.lcdd-st__axe span { position: absolute; left: 0; right: 0; bottom: var(--y); border-top: 1px dashed var(--lcdd-t-filet); }
.lcdd-st__axe span:last-child { border-top-style: solid; }
.lcdd-st__axe b { position: absolute; left: 0; top: -.7em; width: 48px; text-align: right; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 400; word-spacing: -.3em; color: var(--lcdd-t-encre-pale); background: var(--lcdd-t-fond); }
.lcdd-contenu .lcdd-st__fig .lcdd-st__chart { position: relative; height: 220px; padding-bottom: 0; overflow: visible; border-bottom: 0; gap: 3px; }
.lcdd-contenu .lcdd-st__fig .lcdd-st__col { flex: 1 1 0; min-width: 0; }
.lcdd-contenu .lcdd-st__fig .lcdd-st__col i { opacity: .7; }
.lcdd-contenu .lcdd-st__fig .lcdd-st__col.is-lu i, .lcdd-contenu .lcdd-st__fig .lcdd-st__col:hover i { opacity: 1; background: var(--lcdd-t-lien); }
.lcdd-contenu .lcdd-st__fig .lcdd-st__col.is-encours i { opacity: 1; background: repeating-linear-gradient(135deg, var(--lcdd-t-encre-pale) 0 3px, transparent 3px 6px); }
.lcdd-contenu .lcdd-st__fig .lcdd-st__col b { bottom: -1.6rem; font-size: .75rem; color: var(--lcdd-t-encre-pale); white-space: nowrap; }
.lcdd-st__legende { margin: 2.2rem 0 0; font-size: .875rem; line-height: 1.5; color: var(--lcdd-t-encre-douce); }
.lcdd-st__valeurs { margin: 16px 0 0; }
.lcdd-st__valeurs summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; font-size: .9375rem; color: var(--lcdd-t-lien); }
.lcdd-st__table--valeurs { max-width: 360px; }
.lcdd-st__encours { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 400; color: var(--lcdd-t-encre-pale); }
@media (max-width: 600px) {
	.lcdd-st__plot { padding-left: 46px; }
	.lcdd-st__axe b { width: 40px; font-size: .6875rem; }
	.lcdd-contenu .lcdd-st__fig .lcdd-st__chart { gap: 1px; }
	.lcdd-st__unite { display: inline; font-family: var(--wp--preset--font-family--sans); word-spacing: normal; color: var(--lcdd-t-encre-douce); }
	/* Jurisprudence : le fonds et son nombre, puis la période, puis ce qu'il contient. */
	.lcdd-st__table--juri tr { grid-template-columns: 1fr auto; grid-template-areas: "code num" "date date" "desc desc"; }
	.lcdd-st__table--juri tbody th { grid-area: code; }
	.lcdd-st__table--juri .lcdd-st__num { grid-area: num; }
	.lcdd-st__table--juri .lcdd-st__date { grid-area: date; font-size: .8125rem; color: var(--lcdd-t-encre-pale); }
	.lcdd-st__table--juri .lcdd-st__desc { grid-area: desc; order: 0; }
	/* Fraîcheur : le fonds et son nom, puis la date et le nombre de livraisons. */
	.lcdd-st__table--fraicheur tr { grid-template-columns: 1fr auto; grid-template-areas: "fonds fonds" "date num"; }
	.lcdd-st__table--fraicheur tbody th { grid-area: fonds; }
	.lcdd-st__table--fraicheur .lcdd-st__date { grid-area: date; font-size: .8125rem; color: var(--lcdd-t-encre-douce); }
	.lcdd-st__table--fraicheur .lcdd-st__num { grid-area: num; font-size: .875rem; }
	.lcdd-st__table--valeurs tr { grid-template-columns: 1fr auto; }
	.lcdd-st__table .lcdd-st__code { min-width: 0; margin-right: 8px; }
}
.lcdd-st__max { font-family: var(--wp--preset--font-family--sans); font-size: .8125rem; word-spacing: normal; color: var(--lcdd-t-encre-pale); }
/* « Ce qui manque » : le texte suit le bord du titre et des filets. */
.lcdd-manque { padding: 24px 32px 24px 0; }
.lcdd-manque h3 { margin: 0; font-size: 1.125rem; line-height: 1.35; }
.lcdd-manque p { margin: 8px 0 0; max-width: 46ch; font-size: .9375rem; line-height: 1.6; color: var(--lcdd-t-encre-douce); }
@media (max-width: 600px) { .lcdd-manque { padding: 20px 0; border-bottom: 1px solid var(--lcdd-t-filet); } }

/* ══════════════════════════════════════════════════════════════════════════
   22. TAILLES ET CIBLES AU DOIGT (1.0.26) — audit du 22 octobre 2026 :
   27 adresses × 390, 834, 1440 px × jour, nuit, sans session (162 rendus).
   Aucun débordement, aucun contraste en défaut ; restaient des textes sous
   12 px et des cibles tactiles de 16 à 27 px de haut.
   ══════════════════════════════════════════════════════════════════════════ */
/* Barre d'onglets du bas : 11 px → 12 px. */
@media (max-width: 600px) { .lcdd-barre-mobile a { font-size: .75rem; } }
/* Étiquettes d'état (« EN VIGUEUR », « ABROGÉ », « MODIFIÉ DEPUIS ») et
   surtitre du code : 10,5 à 11,5 px → 12 px au moins. */
.lcdd-contenu .lcdd-terme { font-size: max(12px, 1em); }
.lcdd-contenu .lcdd-tx__code { font-size: .75rem; }
.lcdd-st__axe b { font-size: .75rem; }
/* Pied de page : des liens de 19 px de haut, sous le pouce. */
@media (max-width: 900px) {
	.lcdd-pied ul { line-height: 1.3; }
	.lcdd-pied ul a { display: inline-block; padding: 11px 0; }
}
/* « Connexion » dans l'en-tête (tablette) : 27 px → 44 px. */
.lcdd-entete__actions > a:not(.lcdd-bouton) { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) { .lcdd-entete__actions > a:not(.lcdd-bouton) { display: none; } }
/* « Texte officiel sur Légifrance » : 21 px → 44 px au doigt. */
@media (max-width: 900px) { .lcdd-contenu .lcdd-tx__lf { display: inline-flex; align-items: center; min-height: 44px; } }
/* Cibles restantes, relevées au second passage (390 et 834 px) : le dépliant
   « Objet » ou « Exposé sommaire » d'un amendement (27 px), « Ajouter à mon
   agenda » (22 px), le sommaire des mentions légales (20 px), la case « Se
   souvenir de moi » (16 px, page de connexion : voir le plugin). */
.lcdd-contenu .lcdd-tx__exp > summary { padding-block: 9px; }
@media (max-width: 900px) {
	.lcdd-contenu [data-lcdd-direct-lien] { display: inline-flex; align-items: center; min-height: 44px; }
	.lcdd-legal__sommaire a { display: inline-block; padding-block: 12px; }
}

/* ══ Grand écran : la moitié droite n'est plus vide (1.0.27) ════════════════
   Retour d'Ambroise, capture à l'appui (22 octobre 2026) : sur un grand
   écran, /texte/ et « Poser une question » n'occupaient que la moitié gauche.
   La colonne de lecture reste de 760 px et alignée sur le logo (le choix de
   1.0.x, pour ne pas multiplier les bords sous l'en-tête). La droite reçoit
   désormais ce que la page empilait plus bas : « D'où vient ce texte » et le
   niveau avancé d'un article ; l'encadré d'aide de « Poser une question ».
   Rien ne change sous 1 100 px : une colonne, comme avant. */
@media (min-width: 1100px) {
	.lcdd-contenu .lcdd-tx,
	.lcdd-contenu .lcdd-question { display: grid; grid-template-columns: minmax(0, 760px) minmax(300px, 1fr); column-gap: 56px; align-items: start; }
	.lcdd-contenu .lcdd-tx > *,
	.lcdd-contenu .lcdd-question > * { grid-column: 1; }
	.lcdd-contenu .lcdd-tx > .lcdd-tx__duo { grid-column: 2; grid-row: 1 / span 12; display: flex; flex-direction: column; gap: 32px; padding-top: 2rem; width: auto; min-width: 0; }
	/* lcdd-refs-010.css fixe une largeur au duo dès 1 200 px, pour son
	   ancienne disposition sous le texte : dans la colonne, il la suit. (1.0.28) */
	.lcdd-contenu .lcdd-tx__duo > * { width: auto; min-width: 0; max-width: 100%; }
	.lcdd-contenu .lcdd-question > .lcdd-encadre { grid-column: 2; grid-row: 1 / span 12; max-width: none; }
}

/* Le texte de loi, et l'avertissement « Même numéro, autre texte » qui le
   précède : une seule mesure. Le premier héritait des 56ch de tout
   paragraphe (420 px), le second de 30rem (480 px) : deux bords décalés
   l'un sous l'autre (1.0.27). */
.lcdd-contenu :is(.lcdd-fr__t, .lcdd-pc__vt, .lcdd-fr__rupture) { max-width: 36rem; box-sizing: border-box; }

/* Une ligne de faits n'est pas un paragraphe de lecture : « Accès : membre ·
   Prochain atelier… » se coupait à 56ch, au milieu d'un écran vide (1.0.27). */
.lcdd-contenu .lcdd-dash__meta { max-width: none; }

/* ══ Revue de toutes les pages au rendu, 1 400 / 900 / 390 px (1.0.29) ═════ */

/* Un paragraphe borné à 56ch dans un bloc à mise en page « contrainte » était
   CENTRÉ par WordPress (marges automatiques), sous un titre aligné à gauche :
   « Rassemblée à partir des données publiques… » à l'accueil, le chapeau de
   la bibliothèque. Il s'aligne sur le titre ; un centrage voulu garde sa
   classe has-text-align-center. */
/* Le bord est celui du contenu, non du bloc : le contenu (1 280 px) est
   centré dans le bloc, d'où la demi-différence. (1.0.30) */
/* ⚠ Corrigé en 1.0.31 : le bord retenu était celui de la colonne de lecture
   (760 px, que WordPress centre dans les 1 280 px), d'où des chapeaux et des
   surtitres décalés de 260 px sous leur titre (accueil, bibliothèque). Le
   bord du site est celui de la zone large, sur lequel s'alignent le logo et
   les titres. */
:is(main.lcdd-contenu, .lcdd-salle).is-layout-constrained > :is(p, ul, ol, dl):not(.has-text-align-center):not(.aligncenter) { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important; }

/* Parcours (« Lire un article de loi ») : le titre touchait l'en-tête. Même
   respiration que l'en-tête d'un article. */
.lcdd-contenu .lcdd-tx--accueil { padding-top: clamp(1.5rem, 4vw, 3rem); }

/* Bibliothèque : tableaux et graphiques s'arrêtaient à 900 px et laissaient
   la droite vide sur grand écran. Ils prennent la largeur du site ; les
   notes de source restent à leur mesure de lecture. */
@media (min-width: 1100px) {
	.lcdd-contenu :is(.lcdd-st__table, .lcdd-st__fig, .lcdd-st__bar) { max-width: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   23. DIMENSIONS ET HARMONIE (1.0.31) — retour d'Ambroise, 23 octobre 2026 :
   « Poser une question » au formulaire écrasé, « Lire un article de loi »
   hors d'échelle. Mesuré sur 20 pages × 1 440, 1 100, 834 et 390 px.
   ══════════════════════════════════════════════════════════════════════════ */

/* « Poser une question » : la carte du formulaire faisait 287 px dans une
   colonne de 760. Dans la grille à deux colonnes (1.0.27), les marges
   automatiques que WordPress pose sur les blocs d'une mise en page
   « contrainte » empêchent un élément de grille de s'étirer : il se
   réduisait à la largeur de son contenu. */
@media (min-width: 1100px) {
	.lcdd-contenu .lcdd-question > * { margin-left: 0 !important; margin-right: 0 !important; }
	.lcdd-contenu .lcdd-question > .lcdd-carte { justify-self: stretch; }
}

/* Une seule échelle pour les titres de page : 48 px sur grand écran, 32 sur
   téléphone. Les pages du thème montaient à 52, celles du plugin à 48. La
   page d'accueil garde son titre d'affiche. */
.lcdd-contenu h1.wp-block-heading:not(.has-affiche-font-size) { font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.08; letter-spacing: -.025em; }

/* Un seul surtitre : celui des pages dessinées (Plex Mono, capitales
   espacées, corail). Les écrans du plugin en portaient un autre, en Plex
   Sans gras gris (1.0.4) : deux styles pour le même rôle. */
.lcdd-hero__kicker,
.lcdd-contenu .lcdd-eyebrow { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; font-weight: 400; letter-spacing: .09em; text-transform: uppercase; color: var(--lcdd-t-corail-texte); }
.lcdd-papier :is(.lcdd-hero__kicker, .lcdd-eyebrow) { color: #B83A48; }

/* « Lire un article de loi » (/lcdd-parcours/) : l'en-tête commun (surtitre,
   titre, chapeau, filet) sur toute la largeur, comme « Chercher dans le
   droit », au lieu d'un titre de 34 px et d'un chapeau de 14 px dans une
   colonne de 760. */
@media (min-width: 1100px) {
	.lcdd-contenu .lcdd-tx--accueil { display: block; }
}
.lcdd-contenu .lcdd-tx--accueil { max-width: none; margin: 0; padding-top: clamp(2.75rem, 4.2vw, 3.75rem); }
.lcdd-contenu .lcdd-tx__row input { font-size: 1rem; }
.lcdd-contenu .lcdd-tx--accueil :is(.lcdd-hero, .lcdd-tx__form, .lcdd-tx__row) { max-width: none; width: auto; }

/* Un champ et son bouton, sur une même ligne : même hauteur, 52 px. Le
   champ de recherche en faisait 47, son bouton 52. */
.lcdd-contenu :is(.lcdd-searchbar, .lcdd-tx__row) :is(input, .lcdd-btn, button[type=submit]) { height: 52px; min-height: 52px; box-sizing: border-box; }

/* ══════════════════════════════════════════════════════════════════════════
   16. LE MENU DU COMPTE (1.0.35, plugin 0.20.3)
   « Mon espace » ouvre un petit menu : l'espace, l'administration pour qui
   la gère, et « Se déconnecter ». Surface givrée, comme la palette de
   Raycast ; initiales plutôt qu'une photo, rien à charger.
   ══════════════════════════════════════════════════════════════════════════ */
/* @socle-jeu */
.lcdd-compte { position: relative; }
/* Le menu ne prend aucune marge d ailleurs (1.0.36) : la section « Mon compte »
   du tableau de bord partage son nom de classe et le descendait de 20 px. */
details.lcdd-compte { margin: 0; }
.lcdd-compte > summary { list-style: none; }
.lcdd-compte > summary::-webkit-details-marker { display: none; }
.lcdd-compte__btn { box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px 0 6px; border: 1px solid var(--lcdd-t-filet); border-radius: 999px; color: var(--lcdd-t-encre); font: 600 .9375rem/1 var(--wp--preset--font-family--sans); cursor: pointer; user-select: none; transition: border-color .15s ease, background .15s ease; }
.lcdd-compte__btn:hover, .lcdd-compte[open] > .lcdd-compte__btn { border-color: var(--lcdd-t-lien); background: var(--lcdd-t-puce-fond); }
.lcdd-compte__btn:focus-visible { outline: 2px solid var(--lcdd-t-lien); outline-offset: 2px; }
.lcdd-compte__chevron { color: var(--lcdd-t-encre-pale); transition: transform .2s ease; }
.lcdd-compte[open] .lcdd-compte__chevron { transform: rotate(180deg); }
.lcdd-compte__avatar { display: inline-grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--lcdd-t-lien); color: var(--lcdd-t-fond); font: 600 .75rem/1 var(--wp--preset--font-family--sans); letter-spacing: .04em; }
.lcdd-compte__avatar--grand { width: 40px; height: 40px; font-size: .875rem; }
.lcdd-compte__panneau { position: absolute; top: calc(100% + 8px); right: 0; z-index: 80; width: 272px; padding: 8px; border: 1px solid var(--lcdd-t-filet); border-radius: 12px; background: color-mix(in srgb, var(--lcdd-t-surface) 94%, transparent); -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .5); transform-origin: top right; animation: lcdd-compte-ouvre .16s ease-out; }
@keyframes lcdd-compte-ouvre { from { opacity: 0; transform: translateY(-4px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .lcdd-compte__panneau { animation: none; } .lcdd-compte__chevron { transition: none; } }
.lcdd-compte__qui { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; padding: 8px 8px 12px; border-bottom: 1px solid var(--lcdd-t-filet); }
.lcdd-compte__qui > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lcdd-compte__qui strong { color: var(--lcdd-t-encre); font: 600 .9375rem/1.3 var(--wp--preset--font-family--sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lcdd-compte__qui small { color: var(--lcdd-t-encre-pale); font: 400 .8125rem/1.3 var(--wp--preset--font-family--sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lcdd-compte__lien { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 10px; border-radius: 8px; color: var(--lcdd-t-encre) !important; font: 500 .9375rem/1.2 var(--wp--preset--font-family--sans); text-decoration: none !important; }
.lcdd-compte__lien svg { flex: none; color: var(--lcdd-t-encre-pale); }
.lcdd-compte__lien:hover, .lcdd-compte__lien:focus-visible { background: var(--lcdd-t-puce-fond); outline: none; }
.lcdd-compte__lien--sortie { margin-top: 6px; position: relative; }
.lcdd-compte__lien--sortie::before { content: ""; position: absolute; top: -4px; left: 8px; right: 8px; border-top: 1px solid var(--lcdd-t-filet); }
.lcdd-compte__lien--sortie:hover svg, .lcdd-compte__lien--sortie:focus-visible svg { color: var(--lcdd-t-corail-texte, #d54f58); }

/* Téléphone : les initiales seules, dans un rond de 44 px (au lieu du
   bouton « Mon espace », masqué jusqu'ici faute de place) ; le panneau
   prend la largeur de l'écran, comme celui de « Aa ». */
@media (max-width: 600px) {
	.lcdd-compte { position: static; }
	.lcdd-compte__btn { padding: 0; width: 44px; justify-content: center; border-color: transparent; }
	.lcdd-compte__libelle, .lcdd-compte__chevron { display: none; }
	.lcdd-compte__panneau { left: clamp(1rem, 4vw, 2.5rem); right: clamp(1rem, 4vw, 2.5rem); width: auto; top: calc(100% + 6px); }
}
/* @fin-socle-jeu */
