
/**
 * ============================================================
 *  АДАПТИВНАЯ ВЁРСТКА — бассейн-спб.рф  (v3)
 *  Шапка: Sticky-панель + выдвижное меню (Вариант C)
 *  Футер: Вертикальный стек (Вариант A)
 *  
 *  Брейкпоинты:
 *    ≤1024px — планшеты (landscape)
 *    ≤768px  — планшеты (portrait) / мобильные
 *    ≤576px  — мобильные
 *    ≤400px  — маленькие мобильные
 *
 *  ВАЖНО: тема имеет min-width:1280px на .main-wrapper и
 *  .header-wrapper, width:1280px на .header-content — 
 *  всё это перебивается на мобильных.
 * ============================================================
 */


/* ============================================================
   БАЗОВЫЕ ПРАВИЛА (десктоп > 1024px)
   Скрываем мобильные элементы
   ============================================================ */

.mobile-burger-btn,
.mobile-menu-overlay,
#mobile-nav-panel {
  display: none;
}


/* ============================================================
   ОБЩИЕ ПЕРЕОПРЕДЕЛЕНИЯ — убираем min-width 1280px
   ============================================================ */

@media (max-width: 1024px) {
  .main-wrapper {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }

  html, body {
    overflow-x: hidden !important;
  }

  body.menu-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
  }
}


/* ============================================================
   ШАПКА — Sticky-панель + выдвижное меню
   ============================================================ */

@media (max-width: 1024px) {

  /* --- Шапка: fixed, узкая --- */
  .header-wrapper {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    height: 130px !important;
    min-width: 0 !important;
    width: 100% !important;
    background-color: #3c3d41 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    overflow: visible !important;
  }

  .header-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 130px !important;
    padding: 0 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* --- Логотип --- */
  .header-logo {
    float: none !important;
    height: 100px !important;
    max-width: 280px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    flex-shrink: 0 !important;
    order: 1 !important;
    cursor: pointer !important;
  }

  /* --- Телефон — только иконка --- */
  .header-phone {
    float: none !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 100px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    order: 2 !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    overflow: hidden !important;
    cursor: pointer !important;
    margin: 0 16px 0 auto !important;
    white-space: nowrap !important;
    line-height: 0 !important;
  }

  .header-phone::before {
    content: '' !important;
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    text-indent: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z'/%3E%3C/svg%3E") no-repeat center center !important;
    background-size: contain !important;
  }

  /* --- Исходное меню темы — СКРЫВАЕМ (оно для десктопа) --- */
  .header-menu {
    display: none !important;
    float: none !important;
  }

  /* --- Кнопка-бургер (создаётся через JS) --- */
  .mobile-burger-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 100px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    order: 3 !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    position: relative !important;
    z-index: 10002 !important;
    -webkit-tap-highlight-color: transparent !important;
    margin: 0 !important;
  }

  .mobile-burger-btn span {
    display: block !important;
    width: 48px !important;
    height: 4px !important;
    background: #ffffff !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
  }

  .mobile-burger-btn span::before,
  .mobile-burger-btn span::after {
    content: '' !important;
    display: block !important;
    width: 48px !important;
    height: 4px !important;
    background: #ffffff !important;
    border-radius: 2px !important;
    position: absolute !important;
    left: 0 !important;
    transition: all 0.3s ease !important;
  }

  .mobile-burger-btn span::before {
    top: -14px !important;
  }

  .mobile-burger-btn span::after {
    top: 14px !important;
  }

  /* Бургер → крестик */
  .mobile-burger-btn.active span {
    background: transparent !important;
  }

  .mobile-burger-btn.active span::before {
    top: 0 !important;
    transform: rotate(45deg) !important;
  }

  .mobile-burger-btn.active span::after {
    top: 0 !important;
    transform: rotate(-45deg) !important;
  }

  /* --- Overlay --- */
  .mobile-menu-overlay {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 10000 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }

  .mobile-menu-overlay.active {
    display: block !important;
    opacity: 1 !important;
  }

  /* --- Выдвижное мобильное меню (создаётся JS-ом как #mobile-nav-panel) --- */
  #mobile-nav-panel {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: -320px !important;
    width: 320px !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #3c3d41 !important;
    padding: 80px 30px 30px !important;
    transition: right 0.3s ease !important;
    z-index: 10001 !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  #mobile-nav-panel.open {
    right: 0 !important;
    box-shadow: -4px 0 15px rgba(0, 0, 0, 0.3) !important;
  }

  /* Кнопка закрытия внутри панели */
  #mobile-nav-panel .mobile-nav-close {
    position: absolute !important;
    top: 12px !important;
    right: 16px !important;
    width: 32px !important;
    height: 32px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #ffffff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    padding: 0 !important;
    z-index: 1 !important;
  }

  /* Пункты меню */
  #mobile-nav-panel ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #mobile-nav-panel li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
  }

  #mobile-nav-panel li a {
    display: block !important;
    padding: 12px 0 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-family: "GothamProBold", Arial, sans-serif !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-right: none !important;
    transition: color 0.2s !important;
  }

  #mobile-nav-panel li a:hover {
    color: #93c5fd !important;
    border-bottom-color: rgba(147, 197, 253, 0.3) !important;
  }

  /* --- Отступ для контента под fixed-шапкой --- */
  .main-wrapper {
    padding-top: 130px !important;
  }

  /* --- Убираем фиксированные ширины у блоков --- */
  .slider-wrapper {
    width: 100% !important;
    height: auto !important;
  }

  .slider-content {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  .theme-default .nivoSlider,
  .theme-default .nivoSlider img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }

  .about-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 40px auto 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    font-size: 1.2em !important;
  }

  .about-title {
    font-size: 1.2em !important;
  }

  .about-text {
    font-size: 1.2em !important;
    line-height: 1.6 !important;
  }

  .bottom-slider {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px auto 0 auto !important;
    padding: 20px 24px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .bottom-slider .clearfix {
    max-width: 100% !important;
  }

  .bottom-slider img {
    max-width: 100% !important;
    height: auto !important;
  }

  .content-data {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    font-size: 1em !important;
  }

  .video-youtube-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
  }
}

