/* =====================================================
   CSS Variables - Design System
   ===================================================== */
:root {
    /* ===================
       Colors - Brand
       =================== */
    --primary: #800020;
    --primary-dark: #5e0017;
    --primary-light: #fce7ea;
    --primary-rgb: 128, 0, 32;
    --primary-light-rgb: 252, 231, 234;

    --secondary: #333333;
    --secondary-rgb: 51, 51, 51;

    /* ===================
       Colors - Neutral (Slate)
       =================== */
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-300: #cbd5e1;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --slate-900: #0f172a;

    /* ===================
       Colors - Gray (for dark backgrounds)
       =================== */
    --gray-800: #1f2937;
    --gray-900: #111827;
    --gray-900-rgb: 17, 24, 39;

    /* ===================
       Colors - Sky (accent/decoration)
       =================== */
    --sky-50: #f0f9ff;
    --sky-100: #e0f2fe;
    --sky-100-rgb: 224, 242, 254;
    --sky-200: #bae6fd;
    --sky-500: #0ea5e9;
    --sky-700: #0369a1;

    /* ===================
       Colors - Semantic
       =================== */
    --success: #16a34a;
    --success-rgb: 22, 163, 74;
    --error: #dc2626;
    --error-rgb: 220, 38, 38;
    --gold: #C8A96E;
    --gold-rgb: 200, 169, 110;
    --slate-deep: #1A1A2E;
    --slate-deep-rgb: 26, 26, 46;
    --white: #ffffff;
    --white-rgb: 255, 255, 255;
    --black-rgb: 0, 0, 0;

    /* ===================
       Colors - Surfaces
       =================== */
    --surface-light: #ffffff;
    --surface-light-rgb: 255, 255, 255;
    --surface-accent: #f8fafc;
    --background-light: #e0f2fe;
    --background-gradient-start: #bae6fd;
    --background-gradient-end: #f0f9ff;

    /* ===================
       Colors - Text
       =================== */
    --text-main: #333333;
    --text-muted: #52525b;

    /* ===================
       Colors - Borders
       =================== */
    --border-light: #cbd5e1;
    --border-color: rgba(var(--secondary-rgb), 0.1);

    /* ===================
       Typography
       =================== */
    --font-display: 'Manrope', sans-serif;
    --font-mono: 'Courier New', Courier, monospace;

    /* ===================
       Spacing Scale
       =================== */
    --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 */

    /* ===================
       Section Spacing
       =================== */
    --section-padding-y: 5rem;
    --section-padding-x: 1rem;

    /* ===================
       Layout
       =================== */
    --container-width: 1280px;
    --header-height: 72px;

    /* ===================
       Border Radius
       =================== */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* ===================
       Shadows
       =================== */
    --shadow-sm: 0 1px 2px 0 rgba(var(--black-rgb), 0.05);
    --shadow-md: 0 4px 6px -1px rgba(var(--black-rgb), 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(var(--black-rgb), 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(var(--black-rgb), 0.1);
    --shadow-2xl: 0 25px 50px -12px rgba(var(--black-rgb), 0.25);
    --shadow-primary: 0 10px 15px -3px rgba(var(--primary-rgb), 0.2);

    /* ===================
       Transitions
       =================== */
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;

    /* ===================
       Components - Tags
       =================== */
    --tag-bg: var(--sky-50);
    --tag-color: var(--sky-700);
    --tag-border: var(--sky-100);

    /* ===================
       Components - Glossary Terms
       =================== */
    --glossary-term-bg: var(--sky-50);
    --glossary-term-color: var(--secondary);
    --glossary-term-border: var(--sky-100);
    --glossary-term-hover-bg: var(--sky-100);

    /* ===================
       Components - Event Type Tags
       =================== */
    --event-type-secondary-bg: var(--secondary);
    --event-type-secondary-color: var(--white);

    /* ===================
       Components - AI Translation Banner
       =================== */
    --ai-translation-bg: var(--slate-50);
}



/* Dark Mode Variables */
[data-theme="dark"] {
    /* Colors - Brand */
    --primary: #cd2445;
    /* Executive Crimson - Classy, not neon */
    --primary-dark: #e83a5e;
    /* Slightly lighter for hover in dark mode */
    --primary-light: #2d0a12;
    /* Very dark red for backgrounds */
    --primary-rgb: 205, 36, 69;
    --primary-light-rgb: 45, 10, 18;
    /* For transparencies like blobs */

    --secondary: #f8fafc;
    /* Light text for headings */
    --secondary-rgb: 248, 250, 252;

    /* Colors - Surfaces */
    --surface-light: #0f172a;
    /* Slate 900 */
    --surface-light-rgb: 15, 23, 42;
    /* Key for header transparency */
    --surface-accent: #1e293b;
    /* Slate 800 */

    --background-light: #020617;
    /* Slate 950 */
    --background-gradient-start: #0f172a;
    --background-gradient-end: #1e293b;

    /* Colors - Text */
    --text-main: #cbd5e1;
    /* Slate 300 - better contrast than 200 */
    --text-muted: #94a3b8;
    /* Slate 400 */

    /* Colors - Borders */
    --border-light: #1e293b;
    /* Slate 800 */
    --border-color: rgba(255, 255, 255, 0.1);

    /* Shadows - Stronger for dark mode depth */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.6);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.6);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.7);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.7);
    --shadow-primary: 0 10px 15px -3px rgba(0, 0, 0, 0.5);

    /* Components - Tags */
    --tag-bg: var(--slate-800);
    --tag-color: var(--sky-500);
    --tag-border: var(--slate-700);

    /* Components - Glossary Terms */
    --glossary-term-bg: var(--slate-800);
    --glossary-term-color: var(--secondary);
    --glossary-term-border: var(--slate-700);
    --glossary-term-hover-bg: var(--slate-700);

    /* Components - Event Type Tags */
    --event-type-secondary-bg: var(--slate-700);
    --event-type-secondary-color: var(--text-main);

    /* Components - AI Translation Banner */
    --ai-translation-bg: var(--slate-800);
}

