/* ============================================================
   KAZAST — АДАПТИВНЫЕ СТИЛИ
   Подключается ПОСЛЕ home.css. Только переопределения.
   Десктоп (≥ 992px) НЕ трогаем — там всё работало.
   Breakpoints: xs < 576 | sm 576 | md 768 | lg 992
   ============================================================ */

/* ==================================================
   1. ЗАЩИТА ОТ ГОРИЗОНТАЛЬНОГО СКРОЛЛА
   ================================================== */
html, body { overflow-x: hidden; }
img:not(.log) { max-width: 100%; height: auto; }

/* ==================================================
   2. ЛОГОТИП
   На десктопе — 140px (как было в home.css).
   На мобильных — уменьшаем до нормального размера.
   ================================================== */
@media (max-width: 991.98px) {
  #siteNav .log {
    height: 44px !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-right: 8px !important;
  }
}

/* ==================================================
   3. TOPBAR — скрыт на мобильных (d-none d-lg-block)
   Дополнительная защита.
   ================================================== */
@media (max-width: 991.98px) {
  .topbar { display: none !important; }
}

/* ==================================================
   4. НАВБАР — МОБИЛЬНЫЙ (< 992px)
   На десктопе ничего не меняем!
   ================================================== */

/* Вернуть отступы контейнеру на мобильных */
@media (max-width: 991.98px) {
  #siteNav > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Бургер — синяя иконка на белом фоне */
@media (max-width: 991.98px) {
  #siteNav .navbar-toggler {
    border: 1.5px solid rgba(18,60,107,.28) !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(18,60,107,.08) !important;
  }
  #siteNav .navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(18,60,107,.15) !important;
    outline: none !important;
  }
  #siteNav .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23123c6b' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    width: 22px !important;
    height: 22px !important;
  }
}

/* Раскрытое меню на мобильных — белый блок */
@media (max-width: 991.98px) {
  #siteNav #navMenu,
  #siteNav #navMenuDb {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(18,60,107,.08);
    padding: 8px 0 12px;
    margin-top: 8px;
    box-shadow: 0 12px 32px rgba(15,35,60,.12);
    overflow: hidden;
  }

  /* Снять «капсулу» .header-down */
  #siteNav #navMenu .header-down,
  #siteNav #navMenuDb .header-down {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Пункты меню — тёмный текст на белом */
  #siteNav #navMenu .nav-link,
  #siteNav #navMenuDb .nav-link {
    color: #1e2f45 !important;
    padding: 11px 18px !important;
    border-radius: 0 !important;
    font-weight: 500;
    border-bottom: 1px solid rgba(18,60,107,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #siteNav #navMenu .nav-item:last-child .nav-link,
  #siteNav #navMenuDb .nav-item:last-child .nav-link {
    border-bottom: none;
  }
  #siteNav #navMenu .nav-link:hover,
  #siteNav #navMenu .nav-link:focus,
  #siteNav #navMenuDb .nav-link:hover,
  #siteNav #navMenuDb .nav-link:focus {
    background: rgba(18,60,107,.04) !important;
    color: var(--brand) !important;
  }

  /* Стрелка dropdown */
  #siteNav #navMenu .dropdown-toggle::after,
  #siteNav #navMenuDb .dropdown-toggle::after {
    border-top-color: #64748b;
  }

  /* Выпадающее меню на мобильных — статичное */
  #siteNav #navMenu .dropdown-menu,
  #siteNav #navMenuDb .dropdown-menu {
    background: rgba(18,60,107,.04) !important;
    border: none !important;
    border-left: 3px solid rgba(18,60,107,.15) !important;
    border-radius: 0 !important;
    min-width: auto !important;
    width: 100% !important;
    margin: 0 0 0 18px !important;
    padding: 4px 0 !important;
    max-height: none !important;
    overflow: visible !important;
    display: none;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: static !important;
    pointer-events: auto !important;
    transition: none !important;
    box-shadow: none !important;
  }
  #siteNav #navMenu .dropdown-menu.show,
  #siteNav #navMenuDb .dropdown-menu.show {
    display: block !important;
  }

  /* Убрать псевдоэлементы-стрелки (только для десктопа) */
  #siteNav #navMenu .dropdown-menu::before,
  #siteNav #navMenu .dropdown-menu::after,
  #siteNav #navMenuDb .dropdown-menu::before,
  #siteNav #navMenuDb .dropdown-menu::after {
    display: none !important;
  }

  /* Пункты выпадающего меню */
  #siteNav #navMenu .dropdown-item,
  #siteNav #navMenuDb .dropdown-item {
    color: #2d3e55 !important;
    padding: 9px 16px !important;
    border-radius: 0 !important;
    font-weight: 500;
    font-size: .875rem;
    white-space: normal;
  }
  #siteNav #navMenu .dropdown-item i,
  #siteNav #navMenuDb .dropdown-item i {
    color: #94a3b8 !important;
  }
  #siteNav #navMenu .dropdown-item:hover,
  #siteNav #navMenu .dropdown-item:focus,
  #siteNav #navMenuDb .dropdown-item:hover,
  #siteNav #navMenuDb .dropdown-item:focus {
    background: rgba(18,60,107,.08) !important;
    color: var(--brand) !important;
    transform: none !important;
  }
  #siteNav #navMenu .dropdown-item:hover i,
  #siteNav #navMenuDb .dropdown-item:hover i {
    color: var(--brand-2) !important;
  }
}