/* --- Мобильные ≤768px --- */
@media (max-width: 768px) {
  .header-wrapper {
    height: 100px !important;
  }

  .header-content {
    height: 100px !important;
    padding: 0 16px !important;
  }

  .header-logo {
    height: 75px !important;
    max-width: 260px !important;
  }

  .header-phone {
    width: 75px !important;
    min-width: 75px !important;
    max-width: 75px !important;
    height: 75px !important;
  }

  .header-phone::before {
    width: 38px !important;
    height: 38px !important;
  }

  .mobile-burger-btn {
    width: 75px !important;
    min-width: 75px !important;
    max-width: 75px !important;
    height: 75px !important;
  }

  .mobile-burger-btn span,
  .mobile-burger-btn span::before,
  .mobile-burger-btn span::after {
    width: 36px !important;
  }

  #mobile-nav-panel {
    width: 280px !important;
    right: -280px !important;
    padding: 70px 24px 24px !important;
  }

  #mobile-nav-panel li a {
    font-size: 16px !important;
    padding: 14px 0 !important;
  }

  .main-wrapper {
    padding-top: 100px !important;
  }

  .about-wrapper {
    padding: 0 18px !important;
    margin-top: 30px !important;
    font-size: 1.1em !important;
  }

  .about-title {
    font-size: 1.1em !important;
  }

  .about-text {
    font-size: 1.1em !important;
    line-height: 1.55 !important;
  }

  .content-data {
    padding: 0 18px !important;
    font-size: 1em !important;
  }

  .video-youtube-wrapper {
    padding: 0 18px !important;
  }
}

