/**
 * tokens.css
 *
 * Traduction directe de design-system.md en variables CSS.
 * Ce fichier est la SEULE source de vérité pour les valeurs de design.
 * Aucune couleur, taille, ombre ou easing ne doit être écrite en dur
 * ailleurs dans le code — toujours référencer une variable d'ici.
 *
 * Toute modification du design system commence par ce fichier.
 */

:root {
  /* ===== Couleurs — fond ===== */
  --color-bg-primary: #14100D;
  --color-bg-surface: #1E1712;
  --color-bg-surface-raised: #29201A;

  /* ===== Couleurs — accents de marque ===== */
  --color-accent-yellow: #E8B23D;
  --color-accent-orange: #D9622A;
  --color-accent-green: #4FA65B;

  --color-accent-yellow-hover: #F2C25C;
  --color-accent-orange-hover: #E8763F;
  --color-accent-green-hover: #63BE70;

  /* ===== Couleurs — texte ===== */
  --color-text-primary: #F5EFE6;
  --color-text-secondary: #B8AFA3;
  --color-text-muted: #948A7F;
  --color-text-on-accent: #14100D;

  /* ===== Couleurs — système ===== */
  --color-error: #E4573D;
  --color-success: var(--color-accent-green);
  --color-warning: var(--color-accent-yellow);

  /* ===== Couleurs — bordures ===== */
  --color-border-subtle: rgba(245, 239, 230, 0.08);
  --color-border-visible: rgba(245, 239, 230, 0.16);

  /* ===== Typographie ===== */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 2.75rem;
  --text-4xl: 3.5rem;

  /* ===== Espacements (base 4) ===== */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* ===== Radius ===== */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-full: 999px;

  /* ===== Ombres ===== */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.24);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.32);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.4);
  --shadow-card-dish: 0 24px 40px -12px rgba(217, 98, 42, 0.25);

  /* ===== Animation ===== */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-soft: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-premium: cubic-bezier(0.65, 0, 0.35, 1);

  --duration-fast: 150ms;
  --duration-base: 300ms;
  --duration-slow: 500ms;

  /* ===== Breakpoints (référence — non utilisables directement en CSS,
       dupliqués dans les media queries, voir base.css) ===== */
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;

  /* ===== Z-index ===== */
  --z-base: 0;
  --z-card-hover: 10;
  --z-sticky-header: 100;
  --z-floating-cart: 200;
  --z-bottom-sheet: 300;
  --z-modal-overlay: 400;
  --z-modal: 410;
  --z-toast: 500;
}

/* Respect systématique de la réduction de mouvement (section 6.2 du design-system) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
