/* Créneau — tokens neutres (surchargés par le <style> du tenant). */

@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('/assets/fonts/manrope-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('/assets/fonts/manrope-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('/assets/fonts/manrope-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Sora'; src: url('/assets/fonts/sora-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Sora'; src: url('/assets/fonts/sora-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Sora'; src: url('/assets/fonts/sora-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('/assets/fonts/space-grotesk-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('/assets/fonts/space-grotesk-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('/assets/fonts/space-grotesk-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('/assets/fonts/fraunces-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('/assets/fonts/fraunces-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('/assets/fonts/fraunces-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Lora'; src: url('/assets/fonts/lora-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Lora'; src: url('/assets/fonts/lora-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Lora'; src: url('/assets/fonts/lora-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }

:root {
  /* Couleurs surchargées par tenant */
  --c-primary: #6d5bd0;
  --c-accent: #e8865d;
  --c-on-primary: #ffffff;
  --c-on-accent: #ffffff;

  /* Palette claire */
  --c-bg: #f7f7fa;
  --c-surface: #ffffff;
  --c-surface-2: #f1f1f6;
  --c-text: #191b22;
  --c-text-2: #5d6270;
  --c-border: #e3e4ec;
  --c-ok: #2f9e6e;
  --c-warn: #d9822b;
  --c-danger: #d64550;

  /* Dérivées */
  --c-primary-soft: color-mix(in oklab, var(--c-primary) 12%, var(--c-surface));
  --c-primary-hover: color-mix(in oklab, var(--c-primary) 88%, #000000);
  --c-ok-soft: color-mix(in oklab, var(--c-ok) 14%, var(--c-surface));
  --c-danger-soft: color-mix(in oklab, var(--c-danger) 12%, var(--c-surface));

  --font-body: 'Inter', system-ui, sans-serif;
  --font-heading: 'Fraunces', Georgia, serif;
  --text-xs: .78rem; --text-sm: .88rem; --text-md: 1rem;
  --text-lg: 1.2rem; --text-xl: 1.55rem; --text-2xl: 1.95rem; --text-3xl: 2.4rem;

  --radius: 14px;
  --radius-sm: calc(var(--radius) * .5);
  --shadow-1: 0 1px 3px rgb(15 15 35 / .06), 0 1px 2px rgb(15 15 35 / .04);
  --shadow-2: 0 8px 30px rgb(15 15 35 / .10);
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4rem;
  --transition: 160ms cubic-bezier(.4, 0, .2, 1);
}

/* Sombre : choix explicite du tenant, ou auto via système */
:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="dark"],
:root:not([data-theme="light"]).auto-dark { --dark: 1; }

:root[data-theme="dark"] {
  --c-bg: #131419;
  --c-surface: #1c1e26;
  --c-surface-2: #24262f;
  --c-text: #eceef4;
  --c-text-2: #9aa0b0;
  --c-border: #2e3140;
  --c-primary-soft: color-mix(in oklab, var(--c-primary) 22%, var(--c-surface));
  --c-primary-hover: color-mix(in oklab, var(--c-primary) 82%, #ffffff);
  --shadow-1: 0 1px 3px rgb(0 0 0 / .4);
  --shadow-2: 0 8px 30px rgb(0 0 0 / .5);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    color-scheme: dark;
    --c-bg: #131419;
    --c-surface: #1c1e26;
    --c-surface-2: #24262f;
    --c-text: #eceef4;
    --c-text-2: #9aa0b0;
    --c-border: #2e3140;
    --c-primary-soft: color-mix(in oklab, var(--c-primary) 22%, var(--c-surface));
    --c-primary-hover: color-mix(in oklab, var(--c-primary) 82%, #ffffff);
    --shadow-1: 0 1px 3px rgb(0 0 0 / .4);
    --shadow-2: 0 8px 30px rgb(0 0 0 / .5);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
