/* ─────────────────────────────────────────────────────────────────────────────
   THÈME PARTAGÉ VULKAN — tokens de marque + moteur clair/sombre.
   Extrait des pages où ce bloc était dupliqué à l'identique (30 pages) : une seule
   source de vérité, chargée AVANT le <style> inline de chaque page pour que
   d'éventuelles surcharges locales gardent la priorité. Les pages dont le bloc
   différait (business, funnel, index, mon-entrainement...) gardent leur version
   inline — à migrer ici au cas par cas si on veut aller au bout.
   ───────────────────────────────────────────────────────────────────────────── */
:root{
    --true-black:#F7F5F0;
    --black:#F7F5F0;
    --ink:#EEECE7;
    --stone-deep:#EFEBE2;
    --stone:#F3F0E9;
    --stone-mid:#FBFAF8;
    --stone-light:#D3D1CC;
    --charcoal:#5E5A57;

    --red-ember:#4D4232;
    --red:#312A21;
    --red-blood:#1C1815;
    --red-dark:#14110F;
    --red-vein:#0D0B09;
    --divider:rgba(28,24,21,0.16);
    --tint:rgba(61,57,54,0.12);

    --gold:#3D3936;
    --gold-light:#57534F;
    --gold-bright:#1C1815;
    --gold-muted:#5E5A57;

    --steel:#94928D;
    --steel-light:#C0BEB9;

    --n-700:#E5E3DE;
    --n-600:#C7C4C0;
    --n-500:#A4A19D;
    --n-400:#7F7B78;
    --n-300:#5E5A57;
    --n-200:#3D3936;
    --n-100:#1C1815;

    --white:#1C1815;
    --pure-white:#14110F;

    --font-display:'Prata', Georgia, serif;
    --font-condensed:'Jost', sans-serif;
    --font-body:'Jost', -apple-system, BlinkMacSystemFont, sans-serif;

    --max-w:1180px;
    --radius-sm:2px;
    --radius-md:4px;
    --radius-pill:9999px;

    --shadow-md:0 3px 14px rgba(28,24,21,0.10);
    --shadow-lg:0 12px 34px rgba(28,24,21,0.14);
    --shadow-red-md:0 0 24px rgba(61,57,54,0.30);
    --transition:250ms ease;
  }

  /* ═════════════════════ THEME ENGINE — clair / sombre ═════════════════════
     Le sombre reste la valeur par défaut de :root (identité de marque, inchangée).
     Le clair redéfinit les MÊMES variables (fonds, textes neutres) — tout le CSS
     existant qui utilise var(--stone), var(--white), var(--n-500)... continue de
     marcher sans modification. Les couleurs de marque (--red*, --gold*) ne bougent
     JAMAIS : ce sont elles qui gardent la DA reconnaissable dans les deux thèmes.
     --on-accent / --on-accent-dark sont deux constantes qui NE changent JAMAIS de
     valeur : elles servent uniquement au texte posé sur une surface de marque à
     couleur fixe (ex. bouton bordeaux, pastille or) qui ne doit jamais s'inverser. */
  :root{
    --on-accent:#F7F5F0;
    --gray:var(--n-400);
    --on-accent-dark:#1C1815;
    --theme-transition:background-color 320ms cubic-bezier(0.16,1,0.3,1), border-color 320ms cubic-bezier(0.16,1,0.3,1), color 320ms cubic-bezier(0.16,1,0.3,1), box-shadow 320ms cubic-bezier(0.16,1,0.3,1);
    /* teintes de fond "en creux" (sections, encarts sunken) — pensées pour le sombre (voile
       noir sur texture déjà sombre) ; redéfinies en clair juste en dessous pour rester un
       voile chaud très léger au lieu d'un gris terne plaqué sur un fond clair. */
    --section-tint:rgba(28,24,21,0.05);
    --panel-tint:rgba(28,24,21,0.07);
    --panel-tint-sm:rgba(28,24,21,0.055);
  }
  @media (prefers-color-scheme: light){
    html:not([data-theme="dark"]){
      --true-black:#F7F5F0; --black:#F7F5F0; --ink:#EEECE7;
      --stone-deep:#EFEBE2; --stone:#F3F0E9; --stone-mid:#FBFAF8; --stone-light:#D3D1CC; --charcoal:#5E5A57;
      --n-700:#E5E3DE; --n-600:#C7C4C0; --n-500:#A4A19D; --n-400:#7F7B78; --n-300:#5E5A57; --n-200:#3D3936; --n-100:#1C1815;
      --white:#1C1815; --pure-white:#14110F;
      --divider:rgba(28,24,21,0.16); --tint:rgba(61,57,54,0.12);
      --section-tint:rgba(28,24,21,0.05); --panel-tint:rgba(28,24,21,0.07); --panel-tint-sm:rgba(28,24,21,0.055);
      --shadow-md:0 3px 14px rgba(28,24,21,0.10); --shadow-lg:0 12px 34px rgba(28,24,21,0.14); --shadow-red-md:0 0 24px rgba(61,57,54,0.30);
      --gold:#3D3936; --gold-light:#57534F; --gold-bright:#1C1815; --gold-muted:#5E5A57;
    }
  }
  html[data-theme="light"]{
    --true-black:#F7F5F0; --black:#F7F5F0; --ink:#EEECE7;
    --stone-deep:#EFEBE2; --stone:#F3F0E9; --stone-mid:#FBFAF8; --stone-light:#D3D1CC; --charcoal:#5E5A57;
    --n-700:#E5E3DE; --n-600:#C7C4C0; --n-500:#A4A19D; --n-400:#7F7B78; --n-300:#5E5A57; --n-200:#3D3936; --n-100:#1C1815;
    --white:#1C1815; --pure-white:#14110F;
    --divider:rgba(28,24,21,0.16); --tint:rgba(61,57,54,0.12);
    --section-tint:rgba(28,24,21,0.05); --panel-tint:rgba(28,24,21,0.07); --panel-tint-sm:rgba(28,24,21,0.055);
    --shadow-md:0 3px 14px rgba(28,24,21,0.10); --shadow-lg:0 12px 34px rgba(28,24,21,0.14); --shadow-red-md:0 0 24px rgba(61,57,54,0.30);
    --gold:#3D3936; --gold-light:#57534F; --gold-bright:#1C1815; --gold-muted:#5E5A57;
  }
  /* transition douce (fondu) au changement de thème, plutôt qu'un flash brutal */
  html, body, .dash-card, .btn, input, select, textarea, .exercise-block, .log-row, nav.wrap{
    transition:var(--theme-transition);
  }
  /* DA Alisa.NutriFit : le marbre est TOUJOURS le fond (charte : "jamais plat, toujours
     veiné/texturé") — plus de bascule clair/sombre, une seule identité, quel que soit le
     data-theme ou la préférence système. On force la texture marbre sans condition et on
     neutralise le voile sombre hérité. */
  body{
    background-image:url("assets/texture-clair-travertin.jpg") !important;
  }
  body::after{ background:none !important; }

  /* boutons / pastilles à couleur de marque FIXE : leur texte ne doit jamais suivre
     l'inversion de --white (sinon texte sombre sur fond bordeaux/or = illisible). */
  .btn-primary, .auth-tab.active, .proof-nav{ color:var(--on-accent); }

  /* ───────── bouton toggle de thème — plus de mode sombre, masqué (DA Alisa.NutriFit) ───────── */
  .vk-theme-toggle-btn{ display:none !important; }
  