/* ============================================================
   {NOM_DU_SITE} — Tokens & garde-fous DA
   Miroir lisible des tokens theme.json + règles verrouillées.
   ============================================================ */
:root{
  /* Couleurs (alignées sur theme.json) */
  --c-noir-900:#0A0A0A; --c-noir-800:#1A1A1A; --c-bordure-sombre:#2A2A2A;
  --c-rouge:#B11226; --c-rouge-hover:#E63946; --c-bordeaux:#6E0D25;
  --c-blanc:#FFFFFF; --c-blanc-casse:#F5F5F5; --c-or:#D9B45A; --c-gris-texte:#B3B3B3; --c-bordure-claire:#EDEDED;

  /* Tokens sémantiques */
  --surface:var(--c-noir-900); --surface-elevee:var(--c-noir-800);
  --texte:var(--c-blanc); --texte-attenue:var(--c-gris-texte);
  --accent:var(--c-rouge); --accent-hover:var(--c-rouge-hover); --bordure:var(--c-bordure-sombre);

  /* Typo */
  --font-titre:"Playfair Display",Georgia,serif; --font-corps:"Inter",system-ui,sans-serif;

  /* Espacement — MARGE INTER-BLOCS UNIQUE */
  --espace-bloc:80px; --gouttiere:24px; --padding-carte:24px; --largeur-contenu:1280px;

  /* Rayon / bordures / ombres */
  --radius:5px; --bordure-fine:1px; --ombre:0 4px 20px rgba(0,0,0,.35); --filet-accent:3px;
}
@media (max-width:768px){
  :root{ --espace-bloc:48px; --gouttiere:16px; --padding-carte:16px; }
}

/* Marge inter-blocs unique appliquée au flux de contenu */
body{ background:var(--surface); color:var(--texte); font-family:var(--font-corps); line-height:1.6; }
h1,h2,h3,h4{ font-family:var(--font-titre); line-height:1.15; }

/* GARDE-FOU RAYON : rien ne dépasse 5px. Cercles intentionnels via .is-cercle. */
*:not(.is-cercle){ border-radius:min(var(--radius),5px); }
.is-cercle{ border-radius:9999px; }
img,figure img,.wp-block-image img{ border-radius:5px; }

/* Filet accent sous les titres de section */
.filet-accent{ position:relative; padding-bottom:12px; }
.filet-accent::after{ content:""; position:absolute; left:0; bottom:0; width:48px; height:var(--filet-accent); background:var(--accent); }

/* Cibles tactiles ≥ 44px (mobile-first) */
a.wp-element-button,.wp-block-button__link,button{ min-height:44px; display:inline-flex; align-items:center; }

/* Header sticky */
.lb-header{ position:sticky; top:0; z-index:100; border-bottom:1px solid var(--bordure); }
.lb-header__bar{ padding-block:12px; }
/* Menu mobile plein écran (overlay natif renforcé) */
.wp-block-navigation__responsive-container.is-menu-open{ background:var(--surface); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{ padding-top:64px; font-family:var(--font-titre); font-size:22px; }
/* Barre d'actions basse : mobile uniquement, collée en bas */
.lb-bottombar{ display:none; }
@media (max-width:768px){
  .lb-bottombar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:120; padding:8px 16px; border-top:1px solid var(--bordure); }
  .lb-bottombar a{ min-height:44px; color:var(--texte); text-decoration:none; font-size:12px; }
  body{ padding-bottom:64px; }
}

/* Footer */
.lb-footer{ border-top:1px solid var(--bordure); padding-block:var(--espace-bloc); }
.lb-footer a{ color:var(--texte-attenue); }
.lb-footer a:hover{ color:var(--accent-hover); }
.lb-footer h3{ font-size:16px; margin-bottom:12px; }
.lb-footer__copy{ margin-top:var(--gouttiere); font-size:12px; }

/* Logo */
.lb-logo-wrap{ display:flex; align-items:center; }
.lb-logo-link{ display:inline-flex; align-items:center; text-decoration:none; }
.lb-logo{ height:34px; width:auto; display:block; }
@media (max-width:768px){ .lb-logo{ height:28px; } }

/* lb-read-rhythm : corps d'article lisible (le blockGap global spacing-80 est reserve aux sections) */
.single-lb_article .wp-block-post-content > *,
.single-post .wp-block-post-content > *{margin-top:0;margin-bottom:0}
.single-lb_article .wp-block-post-content > * + *,
.single-post .wp-block-post-content > * + *{margin-top:1.3em}
.single-lb_article .wp-block-post-content :is(h2,h3),
.single-post .wp-block-post-content :is(h2,h3){margin-top:1.6em}

/* --- lb-focus-clic : focus au clavier uniquement --------------------
   Retire la bordure (anneau de focus du navigateur) au clic souris/tactile,
   et la conserve pour la navigation clavier (:focus-visible) => accessibilite. */
:focus:not(:focus-visible){ outline:none; }
a, button, summary, label, [role="button"], .lb-btn{ -webkit-tap-highlight-color:transparent; }

/* L'attribut hidden doit toujours masquer, meme sur les classes a display:flex/inline-flex (ex .lb-btn). */
[hidden]{display:none!important}