/* =====================================================
   Neon Mode (Easter Egg - Konami Code)
   ===================================================== */
[data-theme="neon"] {
    /* Neon Magenta as primary */
    --primary: #ff2d95;
    --primary-dark: #ff5aaf;
    --primary-light: #1a0a14;
    --primary-rgb: 255, 45, 149;
    --primary-light-rgb: 26, 10, 20;

    /* Cyan text for headings */
    --secondary: #0ff;
    --secondary-rgb: 0, 255, 255;

    /* Deep dark surfaces */
    --surface-light: #0a0a1a;
    --surface-light-rgb: 10, 10, 26;
    --surface-accent: #12122a;

    --background-light: #050510;
    --background-gradient-start: #0a0a1a;
    --background-gradient-end: #12122a;

    /* Text */
    --text-main: #c4b5fd;
    --text-muted: #8b7fc7;

    /* Borders with neon glow */
    --border-light: #1e1e3a;
    --border-color: rgba(0, 255, 255, 0.1);

    /* Neon shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.8);
    --shadow-md: 0 4px 6px -1px rgba(255, 45, 149, 0.15);
    --shadow-lg: 0 10px 15px -3px rgba(0, 255, 255, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(255, 45, 149, 0.15);
    --shadow-primary: 0 0 20px rgba(255, 45, 149, 0.4);

    /* Tags - Neon style */
    --tag-bg: rgba(0, 255, 255, 0.08);
    --tag-color: #0ff;
    --tag-border: rgba(0, 255, 255, 0.2);

    /* Glossary Terms */
    --glossary-term-bg: rgba(255, 45, 149, 0.08);
    --glossary-term-color: #ff2d95;
    --glossary-term-border: rgba(255, 45, 149, 0.2);
    --glossary-term-hover-bg: rgba(255, 45, 149, 0.15);

    /* Event Type Tags */
    --event-type-secondary-bg: rgba(0, 255, 255, 0.1);
    --event-type-secondary-color: #0ff;
}

/* Neon glow on key elements */
[data-theme="neon"] .hero-cinematic .hero-title .highlight {
    text-shadow: 0 0 10px rgba(255, 45, 149, 0.6), 0 0 40px rgba(255, 45, 149, 0.3);
}

[data-theme="neon"] .section-tag {
    text-shadow: 0 0 8px rgba(0, 255, 255, 0.5);
}

[data-theme="neon"] .btn-primary {
    box-shadow: 0 0 15px rgba(255, 45, 149, 0.4), 0 0 45px rgba(255, 45, 149, 0.15);
}

[data-theme="neon"] .hero-cinematic {
    box-shadow: inset 0 0 60px rgba(0, 255, 255, 0.08), inset 0 0 120px rgba(255, 45, 149, 0.05);
}

[data-theme="neon"] .expertise-card:hover,
[data-theme="neon"] .vision-card:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.15), 0 0 40px rgba(255, 45, 149, 0.1);
}

[data-theme="neon"] .expertise-card-overlay {
    background: rgba(var(--primary-rgb), 0.8);
}

[data-theme="neon"] .expertise-card:hover .expertise-card-overlay {
    background: rgba(var(--primary-rgb), 0.7);
}

[data-theme="neon"] .expertise-tag {
    border: 1px solid rgba(0, 255, 255, 0.2);
    text-shadow: 0 0 8px rgba(0, 255, 255, 0.4);
}

[data-theme="neon"] .expertise-card-panel-inner {
    border-color: rgba(0, 255, 255, 0.2);
    box-shadow: 0 0 12px rgba(0, 255, 255, 0.1);
}

[data-theme="neon"] .strength-number {
    text-shadow: 0 0 8px rgba(0, 255, 255, 0.5);
}

/* Desktop spacing overrides */
@media (min-width: 768px) {
    :root {
        --section-padding-y: 8rem;
        --section-padding-x: 2.5rem;
    }
}