/* Переменные для стилей */
:root {
  --menu-opacity: 0.55; /* Уровень прозрачности меню - 55% */
  --menu-bg-color: rgba(255, 255, 255, var(--menu-opacity)); /* Белый полупрозрачный фон */
  --menu-text-color: #222222; /* Тёмный цвет текста для контраста */
  --menu-width: 85%; /* Ширина 85% как указано в требованиях */
  --side-padding: 20%; /* Отступы по бокам для текстовых блоков */
  --close-btn-size: 20px; /* Размер кнопки X - 20px */
  --close-btn-hover-bg: #FF1053; /* Красный фон при наведении */
  --close-btn-hover-size: 45px; /* Размер фона при наведении - 45px */
  --menu-item-font-size: 20px;
  --contact-info-font-size: 14px;
  --blur-effect: 5px; /* Размытие для эффекта матового стекла - 5px */
  --menu-items-gap: 10px; /* Расстояние между пунктами меню - 10px */
  --menu-content-offset: -50px; /* Отрицательное значение поднимает контент выше */
}

/* Для эффекта выдавливания сайта */
body {
  overflow-x: hidden;
}

/* Стили для основного контейнера сайта */
#ajax-content-wrap,
body > #header-outer,
body > #header-space,
#footer-outer {
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Сдвиг основного контента при открытом меню */
body.nectar-custom-menu-open #ajax-content-wrap,
body.nectar-custom-menu-open > #header-outer,
body.nectar-custom-menu-open > #header-space,
body.nectar-custom-menu-open #footer-outer {
  transform: translateX(-85vw) scale(0.8);
  transform-origin: right center;
}

#nectar-custom-mobile-menu .menu-container {
  margin-top: var(--menu-content-offset);
}

/* Стили для мобильного меню */
#nectar-custom-mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: var(--menu-width);
  height: 100vh;
  background-color: var(--menu-bg-color); /* Белый полупрозрачный фон */
  color: var(--menu-text-color);
  z-index: 9999;
  overflow-y: auto;
  transition: right 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  display: flex;
  justify-content: center; /* Центрирование по вертикали */
  align-items: flex-start;
  backdrop-filter: blur(var(--blur-effect)); /* Эффект матового стекла */
  -webkit-backdrop-filter: blur(var(--blur-effect)); /* Для Safari */
  box-shadow: -5px 0px 30px rgba(0, 0, 0, 0.1); /* Тень для объемности */
}

#nectar-custom-mobile-menu.open {
  right: 0;
}

/* Кнопка закрытия меню */
#nectar-custom-mobile-menu .menu-close {
  position: absolute;
  top: 30px; /* Отступ сверху 30px */
  right: 30px; /* Отступ справа 30px */
  width: var(--close-btn-hover-size);
  height: var(--close-btn-hover-size);
  border-radius: 50%;
  background-color: transparent; /* Без фона */
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 10000;
  transition: background-color 0.3s ease;
}

#nectar-custom-mobile-menu .menu-close:hover {
  background-color: var(--close-btn-hover-bg); /* Красный фон при наведении */
}

/* Линии для иконки X */
#nectar-custom-mobile-menu .menu-close .line-1,
#nectar-custom-mobile-menu .menu-close .line-2 {
  position: absolute;
  width: 0;
  height: 2px; 
  background-color: var(--menu-text-color) !important; /* Принудительно устанавливаем цвет линий */
  opacity: 0;
  top: 50%;
  left: 50%;
  transform-origin: center;
}

/* Анимации для линий */
@keyframes crossRight {
  0% {
    width: 0;
    opacity: 0;
  }
  100% {
    width: var(--close-btn-size);
    opacity: 1;
  }
}

@keyframes crossLeft {
  0% {
    width: 0;
    opacity: 0;
  }
  100% {
    width: var(--close-btn-size);
    opacity: 1;
  }
}

/* Первая линия (справа сверху в левый нижний угол) */
#nectar-custom-mobile-menu .menu-close .line-1 {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Вторая линия (слева сверху в правый нижний угол) */
#nectar-custom-mobile-menu .menu-close .line-2 {
  transform: translate(-50%, -50%) rotate(45deg);
}

