/* Общие стили */

.main-wrapper {
  width: calc(100% - 30px);
  max-width: 1170px;
  padding: 0 15px;
  margin: auto;
}

.header-flex {
  min-height: 80px;
  display: flex;            /* Добавлено для выравнивания */
  align-items: center;      /* Вертикальное центрирование */
}

.header-logo {
  display: flex;            /* Добавлено для выравнивания элементов внутри */
  align-items: center;      /* Вертикальное центрирование внутри логотипа */
  margin-right: 15px;
}

.header-logo img {
  margin-right: 10px;       /* Отступ между изображением и названием сайта */
}

.header-menu {
  display: flex;            /* Добавлено для выравнивания меню */
  align-items: center;      /* Вертикальное центрирование меню */
  margin-left: auto;
}

.header-menu-ul {
  display: flex;            /* Добавлено для горизонтального расположения пунктов меню */
  align-items: center;      /* Вертикальное центрирование пунктов меню */
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-nav {
  position: relative;
}

.header-nav:not(:last-child) {
  margin-right: 20px;
}

.header-nav:not(:last-child).header-nav-parent {
  margin-right: 30px;
}

/* Стили выпадающего меню */

.header-nav-submenu {
  position: absolute;
  z-index: 10;
  border: 1px solid #F7F7F7;
  border-radius: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
}

.header-nav:hover .header-nav-submenu {
  display: block;
}

.header-menu-ul a {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 17px;
  display: block;
  padding: 16px 0;
}

.header-nav-submenu a {
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 14px;
  line-height: 15px;
  padding: 12px 30px;
  display: block;
}

.header-nav-submenu li:not(:last-child) a {
  border-bottom: 1px solid #F7F7F7;
}

.header-menu-ul a:hover,
.header-nav-submenu a:hover {
  color: #2CA5A9;
}

/* Стили для стрелки в выпадающем меню */

.header-nav-parent > span {
  display: inline-block;
  position: relative;
}

.header-nav-parent > span::after {
  content: url(../img/header-arrow-down.svg);
  position: absolute;
  top: 50%;                /* Изменено для центрирования */
  left: 100%;
  transform: translateY(-50%); /* Центрирование стрелки по вертикали */
}

.header-nav-parent:hover > span::after {
  content: url(../img/header-arrow-down-active.svg);
}

.header-nav-parent > span > a {
  padding-right: 4px;
  display: block;
  color: #ffffff;
}

/* Стили для бургер-меню */

.header-burger {
  cursor: pointer;
  display: none;
  margin-left: 16px;
}

.header-burger .line {
  width: 28px;
  height: 2px;
  margin: 6px auto;
  border-radius: 1px;
  background: #ffffff;
  display: none;
}

.menu-close {
  display: none;
}

.header-burger .line.active,
.menu-close.active {
  display: block;
}

/* Медиа-запросы для адаптации на мобильных устройствах */

@media screen and (max-width: 990px) {
  .header-menu {
    margin: 0 16px;
  }
  .header-menu-ul a,
  .header-nav-submenu a {
    font-size: 16px;
    line-height: 15px;
  }
}

@media screen and (max-width: 768px) {
  .header-flex {
    min-height: 60px;
    display: flex;
    align-items: center;
  }
  .header-logo {
    padding: 15px 0;
  }
  .header-logo img {
    max-height: 30px;
  }
  .header-right {
    display: none;
  }
  .header-burger,
  .header-menu-lk-menu {
    display: block;
  }
  .header-menu {
    display: none;
    background: #fff;
    padding: 0;
    margin: 0;
    position: absolute;
    z-index: 1111;
    left: 0;
    top: 60px;
    width: 100vw;
  }
  .header-nav {
    color: #353535;
    border-top: 1px solid #F7F7F7;
    width: 100%;
    margin: 0;
  }
  .header-nav:first-child {
    border-top: 2px solid #F7F7F7;
  }
  .header-nav:not(:last-child).header-nav-parent,
  .header-nav:not(:last-child) {
    margin-right: 0;
  }
  .header-menu-ul {
    flex-direction: column;  /* Вертикальное расположение пунктов меню */
  }
  .header-menu-ul a {
    display: inline-block;
    padding: 12px 30px;
    position: relative;
  }
  .header-nav-parent:hover {
    background: #F7F7F7;
  }
  .header-nav-parent > span > a {
    padding-right: 10px;
    color: #353535;
  }
  .header-nav-parent > span::after {
    top: 50%;               /* Центрирование стрелки на мобильных устройствах */
    transform: translateY(-50%);
  }
  .header-nav-submenu {
    position: static;
    background: none;
    border: none;
    border-radius: unset;
    margin-left: 30px;
  }
  .header-nav-submenu a {
    font-size: 14px;
    line-height: 12px;
    padding: 8px 12px 9px 20px;
  }
  .header-nav-submenu li:not(:last-child) a,
  .header-nav-submenu li:first-child a {
    border: none;
  }
  .header-nav-submenu li a {
    position: relative;
  }
  .header-nav-submenu li a::before {
    content: "-";
    position: absolute;
    left: 12px;
    font-size: 14px;
    line-height: 12px;
    color: #163535;
    margin-right: 3px;
  }
}

/* Утилитарные классы для Flexbox */

.align-items-center {
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
}

.justify-content-between {
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center; /* Изменено для центрирования */
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
