/* Скип-линк для клавиатуры: вне экрана, пока не в фокусе — шапка fixed,
   без него Tab уводит через всё меню при каждой загрузке страницы. */
.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 100;
  padding: 12px 20px;
  background: #101828;
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  transition: top 0.2s ease-out;
}
.skip-link:focus {
  top: 16px;
}

.nav {
  position: fixed;
  top: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  padding-left: 25px;
  padding-right: 25px;
  /* .nav — свой стек-контекст (position+z-index), поэтому что бы ни было
     прописано ВНУТРИ (мега-панель, попап бургера — их z-index работают
     только друг против друга), снаружи вся .nav целиком сравнивается как
     единый слой с соседями по документу. На Главной у .tabs (пилюли-фильтры
     в hero, new_home.css) тоже был z-index:3 — при равенстве побеждает
     тот, кто позже в DOM, то есть .tabs, и мобильное меню/мега-панель
     оказывались под ним. Значение поднято настолько, чтобы точно перебивать
     контент страниц (максимум там — 3), но остаться ниже реальных модалок
     (попап заявки z-index:5, полноэкранный просмотр картинки z-index:15). */
  z-index: 6;
}
.nav.active {
  background: rgba(236, 241, 246, 0.80);
}
.nav__wrapper {
  max-width: 1920px;
  width: 100%;
  height: 96px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav__logo-wrapper {
  display: flex;
  gap: 24px;
}
.logo__img {
  width: 115px;
  height: auto;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;

  top: 4px;



}
.logo__slogan {
  width: 122px;
  font-family: 'PantonExtraBold';
  color: #081A32;
  font-size: 10px;
  font-weight: 900;
  line-height: 110%; /* 11px */
  letter-spacing: 0.2px;
  text-transform: uppercase;
  margin-top: 8px;
}
@media (max-width: 660px) {
  .logo__img {
    top: -1px;
  }
  .nav__wrapper {
    height: 63px;
  }
  .nav__burger-wrapper {
    width:40px !important;
    height:40px !important;
  }
  .nav__phone-wrapper {
    height: 40px !important;
    width: 40px !important;
  }
  .popup__burger  {
    margin-top:63px;
  }
  .popup__burger__content {
    margin-top:0px !important;
  }
}
.nav__main {
  position: relative;
  z-index: 4;
  padding-left: 24px;
  padding-right: 24px;
  height: 48px;
  max-width: 926px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 1);
  border-radius: 32px;
}

.nav__list {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav__item {
  position: relative;
}
.nav__link {
  display: flex;
  align-items: center;
  color: #081A32;
  font-size: 16px;
  font-style: normal;
  font-family: 'Panton', serif;
  font-weight: 600;
  line-height: 110%; /* 17.6px */
}
.nav__item:hover .nav__link,
.nav__link[aria-current="page"] {
  color: #D7171F;
}
.nav__item.is-current > .nav__link {
  color: #D7171F;
}
.nav__item.is-current > .nav__link::before {
  content: '';
  display: block;
  position: absolute;
  background-color: #D7171F;
  border-radius: 4px 4px 0px 0px;
  width: 100%;
  height: 2px;
  top: 31px;
}

.nav__item--parent {
  padding-right: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Кнопка-стрелка отдельно от ссылки: раньше стрелка была псевдоэлементом на
   самой <a>, и на мобильном тап по ней одновременно уводил со страницы. */
.nav__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: #081A32;
  transition: transform .2s ease, color .2s ease;
}
.nav__item--parent.is-open .nav__toggle,
.nav__item--parent:focus-within .nav__toggle {
  color: #D7171F;
}
/* Стрелка НЕ переворачивается при открытии — как на боевом: остаётся остриём
   вниз и только краснеет вместе с текстом. Переворот стоял здесь как индикация
   состояния, но выглядел лишним движением рядом с эталоном. */
@media (prefers-reduced-motion: reduce) {
  .nav__toggle {
    transition: none;
  }
}

/* Выпадающая панель. Геометрия снята с боевого сайта (.sub-menu.active
   в его header.css): 240px, скругление 12, паддинг 10 сверху и снизу,
   шаг 20 между пунктами, отступ 16 слева, та же тень. Панель прижата к левому
   краю пункта — не центрируется под ним.

   Здесь стояла мега-панель на 908px: три колонки по 260 с gap 40, притянутые
   к центру через left: 50% + translateX(-50%). Она расползалась в обе стороны
   от пункта и читалась плитой поверх страницы, тогда как на боевом это узкая
   карточка. Вместе с раскладкой ушли и заголовки колонок (.nav__col-title):
   колонки собирались по направлениям, а посадочных на направления нет —
   заголовок вёл в никуда.

   Скрыта атрибутом hidden, не height: 0, — так она не остаётся в порядке
   табуляции и не находится поиском по странице. Боевой прячет высотой, и это
   ровно тот случай, где повторять за ним не нужно. */
.nav__panel {
  position: absolute;
  /* 27px от низа строки пункта — замер живого прода (панель y:84 при низе
     текста 57). С 12px панель прилипала к шапке. */
  top: calc(100% + 27px);
  left: 0;
  z-index: 5;

  width: 240px;
  border-radius: 12px;
  background: #FFF;
  box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.05);
}
.nav__panel[hidden] {
  display: none;
}
.nav__panel-inner {
  padding: 10px 0;
}