/* ==================================================
   5. HERO — Video-ready адаптив
   ================================================== */
@media (max-width: 991.98px) {
  .hero { min-height: 80vh; }
  .hero-slide { min-height: 80vh; }

  .hero-inner {
    padding: 3rem 0 3.5rem !important;
  }

  .hero .hero-title {
    font-size: clamp(1.65rem, 5.5vw, 2.4rem) !important;
    margin-bottom: .75rem;
  }

  .hero .hero-text {
    font-size: .97rem;
    max-width: 100%;
    margin-bottom: 1.1rem;
  }

  .hero-card { margin-top: 2rem; }
  /* Видео на мобильных — position: center top */
  .hero-video { object-position: center top; }
}

/* ==================================================
   5a. E-SERVICES MARQUEE — touch-friendly на мобильных
   ================================================== */
@media (max-width: 767.98px) {
  .eservices-marquee {
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }
  /* Затенения-фейды делаем уже на мобильных,
     чтобы не скрадывать содержимое */
  .eservices-fade { width: 30px !important; }
}

@media (max-width: 575.98px) {
  .hero,
  .hero-slide { min-height: 100svh; }

  .hero-inner { padding: 2.5rem 0 3rem !important; }
  .hero .hero-title { font-size: 1.7rem !important; }
  .hero-kicker { font-size: .76rem; padding: .38rem .7rem; }
  .hero-inner .btn-lg { font-size: .9rem; padding: .5rem .95rem; }
  .hero-card { padding: 1.1rem; margin-top: 1.75rem; }
  .hero-scroll { display: none; }
  /* Кнопки CTA в hero — во всю ширину стопкой, чтобы не прыгали */
  .hero-inner .d-flex.flex-wrap.gap-3 .btn { flex: 1 1 48%; }
}

/* ==================================================
   6. СЕКЦИИ
   ================================================== */
@media (max-width: 767.98px) {
  .section-title { font-size: 1.5rem !important; }
  .section-kicker { font-size: .7rem; }
}
@media (max-width: 575.98px) {
  .section-title { font-size: 1.3rem !important; }
}

/* ==================================================
   7. СТАТИСТИКА
   ================================================== */
@media (max-width: 575.98px) {
  .stat { padding: .75rem .8rem; }
  .stat-num { font-size: 1.3rem; }
  .stat-label { font-size: .8rem; }
}

/* ==================================================
   8. КАРТОЧКИ
   ================================================== */
@media (max-width: 575.98px) {
  .feature-card,
  .program-card,
  .admission-card { padding: 1rem; }

  .feature-ico,
  .program-icon { width: 42px; height: 42px; font-size: 1.1rem; }

  .event-date { width: 52px; min-width: 52px; border-radius: 14px; }
  .event-day { font-size: 1.15rem; }
  .event-mon { font-size: .75rem; }
}

/* ==================================================
   9. О НАС — бейдж абсолютный → relative на мобильных
   ================================================== */
@media (max-width: 767.98px) {
  .about-badge {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    margin-top: 10px;
    border-radius: 14px;
    display: inline-flex;
  }
}

/* ==================================================
   10. НОВОСТИ
   ================================================== */
@media (max-width: 575.98px) {
  .news-card { border-radius: 16px; }
  .news-card--featured .news-title { font-size: 1.2rem; }
  .news-title { font-size: 1rem; }
  .news-body { padding: 14px 14px 12px; }
}

/* ==================================================
   11. КОНТАКТЫ / ФОРМА
   ================================================== */
@media (max-width: 767.98px) {
  .form-card { padding: 1.1rem; }
}
@media (max-width: 575.98px) {
  .form-card { padding: .9rem; }
  .contact-item { font-size: .92rem; }
}

/* ==================================================
   12. ФУТЕР
   ================================================== */
@media (max-width: 767.98px) {
  .footer-link { font-size: 1rem; }
}

/* ==================================================
   13. КНОПКА «НАВЕРХ»
   ================================================== */
@media (max-width: 575.98px) {
  .to-top {
    right: 12px;
    bottom: 14px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: .85rem;
  }
}

/* ==================================================
   14. ГАЛЕРЕЯ
   ================================================== */
@media (max-width: 575.98px) {
  .gallery-img { border-radius: 12px; }
}

/* ==================================================
   15. ТИПОГРАФИКА — телефон
   ================================================== */
@media (max-width: 575.98px) {
  .display-4 { font-size: 2rem !important; }
  .display-5 { font-size: 1.75rem !important; }
  .lead { font-size: 1rem !important; }
}
