/* ==================================================================
   La Fabrique Culturelle — jetons de design (design tokens)
   Base du design system. Etendu en phase C.
   ================================================================== */

:root {
  color-scheme: light dark;

  /* --- Palette de marque : ART + CULTURE + EMOTION --- */
  --brand-ink:        #14101d;   /* violet quasi-noir : fonds sombres, textes forts */
  --brand-ember:      #ff5a1f;   /* orange scene : accents, CTA */
  --brand-ember-soft: #ff8c5a;
  --brand-magenta:    #ff2e78;   /* rose projecteur : degrades, hovers */
  --brand-gold:       #f5b73d;   /* or : chiffres cles, details premium */
  --brand-plum:       #6c2bd9;   /* pourpre : liens, second accent */
  --brand-cream:      #fbf7f1;   /* fond clair chaleureux */

  /* --- Neutres --- */
  --n-0:   #ffffff;
  --n-50:  #f6f4f1;
  --n-100: #ece8e2;
  --n-200: #d9d3c9;
  --n-300: #b8afa1;
  --n-400: #8b8173;
  --n-500: #625a4f;
  --n-600: #453f37;
  --n-700: #2e2a25;
  --n-800: #1d1a16;
  --n-900: #121010;

  /* --- Roles semantiques (theme clair par defaut) --- */
  --bg:            var(--brand-cream);
  --bg-elevated:   var(--n-0);
  --bg-sunken:     var(--n-100);
  --surface:       var(--n-0);
  --surface-2:     var(--n-50);
  --border:        color-mix(in srgb, var(--n-300) 55%, transparent);
  --border-strong: var(--n-300);
  --text:          var(--n-800);
  --text-muted:    var(--n-500);
  --text-subtle:   var(--n-400);
  --text-invert:   var(--brand-cream);

  --accent:        var(--brand-ember);
  --accent-hover:  #e8480f;
  --accent-contrast:#ffffff;
  --link:          var(--brand-plum);

  --success: #1c8a4e;
  --warning: #c9821b;
  --danger:  #d33a2c;
  --info:    #2f6fb0;

  /* --- Typographie --- */
  --font-display: "Clash Display", "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --font-sans:    "Inter", "Segoe UI", Roboto, system-ui, -apple-system, sans-serif;
  --font-mono:    ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;

  --fs-xs:   0.78rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-md:   1.125rem;
  --fs-lg:   1.375rem;
  --fs-xl:   1.875rem;
  --fs-2xl:  2.5rem;
  --fs-3xl:  3.5rem;
  --fs-4xl:  clamp(2.75rem, 6vw + 1rem, 5.5rem);

  --lh-tight: 1.1;
  --lh-snug:  1.3;
  --lh-base:  1.65;

  /* --- Espacements (echelle 4px) --- */
  --sp-1: 0.25rem;  --sp-2: 0.5rem;  --sp-3: 0.75rem;  --sp-4: 1rem;
  --sp-5: 1.5rem;   --sp-6: 2rem;    --sp-8: 3rem;     --sp-10: 4rem;
  --sp-12: 6rem;    --sp-16: 8rem;

  --container:      1200px;
  --container-wide: 1440px;
  --container-prose: 68ch;

  /* --- Rayons --- */
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  22px;
  --r-xl:  32px;
  --r-full: 999px;

  /* --- Ombres --- */
  --shadow-sm: 0 1px 2px rgba(20, 16, 29, 0.08);
  --shadow-md: 0 12px 30px -12px rgba(20, 16, 29, 0.22);
  --shadow-lg: 0 40px 80px -24px rgba(20, 16, 29, 0.35);
  --shadow-glow: 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent),
                 0 20px 60px -20px color-mix(in srgb, var(--accent) 55%, transparent);

  /* --- Mouvement --- */
  --ease-out:  cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 600ms;

  --z-header: 100;
  --z-modal:  1000;
  --z-toast:  1100;
}

/* --- Theme sombre --- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:            var(--brand-ink);
    --bg-elevated:   #1b1626;
    --bg-sunken:     #0e0b16;
    --surface:       #211b2e;
    --surface-2:     #1a1524;
    --border:        rgba(255, 255, 255, 0.10);
    --border-strong: rgba(255, 255, 255, 0.18);
    --text:          #f2ecff;
    --text-muted:    #b7add0;
    --text-subtle:   #8b83a6;
    --text-invert:   var(--brand-ink);
    --link:          #c2a6ff;
  }
}

:root[data-theme="dark"] {
  --bg:            var(--brand-ink);
  --bg-elevated:   #1b1626;
  --bg-sunken:     #0e0b16;
  --surface:       #211b2e;
  --surface-2:     #1a1524;
  --border:        rgba(255, 255, 255, 0.10);
  --border-strong: rgba(255, 255, 255, 0.18);
  --text:          #f2ecff;
  --text-muted:    #b7add0;
  --text-subtle:   #8b83a6;
  --text-invert:   var(--brand-ink);
  --link:          #c2a6ff;
}