/* Появление: 160ms прозрачности со сдвигом на 8px. Прежде панель включалась
   голым hidden — возникала мгновенно и без связи с пунктом, от которого
   раскрылась. */
.nav__panel {
  animation: nav-panel-in .16s ease-out;
}
@keyframes nav-panel-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .nav__panel {
    animation: none;
  }
}

/* Список пунктов. Прежде .nav__drop-item ложился прямо в .nav__cols
   с display: flex, и «ПО» раскрывалось горизонтальным рядом вместо столбика:
   правило .nav__panel--drop .nav__col-list не совпадало ни с чем, потому что
   на втором уровне такого <ul> просто нет. */
.nav__cols,
.nav__col-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.nav__drop-item .nav__sublink,
.nav__col-item .nav__sublink {
  display: block;
  padding: 0 16px;
  color: #081A32;
  font-size: 16px;
  /* 600/110% — как пункты панели на боевом (замер computed styles, не CSS-файла).
     С обычным начертанием панель читалась бледной рядом с эталоном. */
  font-weight: 600;
  line-height: 110%;
  transition: color .15s ease;
}
.nav__drop-item .nav__sublink:hover,
.nav__col-item .nav__sublink:hover,
.nav__drop-item .nav__sublink[aria-current="page"],
.nav__col-item .nav__sublink[aria-current="page"] {
  color: #D7171F;
}

.nav__item-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav__support-wrapper {
  display: flex;
  align-items: center;
  gap: 24px;
}
.nav__phone {
  color: #081A32;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 110%; /* 17.6px */
  text-transform: uppercase;
}
.nav__phone-wrapper {
  display: none;
}
.nav__support {
  cursor: pointer;
  width: 196px;
  height: 48px;
  border-radius: 32px;
  background: #081A32;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  transition: all .2s ease;
}
.nav__support:hover {
  background: #ECF1F6;
  
}
.nav__support:hover .nav__support-title ,
.nav__support:hover .nav__white-arrow path {
  color: #081A32;
  fill: #081A32;
}
.nav__support-title {
  color: #FFF;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 110%; /* 19.8px */
  cursor: pointer;
}
.nav__white-arrow {
  width: 16px;
  height: 16px;
}

/* BURGER MEMU */
.nav__burger-wrapper {
  display: none;
}

.popup__burger {
  position: fixed;
  width: 100%;
  /* vh, не % — панель лежит внутри <nav>, а у него transform (нужен для
     центрирования капсулы меню), transform на предке создаёт свой containing
     block для fixed-потомков: height:100% резолвился не во весь экран,
     а в высоту самого .nav (96px), и фон панели не доходил до низа —
     сквозь неё было видно контент страницы. */
  height: 100vh;
  top: 0%;
  left: 0;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all ease .2s 0s;
}
.popup__burger.open {
  opacity: 1;
  visibility: visible;
}
.popup__burger.open .popup__burger__content {
  opacity: 1;
}
.popup__burger__body {
  min-height: 100%;
  /*display: flex;
  align-items: center;
  justify-content: center;*/
}
.popup__burger__content {
  width: 100%;
  background: rgba(236, 241, 246, 1);
  backdrop-filter: blur(25px);
  height: 100vh;
  position: relative;
  margin-top: 95px;
  z-index: 5;
}

