/**
 * CSS Variables and Design Tokens
 * Global color scheme and design system variables
 */

:root {
    /* ============================================
       MAIN BRAND COLORS
       ============================================ */
    --primary: #007AFF;
    --primary-dark: #0051D5;
    --primary-rgb: 0, 122, 255;
    
    --secondary: #FE6D33;
    --secondary-dark: #E55A1F;
    --secondary-rgb: 254, 109, 51;
    
    /* ============================================
       BACKGROUND COLORS
       ============================================ */
    --bg-dark: #0E0E0E;
    --bg-darker: #000000;
    --bg-card: #1C1C1E;
    --bg-card-hover: #2C2C2E;
    --bg-overlay: rgba(0, 0, 0, 0.7);
    
    /* ============================================
       TEXT COLORS
       ============================================ */
    --text-primary: #FFFFFF;
    --text-secondary: #8E8E93;
    --text-tertiary: #636366;
    --text-inverse: #000000;
    
    /* ============================================
       PROJECT SPECIFIC COLORS
       ============================================ */
    --project-netti: #007AFF;
    --project-earnly: #00C853;
    --project-poly: #9C27B0;
    --project-recruiter: #FF6B35;
    --project-adapter: #2196F3;
    --project-fels: #FFC107;
    --project-kasa: #E91E63;
    
    /* ============================================
       STATUS COLORS
       ============================================ */
    --success: #00C853;
    --warning: #FFC107;
    --error: #FF3B30;
    --info: #007AFF;
    
    /* ============================================
       BORDERS AND DIVIDERS
       ============================================ */
    --border-color: rgba(255, 255, 255, 0.1);
    --border-color-hover: rgba(255, 255, 255, 0.2);
    --divider-color: rgba(255, 255, 255, 0.05);
    
    /* ============================================
       SHADOWS
       ============================================ */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.2);
    --shadow-xl: 0 16px 64px rgba(0, 0, 0, 0.25);
    --shadow-glow: 0 0 40px rgba(0, 122, 255, 0.3);
    
    /* ============================================
       SPACING
       ============================================ */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-2xl: 48px;
    --spacing-3xl: 64px;
    --spacing-4xl: 96px;
    
    /* ============================================
       TYPOGRAPHY
       ============================================ */
    --font-primary: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
    
    --font-size-xs: 0.75rem;    /* 12px */
    --font-size-sm: 0.875rem;   /* 14px */
    --font-size-base: 1rem;     /* 16px */
    --font-size-lg: 1.125rem;   /* 18px */
    --font-size-xl: 1.25rem;    /* 20px */
    --font-size-2xl: 1.5rem;    /* 24px */
    --font-size-3xl: 2rem;      /* 32px */
    --font-size-4xl: 2.5rem;    /* 40px */
    --font-size-5xl: 3rem;      /* 48px */
    
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    --line-height-tight: 1.2;
    --line-height-base: 1.6;
    --line-height-relaxed: 1.8;
    
    /* ============================================
       LAYOUT
       ============================================ */
    --max-width-sm: 640px;
    --max-width-md: 768px;
    --max-width-lg: 1024px;
    --max-width-xl: 1200px;
    --max-width-2xl: 1440px;
    
    --header-height: 60px;
    --footer-height: 80px;
    
    /* ============================================
       BORDER RADIUS
       ============================================ */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    
    /* ============================================
       TRANSITIONS
       ============================================ */
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;
    --transition-slower: 800ms ease;
    
    /* ============================================
       Z-INDEX SCALE
       ============================================ */
    --z-base: 0;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-overlay: 300;
    --z-modal: 400;
    --z-popover: 500;
    --z-tooltip: 600;
    --z-header: 1000;
    --z-notification: 2000;
    
    /* ============================================
       BREAKPOINTS (for reference in JS)
       ============================================ */
    --breakpoint-xs: 480px;
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1200px;
    --breakpoint-2xl: 1440px;
}

/* ============================================
   DARK THEME (DEFAULT)
   ============================================ */
[data-theme="dark"] {
    color-scheme: dark;
}

/* ============================================
   LIGHT THEME (OPTIONAL)
   ============================================ */
[data-theme="light"] {
    --bg-dark: #FFFFFF;
    --bg-darker: #F2F2F7;
    --bg-card: #FFFFFF;
    --bg-card-hover: #F2F2F7;
    
    --text-primary: #000000;
    --text-secondary: #636366;
    --text-tertiary: #8E8E93;
    --text-inverse: #FFFFFF;
    
    --border-color: rgba(0, 0, 0, 0.1);
    --border-color-hover: rgba(0, 0, 0, 0.2);
    --divider-color: rgba(0, 0, 0, 0.05);
    
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 16px 64px rgba(0, 0, 0, 0.15);
    
    color-scheme: light;
}

/* ============================================
   PROJECT-SPECIFIC THEME OVERRIDES
   ============================================ */

/* Netti Project */
[data-project="netti"] {
    --project-primary: #007AFF;
    --project-secondary: #FE6D33;
    --project-primary-rgb: 0, 122, 255;
    --project-secondary-rgb: 254, 109, 51;
}

/* Earnly Project */
[data-project="earnly"] {
    --project-primary: #00C853;
    --project-secondary: #2196F3;
    --project-primary-rgb: 0, 200, 83;
    --project-secondary-rgb: 33, 150, 243;
}

/* Poly Lens Project */
[data-project="poly-lens"] {
    --project-primary: #9C27B0;
    --project-secondary: #00BCD4;
    --project-primary-rgb: 156, 39, 176;
    --project-secondary-rgb: 0, 188, 212;
}

/* Job Recruiter Project */
[data-project="job-recruiter"] {
    --project-primary: #FF6B35;
    --project-secondary: #4CAF50;
    --project-primary-rgb: 255, 107, 53;
    --project-secondary-rgb: 76, 175, 80;
}

/* Portfolio Adapter Project */
[data-project="portfolio-adapter"] {
    --project-primary: #2196F3;
    --project-secondary: #FFC107;
    --project-primary-rgb: 33, 150, 243;
    --project-secondary-rgb: 255, 193, 7;
}

/* Fels Project */
[data-project="fels"] {
    --project-primary: #FFC107;
    --project-secondary: #9C27B0;
    --project-primary-rgb: 255, 193, 7;
    --project-secondary-rgb: 156, 39, 176;
}

/* Kasa Stefczyka Project */
[data-project="kasa-stefczyka"] {
    --project-primary: #E91E63;
    --project-secondary: #3F51B5;
    --project-primary-rgb: 233, 30, 99;
    --project-secondary-rgb: 63, 81, 181;
}

/* ============================================
   MEDIA QUERY CUSTOM PROPERTIES
   ============================================ */

@media (max-width: 768px) {
    :root {
        --header-height: 56px;
        --footer-height: 120px;
    }
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0ms;
        --transition-base: 0ms;
        --transition-slow: 0ms;
        --transition-slower: 0ms;
    }
}