
h1.title, h2.title, h3.title, h4.title {
  font-family: RobotoSlab, sans-serif;
  font-weight: normal;
  text-transform: none;
  line-height: 1.4em;
  color: #676767;
}


.productionPage__text h2.title {
  text-align: center;
}


.seo__desc ul {
  list-style: none;       
  padding-left: 1.2em;   
  margin: 0;
}

.seo__desc ul li {
  position: relative;     
  padding-left: 16px;     
  margin-bottom: 8px;     
}

.seo__desc ul li::before {
  content: "";                     
  position: absolute;
  top: 50%;                        
  left: 0;                         
  transform: translateY(-50%);     
  width: 6px;
  height: 6px;
  background-color: #d31717;      
  border-radius: 50%;              
}

.banner::before {
  content: "";
  position: absolute;
  top: -30px;
  right: -50px;
  width: 700px;
  height: 100%;
  background: url("../img/banner_1.png") center/contain no-repeat; 
  z-index: 2;
}

.element__field__header {
  padding: 15px 0;
  border-bottom: 1px solid #ececec;
  justify-items: center;
   text-align: center;
}

.element__left { 
  padding-top: 70px;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 400px;
          flex: 0 1 400px;
  width: 400px;
}

/* Фон фиксированного меню */
.header__menu.menu--fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 70px;
  display: flex !important;
  align-items: center !important;
  z-index: 1200;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.header__topmenu {
  padding: 15px;
}
.header__topmenu.topmenu--fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1400; 
  background: #ececec;
  /* box-shadow: 0 1px 6px rgba(0,0,0,0.06); */
  color: #858383;
  border-bottom: 1px solid rgba(0,0,0,0.03);
  display: flex;
  list-style: none;
  justify-content: center;
  align-items: center;
  padding-left: 16px;
  padding-right: 16px;
} 
.header__topmenu.topmenu--fixed .lineW {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
}
.header__topmenu.topmenu--fixed .header__box {
  max-width: 1200px; 
  margin: 0 auto;
  width: 100%;
}

/* Контейнер внутри фиксированного меню*/
.header__menu.menu--fixed .lineW {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  padding-left: 16px;
  padding-right: 16px;
}

/* Навигация */
.header__menu.menu--fixed .navigator {
  display: flex;
  gap: 18px;
  align-items: center;
  flex: 1 1 auto;      
  min-width: 0;         
  overflow: hidden;
  white-space: nowrap;
}

/* Элементы навигации: обрезаем текст при нехватке места */
.header__menu.menu--fixed .navigator li {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.header__logo {
  padding-left: 10px;
}
/* Логотип  */
.header__logo.in-compact {
  /* margin-right: 25px; */
  flex: 0 0 auto;
}
.header__logo.in-compact img {
  height: 15px; 
  /* width: auto; */
  display: block;
}
.header__logo::before {
   height: 45px; 
}

/* Контейнер правой части: корзина + кнопка + поиск */
.header__menu.menu--fixed .header__basket,
.header__menu.menu--fixed .header__call,
.header__menu.menu--fixed .header__search {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

/* Правый набор элементов в одну строку */
.header__menu.menu--fixed .menu__right,
.header__menu.menu--fixed .lineW > .menu__right {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 12px;
}

.header__call.in-compact {
  /* padding: 6px 10px; */
  /* font-size: 15px; */
  line-height: 1;
  white-space: nowrap;
  margin-left: 20px;
}

.header__menu.menu--fixed .header__basket {
  margin-left: 8px;
}
/* Исправление выравнивания точек и текста в меню ТОЛЬКО для мобильной версии */
@media (max-width: 768px) {
  .header_topmenu.topmenu--fixed,
  .header__topmenu.topmenu--fixed {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    line-height: 1 !important;
  }

  /* 2. Выравнивание списка меню (если используются ul/li) */
  .header_topmenu.topmenu--fixed ul,
  .header__topmenu.topmenu--fixed ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    list-style: none !important; /* Убираем стандартные "прыгающие" маркеры списка */
    margin: 0 !important;
    padding: 0 !important;
    gap: 12px !important;
  }

  /* 3. Центрирование самих пунктов меню и ссылок */
  .header_topmenu.topmenu--fixed li,
  .header__topmenu.topmenu--fixed li,
  .header_topmenu.topmenu--fixed a,
  .header__topmenu.topmenu--fixed a,
  .header_topmenu.topmenu--fixed span,
  .header__topmenu.topmenu--fixed span {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
  }

  /* 4. Если точки добавлены текстом или через псевдоэлементы */
  .header_topmenu.topmenu--fixed li::before,
  .header__topmenu.topmenu--fixed li::before,
  .header_topmenu.topmenu--fixed li::after,
  .header__topmenu.topmenu--fixed li::after {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
  }
}
@media (max-width: 768px) {
  .header__logo.in-compact img { height: 28px; }
  .header__menu.menu--fixed .navigator { gap: 12px; }
  .header__menu.menu--fixed .lineW { padding-left: 10px; padding-right: 10px; }
  .header__call.in-compact { padding: 6px 8px; font-size: 13px; }
}

#maintenance-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

/* Окно баннера */
#maintenance-modal {
  background: #ffffff;
  border: 3px solid #d62828; /* красная рамка */
  max-width: 720px;
  width: calc(100% - 40px);
  box-sizing: border-box;
  padding: 26px 28px;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  position: relative;
  text-align: center;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  color: #111;
}