.popup__burger__text-wrapper {
  width: 360px;
  margin: 0 auto;
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* .burger__item, .burger__dropdown*, .burger__arrow*, .burger__free* сюда не
   переносились: разметки под них больше нет — мобильное меню строит Walker
   (inc/nav-menu.php), а не клон десктопного через innerHTML. */

.popup__burger__content {
  padding: 48px 24px;
}

.burger__phone {
  color: #081A32;
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 110%; /* 35.2px */
  margin-top: 240px;
  display: block;
}
.popup__support__text-wrapper.hide {
  display: none;
}

/* Экран «успешно» в попапе заявки: разметка в footer.php сейчас закомментирована
   (задача не про этот экран), но JS (nav.js) готов её включить — правило
   остаётся, чтобы не разъезжаться с ним молча. */
.popup-success__wrapper.hide {
  display: none;
}
.popup-success__wrapper {
  padding-left: 48px;
  padding-top: 60px;
}
.popup-success__title {
  margin-top: 30px;
  color: var(--black-text, #081A32);
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 48px */
}
.popup-contact__wrapper {
  margin-top: 60px;
  display: flex;
  max-width: 640px;
  width: 100%;
  padding: 24px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  border-radius: 32px;
  border: 1px solid var(--sup, #D8DFE5);
  background: #FFF;
}
.popup-contact__title {
  color: var(--black, #081A32);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 23.4px */
}
.popup-contact__phone {
  color: var(--red, #D7171F);
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 48px */
}

.popup__burger__content .nav__list--mobile {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.popup__burger__content .nav__item {
  position: static;
}

.popup__burger__content .nav__link {
  padding: 12px 0;
  font-size: 24px;
  line-height: 110%;
}

.popup__burger__content .nav__item.is-current > .nav__link::before {
  display: none;
}
.popup__burger__content .nav__item.is-current > .nav__link {
  color: #D7171F;
}

.popup__burger__content .nav__item--parent {
  flex-direction: column;
  align-items: stretch;
  padding-right: 0;
}

.popup__burger__content .nav__toggle {
  width: 24px;
  height: 24px;
}

/* Панель мобильного меню всегда встроена в поток — раскрывается высотой,
   а не всплывает поверх, как десктопная. */
.popup__burger__content .nav__panel {
  position: static;
  width: auto;
  transform: none;
  max-width: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  animation: none;
}
.popup__burger__content .nav__panel-inner {
  padding: 0 0 12px 16px;
}
.popup__burger__content .nav__col-item .nav__sublink,
.popup__burger__content .nav__drop-item .nav__sublink {
  padding: 6px 0;
  font-size: 18px;
}
/*  */
/* BURGER END */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  /* Ваши стили для Safari здесь */
  
}
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm) {
  /* Safari 10.0 */
  .popup__burger__content {
    
    backdrop-filter: none;
    background: rgba(236, 241, 246, 1);
  }
}
/* Порог был 1630px — рассчитан на старое меню (8 пунктов длиннее: «Стартовое
   внедрение», «Демонстрация» и т.п.). Новых 6 пунктов короче, капсула
   .nav__main спокойно умещается с нормальными отступами вплоть до ~1200px;
   ниже пункты начинают слипаться без зазоров — проверено вживую. */
@media (max-width: 1200px) {
  .nav__main,
  .nav__phone {
    display: none;
  }
  .nav__phone-img {
    width: 24px;
    height: 24px;
  }
  .nav__phone-wrapper {
    height: 48px;
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.60);  
    cursor: pointer;
  }
  .burger__img {
    width: 24px;
    height: 24px;
  }
  .nav__burger-wrapper {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 32px;
    background: var(--black, #081A32);
    height: 48px;
    width: 48px;
    transition: all .2s ease;
  }
  .nav__burger-wrapper.active {
    background: #FFF;
  }
}
@media (max-width: 1000px) {
  .popup__burger__text-wrapper {
    margin-left: 24px;
  }
}
@media (max-width: 700px) {
  .popup-success__wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 660px) {
  .nav__support,
  .logo__slogan {
    display: none;
  }
  .nav {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 515px) {
  .popup-success__title {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  .burger__item {
    font-size: 24px;
  }
  .burger__phone {
    margin-top: 150px;
  }
  .burger__item.active::after {
    top: 30px;
  }
  .popup-contact__phone {
    font-size: 30px;
  }

}
@media (max-width: 380px) {
  .burger__phone {
    margin-top: 80px;
  }
}

