/* =====================================================================
   Pages légales « version sombre » — mentions, confidentialité, cookies
   damien-hernandez.com — maquette B2, version ÉDITABLE du 24/10/2026.

   PRÉFIXE `lg-`, classe de body `dh-legal`. Le conteneur porte `lex pc lg` :
   `.lex` pour le pleine largeur, `.pc` pour les remises à zéro des marges.
   Tokens déclarés sur `.lg`, comme `.acc` sur l'accueil.

   CONTENU ÉDITABLE. Le texte vit dans l'éditeur de blocs de chaque page. Ce
   fichier ne connaît que des CLASSES posées sur des blocs standard (groupe,
   titre, paragraphe, liste, tableau, boutons). Tout est scopé sous
   `.lg .lg-contenu`, qui contient `the_content()`.

   ⚠️ CONTENEUR INTERNE DES GROUPES. Le thème n'a pas de theme.json : WordPress
   enveloppe donc les enfants de chaque bloc « groupe » dans
   `<div class="wp-block-group__inner-container">`. Ce conteneur est le VRAI
   parent des enfants. Règle de ce fichier :
     · l'habillage (fond, bordure, remplissage) va sur le groupe (`.lg-xxx`) ;
     · la mise en page (grid, flex, gap) va sur `.lg-xxx > .wp-block-group__inner-container`.
   Pour les cellules d'une grille, on cible l'élément PAR SA CLASSE (`.lg-carte`)
   et jamais par `> .wp-block-group`, qui ne trouverait rien.
   ⚠️ WordPress pose aussi une marge entre enfants de groupe
   (`:root :where(.is-layout-flow) > * + *`, poids 0-1-0). Les marges sont
   déclarées ICI, sous `.lg .lg-contenu` (poids 0-3-0), jamais laissées au défaut.

   CONTRASTE — mêmes teintes que l'accueil, déjà calculées (WCAG 2.x) :
     #E6EBEA sur #101A1C 14,69   #E6EBEA sur #132124 13,72
     #B4C0BE sur #101A1C  9,46   #B4C0BE sur #132124  8,83
     #8A9896 sur #101A1C  5,91   #8A9896 sur #132124  5,52
     #8FC5BE sur #101A1C  9,18   #101A1C sur #8FC5BE  9,18
   #4F6163 ne reste que sur des éléments décoratifs `aria-hidden`.

   AMÉLIORATION PROGRESSIVE. Sans JavaScript, tout est lisible : traitements et
   droits sont empilés. Le script (`legal-doc.js`) ajoute onglets, aperçu du
   message et état du consentement, et pose `lg-js` sur `.lg`.
   ===================================================================== */