/* Анимация линий при открытом меню */
#nectar-custom-mobile-menu.open .menu-close .line-1 {
  animation: crossRight 0.4s cubic-bezier(0.52, 0.01, 0.16, 1) forwards;
}

#nectar-custom-mobile-menu.open .menu-close .line-2 {
  animation: crossLeft 0.4s cubic-bezier(0.52, 0.01, 0.16, 1) 0.15s forwards;
}

/* Гарантированное отображение линий после анимации */
#nectar-custom-mobile-menu.open .menu-close .line-1,
#nectar-custom-mobile-menu.open .menu-close .line-2 {
  width: var(--close-btn-size);
  opacity: 1;
}

/* Контейнер с содержимым */
#nectar-custom-mobile-menu .menu-container {
  padding-left: var(--side-padding);
  padding-right: var(--side-padding);
  width: 100%;
  text-align: left; /* Выравнивание по левому краю */
  display: flex;
  flex-direction: column;
  justify-content: center; /* Выравнивание по центру по вертикали */
  min-height: 100vh;
}

/* Убираем маркеры пунктов меню */
#nectar-custom-mobile-menu ul {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

#nectar-custom-mobile-menu ul li {
  list-style-type: none !important;
  list-style-image: none !important;
  margin-bottom: var(--menu-items-gap); /* Расстояние между пунктами меню 10px */
}

#nectar-custom-mobile-menu ul li:before,
#nectar-custom-mobile-menu ul li:after,
#nectar-custom-mobile-menu ul li a:before {
  display: none !important;
  content: none !important;
}

/* Стили пунктов меню */
#nectar-custom-mobile-menu ul li a {
  display: inline-block;
  padding: 5px 0;
  color: var(--menu-text-color); /* Темный цвет текста */
  font-size: var(--menu-item-font-size); /* 20px */
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  text-decoration: none;
  border: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateX(20px);
}

/* Активный пункт меню */
#nectar-custom-mobile-menu ul li.current-menu-item > a,
#nectar-custom-mobile-menu ul li.current-page-ancestor > a {
  text-decoration: underline; /* Подчеркивание активного пункта */
}

#nectar-custom-mobile-menu.open ul li a {
  opacity: 1;
  transform: translateX(0);
}

#nectar-custom-mobile-menu ul li a:hover {
  text-decoration: underline;
}

/* Стили для подменю */
#nectar-custom-mobile-menu ul li.menu-item-has-children > a::after {
  content: "+";
  margin-left: 8px;
}

#nectar-custom-mobile-menu ul li.menu-item-has-children > a.expanded::after {
  content: "-";
}

#nectar-custom-mobile-menu ul.sub-menu {
  display: none;
  padding-top: 8px;
  padding-left: 15px;
}

/* Контактная информация */
.mobile-contact-info {
  margin-top: 50px; /* Отступ между меню и контактной информацией - 50px */
  text-align: left;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#nectar-custom-mobile-menu.open .mobile-contact-info {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}

.mobile-contact-info a {
  display: block;
  color: var(--menu-text-color); /* Темный цвет текста */
  font-size: var(--contact-info-font-size); /* 14px */
  font-family: "Open Sans", sans-serif;
  font-weight: normal; /* Не жирный */
  text-decoration: none;
  margin-bottom: 6px; /* Отступ между строками - 6px */
}

.mobile-phone:before {
  content: "T: ";
}

.mobile-email:before {
  content: "E: ";
}

/* Темный фон при открытом меню */
#nectar-custom-mobile-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3); /* Более легкий фон */
  z-index: 9998;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#nectar-custom-mobile-menu-overlay.open {
  display: block;
  opacity: 1;
}

/* Запрет прокрутки страницы при открытом меню */
body.nectar-custom-menu-open {
  overflow: hidden;
}

/* Применяем задержку к пунктам меню */
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(1) a { transition-delay: 0.05s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(2) a { transition-delay: 0.1s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(3) a { transition-delay: 0.15s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(4) a { transition-delay: 0.2s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(5) a { transition-delay: 0.25s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(6) a { transition-delay: 0.3s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(7) a { transition-delay: 0.35s; }
#nectar-custom-mobile-menu.open .mobile-menu > li:nth-child(8) a { transition-delay: 0.4s; }