/* CSS Variables - Design System */
:root {
    /* Premium Color Palette - Light Gray, Black, Red */
    --red: #DC2626;
    --red-light: #FEE2E2;
    --red-lighter: #FEF2F2;
    --red-dark: #991B1B;
    --red-darker: #7F1D1D;
    --black: #000000;
    --black-soft: #1A1A1A;
    --white: #FFFFFF;
    
    /* Grays - Light Gray Emphasis */
    --gray-50: #F9FAFB;
    --gray-100: #F3F4F6;
    --gray-200: #E5E7EB;
    --gray-300: #D1D5DB;
    --gray-400: #9CA3AF;
    --gray-500: #6B7280;
    --gray-600: #4B5563;
    --gray-700: #374151;
    --gray-800: #1F2937;
    --gray-900: #111827;
    
    /* Semantic Colors */
    --primary: var(--red);
    --primary-light: var(--red-light);
    --primary-lighter: var(--red-lighter);
    --primary-dark: var(--red-dark);
    --primary-darker: var(--red-darker);
    --secondary: var(--black);
    --secondary-light: var(--gray-800);
    --secondary-dark: var(--black);
    --background: var(--gray-50);
    --surface: var(--white);
    --surface-hover: var(--gray-100);
    --text-primary: var(--black);
    --text-secondary: var(--gray-600);
    --border: var(--gray-200);
    --shadow: rgba(0, 0, 0, 0.1);
    
    /* Typography */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --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: 1.875rem;    /* 30px */
    --font-size-4xl: 2.25rem;     /* 36px */
    --font-size-5xl: 3rem;        /* 48px */
    
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    
    /* 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 */
    --spacing-4xl: 6rem;     /* 96px */
    
    /* 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;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    
    /* Transitions */
    --transition-fast: 150ms ease-in-out;
    --transition-base: 250ms ease-in-out;
    --transition-slow: 350ms ease-in-out;
    
    /* Container */
    --container-max-width: 1200px;
    --container-padding: var(--spacing-md);
    
    /* Z-index */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}

/* Responsive Font Sizes */
@media (max-width: 480px) {
    :root {
        --font-size-3xl: 1.5rem;    /* 24px */
        --font-size-4xl: 1.875rem;  /* 30px */
        --font-size-5xl: 2.25rem;   /* 36px */
        --container-padding: var(--spacing-md);
    }
}

@media (min-width: 481px) and (max-width: 1024px) {
    :root {
        --font-size-3xl: 1.75rem;   /* 28px */
        --font-size-4xl: 2rem;      /* 32px */
        --font-size-5xl: 2.5rem;    /* 40px */
        --container-padding: var(--spacing-lg);
    }
}

@media (min-width: 1025px) {
    :root {
        --container-padding: var(--spacing-xl);
    }
}