/* =========================================================
   LUMARA DESIGN TOKENS
   Single source of truth for color, type, spacing, radius,
   shadow and motion. Every component references these
   variables rather than hardcoding values.
   ========================================================= */

:root {
  /* ---- Brand palette ---- */
  --lumara-purple-900: #2A1458;
  --lumara-purple-700: #5B21B6;
  --lumara-purple-600: #7C3AED;
  --lumara-purple-500: #8B5CF6;
  --lumara-violet-400: #A78BFA;
  --lumara-pink-500:   #EC4899;
  --lumara-pink-400:   #F472B6;
  --lumara-lavender-50:#F6F3FF;
  --lumara-lavender-100:#EDE7FB;

  /* ---- Neutrals ---- */
  --lumara-white:  #FFFFFF;
  --lumara-slate-900: #150F27;
  --lumara-slate-700: #362B54;
  --lumara-slate-500: #675C86;
  --lumara-slate-300: #B6ADCF;
  --lumara-slate-100: #E7E2F5;

  /* ---- Semantic (light mode default) ---- */
  --bg-canvas:      var(--lumara-lavender-50);
  --bg-surface:     var(--lumara-white);
  --bg-surface-2:   var(--lumara-lavender-100);
  --bg-inverse:     var(--lumara-slate-900);

  --text-primary:   var(--lumara-slate-900);
  --text-secondary: var(--lumara-slate-500);
  --text-inverse:   var(--lumara-lavender-50);
  --text-on-brand:  #FFFFFF;

  --border-subtle:  rgba(21, 15, 39, 0.08);
  --border-strong:  rgba(21, 15, 39, 0.16);

  --brand-solid:    var(--lumara-purple-600);
  --brand-solid-hover: var(--lumara-purple-700);
  --brand-gradient: linear-gradient(135deg, var(--lumara-purple-600) 0%, var(--lumara-pink-500) 100%);
  --brand-gradient-soft: linear-gradient(135deg, rgba(124,58,237,0.10) 0%, rgba(236,72,153,0.10) 100%);

  --accent: var(--lumara-pink-500);

  --success: #17A673;
  --warning: #D97706;
  --danger:  #DC2626;
  --info:    var(--lumara-purple-600);

  --glass-bg: rgba(255, 255, 255, 0.6);
  --glass-border: rgba(255, 255, 255, 0.5);
  --glass-blur: 16px;

  /* ---- Typography ---- */
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --fs-hero: clamp(2.5rem, 4.4vw, 3.75rem);
  --fs-h1: clamp(2rem, 3vw, 2.75rem);
  --fs-h2: clamp(1.5rem, 2.2vw, 2rem);
  --fs-h3: 1.25rem;
  --fs-body-lg: 1.125rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-xsmall: 0.75rem;

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-body: 1.6;

  /* ---- Spacing scale (4px base) ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* ---- Radius ---- */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 999px;

  /* ---- Shadow ---- */
  --shadow-sm: 0 1px 2px rgba(21, 15, 39, 0.06);
  --shadow-md: 0 8px 24px rgba(42, 20, 88, 0.10);
  --shadow-lg: 0 20px 48px rgba(42, 20, 88, 0.16);
  --shadow-glow: 0 12px 32px rgba(124, 58, 237, 0.28);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 400ms;

  /* ---- Layout ---- */
  --container-max: 1200px;
  --header-height: 76px;
}

/* ---- Dark mode overrides ---- */
[data-theme="dark"] {
  --bg-canvas:    #0F0A1E;
  --bg-surface:   #1B1430;
  --bg-surface-2: #241C3D;
  --bg-inverse:   var(--lumara-lavender-50);

  --text-primary:   #F3EFFE;
  --text-secondary: #A79BC9;
  --text-inverse:   var(--lumara-slate-900);

  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.16);

  --glass-bg: rgba(27, 20, 48, 0.6);
  --glass-border: rgba(255, 255, 255, 0.08);

  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 20px 48px rgba(0, 0, 0, 0.45);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
