/* ═══════════════════════════════════════════════
   WAJHA AGENCY — DESIGN TOKENS
   Source: Brand Identity Document v1.0
   Rule: Edit here to change anything visual sitewide.
   ═══════════════════════════════════════════════ */

:root {

  /* ── RGB COMPONENTS FOR DYNAMIC ALPHA ── */
  --color-brand-primary-rgb: 79, 70, 229;
  --color-brand-primary-mid-rgb: 99, 102, 241;
  --color-brand-accent-rgb: 249, 115, 22;
  --color-success-rgb: 16, 185, 129;
  --color-bg-page-rgb: 7, 6, 26;
  --color-bg-card-rgb: 15, 13, 38;

  /* ── COLORS: BACKGROUNDS ── */
  --color-bg-page:      #07061A;
  --color-bg-card:      #0F0D26;
  --color-bg-elevated:  #181640;
  --color-bg-surface:   #1E1B4B;
  --color-bg-deep-footer: #04030f;

  /* ── COLORS: BRAND ── */
  --color-brand-primary:       #4F46E5;   /* Indigo — main brand color */
  --color-brand-primary-mid:   #6366F1;
  --color-brand-primary-light: #A5B4FC;
  --color-brand-accent:        #F97316;   /* Orange — secondary accent */
  --color-brand-accent-light:  #FED7AA;

  /* ── COLORS: TEXT ── */
  --color-text-primary:   #F0EEF8;
  --color-text-secondary: #94A3B8;
  --color-text-dim:       #4B5563;
  --color-text-inverse:   #07061A;
  --color-text-static-light: #FFFFFF;

  /* ── COLORS: BORDERS ── */
  --color-border-subtle: rgba(var(--color-brand-primary-rgb), 0.20);
  --color-border-base:   rgba(var(--color-brand-primary-rgb), 0.35);
  --color-border-strong: rgba(var(--color-brand-primary-rgb), 0.55);

  /* ── COLORS: SEMANTIC ── */
  --color-success: #10B981;
  --color-success-dark: #059669;
  --color-warning: #F59E0B;
  --color-error:   #EF4444;
  --color-info:    #38BDF8;

  /* ── COLORS: BRAND TINTS (for backgrounds) ── */
  --color-brand-tint-10: rgba(var(--color-brand-primary-rgb), 0.10);
  --color-brand-tint-15: rgba(var(--color-brand-primary-rgb), 0.15);
  --color-accent-tint-10: rgba(var(--color-brand-accent-rgb), 0.10);

  /* ── TYPOGRAPHY: FAMILIES ── */
  --font-arabic: 'Noto Kufi Arabic', 'Cairo', 'Segoe UI', Tahoma, sans-serif;
  --font-latin: 'Outfit', 'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  /* ── TYPOGRAPHY: SCALE ── */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.25rem;    /* 36px */
  --text-5xl:  3rem;       /* 48px */
  --text-6xl:  3.75rem;    /* 60px */

  /* ── TYPOGRAPHY: WEIGHTS ── */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    900;

  /* ── TYPOGRAPHY: LINE HEIGHT ── */
  --leading-tight:   1.2;
  --leading-snug:    1.4;
  --leading-normal:  1.65;
  --leading-relaxed: 1.85;

  /* ── SPACING ── */
  --space-1:  0.25rem;   /* 4px */
  --space-2:  0.5rem;    /* 8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */

  /* ── LAYOUT ── */
  --container-max:     1200px;
  --container-padding: var(--space-5);
  --section-padding:   var(--space-20);
  --section-gap:       var(--space-24);
  --card-padding:      var(--space-6);

  /* ── BORDERS ── */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-2xl:  32px;
  --radius-full: 9999px;

  /* ── SHADOWS ── */
  --shadow-card:         0 4px 24px rgba(0, 0, 0, 0.35);
  --shadow-lg:           0 10px 30px rgba(0, 0, 0, 0.4);
  --shadow-card-hover:   0 8px 40px rgba(0, 0, 0, 0.5);
  --shadow-glow-primary: 0 0 48px rgba(var(--color-brand-primary-rgb), 0.25);
  --shadow-glow-accent:  0 0 48px rgba(var(--color-brand-accent-rgb), 0.15);

  /* ── TRANSITIONS ── */
  --ease-fast:   150ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-base:   250ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-slow:   400ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-INDEX SYSTEM ── */
  --z-base:    0;
  --z-raised:  10;
  --z-overlay: 100;
  --z-modal:   1000;
  --z-nav:     9999;
}

/* ── RESPONSIVE TOKEN OVERRIDES ── */
@media (max-width: 768px) {
  :root {
    --section-padding: var(--space-16);
    --section-gap:     var(--space-16);
    --text-5xl:        2.25rem;   /* scale down on mobile */
    --text-6xl:        2.75rem;
  }
}

/* ── LIGHT THEME OVERRIDES ── */
html[data-theme="light"] {
  --color-bg-page:      #F8FAFC;
  --color-bg-card:      #FFFFFF;
  --color-bg-elevated:  #E2E8F0;
  --color-bg-surface:   #F1F5F9;
  --color-bg-deep-footer: #0F172A;

  --color-text-primary:   #0F172A;
  --color-text-secondary: #475569;
  --color-text-dim:       #64748B;
  --color-text-inverse:   #FFFFFF;

  --color-border-subtle: rgba(var(--color-brand-primary-rgb), 0.10);
  --color-border-base:   rgba(var(--color-brand-primary-rgb), 0.20);
  --color-border-strong: rgba(var(--color-brand-primary-rgb), 0.40);

  /* RGB Overrides for Light Theme */
  --color-bg-page-rgb: 248, 250, 252;
  --color-bg-card-rgb: 255, 255, 255;

  /* Shadows and Glows for High Light-Theme Contrast */
  --shadow-card:         0 4px 24px rgba(15, 23, 42, 0.08);
  --shadow-card-hover:   0 8px 40px rgba(15, 23, 42, 0.12);
  --shadow-glow-primary: 0 0 48px rgba(79, 70, 229, 0.10);
  --shadow-glow-accent:  0 0 48px rgba(249, 115, 22, 0.06);

  /* Brand Tints for Light Theme */
  --color-brand-tint-10: rgba(var(--color-brand-primary-rgb), 0.05);
  --color-brand-tint-15: rgba(var(--color-brand-primary-rgb), 0.08);
  --color-accent-tint-10: rgba(var(--color-brand-accent-rgb), 0.05);
}