/* Кнопка закрытия (крестик) */
#maintenance-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #d62828;
  border-radius: 6px;
}
#maintenance-close:focus,
#maintenance-close:hover {
  background: rgba(214,40,40,0.06);
  outline: none;
}

/* Текст внутри баннера */
#maintenance-modal .title {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
  color: #d62828;
}

#maintenance-modal .text {
  font-size: 15px;
  line-height: 1.45;
  color: #222;
  margin-bottom: 18px;
  white-space: pre-wrap; /* сохраняет переносы */
}

/* Телефоны — крупнее, жирнее и с отступом */
#maintenance-modal .phones {
  font-weight: 700;
  font-size: 18px;
  color: #111;
}

/* Адаптив */
@media (max-width: 480px) {
  #maintenance-modal { padding: 18px 14px; }
  #maintenance-modal .title { font-size: 18px; }
  #maintenance-modal .phones { font-size: 16px; }
}


/* Центрирование контейнера пагинации */
.page-navigation {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 20px 0;
    
}

.page-navigation__box {
    display: flex;
    justify-content: center;
}

.page-navigation__wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px; 
}

/* Увеличение кнопок */
.page-navigation__item {
    min-width: 90px;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Увеличение стрелок */
.page-navigation__prev img,
.page-navigation__next img {
    width: 70px;  
    height: 70px;
}

/* Увеличение текста текущей страницы */
.page-navigation__current {
    font-size: 54px; 
    font-weight: bold;
}

.page-navigation__next a,
.page-navigation__prev a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

/* 
.header__topmenu .topmenu__left {
  display: flex;
  align-items: center;
  margin-right: 12px;
}
.header__menu .menu__right {
  display: flex;
  align-items: center;
  margin-left: 12px; 
}

.header__logo.in-compact img { height: 36px; width: auto; }
.header__call.in-compact { padding: 8px 12px; font-size: 14px; }

@media (max-width: 768px){
  .header__logo.in-compact img { height: 30px; }
  .header__menu .menu__right { margin-left: 8px; }
} */

/* Базовое позиционирование для navoverlay, если оно не задано в основных стилях */
#navOverlay {
  position: fixed;
  top: 0;
  left: -280px; /* Ширина скрытого меню (настройте под реальную ширину сайдбара) */
  width: 280px;
  height: 100%;
  transition: left 0.3s ease-in-out;
  z-index: 9999;
}

/* Состояние при открытом меню */
#navOverlay.active {
  left: 0 !important;
}

/* Запрет прокрутки сайта */
body.menu-opened {
  overflow: hidden;
}

