/* ============================================
   VARIABLES.CSS - Design Tokens
   BarCamp Ferizaj
============================================ */

:root {
  /* ---- Colors: Backgrounds ---- */
  --color-bg-base:      #F8F7F4;
  --color-bg-surface:   #FFFFFF;
  --color-bg-elevated:  #F0EEE9;
  --color-bg-overlay:   rgba(248, 247, 244, 0.94);

  /* ---- Colors: Accent (Warm Indigo) ---- */
  --color-accent:       #4F46E5;
  --color-accent-dim:   #3730A3;
  --color-accent-muted: rgba(79, 70, 229, 0.08);
  --color-accent-glow:  0 4px 24px rgba(79, 70, 229, 0.18);

  /* ---- Colors: Secondary (Warm Amber) ---- */
  --color-secondary:    #D97706;
  --color-secondary-dim:#B45309;
  --color-secondary-muted: rgba(217, 119, 6, 0.10);

  /* ---- Colors: Text ---- */
  --color-text-primary: #1A1825;
  --color-text-secondary:#52506B;
  --color-text-muted:   #9896B0;
  --color-text-inverse: #FFFFFF;

  /* ---- Colors: Borders ---- */
  --color-border:       rgba(26, 24, 37, 0.10);
  --color-border-subtle: rgba(26, 24, 37, 0.06);
  --color-border-accent: var(--color-accent);

  /* ---- Colors: Semantic ---- */
  --color-success:      #16A34A;
  --color-error:        #DC2626;

  /* ---- Typography: Families ---- */
  --font-heading: 'Space Grotesk', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  /* ---- Typography: Scale ---- */
  --text-xs:    0.75rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-lg:    1.25rem;
  --text-xl:    1.5rem;
  --text-2xl:   1.875rem;
  --text-3xl:   2.25rem;
  --text-4xl:   3rem;
  --text-5xl:   4rem;
  --text-hero:  clamp(2.8rem, 7vw, 5.5rem);

  /* ---- Typography: Weights ---- */
  --weight-light:   300;
  --weight-regular: 400;
  --weight-medium:  500;
  --weight-semibold:600;
  --weight-bold:    700;

  /* ---- Spacing ---- */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* ---- Layout ---- */
  --container-max: 1200px;
  --container-wide: 1400px;
  --container-narrow: 800px;
  --nav-height: 72px;

  /* ---- Border Radius ---- */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   20px;
  --radius-full: 9999px;

  /* ---- Shadows ---- */
  --shadow-sm:  0 1px 3px rgba(26,24,37,0.08);
  --shadow-md:  0 4px 16px rgba(26,24,37,0.10);
  --shadow-lg:  0 8px 32px rgba(26,24,37,0.12);
  --shadow-accent: var(--color-accent-glow);

  /* ---- Transitions ---- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
  --transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Z-index Scale ---- */
  --z-base:    0;
  --z-raised:  10;
  --z-overlay: 100;
  --z-nav:     200;
  --z-modal:   300;
  --z-toast:   400;
}

/* ============================================
   DARK THEME OVERRIDES
============================================ */
[data-theme="dark"] {
  /* ---- Colors: Backgrounds ---- */
  --color-bg-base:      #121212;
  --color-bg-surface:   #1E1E1E;
  --color-bg-elevated:  #2C2C2C;
  --color-bg-overlay:   rgba(18, 18, 18, 0.94);

  /* ---- Colors: Text ---- */
  --color-text-primary: #F3F4F6;
  --color-text-secondary:#9CA3AF;
  --color-text-muted:   #6B7280;
  --color-text-inverse: #111827;

  /* ---- Colors: Borders ---- */
  --color-border:       rgba(255, 255, 255, 0.12);
  --color-border-subtle: rgba(255, 255, 255, 0.06);

  /* ---- Shadows ---- */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.5);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.6);
  --shadow-lg:  0 8px 32px rgba(0,0,0,0.7);
}
