/* ============================================
   CSS Переменные - Дизайн-система NoLeak
   ============================================ */

:root {
    /* ===== Цвета - Ozon-inspired Blue Theme ===== */

    /* Основные цвета */
    --color-primary: #005BFF;           /* Ozon blue */
    --color-primary-dark: #0047CC;      /* Darker blue for hover */
    --color-primary-light: #E6F0FF;     /* Light blue for backgrounds */

    --color-secondary: #FF6B35;         /* Accent orange for CTAs */
    --color-success: #10B981;           /* Green for success/badges */
    --color-warning: #F59E0B;           /* Yellow for warnings */
    --color-error: #EF4444;             /* Red for errors */

    /* Нейтральные цвета */
    --color-text-primary: #1F2937;      /* Dark gray for headings */
    --color-text-secondary: #6B7280;    /* Medium gray for body text */
    --color-text-light: #9CA3AF;        /* Light gray for meta info */

    --color-bg-white: #FFFFFF;
    --color-bg-light: #F9FAFB;          /* Very light gray background */
    --color-bg-card: #FFFFFF;

    --color-border: #E5E7EB;            /* Border color */
    --color-divider: #D1D5DB;

    /* Overlay */
    --color-overlay: rgba(0, 0, 0, 0.7);
    --color-overlay-light: rgba(0, 0, 0, 0.5);

    /* ===== Типографика ===== */

    /* Шрифты - Google Fonts */
    --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-family-heading: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', 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-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Высота строки */
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;

    /* ===== Отступы (8px base unit) ===== */
    --spacing-0: 0;
    --spacing-1: 0.5rem;    /* 8px */
    --spacing-1-5: 0.75rem; /* 12px */
    --spacing-2: 1rem;      /* 16px */
    --spacing-2-5: 1.25rem; /* 20px */
    --spacing-3: 1.5rem;    /* 24px */
    --spacing-4: 2rem;      /* 32px */
    --spacing-5: 2.5rem;    /* 40px */
    --spacing-6: 3rem;      /* 48px */
    --spacing-8: 4rem;      /* 64px */
    --spacing-10: 5rem;     /* 80px */
    --spacing-12: 6rem;     /* 96px */

    /* ===== Контейнер ===== */
    --container-max-width: 1280px;
    --container-padding: var(--spacing-2);

    /* ===== Скругление углов ===== */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-full: 9999px;

    /* ===== Тени ===== */
    --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-normal: 250ms ease-in-out;
    --transition-slow: 350ms ease-in-out;

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

    /* ===== Специфичные компоненты ===== */

    /* Header */
    --header-height: 72px;
    --header-height-mobile: 64px;

    /* Banner */
    --banner-height-desktop: 500px;
    --banner-height-tablet: 400px;
    --banner-height-mobile: 300px;

    /* Course Card */
    --course-card-min-width: 320px;
    --course-card-image-aspect: 16 / 9;

    /* Category Card */
    --category-card-min-width: 170px;
    --category-icon-size: 48px;
    --category-icon-size-mobile: 44px;
}
