/* =============================================================================
   Enthalpic, site public : jetons de design
   Chargé en premier. Tout le reste du CSS ne référence que ces variables.
   Palette Nord (https://www.nordtheme.com), valeurs officielles.
   ============================================================================= */

:root {
  /* --- Palette Nord ------------------------------------------------------- */
  --nord0:  #2e3440;
  --nord1:  #3b4252;
  --nord2:  #434c5e;
  --nord3:  #4c566a;
  --nord4:  #d8dee9;
  --nord5:  #e5e9f0;
  --nord6:  #eceff4;
  --nord7:  #8fbcbb;
  --nord8:  #88c0d0;
  --nord9:  #81a1c1;
  --nord10: #5e81ac;
  --nord11: #bf616a;
  --nord12: #d08770;
  --nord13: #ebcb8b;
  --nord14: #a3be8c;
  --nord15: #b48ead;

  /* --- Rôles sémantiques (thème clair) ------------------------------------- */
  --color-bg:            var(--nord6);
  --color-bg-elevated:   #ffffff;
  --color-bg-inverse:    var(--nord0);
  --color-bg-inverse-2:  var(--nord1);
  --color-text:          var(--nord0);
  --color-text-muted:    var(--nord3);
  --color-text-inverse:  var(--nord6);
  --color-text-inverse-muted: var(--nord4);
  --color-border:        var(--nord4);
  --color-border-strong: var(--nord3);
  --color-border-inverse: var(--nord3);
  --color-accent:        #4c6a92;      /* nord10 assombri : contraste WCAG AA (>= 4,5) sur fonds clairs */
  --color-accent-hover:  #3b5478;
  --color-accent-soft:   var(--nord8);
  --color-ok:            var(--nord14);
  --color-warn:          var(--nord13);
  --color-alert:         var(--nord11);
  --color-focus:         var(--nord8);

  /* --- Typographie --------------------------------------------------------- */
  --font-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --text-xs:   0.75rem;   /* 12 px */
  --text-sm:   0.875rem;  /* 14 px */
  --text-base: 1rem;      /* 16 px */
  --text-md:   1.0625rem; /* 17 px */
  --text-lg:   1.1875rem; /* 19 px */
  --text-xl:   1.5rem;    /* 24 px */
  --text-2xl:  2.25rem;   /* 36 px */
  --text-3xl:  3.25rem;   /* 52 px */

  --leading-tight:  1.08;
  --leading-snug:   1.3;
  --leading-normal: 1.55;
  --leading-loose:  1.7;

  --tracking-tight: -0.02em;
  --tracking-label: 0.08em;

  /* --- Espacements (base 8) ------------------------------------------------ */
  --space-1: 0.25rem;  /* 4 */
  --space-2: 0.5rem;   /* 8 */
  --space-3: 0.75rem;  /* 12 */
  --space-4: 1rem;     /* 16 */
  --space-5: 1.5rem;   /* 24 */
  --space-6: 2rem;     /* 32 */
  --space-7: 2.5rem;   /* 40 */
  --space-8: 3rem;     /* 48 */
  --space-9: 4rem;     /* 64 */
  --space-10: 5rem;    /* 80 */
  --space-11: 5.5rem;  /* 88 */

  /* --- Mise en page -------------------------------------------------------- */
  --container-max: 1200px;
  --container-gutter: var(--space-5);
  --grid-columns: 12;
  --grid-gap: var(--space-5);

  /* --- Formes -------------------------------------------------------------- */
  --radius: 0;            /* carré : aucun arrondi */
  --radius-sm: 2px;       /* seule exception tolérée : champs de formulaire */
  --border-width: 1px;
  --border-width-strong: 2px;
  --accent-bar: 3px;

  /* --- Mouvement ----------------------------------------------------------- */
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --easing: cubic-bezier(0.2, 0, 0, 1);

  /* --- Z-index ------------------------------------------------------------- */
  --z-header: 100;
  --z-menu: 110;
}

/* Thème sombre : prévu, non activé. S'active avec data-theme="dark" sur <html>. */
:root[data-theme="dark"] {
  --color-bg:            var(--nord0);
  --color-bg-elevated:   var(--nord1);
  --color-bg-inverse:    var(--nord6);
  --color-bg-inverse-2:  var(--nord5);
  --color-text:          var(--nord6);
  --color-text-muted:    var(--nord4);
  --color-text-inverse:  var(--nord0);
  --color-text-inverse-muted: var(--nord3);
  --color-border:        var(--nord3);
  --color-border-strong: var(--nord4);
  --color-border-inverse: var(--nord4);
  --color-accent:        var(--nord8);
  --color-accent-hover:  var(--nord7);
  --color-accent-soft:   var(--nord10);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
  }
}
