/*
 * Palette de marque Nafatec — miroir manuel de nafabeat-app/lib/core/
 * design_system_{africain,enterprise,accessible}.dart, qui restent la
 * source canonique unique. Toute couleur absente de ces 3 fichiers Dart
 * doit y être ajoutée formellement (skill /design-token) avant d'être
 * reprise ici — jamais l'inverse.
 */
:root {
  --marine:         #1a1a2e;
  --marine-light:   #2d2d4e;
  --gold:           #CA8A04;
  --gold-rgb:       202,138,4;
  --gold-light:     #E2A832;
  --gold-dark:      #92400E;
  --orange-pay:     #E2680C;
  --text-cream:     #F8F4EF;
  --text-sec-dark:  rgba(248,244,239,0.66);
  --text-tert:      rgba(248,244,239,0.42);
  --border-dark:    rgba(248,244,239,0.12);
  --background-clair: #F8F4EF;

  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Tokens fidèles à nafabeat-app/lib/core/design_system_prestige.dart
     (NafabeatPrestigeBrand) — identité FIXE de la Page Prestige,
     indépendante du thème actif. Hors périmètre /design-token. */
  --pp-surface:  #FFFFFF;
  --pp-text-1:   #0F172A;
  --pp-text-2:   #475569;
  --pp-text-3:   #94A3B8;
  --pp-badge-bg: #F1F5F9;
  --pp-badge-fg: #64748B;
  --pp-border:   #E2E8F0;
  --pp-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Vert WhatsApp — couleur de marque fixe (pas un token thème) */
  --wa-green: #25D366;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--marine);
  color: var(--text-cream);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button { font-family: var(--font-body); }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; border-radius: 2px; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
