/* ============================================
   DESIGN TOKENS — CSS Variables
   Подключается ПЕРВЫМ, до всех остальных стилей.
   Содержит только значения токенов (цвета, типографика,
   тени, градиенты, радиусы) для light и dark темы.
   ============================================ */

/* Light Theme (Default) — Neva Fresh palette */
:root {
    /* Typography */
    --font-sans: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;

    /* Backgrounds */
    --bg-body: #ffffff;
    --bg-primary: #f4f7f8;
    --bg-secondary: #e2e8f0;
    --bg-card: #ffffff;
    --bg-header: #f4f7f8;
    --bg-footer: #114a4a;

    /* Text Colors */
    --text-primary: #0f172a;
    --text-secondary: #64748b;
    --text-muted: #94a3b8;
    --text-inverse: #ffffff;

    /* Accent Colors — Neva Teal + Coral */
    --accent-primary: #118b8a;
    --accent-primary-hover: #0d7676;
    --accent-secondary: #fc6c65;
    --accent-success: #198754;
    --accent-warning: #ffc107;
    --accent-danger: #ea4c45;
    --accent-info: #2dd4bf;

    /* Borders */
    --border-color: #e2e8f0;
    --border-light: #f0fdfc;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(17, 139, 138, 0.08);
    --shadow-md: 0 4px 6px rgba(17, 139, 138, 0.08);
    --shadow-lg: 0 20px 40px -10px rgba(17, 139, 138, 0.12);

    /* Service Cards */
    --card-bg: #ffffff;
    --card-border: #e2e8f0;
    --card-shadow: 0 2px 8px rgba(17, 139, 138, 0.06);
    --card-shadow-hover: 0 20px 40px -10px rgba(17, 139, 138, 0.15);

    /* Important Messages */
    --message-bg: #f0fdfc;
    --message-border: #ccfbf1;
    --message-icon-bg: rgba(17, 139, 138, 0.1);

    /* Search */
    --search-bg: #f4f7f8;
    --search-border: #e2e8f0;

    /* Weather Widget */
    --weather-bg: rgba(255, 255, 255, 0.2);
    --weather-border: rgba(255, 255, 255, 0.2);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #118b8a 0%, #0d7676 100%);
    --gradient-cta: linear-gradient(to right, #118b8a 0%, #fc6c65 100%);
    --hero-overlay: linear-gradient(to right, rgba(17, 139, 138, 0.9) 0%, rgba(17, 139, 138, 0.5) 100%);

    /* News Cards */
    --news-card-bg: #ffffff;
    --news-card-image-bg: #f0fdfc;
    --news-card-shadow: 0 2px 8px rgba(17, 139, 138, 0.06);
    --news-card-shadow-hover: 0 20px 40px -10px rgba(17, 139, 138, 0.15);
}

/* Dark Theme — Neva Fresh palette */
[data-theme="dark"] {
    /* Backgrounds - глубокий графит Neva Fresh */
    --bg-body: #0B121A;
    --bg-primary: #151D26;
    --bg-secondary: #1e293b;
    --bg-card: #151D26;
    --bg-header: #0B121A;
    --bg-footer: #050A10;

    /* Text Colors */
    --text-primary: #f8fafc;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --text-inverse: #0B121A;

    /* Accent Colors - светлее для тёмной темы */
    --accent-primary: #2dd4bf;
    --accent-primary-hover: #5eead4;
    --accent-secondary: #ff7069;
    --accent-success: #40c057;
    --accent-warning: #fab005;
    --accent-danger: #ff7069;
    --accent-info: #5eead4;

    /* Borders */
    --border-color: #1e293b;
    --border-light: #2A3441;

    /* Shadows - более выраженные для тёмной темы */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 20px 40px -10px rgba(0, 0, 0, 0.5);

    /* Service Cards */
    --card-bg: #151D26;
    --card-border: #2A3441;
    --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    --card-shadow-hover: 0 20px 40px -10px rgba(0, 0, 0, 0.6);

    /* Important Messages */
    --message-bg: #151D26;
    --message-border: #2A3441;
    --message-icon-bg: rgba(45, 212, 191, 0.15);

    /* Search */
    --search-bg: #151D26;
    --search-border: #2A3441;

    /* Weather Widget */
    --weather-bg: rgba(21, 29, 38, 0.9);
    --weather-border: rgba(42, 52, 65, 0.5);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #0c2a2b 0%, #041c1c 100%);
    --gradient-cta: linear-gradient(to right, #118b8a 0%, #fc6c65 100%);
    --hero-overlay: linear-gradient(to right, rgba(12, 42, 43, 0.95) 0%, rgba(4, 28, 28, 0.7) 100%);

    /* News Cards */
    --news-card-bg: #151D26;
    --news-card-image-bg: #0f2e2e;
    --news-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    --news-card-shadow-hover: 0 20px 40px -10px rgba(0, 0, 0, 0.6);
}