/* =====================================================================
   FEUILLE AUTONOME (24/10/2026). Elle ne dépend plus de `lexique-seo.css` ni
   de `confidentialite.css` (48 Ko de CSS bloquant le rendu, dont les trois
   quarts ne servent pas ici) : polices, pleine largeur et remises à zéro du
   thème sont déclarés ci-dessous. Seuls les trois fichiers de polices
   réellement utilisés sont chargés ; la police serif du lexique (Newsreader,
   39 Ko), préchargée par le thème pour toute page « lexique », ne l'est plus.
   Les polices sont celles de l'accueil, servies depuis le domaine.
   ===================================================================== */
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(../vendor/fonts/ibm-plex-mono-400-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(../vendor/fonts/ibm-plex-mono-500-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400 600; font-stretch: 100%; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-400-600-normal-latin.v2.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(../vendor/fonts-condensed/ibm-plex-sans-condensed-600-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

html { scroll-behavior: smooth; }
/* GeneratePress ajoute marges et remplissages entre l'en-tête et le contenu, et
   un en-tête de page : annulés uniquement ici (classe de body `dh-legal`). */
body.dh-legal .site-content, body.dh-legal .content-area, body.dh-legal .site-main,
body.dh-legal .inside-article, body.dh-legal .entry-content, body.dh-legal article.post, body.dh-legal article.page {
  margin-top: 0 !important; padding-top: 0 !important;
}
body.dh-legal .entry-header, body.dh-legal .page-header { display: none !important; }

.lg {
  --lg-fond: #101A1C;
  --lg-fond-2: #132124;
  --lg-fond-3: #0B1315;
  --lg-filet: #2C3D40;
  --lg-filet-doux: #223235;
  --lg-filet-fort: #1F2E31;
  --lg-texte: #E6EBEA;
  --lg-chapeau: #B4C0BE;
  --lg-discret: #8A9896;
  --lg-deco: #4F6163;
  --lg-menthe: #8FC5BE;
  --lg-alerte: #F2B8A8;
  --lg-cond: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;
  --lg-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  --lg-mono: "IBM Plex Mono", ui-monospace, monospace;

  /* pleine largeur : sort le bloc de la largeur de contenu du thème */
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  font-family: var(--lg-sans);
  -webkit-font-smoothing: antialiased;
  background: var(--lg-fond);
  color: var(--lg-texte);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: clip;
}
body.dh-legal, body.dh-legal .site-content, body.dh-legal .site-main { background: #101A1C; }

.lg *, .lg *::before, .lg *::after { box-sizing: border-box; }
.lg [hidden] { display: none !important; }
.lg .lg-wrap { max-width: 1520px; margin: 0 auto; padding-left: clamp(20px, 4vw, 48px); padding-right: clamp(20px, 4vw, 48px); }
.lg a { color: inherit; text-decoration: none; }
.lg a:hover { color: var(--lg-menthe); }
.lg a:focus-visible, .lg button:focus-visible, .lg input:focus-visible, .lg summary:focus-visible {
  outline: 2px solid var(--lg-menthe); outline-offset: 3px;
}
.lg .lg-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* ---------------------------------------------------------------- hero --- */
.lg .lg-hero { padding-top: 24px; }
.lg .lg-crumbs { font-family: var(--lg-mono); font-size: 12px; color: var(--lg-discret); padding-bottom: clamp(28px, 4vw, 48px); }
.lg .lg-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lg .lg-crumbs [aria-current] { color: var(--lg-texte); }
.lg .lg-doc {
  display: inline-grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2px;
  background: var(--lg-filet); border: 1px solid var(--lg-filet);
  margin-bottom: clamp(28px, 3vw, 40px); font-family: var(--lg-mono); font-size: 13px;
}
.lg .lg-doc a {
  display: flex; align-items: center; justify-content: center; text-align: center; min-height: 44px; padding: 0 18px; white-space: nowrap;
  background: var(--lg-fond); color: var(--lg-chapeau);
}
.lg .lg-doc a:hover { color: var(--lg-texte); background: var(--lg-fond-2); }
.lg .lg-doc a[aria-current] { background: var(--lg-menthe); color: var(--lg-fond); }
@media (max-width: 560px) { .lg .lg-doc { display: grid; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); width: 100%; } }
.lg .lg-hero-in { display: flex; flex-direction: column; gap: 20px; max-width: 1100px; }
.lg .lg-kicker, .lg .lg-contenu .lg-kicker {
  margin: 0; font-family: var(--lg-mono); font-size: 12px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; color: var(--lg-menthe);
}
.lg .lg-hero-kicker { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; }
.lg .lg-hero-kicker [aria-hidden] { color: var(--lg-deco); }
.lg .lg-h1 {
  margin: 0; font-family: var(--lg-cond); font-weight: 600; color: var(--lg-texte);
  font-size: clamp(40px, 7.4vw, 116px); line-height: .88; letter-spacing: -.04em; text-wrap: balance; overflow-wrap: anywhere;
}
.lg .lg-h1 em { font-style: italic; font-weight: 500; color: var(--lg-menthe); }

/* ------------------------------------------------------- contenu (blocs) --- */
.lg .lg-contenu { padding-top: 0; }
.lg .lg-contenu .wp-block-group, .lg .lg-contenu .wp-block-group__inner-container, .lg .lg-contenu .wp-block-group__inner-container > *,
.lg .lg-contenu p, .lg .lg-contenu h2, .lg .lg-contenu h3, .lg .lg-contenu ul, .lg .lg-contenu ol, .lg .lg-contenu figure, .lg .lg-contenu .wp-block-buttons {
  margin-block: 0; margin-inline: 0;
}
.lg .lg-contenu .wp-block-group { padding: 0; }
.lg .lg-contenu a { color: var(--lg-menthe); border-bottom: 1px solid var(--lg-filet); }
.lg .lg-contenu a:hover { color: var(--lg-texte); border-bottom-color: var(--lg-menthe); }
.lg .lg-contenu strong { color: var(--lg-texte); font-weight: 600; }
.lg .lg-contenu code { background: none; padding: 0; font-family: var(--lg-mono); font-size: .94em; color: inherit; }
.lg .lg-contenu .wp-block-button__link, .lg .lg-contenu .lg-liens a { border-bottom: 0; }

.lg .lg-contenu .lg-lead { margin-top: 20px; font-size: clamp(17px, 1.4vw, 20px); color: var(--lg-chapeau); max-width: 680px; text-wrap: pretty; }
.lg .lg-contenu .lg-texte { color: var(--lg-chapeau); max-width: 72ch; text-wrap: pretty; }
.lg .lg-contenu .lg-h2 {
  font-family: var(--lg-cond); font-weight: 600; color: var(--lg-texte); font-size: clamp(34px, 4.6vw, 60px);
  line-height: .96; letter-spacing: -.02em; text-wrap: balance;
}
.lg .lg-contenu .lg-h2 em { font-style: italic; font-weight: 500; color: var(--lg-menthe); }
.lg .lg-contenu .lg-h3 { font-family: var(--lg-cond); font-weight: 600; font-size: clamp(22px, 2vw, 28px); line-height: 1.1; color: var(--lg-texte); letter-spacing: normal; }
.lg .lg-contenu .lg-chapeau { color: var(--lg-chapeau); max-width: 560px; text-wrap: pretty; }
.lg .lg-contenu .lg-mono { font-family: var(--lg-mono); }
.lg .lg-contenu .lg-nb-alerte { color: var(--lg-alerte); }

/* ------------------------------------------------------------ sections --- */
.lg .lg-contenu .lg-sec { padding: clamp(28px, 3vw, 44px) 0 clamp(56px, 7vw, 96px); border-top: 1px solid var(--lg-filet); scroll-margin-top: 90px; }
.lg .lg-contenu .lg-sec > .wp-block-group__inner-container > * + * { margin-top: 16px; }
.lg .lg-contenu .lg-sec > .wp-block-group__inner-container > .lg-tete + * { margin-top: 0; }
.lg .lg-contenu .lg-sec-nu { border-top: 0; padding-top: 0; }
.lg .lg-contenu .lg-tete { margin-bottom: clamp(12px, 2vw, 20px); }
.lg .lg-contenu .lg-tete > .wp-block-group__inner-container {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px clamp(32px, 5vw, 96px); align-items: end;
}
.lg .lg-contenu .lg-tete .lg-kicker { grid-column: 1; grid-row: 1; }
.lg .lg-contenu .lg-tete .lg-h2 { grid-column: 1; grid-row: 2; }
.lg .lg-contenu .lg-tete .lg-chapeau { grid-column: 1; grid-row: 3; }
@media (min-width: 900px) {
  .lg .lg-contenu .lg-tete > .wp-block-group__inner-container:has(.lg-chapeau) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg .lg-contenu .lg-tete .lg-chapeau { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
}

.lg .lg-contenu .lg-texte + .lg-texte { margin-top: 16px; }
/* ---------------------------------------------------------------- boutons --- */
.lg .lg-contenu .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.lg .lg-contenu .wp-block-button__link, .lg .lg-btn {
  display: inline-flex; gap: 16px; align-items: center; min-height: 44px; margin: 0;
  background: var(--lg-menthe); color: var(--lg-fond); padding: 14px 18px; font-size: 15px; font-weight: 600; line-height: 1.3;
  border: 0; border-radius: 0; cursor: pointer; font-family: inherit; text-decoration: none;
}
.lg .lg-contenu .wp-block-button__link:hover, .lg .lg-btn:hover { background: var(--lg-texte); color: var(--lg-fond); }
.lg .lg-contenu .lg-btn-ombre .wp-block-button__link { background: var(--lg-fond-2); color: var(--lg-texte); }
.lg .lg-contenu .lg-btn-ombre .wp-block-button__link:hover { background: var(--lg-filet); color: var(--lg-texte); }
.lg .lg-contenu .lg-liens { display: flex; flex-wrap: wrap; gap: 8px 24px; font-family: var(--lg-mono); font-size: 13px; }
.lg .lg-contenu .lg-liens a { color: var(--lg-menthe); border-bottom: 1px solid var(--lg-menthe); padding: 4px 0; }
.lg .lg-contenu .lg-liens a:hover { color: var(--lg-texte); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .lg * { transition: none !important; } }
