/* Design tokens — Consiliance · charte imposée : bleu marine #1A2744 + or champagne #C9A96E.
   Seules --marine et --or sont réglables (admin → Réglages, injectées par theme_style()) : tout le reste en découle.
   Contrastes : blanc sur marine ≈ 15:1 ; marine sur or ≈ 7:1 ; or sur marine ≈ 7:1. Sur fond blanc, l'or n'est jamais
   utilisé pour du texte (≈ 2,2:1) : on prend --lien (or assombri, ≈ 5:1). */
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/plus-jakarta-sans-600.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/plus-jakarta-sans-700.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/plus-jakarta-sans-800.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/inter-700.woff2') format('woff2'); }
:root {
  --marine: #1A2744;
  --or: #C9A96E;
  --blanc: #fff;

  --background: var(--blanc);
  --foreground: var(--marine);
  --surface: var(--blanc);
  --surface-elevated: var(--blanc);
  --primary: var(--or);
  --primary-foreground: var(--marine);
  --secondary: var(--marine);
  --secondary-foreground: var(--blanc);
  --marine-2: color-mix(in oklch, var(--marine), var(--blanc) 9%);
  --sur-marine-doux: color-mix(in oklch, var(--blanc) 80%, var(--marine));
  --accent: var(--or);
  --accent-foreground: var(--marine);
  --lien: color-mix(in oklch, var(--or), black 45%);
  --muted: color-mix(in oklch, var(--marine) 5%, var(--blanc));
  --muted-foreground: color-mix(in oklch, var(--marine) 78%, var(--blanc));
  --border: color-mix(in oklch, var(--marine) 12%, var(--blanc));
  --input: color-mix(in oklch, var(--marine) 28%, var(--blanc));
  --ring: var(--lien);
  --decor: var(--or);
  --decor-pale: color-mix(in srgb, var(--marine), var(--blanc) 7%);
  --success: oklch(50.0% 0.130 150.0);
  --warning: oklch(55.0% 0.112 70.0);
  --error: oklch(52.0% 0.150 25.0);

  --font-display: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --weight-heading: 800;
  --tracking-heading: -0.02em;
  --case-heading: none;
  --leading-body: 1.75;

  --text-display: clamp(2.6rem, 6vw, 3.5rem);
  --text-h1: clamp(2.25rem, 5vw, 3.5rem);
  --text-h2: clamp(1.6rem, 3.2vw, 2rem);
  --text-h3: clamp(1.15rem, 2vw, 1.25rem);
  --text-body-lg: 1.25rem;
  --text-body: 1rem;
  --text-small: 1rem;
  --text-caption: 0.9375rem;

  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-button: 9999px;

  --space-section: clamp(4rem, 9vw, 7rem);
  --space-container: 1200px;
  --space-gutter: clamp(1.5rem, 4vw, 2.5rem);

  --shadow-sm: 0 1px 2px color-mix(in oklch, var(--marine) 10%, transparent);
  --shadow-md: 0 2px 4px color-mix(in oklch, var(--marine) 6%, transparent), 0 10px 28px color-mix(in oklch, var(--marine) 10%, transparent);
  --shadow-lg: 0 6px 12px color-mix(in oklch, var(--marine) 8%, transparent), 0 24px 48px color-mix(in oklch, var(--marine) 18%, transparent);
  --shadow-premium: 0 8px 16px color-mix(in oklch, var(--marine) 8%, transparent), 0 32px 64px color-mix(in oklch, var(--marine) 16%, transparent);

  --curseur: url('/images/curseurs/fleche.svg') 3 2, auto;
  --curseur-main: url('/images/curseurs/main.svg') 11 3, pointer;

  --duration: 280ms;
  --ease: cubic-bezier(.2,.7,.2,1);
  color-scheme: light;
}