/* --- Маленькие мобильные ≤400px --- */
@media (max-width: 400px) {
  .header-wrapper {
    height: 85px !important;
  }

  .header-content {
    height: 85px !important;
    padding: 0 12px !important;
  }

  .header-logo {
    height: 60px !important;
    max-width: 200px !important;
  }

  .header-phone {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
  }

  .header-phone::before {
    width: 30px !important;
    height: 30px !important;
  }

  .mobile-burger-btn {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
  }

  .mobile-burger-btn span,
  .mobile-burger-btn span::before,
  .mobile-burger-btn span::after {
    width: 28px !important;
  }

  #mobile-nav-panel {
    width: 260px !important;
    right: -260px !important;
    padding: 60px 20px 20px !important;
  }

  .main-wrapper {
    padding-top: 85px !important;
  }

  .about-wrapper {
    padding: 0 14px !important;
    font-size: 1em !important;
  }

  .about-title {
    font-size: 1em !important;
  }

  .about-text {
    font-size: 0.9em !important;
    line-height: 1.5 !important;
  }

  .content-data {
    padding: 0 14px !important;
    font-size: 1em !important;
  }

  .video-youtube-wrapper {
    padding: 0 14px !important;
  }
}


/* ============================================================
   ФУТЕР — Вертикальный стек
   ============================================================ */

@media (max-width: 1024px) {
  .footer-wrapper {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
  }

  .footer-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 24px 20px !important;
    margin: 0 auto !important;
    gap: 16px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .footer-info {
    float: none !important;
    width: 100% !important;
    order: 4 !important;
    font-size: 12px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .footer-text-center {
    float: none !important;
    width: 100% !important;
    order: 1 !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .footer-text-center .footer-text-title {
    font-size: 14px !important;
    margin-bottom: 6px !important;
  }

  .footer-text-center .footer-text-span-1 {
    font-size: 13px !important;
    line-height: 1.6 !important;
    padding: 0 !important;
  }

  .footer-address {
    float: none !important;
    width: 100% !important;
    order: 2 !important;
    text-align: center !important;
    margin: 0 !important;
    height: auto !important;
  }

  .footer-address .footer-text-title,
  .footer-address .footer-text-title2 {
    font-size: 14px !important;
    margin-bottom: 4px !important;
    margin-top: 8px !important;
  }

  .footer-address .footer-text-span-2 {
    font-size: 13px !important;
    line-height: 1.6 !important;
    padding: 0 !important;
  }

  .footer-social-icons {
    float: none !important;
    width: auto !important;
    order: 3 !important;
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    padding-top: 8px !important;
    text-align: center !important;
    overflow: visible !important;
  }

  /* Иконки соцсетей — оставляем оригинальные размеры темы */
}

@media (max-width: 768px) {
  .footer-content {
    padding: 20px 16px !important;
    gap: 14px !important;
  }

  .footer-info {
    font-size: 11px !important;
    padding-top: 14px !important;
  }

  .footer-text-center .footer-text-title {
    font-size: 13px !important;
  }

  .footer-text-center .footer-text-span-1 {
    font-size: 12px !important;
  }

  .footer-address .footer-text-title,
  .footer-address .footer-text-title2 {
    font-size: 13px !important;
  }

  .footer-address .footer-text-span-2 {
    font-size: 12px !important;
  }

  /* Иконки соцсетей — оставляем оригинальные размеры темы */
}

@media (max-width: 400px) {
  .footer-content {
    padding: 16px 12px !important;
    gap: 12px !important;
  }

  .footer-info {
    font-size: 10px !important;
  }

  .footer-text-center .footer-text-span-1 {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .footer-address .footer-text-span-2 {
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  /* Иконки соцсетей — оставляем оригинальные размеры темы */
}


/* ============================================================
   ПРОМЕЖУТОЧНАЯ ТОЧКА 576px
   ============================================================ */
@media (max-width: 576px) {
  .header-logo {
    max-width: 220px !important;
  }

  .about-wrapper {
    padding: 0 16px !important;
    font-size: 1em !important;
  }

  .about-title {
    font-size: 1em !important;
  }

  .about-text {
    font-size: 1em !important;
  }

  .content-data {
    padding: 0 16px !important;
    font-size: 1em !important;
  }

  .video-youtube-wrapper {
    padding: 0 16px !important;
  }
}