/* Стили для мобильных устройств (экраны менее 768px) */
@media (max-width: 768px) {
  .banner::before {
    width: 100% !important;      /* Картинка будет занимать всю ширину экрана */
    max-width: 320px;            /* Ограничиваем максимальную ширину, чтобы она не была огромной */
    height: 380px !important;    /* Уменьшаем высоту контейнера картинки */
    
    /* Сбрасываем сильное смещение вправо и позиционируем по центру/снизу */
    right: 0 !important;
    left: 0 !important;
    margin: 0 auto !important;   
    top: auto !important;
    bottom: -20px !important;    /* Прижимаем к низу баннера */
  }

  /* Дополнительно: если блок баннера слишком сжимается по высоте */
  .banner {
    padding-bottom: 360px !important; /* Резервируем место снизу под уменьшенную картинку */
  }
}


/* Опускаем кнопку бургера на мобильных устройствах */
@media (max-width: 768px) {
  .navoverlay__btnBurger {
    top: 55px !important; /* Настройте это значение (например, 55px, 60px или 65px), чтобы кнопка встала ровно под верхней панелью */
  }
}
/* Скрываем фиксированное меню навигации в мобильной версии */
@media (max-width: 768px) {
  .header__menu.menu--fixed,
  .header_menu.menu--fixed {
    display: none !important;
  }
}
/* Добавляем боковые отступы для сетки каталога на мобильных */
@media (max-width: 768px) {
  .folder_grid,
  .folder__grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .leader_contents,
  .leader__contents,
  .leader_tabs,
  .leader__tabs {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Исправляем возможный выход сетки за края */
  .leader_content .leader__line,
  .leader__content .leader__line {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* Добавляем боковые отступы для раздела "Рекомендуем" на мобильных */
@media (max-width: 768px) {
  .recom_contents, 
  .recom__contents, 
  .recom_tabs, 
  .recom__tabs {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Исправляем прилипание сетки товаров к краям */
  .recom_content .recom__line, 
  .recom__content .recom__line {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  
}

/* Раскрываем характеристики товара и точки на мобильных устройствах */
@media (max-width: 768px) {
  /* 1. Снимаем ограничение высоты с карточки товара, чтобы текст не обрезался */
  .product,
  .product_wrapper {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  /* 2. Показываем блок характеристик (размеры, рост, состав) всегда */
  .product__specifics {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    position: static !important; /* Выстраиваем в обычный вертикальный поток */
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  /* 3. Показываем точки выбора цвета всегда */
  .product__dots {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
}

/* Центрирование сертификатов в мобильной версии */
@media (max-width: 768px) {
  .pdf-list {
    display: flex !important;
    flex-direction: column !important; /* Выстраиваем сертификаты друг под другом */
    align-items: center !important;    /* Центрируем по горизонтали */
    justify-content: center !important;
    gap: 25px !important;              /* Задаем аккуратный отступ между ними */
    width: 100% !important;
    text-align: center !important;
  }

  .pdf-list a {
    display: inline-block !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* На случай, если внутри ссылок находятся теги img */
  .pdf-list a img,
  .pdf-list img {
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    height: auto !important;
    
  }

  .certificatePage__title {
    text-align: center;
  }
}
/* Восстановление кликабельности пустых абсолютных ссылок в верхнем меню на мобильных */
@media (max-width: 768px) {
  .header_topmenu.topmenu--fixed li a,
  .header__topmenu.topmenu--fixed li a {
    display: block !important;          /* Возвращаем блочный вид */
    position: absolute !important;      /* Возвращаем абсолютное позиционирование */
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;             /* Растягиваем на всю ширину пункта li */
    height: 100% !important;            /* Растягиваем на всю высоту пункта li */
    z-index: 2 !important;              /* Помещаем поверх текста */
  }
}

/* Исправление перекрытия номеров телефонов кнопкой "Заказать звонок" на мобильных */
@media (max-width: 576px) {
  /* 1. Возвращаем блоку телефонов нормальное отображение и высоту */
  .header__phone {
    display: block !important;
    height: auto !important;
    min-height: 1px !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-align: center !important;
    margin: 15px auto 10px auto !important;
    float: none !important;
  }

  /* Иконка телефона (если она съезжает) */
  .header__phone::before {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
  }

  /* 2. Делаем сами номера видимыми, крупными и темными */
  .header__tel {
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #2c2c2c !important; /* Насыщенный цвет текста */
    font-size: 16px !important;
    line-height: 1.6 !important;
    height: auto !important;
    width: auto !important;
    margin: 6px auto !important;
    text-align: center !important;
  }

  /* Ссылка «tel:» поверх номера, чтобы на мобильном можно было сразу позвонить при тапе */
  .header__tel.link a {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    z-index: 5 !important;
  }

  /* 3. Отодвигаем кнопку "Заказать звонок" ниже, чтобы она стояла под номерами */
  .header__call {
    position: relative !important;
    margin: 15px auto 10px auto !important;
    display: block !important;
    float: none !important;
  }
}

 

/* Выравнивание картинок в карточках каталога на мобильных устройствах */
/* Выравнивание картинок в каталоге на мобильных устройствах (исправленная версия) */
@media (max-width: 768px) {
  /* Обязательно учитываем оба варианта написания классов с _ и __ */
  .folder .item1 .folder__pic,
  .folder .item2 .folder__pic,
  .folder .item3 .folder__pic,
  .folder .item4 .folder__pic,
  .folder .item5 .folder__pic,
  .folder .item6 .folder__pic,
  .folder .item1 .folder_pic,
  .folder .item2 .folder_pic,
  .folder .item3 .folder_pic,
  .folder .item4 .folder_pic,
  .folder .item5 .folder_pic,
  .folder .item6 .folder_pic,
  .folder_col .folder__pic,
  .folder__col .folder__pic,
  .folder_col .folder_pic,
  .folder__col .folder_pic {
    /* Сдвигаем картинку на правую половину карточки */
    padding: 15px 15px 15px 50% !important; 
  }
}

/* Выдвижение сайдбара с фильтрами в мобильной версии (исправленное) */
@media (max-width: 992px) {
  /* 1. Позиционируем сайдбар и скрываем его слева */
  #sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -280px !important; /* Прячем за левый край */
    width: 280px !important;
    height: 100% !important;
    z-index: 1500 !important;
    background: #fff !important;
    box-shadow: 4px 0 15px rgba(0, 0, 0, 0.1) !important;
    transition: left 0.3s ease-in-out !important;
    
    /* КРИТИЧЕСКИ ВАЖНО: кнопка фильтра НЕ должна обрезаться! */
    overflow: visible !important; 
  }

  /* 2. Переносим прокрутку на внутренний контейнер, чтобы фильтры прокручивались отдельно */
  #sidebar .catalog_wrapper,
  #sidebar .catalog__wrapper {
    height: 100% !important;
    overflow-y: auto !important; 
    padding: 20px 15px !important;
    box-sizing: border-box !important;
  }

  /* 3. Класс для выдвижения сайдбара при активации */
  #sidebar.active {
    left: 0 !important;
  }

  /* 4. Опускаем кнопку фильтра ниже главного бургера, чтобы они не накладывались */
  .catalog__btnFilter,
  .catalog_btnFilter {
    top: 120px !important; 
    transition: left 0.3s ease-in-out !important;
  }
}

/* Вертикальное перестроение баннера (картинка опускается вниз под текст) для средних и мобильных экранов (до 1200px) */
@media (max-width: 1600px) {
  /* 1. Позиционируем картинку мужчин в самый низ по центру */
  .banner::before {
    position: absolute !important;
    width: 100% !important;
    max-width: 480px !important; /* Оптимальный размер картинки для ноутбуков/планшетов */
    height: 420px !important;
    right: 0 !important;
    left: 0 !important;
    margin: 0 auto !important;   /* Центрируем картинку по горизонтали */
    top: auto !important;
    bottom: -30px !important;    /* Прижимаем к самому низу баннера */
    opacity: 1 !important;       /* Полная видимость */
    z-index: 2 !important;
  }

  /* 2. Растягиваем высоту баннера вниз, чтобы освободить место под картинку */
  .banner {
    padding-bottom: 400px !important; /* Отступ снизу под картинку на ноутбуках */
  }
}

/* Дополнительное уменьшение картинки только для узких мобильных телефонов (до 768px) */
@media (max-width: 768px) {
  .banner::before {
    max-width: 420px !important; /* Более компактный размер для экранов телефонов */
    height: 480px !important;
    bottom: -20px !important;
  }

  .banner {
    padding-bottom: 360px !important; /* Уменьшаем отступ под размер картинки на телефонах */
  }
}