/**
 * Strive Hunt Design System
 * Unified design tokens for consistent styling across all pages
 * Version: 2.0
 * Last Updated: 2025-01-15
 */

:root {
    /* ===== Brand Colors (Primary Theme) ===== */

    /* Primary Colors - Modern Blue-Purple Gradient */
    --color-primary-blue: #3b82f6;
    --color-primary-blue-dark: #2563eb;
    --color-primary-purple: #8b5cf6;
    --color-primary-purple-dark: #7c3aed;
    --color-primary-gradient: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    --color-primary-gradient-hover: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);

    /* Background Colors */
    --bg-gradient-auth: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --bg-gradient-light: linear-gradient(135deg, #f0f9ff 0%, #ffffff 50%, #faf5ff 100%);
    --bg-gradient-hero: linear-gradient(135deg, #eff6ff 0%, #fdf4ff 100%);
    --bg-white: #ffffff;
    --bg-light: #f8f9fa;
    --bg-gray-50: #f9fafb;
    --bg-gray-100: #f3f4f6;

    /* Text Colors */
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --text-tertiary: #9ca3af;
    --text-light: #d1d5db;
    --text-white: #ffffff;

    /* Border Colors */
    --border-light: #e5e7eb;
    --border-medium: #d1d5db;
    --border-dark: #9ca3af;

    /* State Colors */
    --color-success: #10b981;
    --color-success-light: #d1fae5;
    --color-warning: #f59e0b;
    --color-warning-light: #fef3c7;
    --color-error: #ef4444;
    --color-error-light: #fee2e2;
    --color-info: #3b82f6;
    --color-info-light: #dbeafe;

    /* Focus & Hover States */
    --focus-ring-blue: rgba(37, 99, 235, 0.1);
    --focus-ring-purple: rgba(147, 51, 234, 0.1);
    --hover-bg-blue: rgba(37, 99, 235, 0.05);
    --hover-bg-purple: rgba(147, 51, 234, 0.05);

    /* ===== Shadows ===== */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
    --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
    --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);

    /* Button Shadows */
    --shadow-button: 0 2px 8px rgba(59, 130, 246, 0.2);
    --shadow-button-hover: 0 8px 20px rgba(59, 130, 246, 0.3);

    /* ===== Typography ===== */
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-mono: 'SF Mono', Monaco, Consolas, 'Courier New', monospace;

    /* Font Sizes */
    --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 Weights */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Line Heights */
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    --line-height-loose: 2;

    /* ===== Spacing ===== */
    --spacing-xs: 0.25rem;        /* 4px */
    --spacing-sm: 0.5rem;         /* 8px */
    --spacing-md: 1rem;           /* 16px */
    --spacing-lg: 1.5rem;         /* 24px */
    --spacing-xl: 2rem;           /* 32px */
    --spacing-2xl: 3rem;          /* 48px */
    --spacing-3xl: 4rem;          /* 64px */

    /* ===== Border Radius ===== */
    --radius-sm: 0.375rem;        /* 6px */
    --radius-md: 0.5rem;          /* 8px */
    --radius-lg: 0.75rem;         /* 12px */
    --radius-xl: 1rem;            /* 16px */
    --radius-2xl: 1.5rem;         /* 24px */
    --radius-full: 9999px;        /* Circle */

    /* ===== Transitions ===== */
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;

    /* ===== Z-Index ===== */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --z-notification: 1080;

    /* ===== Breakpoints (for reference in JS) ===== */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;

    /* ===== Component Specific ===== */

    /* Buttons */
    --button-padding-sm: 0.5rem 1rem;
    --button-padding-md: 0.75rem 1.5rem;
    --button-padding-lg: 1rem 2rem;

    /* Inputs */
    --input-padding: 0.875rem 1rem;
    --input-padding-with-icon: 0.875rem 1rem 0.875rem 3rem;
    --input-border-width: 2px;
    --input-height: 3rem;

    /* Cards */
    --card-padding: 2rem;
    --card-border-radius: var(--radius-xl);

    /* Container Widths */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;
    --container-2xl: 1536px;

    /* Responsive Padding */
    --container-padding-sm: 1rem;
    --container-padding-md: 1.5rem;
    --container-padding-lg: 2rem;

    /* Responsive Font Sizes */
    --font-size-hero-sm: 1.875rem;    /* 30px mobile */
    --font-size-hero-md: 2.5rem;      /* 40px tablet */
    --font-size-hero-lg: 3rem;        /* 48px desktop */
}

/* ===== Dark Mode Variables (Optional for future) ===== */
@media (prefers-color-scheme: dark) {
    :root {
        /* Uncomment when implementing dark mode */
        /* --bg-white: #1f2937;
        --text-primary: #f9fafb;
        --text-secondary: #d1d5db;
        --border-light: #374151; */
    }
}

/* ===== Utility Classes ===== */

/* Text Colors */
.text-primary { color: var(--text-primary); }
.text-secondary { color: var(--text-secondary); }
.text-tertiary { color: var(--text-tertiary); }
.text-white { color: var(--text-white); }

/* Background Colors */
.bg-white { background-color: var(--bg-white); }
.bg-light { background-color: var(--bg-light); }
.bg-gradient-auth { background: var(--bg-gradient-auth); }

/* Shadows */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-xl { box-shadow: var(--shadow-xl); }

/* Spacing Utilities */
.m-0 { margin: 0; }
.mt-1 { margin-top: var(--spacing-xs); }
.mt-2 { margin-top: var(--spacing-sm); }
.mt-4 { margin-top: var(--spacing-md); }
.mt-6 { margin-top: var(--spacing-lg); }
.mt-8 { margin-top: var(--spacing-xl); }

.mb-1 { margin-bottom: var(--spacing-xs); }
.mb-2 { margin-bottom: var(--spacing-sm); }
.mb-4 { margin-bottom: var(--spacing-md); }
.mb-6 { margin-bottom: var(--spacing-lg); }
.mb-8 { margin-bottom: var(--spacing-xl); }

.p-4 { padding: var(--spacing-md); }
.p-6 { padding: var(--spacing-lg); }
.p-8 { padding: var(--spacing-xl); }
