@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;500;600;700;800;900&display=swap');

/* ========================================
   VARS.CSS - Переменные и настройки
   задает все цвета и отступы
   ======================================== */

/* ========================================
      1. ЦВЕТОВЫЕ ПЕРЕМЕННЫЕ (IT KIDS NEON)
      ======================================== */
   :root {
     /* === Основные цвета бренда === */
     --color-primary: #781496;        /* Фирменный фиолетовый */
     --color-primary-dark: #5a0f71;   /* Темно-фиолетовый */
     --color-primary-light: #B252FF;  /* Светлый неон (для градиентов) */
     
     --color-secondary: #ff6600;      /* Оранжевый (Контакты) */
     
     --color-accent: #FF52E8;         /* Неоновый розовый (Кнопки, ховеры) */
     --color-accent-hover: #ff0000;   /* Красный (акцент при наведении) */
     --color-accent2: #ba3cb3;
     
     /* === Нейтральные цвета === */
     --color-white: #ffffff;
     --color-black: #000000;
     --color-dark-bg: #050010;        /* Тот самый глубокий фон IT KIDS */
     
     /* === Цвета текста === */
     --color-text: #ffffff;           /* На темном фоне основной текст белый */
     --color-text-primary: #ffffff;   /* Заголовки */
     --color-text-secondary: rgba(255, 255, 255, 0.8);
     --color-text-muted: rgba(255, 255, 255, 0.6);
     --color-link: var(--color-accent);
     
     /* === Фоновые цвета === */
     --bg-body: #050010;
     --bg-card: rgba(255, 255, 255, 0.1); /* Полупрозрачные карточки */
     
     /* === Цвета состояний === */
     --color-success: #28a745;
     --color-danger: #dc3545;
     --color-warning: #ffc107;
     --color-info: #17a2b8;
     
     /* === Специальные (Неон) === */
     --color-glow: #8A2BE2;           /* Цвет неонового свечения */
     
     /* === Нейтральные цвета === */
     --color-white: #ffffff;
     --color-black: #000000;
     --color-gray: #a7a7a7;
     --color-gray-100: #Fdfbf7;
     --color-gray-200: #f4eee1;
     --color-gray-300: #e2d5c3;
     --color-gray-400: #cbbba4;
     --color-gray-500: #a89985;
     --color-gray-600: #867968;
     --color-gray-700: #5c5346;
     --color-gray-800: #3a342c;
     --color-gray-900: #211d18;
   }
   
   /* ========================================
      2. ГРАДИЕНТЫ (IT KIDS ORIGINALS)
      ======================================== */
  /* ========================================
     ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ (THEME CONTROL)
     ======================================== */
  :root {
      /* === 1. ТВОИ ФИРМЕННЫЕ ГРАДИЕНТЫ === */
      --gradient-primary: linear-gradient(90deg, #FF52E8 0%, #B252FF 100%);
      --gradient-card: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(138, 43, 226, 0.05) 100%);
      --gradient-btn-custom: linear-gradient(90deg, #FF52E8 0%, #B252FF 100%);
      --gradient-btn-custom-hover: linear-gradient(90deg, #B252FF 0%, #FF52E8 100%);
      
      /* Градиент для прозрачной шапки V3 */
      --gradient-header-v3: linear-gradient(90deg, rgba(5, 0, 16, 0.25) 0%, rgba(5, 0, 16, 0.25) 50%, rgba(50, 38, 152, 0.45) 100%);
  
      /* === 2. НЕОНОВЫЕ КОНТУРЫ И СВЕЧЕНИЕ === */
      --theme-color-main: #8A2BE2; /* Фиолетовый неон */
      --theme-color-hover: #ba3cb3; /* Твой новый розовый для ховера */
      
      /* Тени для эффекта объема (RGB для прозрачности) */
      --theme-glow-light: rgba(138, 43, 226, 0.2);
      --theme-glow-medium: rgba(138, 43, 226, 0.5);
      --theme-glow-strong: rgba(138, 43, 226, 0.8);
  }
  
  /* Универсальный класс для всех блоков на сайте */
  .glass-neon-panel {
      background: var(--gradient-card);
      border: 2px solid var(--theme-color-main) !important;
      box-shadow: 0px 0px 15px var(--theme-glow-medium), 
                  inset 0px 0px 10px var(--theme-glow-light);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border-radius: 24px;
      
      /* =========================================
         ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ
         ========================================= */
      /* 1. Заставляем видеокарту (GPU) обрабатывать эти блоки заранее */
      transform: translateZ(0);
      /* will-change: transform, box-shadow; */
      
      /* 2. Анимируем СТРОГО нужные свойства вместо тяжелого "all" */
      transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
  }
  
  .hover-neon-jump:hover {
      transform: translateY(-10px) !important;
      box-shadow: 0px 15px 30px var(--theme-glow-strong), 
                  inset 0px 0px 10px var(--theme-glow-medium) !important;
      border-color: var(--theme-color-hover) !important;
  }
  
/* ========================================
     РОЗОВАЯ СТЕКЛЯННАЯ ПАНЕЛЬ (glass-pink-panel)
     ======================================== */
  
  :root {
      /* Переменные для розовой панели */
      --gradient-pink-card: linear-gradient(360deg, rgba(5, 0, 16, 0.8) 0%, rgba(166, 67, 114, 0.8) 100%);
      --gradient-pink-mobile: linear-gradient(180deg, rgba(5, 0, 16, 0.9) 0%, rgba(166, 67, 114, 0.8) 100%);
      --border-gradient-pink: linear-gradient(180deg, #DD00FF 0%, #91CDFF 50%, #9900FF 100%);
      --shadow-pink-card: 0px 0px 13.3px #0066FF;
  }
  
  /* Сам универсальный класс */
  .glass-pink-panel {
      background: var(--gradient-pink-card);
      box-shadow: var(--shadow-pink-card);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-radius: 24px;
      position: relative;
      z-index: 1; 
      /* Убираем обычный border, так как рамка рисуется через ::before */
      border: none !important; 
      transition: all 0.4s ease !important;
  }
  
  /* Сложная градиентная рамка-маска */
  .glass-pink-panel::before {
      content: "";
      position: absolute;
      inset: 0; 
      border-radius: 24px; 
      padding: 5px; /* Толщина рамки */
      background: var(--border-gradient-pink);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      z-index: -1; 
      pointer-events: none;
  }
  
  /* Мобильная версия фона */
  @media (max-width: 980px) {
      .glass-pink-panel {
          background: var(--gradient-pink-mobile) !important;
      }
  }
  
/* ========================================
     БИРЮЗОВАЯ ПАНЕЛЬ "ЛЕТО" (glass-cyan-panel)
     ======================================== */
  
  :root {
      /* Фон остается темным для глубины */
      --bg-cyan-panel: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 20, 20, 0.7) 100%), url('/files/bgsummer.png');
      /* Цвет свечения */
      --cyan-glow-main: rgba(0, 255, 242, 0.4); 
      --cyan-glow-soft: rgba(0, 255, 242, 0.15);
  }
  
  .glass-cyan-panel {
      background: var(--bg-cyan-panel) !important;
      background-size: cover !important;
      background-position: center !important;
      
      /* Тонкая, едва заметная рамка */
      border: 1px solid rgba(0, 255, 242, 0.3) !important;
      
      /* ЭФФЕКТ ПОДСВЕТКИ СЗАДИ (Backlight) */
      /* Первая тень — яркое узкое свечение, вторая — широкое мягкое облако */
      box-shadow: 0px 0px 20px var(--cyan-glow-soft), 
                  0px 0px 45px var(--cyan-glow-soft) !important;
      
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border-radius: 24px;
      position: relative;
      overflow: hidden;
  
      /* Плавность для прыжка */
      transform: translateZ(0);
      /* will-change: transform, box-shadow; */
      transition: transform 0.4s ease, box-shadow 0.4s ease !important;
  }
  
  /* Эффект усиления подсветки при наведении (если есть класс hover-neon-jump) */
  .glass-cyan-panel.hover-neon-jump:hover {
      box-shadow: 0px 10px 30px var(--cyan-glow-main), 
                  0px 0px 60px var(--cyan-glow-soft) !important;
      border-color: rgba(0, 255, 242, 0.6) !important;
  }

/* ========================================
   3. ТИПОГРАФИКА
   ======================================== */
:root {
  /* === Шрифты === */
  --font-family-base: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-family-heading: 'Montserrat', sans-serif;
  
  /* ========================================
     ГЛОБАЛЬНОЕ ПРИМЕНЕНИЕ ШРИФТОВ
     ======================================== */
  
  /* 1. Базовый шрифт для всего текста (абзацы, списки, карточки) */
  body {
      font-family: var(--font-family-base) !important;
  }
  
  /* 2. Шрифт для заголовков (если вдруг захочешь сделать их другим шрифтом в будущем) */
  h1, h2, h3, h4, h5, h6, .main-title, .section-title {
      font-family: var(--font-family-heading) !important;
  }
  
  /* 3. Принудительное наследование для элементов форм и кнопок 
     (иначе браузер может скинуть их на стандартный Arial) */
  input, button, textarea, select {
      font-family: inherit !important;
  }
  
  /* === Размеры шрифтов === */
  --font-size-xs: 0.75rem;      /* 12px */
  --font-size-sm: 0.875rem;     /* 14px */
  --font-size-base: 1rem;       /* 16px */
  --font-size-md: 1.125rem;     /* 18px */
  --font-size-lg: 1.25rem;      /* 20px */
  --font-size-xl: 1.5rem;       /* 24px */
  --font-size-xxl: 1.75rem;     /* 28px */
  --font-size-xxxl: 2rem;       /* 32px */
  
  /* === Вес шрифтов === */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 900;
  
  /* === Высота строки === */
  --line-height-sm: 1.2;
  --line-height-base: 1.5;
  --line-height-lg: 1.8;
}

/* ===================================
   ГЛОБАЛЬНЫЕ ОТСТУПЫ СЕКЦИЙ (Фикс сетки)
====================================== */
.mt-80 { margin-top: 80px !important; }
.mb-80 { margin-bottom: 80px !important; }
.mt-60 { margin-top: 60px !important; }
.mb-60 { margin-bottom: 60px !important; }
.mt-50 { margin-top: 50px !important; }
.mb-50 { margin-bottom: 50px !important; }
.mt-40 { margin-top: 40px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-10 { margin-bottom: 10px !important; }

/* На мобильных устройствах делаем отступы компактнее */
@media (max-width: 767px) {
    .mt-80 { margin-top: 50px !important; }
    .mb-80 { margin-bottom: 50px !important; }
    .mt-60 { margin-top: 40px !important; }
    .mb-60 { margin-bottom: 40px !important; }
    .mt-50 { margin-top: 30px !important; }
    .mb-50 { margin-bottom: 30px !important; }
}

/* ========================================
   4. РАЗМЕРЫ И ОТСТУПЫ
   ======================================== */
:root {
  /* === Отступы (спейсинг) === */
  --spacing-0: 0;
  --spacing-1: 0.25rem;   /* 4px */
  --spacing-2: 0.5rem;    /* 8px */
  --spacing-3: 1rem;      /* 16px */
  --spacing-4: 1.5rem;    /* 24px */
  --spacing-5: 3rem;      /* 48px */
  --spacing-6: 4.5rem;    /* 72px */
  --spacing-7: 6rem;      /* 96px */
  --spacing-8: 8rem;      /* 128px */
  --spacing-9: 3rem;      
  --spacing-10: 4rem;     
  
  /* === Размеры контейнеров === */
  --container-max-width: 1200px;
  --container-wide: 1200px; 
  
  /* === Размеры элементов === */
  --header-height: 90px;
  --footer-height: auto;
  
  --border-radius-sm: 0.2rem;
  --border-radius: 0.25rem;
  --border-radius-md: 0.5rem;
  --border-radius-lg: 0.5rem;   /* 8px */
  --border-radius-xl: 1.5rem;   /* 24px */
  --border-radius-xxl: 2rem;
  --border-radius-full: 9999px;
  
  /* === Границы === */
  --border-width: 1px;
  --border-width-2: 2px;
}

/* ========================================
   5. ТЕНИ И ЭФФЕКТЫ
   ======================================== */
:root {
  /* === Тени === (сделал их чуть теплее, убрал синеву из черного) */
  --shadow-sm: 0 .125rem .25rem rgba(62, 39, 35, .05);
  --shadow: 0 .5rem 1rem rgba(62, 39, 35, .1);
  --shadow-md: 0 4px 12px rgba(62, 39, 35, .12);
  --shadow-lg: 0 1rem 3rem rgba(62, 39, 35, .15);
  --shadow-xl: 0 1.5rem 4rem rgba(62, 39, 35, .2);
  
  /* === Фильтры === */
  --filter-blur-sm: blur(4px);
  --filter-blur: blur(12px);
  --filter-blur-lg: blur(20px);
  
  /* === Прозрачность === */
  --opacity-0: 0;
  --opacity-25: 0.25;
  --opacity-50: 0.5;
  --opacity-75: 0.75;
  --opacity-100: 1;
}

/* ========================================
   6. ПЕРЕХОДЫ И АНИМАЦИИ
   ======================================== */
:root {
  /* === Длительность переходов === */
  --transition-fast: 0.15s;
  --transition-base: 0.3s;
  --transition-slow: 0.5s;
  
  /* === Функции плавности === */
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  
  /* === Комплексные переходы === */
  --transition: all var(--transition-base) var(--ease-in-out);
  --transition-fast: all var(--transition-fast) var(--ease-in-out);
  --transition-slow: all var(--transition-slow) var(--ease-in-out);
}

/* ========================================
   7. Z-ИНДЕКСЫ
   ======================================== */
:root {
  --z-index-base: 1;
  --z-index-header: 1030;
  --z-index-overlay: 1040;
  --z-index-modal: 1055;
  --z-index-fixed: 1060;
  
  --z-index-tooltip: 1070;
  --z-index-popover: 1080;
  --z-index-dropdown: 1090;
  --z-index-sticky: 1100;
  --z-index-backdrop: 1300;
}

/* ========================================
   8. BREAKPOINTS (точки останова)
   ======================================== */
:root {
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
  
  /* === Максимальные ширины для адаптивности === */
  --max-width-mobile: 767px;
  --max-width-tablet: 1024px;
  --max-width-desktop: 1399px;
}

/* ========================================
   9. ДОПОЛНИТЕЛЬНЫЕ ПЕРЕМЕННЫЕ
   ======================================== */
:root {
   
  /* === Оверлей === */
  --overlay-bg: rgba(62, 39, 35, 0.85); /* Темно-коричневый древесный оверлей вместо синего */
  --overlay-bg-light: rgba(253, 251, 247, 0.95);
  
  /* === Скроллбар === */
  --scrollbar-width: 10px;
  --scrollbar-width-track: 14px;
  --scrollbar-track-bg: var(--color-gray-200);
  --scrollbar-thumb-bg: var(--color-primary);
  
  /* === Фильтры для иконок === */
  --filter-invert-white: brightness(0) invert(1);
  --filter-drop-shadow: drop-shadow(2px 2px 4px rgba(62, 39, 35, 0.3));
}

/* ========================================
   10. ПЕРЕМЕННЫЕ ДЛЯ БЫСТРОЙ ЗАМЕНЫ
   ======================================== */
:root {
  /* === Брендовые настройки === */
  
  /* Цветовая схема */
  --brand-primary: var(--color-primary);
  --brand-secondary: var(--color-secondary);
  
  /* Логотип */
  --logo-max-height: 90px;
  --logo-max-height-mobile: 60px;
  
  /* Социальные сети (Точные цвета брендов) */
  --social-color-telegram: #229ED9;
  --social-color-whatsapp: #25D366;
  --social-color-email: var(--color-accent);
  --social-color-phone: var(--color-success); /* Зеленый цвет для звонка лучше подходит тематике */
}

/* ========================================
   УТИЛИТЫ (Цветовые классы)
   ======================================== */
   
.bg-primary { background-color: var(--color-primary) !important; }
.bg-secondary { background-color: var(--color-secondary) !important; }
.bg-accent { background-color: var(--color-accent) !important; }
.bg-white { background-color: var(--color-white) !important; }
.bg-light { background-color: var(--bg-light) !important; }

.text-primary { color: var(--color-primary) !important; }
.text-secondary { color: var(--color-secondary) !important; }
.text-accent { color: var(--color-accent) !important; }
.text-white { color: var(--color-white) !important; }
.text-muted { color: var(--color-text-muted) !important; }

.border-primary { border-color: var(--color-primary) !important; }
.border-secondary { border-color: var(--color-secondary) !important; }
.border-accent { border-color: var(--color-accent) !important; }
.border-success{border-color:#28a745!important}
.border-info{border-color:#17a2b8!important}
.border-warning{border-color:#ffc107!important}
.border-danger{border-color:#dc3545!important}
.border-light{border-color:#f8f9fa!important}
.border-dark{border-color:#343a40!important}
.border-white{border-color:#fff!important}

.shadow-sm { box-shadow: var(--shadow-sm) !important; }
.shadow { box-shadow: var(--shadow) !important; }
.shadow-lg { box-shadow: var(--shadow-lg) !important; }

.rounded { border-radius: var(--border-radius) !important; }
.rounded-lg { border-radius: var(--border-radius-lg) !important; }
.rounded-full { border-radius: var(--border-radius-full) !important; }