.hero-slider {
  position: relative;
  width: 100%;
  height: 1080px;
  overflow: hidden;
}

.hero-slider__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  background-size: cover;
  background-position: center center;
}

.hero-slider__slide--active {
  opacity: 1;
}

/* Градиентный затемнитель слева */
.hero-slider__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Затемнение: черный → прозрачный к центру */
  background: linear-gradient(
          to right,
          var(--gray-scaleblack) 0%,
          transparent 50%
  );
  pointer-events: none;
  z-index: 1;
}

/* Контент */
.hero-slider__content {
  position: absolute;
  top: 200px;
  left: var(--layout-side-padding);
  color: var(--gray-scalewhite);
  max-width: 700px;
  z-index: 2;
}

.hero-slider__content h1 {
  /*font-size: 48px;*/
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 10px;
}

.hero-slider__content h2 {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 30px;
}

/* Заголовок h1 — используем desktop-h1 */
.hero-slider__title {
  font-family: var(--desktop-h1-font-family);
  font-weight: var(--desktop-h1-font-weight);
  font-size: var(--desktop-h1-font-size);
  letter-spacing: var(--desktop-h1-letter-spacing);
  line-height: var(--desktop-h1-line-height);
  font-style: var(--desktop-h1-font-style);
  margin-bottom: 10px;
}

/* Подзаголовок h2 — используем desktop-h2 */
.hero-slider__subtitle {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  letter-spacing: var(--desktop-h2-letter-spacing);
  line-height: var(--desktop-h2-line-height);
  font-style: var(--desktop-h2-font-style);
  margin-bottom: 30px;
}

/* Кнопка — используем button-стили */
.hero-slider__btn {
  display: inline-block;
  padding: 12px 30px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  letter-spacing: var(--button-letter-spacing);
  line-height: var(--button-line-height);
  font-style: var(--button-font-style);
  transition: background-color 0.3s ease;
  z-index: 2;
}

.hero-slider__btn:hover {
  background-color: var(--primarygreen);
}

/* Индикаторы */
.hero-slider__dots {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 2;
}

/* Общие стили точки */
.hero-slider__dot {
  width: 18px;
  height: 18px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Важно: разрешить transform для дочернего SVG */
  transform-origin: center;
}

/* Активная точка — вращается */
.hero-slider__dot svg {
  display: block;
  transform-origin: center;
}

.hero-slider__dot--active svg {
  animation: hero-slider-dot-rotate 2s linear infinite;
}

/* Навигация — кнопки внизу справа */
.hero-slider__nav {
  position: absolute;
  bottom: 30px;
  right: var(--layout-side-padding); /* ← как в header */
  display: flex;
  gap: 8px;
  z-index: 2;
}

.hero-slider__arrow {
  width: 80px;
  height: 80px;
  background: none; /* ❗ Без фона */
  border: none;
  padding: 0;
  outline: none;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* При ховере — добавляем полупрозрачный белый фон */
.hero-slider__arrow:hover {
  opacity: 0.5;
}

/* SVG — оставляем оригинальным, без масштабирования */
.hero-slider__arrow svg {
  width: 80px;
  height: 80px;
  /* Не меняем stroke — он уже белый */
}

/* Иконка прокрутки вниз */
.hero-slider__scroll-down {
  position: absolute;
  bottom: 30px;
  left: var(--layout-side-padding);
  color: var(--gray-scalewhite);
  font-size: 24px;
  animation: hero-slider__bounce 2s infinite;
  z-index: 2;
}

/* header */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--gray-scalewhite);
  border-bottom: 1px solid var(--primarylightgrey);
  z-index: 1000;
  padding: 0;
}

.site-header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 clamp(20px, 6.25%, 120px);
  height: 60px;
}

/* Логотип */
.site-header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--primarygreen);
}

.site-header__logo img {
  /*height: 32px;*/
  width: auto;
  max-width: 281px;
}

.site-header__logo-text {
  font-family: var(--desktop-h1-font-family);
  font-weight: var(--desktop-h1-font-weight);
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--primarygreen);
}

/* Главное меню */
.site-header__nav {
  flex-grow: 1;
  margin: 0 40px;
}

.site-header__menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 30px;
  justify-content: center;
}

.site-header__menu-link {
  font-family: var(--main-menu-font-family);
  font-weight: var(--main-menu-font-weight);
  font-size: var(--main-menu-font-size);
  line-height: var(--main-menu-line-height);
  color: var(--gray-scaleblack);
  text-decoration: none;
  padding: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 60px;
  transition: color 0.2s ease;
}

.site-header__menu-link:hover,
.site-header__menu-link:focus {
  color: var(--primarygreen);
}

/* Выпадающее меню — по клику */
.site-header__menu-item--dropdown {
  position: relative;
}

.site-header__menu-link--dropdown {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  height: 60px;
  font-family: var(--main-menu-font-family);
  font-weight: var(--main-menu-font-weight);
  font-size: var(--main-menu-font-size);
  line-height: var(--main-menu-line-height);
  color: var(--gray-scaleblack);
  transition: color 0.2s ease;
}

.site-header__menu-link--dropdown:hover,
.site-header__menu-link--dropdown:focus {
  color: var(--primarygreen);
}

/* Стрелка — анимация поворота */
.site-header__dropdown-arrow {
  transition: transform 0.3s ease;
}

.site-header__menu-link--dropdown[aria-expanded="true"] .site-header__dropdown-arrow {
  transform: rotate(180deg);
}

/* Выпадающее меню */
.site-header__dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--gray-scalewhite);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--primarylightgrey);
  border-top: none;
  border-radius: 0 0 8px 8px;
  min-width: 240px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
}

.site-header__dropdown-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-header__dropdown-menu ul {
  list-style: none;
  margin: 0;
  padding: 12px 0;
}

.site-header__dropdown-link {
  display: block;
  padding: 10px 24px;
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.site-header__dropdown-link:hover,
.site-header__dropdown-link:focus {
  background-color: var(--gray-scalegray-5);
  color: var(--gray-scaleblack);
}

/* Иконка руки при наведении на "Новости" */
.site-header__dropdown-link:hover {
  position: relative;
}

.site-header__dropdown-link:hover::after {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
}

/* Контакты и кнопка */
.site-header__contact {
  display: flex;
  align-items: center;
  gap: 24px;
}

.site-header__email,
.site-header__phone {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scaleblack);
  text-decoration: none;
}

.site-header__btn-call {
  padding: 8px 16px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  border: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.site-header__btn-call:hover {
  background-color: #038a57;
}

.site-header__search-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}

.site-header__search-btn:hover {
  opacity: 0.8;
}

.site-header__search-btn svg {
  width: 24px;
  height: 24px;
}

/*.site-header__burger-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}*/
.site-header__burger-btn {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* По умолчанию: гамбургер виден, крестик скрыт */
.burger-icon {
  display: block;
}

.close-icon {
  display: none;
}

/* Когда меню открыто — всё наоборот */
.site-header__burger-btn.menu-open .burger-icon {
  display: none;
}

.site-header__burger-btn.menu-open .close-icon {
  display: block;
}
/* Мобильные элементы */
.site-header__mobile-controls {
  display: none;
}
/****  ****/
/* ——— Мобильное меню ——— */
.site-header__mobile-menu {
  position: fixed;
  top: 52px; /* ← начинается под шапкой */
  right: -360px; /* ← изначально спрятано справа */
  width: 100%;
  max-width: 360px; /* ← максимальная ширина */
  height: calc(100vh - 52px); /* ← высота без шапки */
  background-color: #121212; /* ← тёмный фон, как в макете */
  z-index: 1000;
  display: block;
  overflow-y: auto;
  transition: right 0.3s ease; /* ← плавное выезжание */
}

.site-header__mobile-menu.active {
  right: 0; /* ← выезжает справа */
}

/* ——— Контейнер мобильного меню ——— */
.site-header__mobile-menu-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
  box-sizing: border-box;
}
/* ——— Меню — растягивается, занимает доступное пространство ——— */
.site-header__mobile-menu-content > nav {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 24px; /* отступ до контактов */
}

.site-header__mobile-menu-link,
.site-header__mobile-menu-toggle {
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h5-font-size);
  line-height: var(--desktop-h5-line-height);
  color: var(--gray-scalewhite); /* ← белый текст */
  text-decoration: none;
  display: block;
  padding: 12px 0;
  transition: color 0.2s ease;
}

.site-header__mobile-menu-link:hover,
.site-header__mobile-menu-toggle:hover {
  color: var(--gray-scalegray-4);
}

.site-header__mobile-menu-item--parent {
  position: relative;
}

.site-header__mobile-menu-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 12px 0;
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h5-font-size);
  line-height: var(--desktop-h5-line-height);
  color: var(--gray-scalewhite);
  transition: color 0.2s ease;
}

.site-header__mobile-arrow {
  transition: transform 0.3s ease;
}

.site-header__mobile-menu-toggle[aria-expanded="true"] .site-header__mobile-arrow {
  transform: rotate(180deg);
}

/* Подменю — в потоке */
.site-header__mobile-submenu {
  display: none;
  list-style: none;
  margin: 0 0 0 20px;
  padding: 0;
  gap: 8px;
}

.site-header__mobile-submenu.active {
  display: block;
}

.site-header__mobile-submenu-link {
  display: block;
  padding: 8px 0;
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.site-header__mobile-submenu-link:hover {
  color: var(--gray-scalegray-4);
}

/* Контакты в мобильном меню */
.site-header__mobile-contact {
  margin-top: auto;
  padding-top: 24px;
}
.site-header__mobile-contact a {
  display: flex;
  align-items: center;
  gap: 8px; /* отступ между иконкой и текстом */
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  margin: 8px 0;
  transition: color 0.2s ease;
}

.site-header__mobile-contact a:hover {
  color: var(--gray-scalegray-4);
}

.site-header__mobile-email,
.site-header__mobile-phone {
  display: block;
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  margin: 8px 0;
}
/* Поле поиска — по умолчанию скрыто */
.site-header__search-form {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: var(--gray-scalewhite);
  border-top: 1px solid var(--primarylightgrey);
  padding: 12px clamp(20px, 6.25%, 120px);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  z-index: 999;
}

.site-header__search-form.active {
  transform: translateX(0);
}

.site-header__search-form form {
  display: flex;
  width: 100%;
  gap: 0; /* Убираем отступ между input и button */
}

.site-header__search-form input {
  flex-grow: 1;
  padding: 8px 12px;
  border: 1px solid var(--primarylightgrey);
  border-right: none; /* Убираем правую границу, чтобы не дублировалась с кнопкой */
  border-radius: 4px 0 0 4px;
  font-family: var(--desktop-body-font-family);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
}

.site-header__search-form button {
  padding: 8px;
  background: none;
  border: 1px solid var(--primarylightgrey);
  border-left: none; /* Убираем левую границу */
  border-radius: 0 4px 4px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-header__search-form button svg {
  width: 24px;
  height: 24px;
}

/* Мобильные элементы */
.site-header__mobile {
  display: none;
}

/* ——— О Тверьстроймаш ——— */
.about-section {
  background-color: var(--gray-scalewhite);
  padding: 60px 0;
}

.about-section__container {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}

.about-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
  min-width: 330px;
  padding-bottom: 1rem ;
  /*white-space: nowrap;*/
}

.about-section__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-section__text {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: #000;/*var(--gray-scalegray-4);  #6B7280 */
  margin-bottom: 24px;
}

.about-section__btn {
  width: fit-content;
  padding: 12px 24px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  transition: background-color 0.2s ease;
}

.about-section__btn:hover {
  background-color: #038a57;
}

/* ——— Эксперт в производстве ——— */
.expert-section {
  background-color: var(--gray-scalegray-6);
  padding: 0 0 60px;
}

.expert-section__container {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  max-width: 1920px;
  margin: 0 auto;
  padding: 30px var(--layout-side-padding) 0;
}

.expert-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: 32px;
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
  min-width: 330px;
  max-width: 330px;
}

.expert-section__content {
  flex-grow: 1;
}

.expert-section__text {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
  padding-bottom:10px;
}

/* ——— Почему выбирают нас ——— */
.why-us-section {
  background-color: var(--gray-scalegray-6);
  padding: 60px 0;
}

.why-us-section__container {
  display: flex;
  gap: 80px;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}

.why-us-section__left {
  width: 300px; /* ⬅️ Как у expert-section */
}

.why-us-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: 32px;
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 40px 0;
}

.why-us-section__subtitle {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h3-font-size);
  line-height: var(--desktop-h3-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

.why-us-section__right {
  flex-grow: 1; /* ⬅️ Занимает оставшееся пространство */
}

.why-us-section__item {
  margin-bottom: 32px;
}

.why-us-section__item-title {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-bold-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 8px 0;
}

.why-us-section__item-text {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

.why-us-section__item-text {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

/* ——— Мы на связи ——— */
.contact-section {
  background-color: var(--gray-scalegray-6);
  padding: 60px 0;
}

.contact-section__container {
  display: flex;
  gap: 80px;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}

.contact-section__left {
  width: 300px;
}

.contact-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 20px 0;
}

.contact-section__subtitle {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

.contact-section__form {
  flex-grow: 1;
}

.contact-section__form-title {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-bold-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 24px 0;
}

.contact-form__row {
  display: grid;
  gap: 24px;
  margin-bottom: 24px;
  grid-template-columns: repeat(2, 1fr);
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 12px;
  /* Убираем бордер */
  border: none;
  /* Убираем скругление */
  border-radius: 0;
  /* Сбрасываем outline при фокусе (опционально) */
  outline: none;
  /* Убираем тень в фокусе (если есть) */
  box-shadow: none;
  /* Шрифт и цвет — как у вас */
  font-family: var(--desktop-body-font-family);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  resize: vertical;
  background-color: var(--gray-scalewhite); /* или var(--gray-scalewhite), если нужен фон */
}
/* Сброс стилей автозаполнения */
.contact-form input:-webkit-autofill,
.contact-form input:-webkit-autofill:hover,
.contact-form input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--gray-scalewhite) inset;
  -webkit-text-fill-color: var(--gray-scaleblack);
  border: none;
  border-radius: 0;
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--primarygreen);
}

.contact-form__footer {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 24px;
}
.contact-form__star {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin: 15px 0 15px 0;
  font-size:var(--medium-label-font-size);
}
.contact-form__captcha {
  flex-grow: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.captcha-label {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-bold-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

.captcha-info {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalegray-4);
  display: flex;
  align-items: center;
  gap: 8px;
}

.captcha-info a {
  color: var(--gray-scalegray-4);
  text-decoration: underline;
  transition: color 0.2s ease;
}

.captcha-info a:hover {
  color: var(--primarygreen);
}

.captcha-help {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.captcha-help svg {
  width: 16px;
  height: 16px;
  fill: var(--gray-scalegray-4);
}

.captcha-help:hover svg {
  fill: var(--primarygreen);
}

.contact-form__consent {
  flex-grow: 1;
  display: flex;
  flex-direction: column;        /* ✅ Элементы друг под другом */
  gap: 8px;                      /* Расстояние между чекбоксом, текстом и кнопкой */
  align-items: center;       /* ✅ Не центрировать по горизонтали */
  margin-top:18px;
}

.consent-label {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin-top: -27px;
  margin-left:-85px;
}

.contact-form__btn {
  width: fit-content;
  padding: 12px 24px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
  align-self: flex-start;
  border:0;
}

.contact-form__btn:hover {
  background-color: #038a57;
}

.contact-form__consent input{
  width: 16px;
  align-self: flex-start;
}

/* Сброс стилей чекбокса */
.contact-form__consent input[type="checkbox"],
.contact-form__captcha input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 24px;
  height: 24px;
  border: 2px solid var(--primarylightgrey);
  border-radius: 4px;
  background-color: var(--gray-scalewhite);
  cursor: pointer;
  margin: 0;
  position: relative;
  transition: all 0.2s ease;
}

/* Активный чекбокс — зелёный */
.contact-form__consent input[type="checkbox"]:checked,
.contact-form__captcha input[type="checkbox"]:checked {
  background-color: var(--primarygreen);
  border-color: var(--primarygreen);
}

/* Галочка внутри активного чекбокса */
.contact-form__consent input[type="checkbox"]:checked::after,
.contact-form__captcha input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 1px;
  width: 8px;
  height: 14px;
  border: solid var(--gray-scalewhite);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
/*.contact-form__consent input[type="checkbox"]:focus,*/
.contact-form__captcha input[type="checkbox"]:focus {
  outline: 2px solid var(--primarygreen);
  outline-offset: 2px;
}



/* ——— Полуприцепы в наличии ——— */
.available-section {
  background-color: var(--gray-scalewhite);
  padding: 60px 0;
}

.available-section__container {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}

.available-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 40px 0;
}

/* ——— Карусель ——— */
.available-section__gallery {
  display: flex;
  gap: 24px;
  overflow: hidden;
  padding: 8px 0; /* компенсация отступов внутри */
  margin-bottom: 40px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.available-section__item {
  flex: 0 0 auto; /* запрещаем сжатие */
  width: calc((100% - 48px) / 3); /* 3 слайда + 2*gap=24px → 48px */
  background: var(--gray-scalewhite);
  border: 1px solid var(--primarylightgrey);
  border-radius: 4px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform 0.3s ease;
}

.available-section__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.available-section__item img {
  max-width: 100%;
  height: auto;
  margin-bottom: 16px;
}

.available-section__item-title {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

/* ——— Навигация ——— */
.available-section__nav {
  display: flex;
  gap: 0px;
  justify-content: center;
  margin-bottom: 24px;
}

.available-section__arrow {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0px !important;
}

.available-section__arrow svg {

}

/* ——— Кнопка ——— */
.available-section__btn {
  display: block;
  width: fit-content;
  padding: 12px 24px;
  background-color: var(--gray-scalewhite);
  border: 2px solid var(--primarygreen);
  color: var(--primarygreen);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  margin: 0 auto;
  transition: background-color 0.2s ease;
}

.available-section__btn:hover {
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
}

/* ——— Каталог полуприцепов ——— */
.catalog-section {
  background-color: var(--gray-scalewhite);
  padding: 60px 0;
}

.catalog-section__container {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}

.catalog-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 40px 0;
}

.catalog-section__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.catalog-section__item {
  background: var(--gray-scalewhite);
  border: 1px solid var(--primarylightgrey);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform 0.3s ease;
}

.catalog-section__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.catalog-section__item img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.catalog-section__item-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.catalog-section__item-title {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-bold-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 16px 0;
}

.catalog-section__item-specs {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.catalog-section__item-spec {
  position: relative;
  padding-left: 20px; /* отступ под иконку */
  min-height: 16px;   /* чтобы не сжималась строка */
}

.catalog-section__item-spec::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-60%);
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Иконка для "3-осные" */
.catalog-section__item-spec:first-child::before {
  background-image: url('../svg/osi9.svg');
  /*filter: brightness(0) saturate(100%) invert(30%) sepia(99%) saturate(7305%) hue-rotate(131deg) brightness(102%) contrast(104%);*/
  /* Этот filter делает чёрное → RGB(0,174,39) — ваш --primarygreen */
}

/* Иконка для "28 тонн" */
.catalog-section__item-spec:nth-child(2)::before {
  background-image: url('../svg/ves9.svg');
  /* Серый — как в макете */
}

/* ——— Параметры в карточке — как attrs-dotted ——— */
.catalog-section__item-params {
  margin: 16px 0;
}

.catalog-section__item-param {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 0 10px 0;
}

.catalog-section__item-param dt {
  width: auto;
  margin: 0 0 8px 0;
  padding: 0;
  display: flex;
  box-sizing: border-box;
  align-items: flex-end;
  position: relative;
  word-break: break-word;
  color: var(--gray-scalegray-4); /* #808d9a → ваш --gray-scalegray-4 */
}

.catalog-section__item-param dt::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0.2em;
  border-bottom: 1px dotted var(--primarylightgrey); /* #d6dbe0 → ваш --primarylightgrey */
}

.catalog-section__item-param dt span {
  padding-right: 5px;
  background: var(--gray-scalewhite); /* #fff */
  position: relative;
}

.catalog-section__item-param dd {
  width: 100%;
  /*display: flex;*/
  box-sizing: border-box;
  align-items: flex-end;
  margin: 0 0 8px 0;
  padding: 0; /* ← убрали левый отступ */
  word-break: break-word;
  color: var(--gray-scalegray-4);
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  text-align: right; /* ← выравнивание по правому краю */
  white-space: nowrap;
}
.catalog-section__item-param dd::after{
  border-bottom: 1px dotted var(--primarylightgrey);
}
.catalog-section__btn {
  width: fit-content;
  padding: 12px 24px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.catalog-section__btn:hover {
  background-color: #038a57 !important;
  color: var(--gray-scalewhite) !important;
}/**/

.catalog-section__btn-all {
  display: block;
  width: fit-content;
  padding: 12px 24px;
  background-color: var(--gray-scalewhite);
  color: var(--primarygreen);
  text-decoration: none;
  border: 2px solid var(--primarygreen);
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0 auto;
}

.catalog-section__btn-all:hover {
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
}

/* ——— Отзывы о нас ——— */
.reviews-section {
  background-color: var(--gray-scalewhite);
  padding: 60px 0;
}

.reviews-section__container {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}

.reviews-section__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 0 0 40px 0;
}

/* ——— Карусель ——— */
.reviews-section__gallery {
  display: flex;
  gap: 24px;
  overflow: hidden;
  padding: 8px 0;
  margin-bottom: 40px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.reviews-section__item {
  flex: 0 0 auto;
  width: calc((100% - 48px) / 5);
  border: 1px solid var(--primarylightgrey);
  border-radius: 4px;
  overflow: hidden;
  position: relative; /* ← обязательно */
  transition: transform 0.3s ease;
}

.reviews-section__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.reviews-section__item img {
  width: 100%;
  height: auto;
  display: block;
}

/* ——— Видео ——— */
.reviews-section__item--video .reviews-section__item-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.reviews-section__item--video:hover .reviews-section__item-overlay {
  opacity: 1;
}

.reviews-section__play-btn {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border:none;
  background: transparent;
}

.reviews-section__play-btn:hover {
  /*background: var(--primarygreen);*/
}

.reviews-section__play-btn svg {
  /*width: 24px;
  height: 24px;
  fill: var(--gray-scaleblack);*/
}

.reviews-section__play-btn:hover svg {
  /*fill: var(--gray-scalewhite);*/
}

/* ——— Контент ——— */
.reviews-section__item-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 16px 24px;
  background: rgba(0, 0, 0, 0.6); /* полупрозрачный чёрный */
  color: var(--gray-scalewhite); /* белый текст */
  z-index: 2;
}

.reviews-section__item-name {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-bold-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scalewhite); /* белый */
  margin: 0 0 4px 0;
}

.reviews-section__item-position {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite); /* белый */
  margin: 0;
  opacity: 0.8;
}

/* ——— Навигация ——— */
.reviews-section__nav {
  display: flex;
  gap: 0px;
  justify-content: center;
  margin-bottom: 24px;
}

.reviews-section__arrow {
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0px;
}


.reviews-section__arrow svg {
  stroke: var(--gray-scaleblack);
  fill: none;
}

/* ——— Кнопка ——— */
.reviews-section__btn {
  display: block;
  width: fit-content;
  padding: 12px 24px;
  background-color: var(--gray-scalewhite);
  color: var(--primarygreen);
  border: 2px solid var(--primarygreen);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  margin: 0 auto;
  transition: background-color 0.2s ease;
}

.reviews-section__btn:hover {
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
}
.reviews-section__btn a:hover {
  color: var(--gray-scalewhite) !important;
}
/* ——— Футер ——— */
.footer-section {
  background-color: var(--gray-scaleblack-1);
  padding: 60px 0 40px;
  color: var(--gray-scalewhite);
}

.footer-section__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);/* ← отступы */
}

/* ——— Левая часть ——— */
.footer-section__left {
  display: flex;
  align-items: center;
}

.footer-section__logo img {
  height: 32px;
  width: auto;
}

/* ——— Центральная часть ——— */
.footer-section__center {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  width: 100%;
}

/* Меню */
.footer-section__nav {
  display: flex;
  gap: 24px;
}

.footer-section__menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 32px;
}

.footer-section__menu-link,
.footer-section__menu-toggle {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  white-space: nowrap;
}

.footer-section__menu-link:hover,
.footer-section__menu-toggle:hover {
  color: var(--gray-scalegray-4);
}

.footer-section__arrow {
  transition: transform 0.3s ease;
}

.footer-section__menu-toggle[aria-expanded="true"] .footer-section__arrow {
  transform: rotate(180deg);
}

.footer-section__menu-item--parent {
  position: relative;
}
/* Подменю — в потоке */
.footer-section__submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0; /* ⬅️ Выравниваем по левому краю родителя */
  min-width: 200px;
  padding: 8px 0;
  list-style: none;
  margin: 0;
  z-index: 1000;
  width: max-content;
}

.footer-section__submenu.active {
  display: block;
  max-width: 360px;
}

.footer-section__submenu-link {
  display: block;
  /*padding: 8px 24px;*/
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.footer-section__submenu-link:hover {
  color: var(--gray-scalegray-4);
}

/* ——— Правая часть ——— */
.footer-section__right {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-end;
  text-align: right;
}

.footer-section__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-section__phone {
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h5-font-size);
  line-height: var(--desktop-h5-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  white-space: nowrap;
}

.footer-section__call-link {
  font-family: var(--desktop-body-font-family);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--primarygreen);
  text-decoration: none;
}

/* ——— Соцсети ——— */
.footer-section__social-row {
  display: flex;
  justify-content: flex-end;
  max-width: 1920px;
  margin: 40px auto 0;
  padding: 0 var(--layout-side-padding);
}

.footer-section__social-right {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}

.footer-section__social {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  margin-left: auto;
}

.footer-section__social-link {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}

.footer-section__social-link:hover {
  opacity: 0.8;
}

.footer-section__social-link svg {
  width: 32px;
  height: 32px;
}

/* ——— Копирайт в правой колонке ——— */
.footer-section__copyright {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-section__iso-logo {
  width: 48px;
  height: 48px;
}

.footer-section__copyright-text {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite);
  margin: 0;
}

/* ——— Нижний ряд — политики слева, копирайт справа ——— */
.footer-section__footer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1920px;
  margin: 40px auto 0;
  padding: 0 var(--layout-side-padding);
  padding-top: 24px;
}

.footer-section__footer-left {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.footer-section__policy-link {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-section__policy-link:hover {
  color: var(--gray-scalegray-4);
}

.footer-section__footer-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-section__footer-right .footer-section__iso-logo {
  width: 48px;
  height: 48px;
}

.footer-section__footer-right .footer-section__copyright-text {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite);
  margin: 0;
}
.footer-section__logo{
  margin-top: -5px;
}


/* ——— Попап-форма ——— */
.popup-form {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
}

.popup-form.active {
  display: block;
}

.popup-form__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2000;
}

.popup-form__container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 500px;
  background-color: var(--gray-scalewhite);
  padding: 40px 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  z-index: 2001;
  /*border-radius: 8px;*/
  box-sizing: border-box;
}

.popup-form__close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  font-size: 24px;
  color: var(--gray-scaleblack);
  cursor: pointer;
  z-index: 2002;
}

.popup-form__title {
  font-family: var(--desktop-h4-font-family);
  font-weight: var(--desktop-h4-font-weight);
  font-size: var(--desktop-h4-font-size);
  line-height: var(--desktop-h4-line-height);
  color: var(--gray-scaleblack);
  text-align: center;
  margin: 0 0 24px;
}

.popup-form__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.popup-form__field {
  position: relative;
}

.popup-form__field input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #DADADA;
  border-radius: 4px;
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scaleblack);
  transition: border-color 0.2s ease;
}

.popup-form__field input:focus {
  outline: none;
  border-color: var(--primarygreen);
}

.popup-form__field textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #DADADA;
  border-radius: 4px;
  font-family: inherit;
  resize: vertical;
  min-height: 80px;
}
.popup-form__field textarea:focus {
  outline: none;
  border-color: var(--primarygreen);
}

.popup-form__icon-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.popup-form__icon-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--gray-scaleblack);
}

.popup-form__captcha {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 16px;
}

.popup-form__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.popup-form__checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 28px;
  height: 28px;
}

.popup-form__checkmark {
  width: 28px;
  height: 28px;
  border: 2px solid #DADADA;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.popup-form__checkbox input:checked ~ .popup-form__checkmark {
  background-color: var(--primarygreen);
  border-color: var(--primarygreen);
}

/*.popup-form__checkmark::after {
 content: '';
  width: 12px;
  height: 12px;
  background: var(--gray-scalewhite);
  mask: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6L6 2M6 2L2 6' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6L6 2M6 2L2 6' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;

}*/
.popup-form__checkmark::after {
  content: '';
  position: relative;
  display: none;
  left: 40%;
  top: 50%;
  width: 22px;
  height: 22px;
  background: white;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
  transform: translate(-50%, -50%);
}

.popup-form__checkbox input:checked ~ .popup-form__checkmark::after {
  display: block;
}

.popup-form__checkbox input:checked ~ .popup-form__checkmark::after {
  display: block;
}
/***
{
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 10px;
  border: solid var(--gray-scalewhite);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
 */
.popup-form__captcha-text {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scaleblack);
  margin: 0;
}

.popup-form__captcha-provider {
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scaleblack);
  margin: 4px 0 0;
}

.popup-form__captcha-help {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
}

.popup-form__captcha-help svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--gray-scaleblack);
}

.popup-form__consent {
  margin-top: 16px;
}

.popup-form__submit {
  width: 100%;
  padding: 12px 24px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  text-align: center;
  border: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.popup-form__submit:hover {
  background-color: #038a57;
}

.popup-form__error{
  font-family: var(--desktop-small-body-font-family);
  font-size: 11px;
  color: red;
}
/* ——— Календарь ——— */
.calendar-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2003;
}

.calendar-popup.active {
  display: block;
}

.calendar-popup__container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  background-color: #121212;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  z-index: 2004;
  box-sizing: border-box;
}

.calendar-popup__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.calendar-popup__month-selector {
  display: flex;
  align-items: center;
  gap: 8px;
}

.calendar-popup__nav-btn {
  background: none;
  border: none;
  font-size: 16px;
  color: var(--gray-scalewhite);
  cursor: pointer;
  padding: 4px;
}

.calendar-popup__month-select,
.calendar-popup__year-select {
  background-color: #1A1A1A;
  color: var(--gray-scalewhite);
  border: 1px solid #333;
  border-radius: 4px;
  padding: 8px;
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  cursor: pointer;
}

.calendar-popup__body {
  margin-bottom: 16px;
}

.calendar-popup__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  margin-bottom: 8px;
}

.calendar-popup__weekdays div {
  text-align: center;
  font-family: var(--desktop-small-body-font-family);
  font-weight: var(--desktop-small-body-font-weight);
  font-size: var(--desktop-small-body-font-size);
  line-height: var(--desktop-small-body-line-height);
  color: var(--gray-scalewhite);
}

.calendar-popup__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.calendar-popup__day {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  color: var(--gray-scalewhite);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.calendar-popup__day:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.calendar-popup__day.selected {
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
}

.calendar-popup__day.outside {
  color: rgba(255, 255, 255, 0.5);
}

.calendar-popup__footer {
  display: flex;
  gap: 8px;
}

.calendar-popup__btn-cancel,
.calendar-popup__btn-select {
  width: 50%;
  padding: 12px;
  border: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.calendar-popup__btn-cancel {
  background-color: var(--gray-scalewhite);
  color:  #1A1A1A;
}

.calendar-popup__btn-cancel:hover {
  background-color: var(--gray-scalegray-5);
}

.calendar-popup__btn-select {
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
}

.calendar-popup__btn-select:hover {
  background-color: #038a57;
}

/* ——— Timepicker ——— */
.timepicker-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2003;
}

.timepicker-popup.active {
  display: block;
}

.timepicker-popup__container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  background-color: #121212;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  z-index: 2004;
  box-sizing: border-box;
}

.timepicker-popup__header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.timepicker-popup__time-selector {
  display: flex;
  align-items: center;
  gap: 8px;
}

.timepicker-popup__hour-select,
.timepicker-popup__minute-select,
.timepicker-popup__ampm-select {
  background-color: #1A1A1A;
  color: var(--gray-scalewhite);
  border: 1px solid #333;
  border-radius: 4px;
  padding: 8px;
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  cursor: pointer;
}

.timepicker-popup__footer {
  display: flex;
  gap: 8px;
}

.timepicker-popup__btn-cancel,
.timepicker-popup__btn-select {
  width: 50%;
  padding: 12px;
  border: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.timepicker-popup__btn-cancel {
  background-color: var(--gray-scalewhite);
  color:  #1A1A1A;
}

.timepicker-popup__btn-cancel:hover {
  background-color: var(--gray-scalegray-5);
}

.timepicker-popup__btn-select {
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
}

.timepicker-popup__btn-select:hover {
  background-color: #038a57;
}

/* ——— Стрелка для попапов ——— */
.popup-arrow {
  position: absolute;
  width: 16px;
  height: 8px;
  background: #121212; /* тёмный фон */
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  z-index: 2005;
}

/* ——— Позиционирование календаря ——— */
.calendar-popup__container {
  position: absolute;
  z-index: 2004;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  background-color: #121212;
  padding: 24px;
  box-sizing: border-box;
}

/* ——— Позиционирование timepicker ——— */
.timepicker-popup__container {
  position: absolute;
  z-index: 2004;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  background-color: #121212;
  padding: 24px;
  box-sizing: border-box;
}

.calendar-popup__day.current-day {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--gray-scalewhite);
  border-radius: 50%;
}

/* ——— Стрелка ——— */
.popup-arrow {
  position: absolute;
  width: 16px;
  height: 8px;
  background: #121212;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  z-index: 2005;
  pointer-events: none; /* чтобы не мешала кликам */
}

/* ——— Позициони видео ——— */
.video-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}

.video-popup.active {
  display: flex;
}

.video-popup__container {
  position: relative;
  max-width: 600px;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.video-popup__content {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  overflow: hidden;
  background: #000;
}

.video-popup__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-popup__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

.video-popup__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 15px;
  box-sizing: border-box;
}

.video-popup__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 8px;
  padding: 8px 12px;
  margin: 0;
  pointer-events: auto;
}

.video-popup__title {
  font-weight: 500;
  color: var(--gray-scalewhite);
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  white-space: nowrap;
}

.video-popup__title-icon {
  width: 18px;
  height: 18px;
  background: #00a651;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
  font-weight: bold;
}

.video-popup__actions {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: #666;
}

.video-popup__action {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  color: #666;
  font-weight: 500;
}

.video-popup__footer {
  padding: 8px 12px;
  text-align: left;
  font-size: 12px;
  color: var(--gray-scalewhite);
  pointer-events: auto;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.video-popup__footer a {
  color: #00a651;
  text-decoration: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.video-popup__footer a svg {
  width: 14px;
  height: 14px;
  fill: white;
}

.video-popup__play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: #ff0000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
}

.video-popup__play-button svg {
  width: 24px;
  height: 24px;
  fill: white;
}

/* Крестик — будет позиционирован JS */
.video-popup__close {
  position: absolute;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10000;
  font-size: 28px;
  color: var(--gray-scalewhite);
  pointer-events: auto;
  top: 0;
  right: 0;
  transform: none;
}
form [type="submit"].disabled,
form [type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none; /* или оставить кликабельной для показа ошибки */
}

/** catalog */
.catalog-filter {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Активные фильтры (теги) */
.filter-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  padding: 0 var(--layout-side-padding);
}

/* Стили для активных фильтров (верхняя строка) */
.active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  padding: 0 var(--layout-side-padding);
}

.active-filter-item {
  background-color: var(--gray-scalegray-6);
  color: #000;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.active-filter-item:hover {
  opacity: 0.9;
}

.active-filter-item .remove {
  font-weight: bold;
  font-size: 12px;
}

/* Блоки фильтров — ровно 6 в строке */
.filter-group {
  position: relative;
  flex: 1 1 calc((100% - 5 * 8px) / 6); /* 5 промежутков между 6 элементами */
  min-width: 0; /* важно для корректного сжатия */
}

.filter-header {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  padding: 12px 16px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #555;
  transition: all 0.2s ease;
  width: 100%;
}

.filter-header:hover {
  background-color: #f9f9f9;
}

/* Стрелка */
.filter-header__arrow {
  transition: transform 0.2s ease;
  color: currentColor; /* чтобы stroke="currentColor" работало */
  flex-shrink: 0;
  margin-left: 8px;
}

/* Поворот при открытом состоянии */
.filter-header.active .filter-header__arrow {
  transform: rotate(180deg);
}

.filter-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 3px 3px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  max-height: 300px;
  overflow-y: auto;
  z-index: 10;
  display: none;
}

.filter-dropdown.active {
  display: block;
}

.filter-option {
  padding: 8px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  color: #333;
}

.filter-option:hover {
  background-color: #f5f5f5;
}

.filter-option input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 4px;
  position: relative;
  cursor: pointer;
}

.filter-option input[type="checkbox"]:checked {
  background-color: var(--primarygreen);
  border-color: var(--primarygreen);
}

.filter-option input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: bold;
  font-size: 12px;
}

.filter-option .clear {
  color: #ff4d4f;
  font-weight: bold;
  font-size: 14px;
  margin-left: auto;
  cursor: pointer;
}

.filter-option .clear:hover {
  text-decoration: underline;
}

/* Для состояния "Очистить" */
.filter-option.clear-option {
  padding: 12px 16px;
  cursor: pointer;
  margin-left: 8px;
}

.filter-option.clear-option:hover {
  background-color: #fff;
}

.filter-option.clear-option::before {
  content: "×";
  color: #ff4d4f;
}

.filter-option.clear-option {
  gap: 14px;
}

/* Активные чекбоксы в выпадающем меню */
.filter-option input[type="checkbox"]:checked + label {
  font-weight: 500;
}

.filter-option input[type="checkbox"] + label {
  cursor: pointer;
}

/* Специальный стиль для "Нет" в Раздвижение */
.filter-option.no-option input[type="checkbox"] + label {
  color: #333;
}

.filter-option.no-option input[type="checkbox"]:checked + label {
  color: #00aa7f;
}

.pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #000;
  padding: 8px 16px;
  border-radius: 4px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.pagination-arrow,
.pagination-page,
.pagination-ellipsis {
  color: #fff;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
  transition: background-color 0.2s ease;
  cursor: pointer;
}

.pagination-arrow {
  font-weight: bold;
  padding: 4px 10px;
}

.pagination-page:hover,
.pagination-ellipsis:hover {
  background-color: rgba(255,255,255,0.1);
}

.pagination-current {
  background-color: #333;
  font-weight: bold;
  pointer-events: none; /* Запрещаем клик на текущей странице */
}

.seo-container {
  margin: 40px 0 40px 0;
}
.seo_text p {
  line-height: 1.55;
  padding: 5px 0;
}
.seo_text ul { list-style-type: square; margin:  0 0 0 20px;}

.seo_text h2 {
  ont-family: var(--desktop-h4-font-family);
  font-weight: var(--desktop-h4-font-weight);
  font-size: var(--desktop-h4-font-size);
  line-height: var(--desktop-h4-line-height);
  color: var(--gray-scaleblack);
  margin: 8px 0 8px 0;
}
.bx_pagination_page{
  text-align: center;
}

/* Баннер — десктопная и планшетная версия (контент поверх изображения) */

.banner-container {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}

.banner-image-wrapper {
  width: 100%;
  display: block;
  position: relative;
}

.banner-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Контент поверх изображения — виден на десктопе и планшете */
.banner-content--desktop {
  position: absolute;
  top: 0;
  left: clamp(20px, 6.25%, 120px);
  width: auto;
  max-width: 600px;
  padding: 32px 0;
  color: var(--gray-scalewhite);
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}

.banner-title {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h3-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  margin: 0 0 12px 0;
}

.banner-model {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h3-font-size);
  line-height: var(--desktop-h3-line-height);
  margin: 0 0 24px 0;
}

.btn-order {
  display: inline-block;
  padding: 12px 48px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  letter-spacing: var(--button-letter-spacing);
  text-decoration: none;
  border-radius: 3px;
  transition: transform 0.2s ease, background-color 0.2s ease;
  align-self: flex-start;
}

.btn-order:hover {
  background-color: var(--primarygreen);
}

/* Мобильный контент — скрыт по умолчанию */
.banner-content--mobile {
  display: none;
}
/* Вводный текстовый блок под баннером */
.intro-text-block {
  padding: 40px 0;
}

.intro-text-block__title {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  margin: 0 0 24px;
  padding-left: var(--layout-side-padding);
  padding-right: var(--layout-side-padding);
}

.intro-text-block__description {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  letter-spacing: var(--desktop-body-letter-spacing);
  padding-left: var(--layout-side-padding);
  padding-right: var(--layout-side-padding);
  margin: 0;
}

/* Блок "Преимущества" */
.advantages-block {
  padding: 60px 0;
  background-color: var(--gray-scalegray-6);
  color: var(--primarydark);
}
.advantages-block__title{
  /*max-width: 60%;*/
}
/* Контейнер для адаптивной компоновки */
.advantages-layout {
  display: flex;
  flex-direction: row;
  gap: 40px;
  padding-left: var(--layout-side-padding);
  padding-right: var(--layout-side-padding);
}

.advantages-layout__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  letter-spacing: var(--desktop-h2-letter-spacing);
  margin: 0;
}

.advantages-layout__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  width: 100%;
}

.advantage-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.advantage-item__value {
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h5-font-size);
  line-height: var(--desktop-h5-line-height);
  letter-spacing: var(--desktop-h5-letter-spacing);
  margin: 0;
}

.advantage-item__desc {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  letter-spacing: var(--desktop-body-letter-spacing);
  margin: 0;
}

/* Блок "Основные характеристики" */
.specs-block_trailer {
  padding: 60px 0;
}
.specs-table-title_trailer{
  font-family: var(--desktop-h6-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h6-font-size);
  line-height: var(--desktop-h6-line-height);
  letter-spacing: var(--desktop-h6-letter-spacing);
}
.specs-block__title_trailer {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h3-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  margin: 0 0 32px;
  /*padding-left: var(--layout-side-padding);*/
  padding-right: var(--layout-side-padding);
}

/* По умолчанию — двухколоночная компоновка (десктоп) */
.specs-layout_trailer {
  display: flex;
  flex-direction: row;
  gap: 10px;
  padding-left: var(--layout-side-padding);
  padding-right: var(--layout-side-padding);
}

.specs-table_trailer,
.specs-description_trailer {
  width: 50%;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding:24px;
}
.catalog-section__item-params {
 /*max-width: 600px;*/
}

/* Таблица характеристик */
.catalog-section__item-params_trailer {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.catalog-section__item-param_trailer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px dotted rgba(0, 0, 0);
  margin: 0;
}

.catalog-section__item-param_trailer dt {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  letter-spacing: var(--desktop-body-letter-spacing);
  margin: 0;
  flex: 1;
}

.catalog-section__item-param_trailer dd {
  font-family: var(--desktop-body-bold-font-family);
  font-weight: var(--desktop-body-bold-font-weight);
  font-size: var(--desktop-body-bold-font-size);
  line-height: var(--desktop-body-bold-line-height);
  letter-spacing: var(--desktop-body-bold-letter-spacing);
  margin: 0;
  text-align: right;
  min-width: 100px;
}

/* Описание */
.specs-description_trailer {
}

.specs-description_trailer p {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: var(--desktop-body-line-height);
  letter-spacing: var(--desktop-body-letter-spacing);
  margin: 0 0 16px;
}

.specs-description-ul_trailer ul{list-style-type: square; margin:  0 0 0 20px;}

.specs-description-title_trailer{
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h6-font-size);
  line-height: var(--desktop-h5-line-height);
  letter-spacing: var(--desktop-h5-letter-spacing);
}










/*  Блок "Галерея" */
/* Общие стили для галереи */
.gallery-wrap {
  position: relative;
  --gallery-height: clamp(16.625rem, calc(11.8617rem + 20.3236vw), 36.25rem);
  --thumbs-height: clamp(4.125rem, calc(2.6080rem + 6.4725vw), 10.375rem);
  overflow: hidden;
  padding-bottom: 40px;
}

.gallery-wrap a:focus-visible, .gallery-wrap a:hover {
  opacity: 1;
}

.gallery-wrap .carousel-btn {
  position: absolute;
  bottom: calc((var(--thumbs-height) - var(--size)) / 2);
  z-index: 1;
}

.gallery-wrap .carousel-btn--prev {
  margin-left: calc((100% - 1770px) / 2);
}

.gallery-wrap .carousel-btn--next {
  margin-right: calc((100% - 1770px) / 2);
  right: 0;
}

.gallery {
  width: 100%;
  height: var(--gallery-height);
  margin-bottom: 22px;
}

.gallery__slide {
  overflow: hidden;
  width: 100%;
}

.gallery .swiper-slide-active .gallery__image {
  opacity: 1;
}

.gallery .swiper-slide-active:hover .gallery__image {
  transform: scale(1.1);
}

.gallery__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1s, transform .6s;
  opacity: .5;
}

.gallery-thumbs {
  max-width: 1545px;
  height: var(--thumbs-height);
  cursor: pointer;
}

.gallery-thumbs .swiper-slide-thumb-active .gallery-thumbs__image {
  opacity: .3;
}

.gallery-thumbs__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1s;
}

/* Стили для кнопок карусели */
.carousel-btn {
  align-self: center;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.carousel-btn--prev:focus-visible, .carousel-btn--prev:hover {
  /*transform: translateX(-10px);*/
  opacity: 0.6;
}



.carousel-btn--next:focus-visible, .carousel-btn--next:hover {
  /*transform: translateX(10px);*/
  opacity: 0.6;
}


.carousel-btn.swiper-button-lock {
  opacity: 0;
  visibility: hidden;
}

/* Стили для видео */
.video {
  position: relative;
}

.video--full-height {
  height: 100%;
}

.video__button {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.video__button-shape {
  /* Стили для SVG-формы кнопки */
}

.video__button-icon {
  /* Стили для SVG-иконки кнопки */
}

.gallery-nav {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 10px;
}

/* Убираем абсолютное позиционирование у кнопок внутри галереи */
.gallery-wrap .carousel-btn {
  position: static; /* ← ключевое изменение */
  margin: 0;
}



/* contact-trailers */
.contact-trailers__left {
  width: 50%;
}
.contact-trailers-img,.contact-trailers-img img{
  position: relative;
  width: 100%;
  padding-top:10px;
}
.consent-label-trailer{
  margin-top: -50px;
  margin-left: 35px;
}

/* Важные опции и приспособления */
.base-complectation {
  padding: 40px var(--layout-side-padding);
  background-color: #fff;
}

.base-complectation__title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  color: #333;
}

.base-complectation__grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.base-complectation__item {
  border: 1px solid #e0e0e0;
  overflow: hidden;
  background: #fff;
}

.base-complectation__image {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.base-complectation__text {
  padding: 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  background-color: #fafafa;
}

.expert-trailer__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: 24px;
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
}
.advantages-block-trailer{
  display: flex;
  padding: 0 var(--layout-side-padding);
}
.expert-trailer__container{
  padding: 10px var(--layout-side-padding);
}

/* ——— Хлебные крошки ——— */
.bx-breadcrumb {
  padding: 80px var(--layout-side-padding) 0  var(--layout-side-padding);
  z-index: 999;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #666;
  margin: 0;
}

.bx-breadcrumb a,
.bx-breadcrumb span {
  color: #666;
  text-decoration: none;
}

.bx-breadcrumb a:hover {
  color: var(--primarygreen);
}

.bx-breadcrumb .bx-breadcrumb-separator {
  color: #999;
}

/* Оверлейный режим — поверх баннера */
.bx-breadcrumb--overlay {
  position: absolute;
  top: 60px; /* высота .site-header */
  left: 0;
  right: 0;
  background: transparent;
  border: none;
  padding: 0 var(--layout-side-padding);
  z-index: 999;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-left: var(--layout-side-padding);
}

.bx-breadcrumb--overlay .bx-breadcrumb-item {
  /*background: rgba(0, 0, 0, 0.6);*/
  padding: 18px 0 0 0;
  border-radius: 4px;
  display: flex;
  align-items: center;
  pointer-events: auto;
  color: #fff;
  margin-right: unset;
}

.bx-breadcrumb--overlay .bx-breadcrumb-item a,
.bx-breadcrumb--overlay .bx-breadcrumb-item span {
  color: #fff;
}

.bx-breadcrumb--overlay .bx-breadcrumb-separator {
  color: #ccc;
}
.bx-breadcrumb .bx-breadcrumb-item span {
  font-family: var(--desktop-body-font-family);
  font-size: 14px;
  white-space: normal;
}
/* ——— Заголовок H1 ——— */
.page-title {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  color: var(--gray-scaleblack);
  margin: 0;
  padding: 0 var(--layout-side-padding);
}

/* Для каталога — дополнительные стили */
.page-title--catalog {
  padding-top: 40px;
  padding-bottom: 20px;
  background-color: #fff;
}

/* ——— Баннер "Сервис" ——— */
.service-banner-container {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}
.service-banner-image-wrapper {
  display: block;
  width: 100%;
  line-height: 0;
}
.service-banner-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  /* По умолчанию — центр (десктоп) */
  object-position: center center;
}

/* Хлебные крошки */
.service-banner-breadcrumbs {
  position: absolute;
  top: 60px;
  left: var(--layout-side-padding);
  z-index: 1001;
  pointer-events: none;
}
.service-banner-breadcrumbs > * {
  pointer-events: auto;
}

/* Контент */
.service-banner-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: var(--layout-side-padding);
  color: var(--gray-scalewhite);
  z-index: 2;
  pointer-events: none;
}
.service-banner-content > * {
  pointer-events: auto;
}
.service-banner-title {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h1-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  margin: 0 0 24px 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.service-banner-btn {
  display: inline-block;
  padding: 12px 24px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  border: 2px solid var(--primarygreen);
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  letter-spacing: var(--button-letter-spacing);
  text-decoration: none;
  border-radius: 3px;
  transition: all 0.2s ease;
  align-self: flex-start;
}
.service-banner-btn:hover {
  background-color: #038a57;
  border: 2px solid #038a57;
  color: #fff !important;
}

/* ——— Блок текста под баннером ——— */
.service-text-block {
  padding: 40px var(--layout-side-padding);
  background-color: #fff;
  color: var(--gray-scaleblack);
  font-family: var(--desktop-p-font-family);
  font-weight: var(--desktop-p-font-weight);
  font-size: var(--desktop-p-font-size);
  line-height: var(--desktop-p-line-height);
  letter-spacing: var(--desktop-p-letter-spacing);
}

.service-text-block__content {
  margin: 0;
  text-align: left;
}
.service-text-block__content p {
  line-height: 1.5;
}
/* ——— Блок "Гарантийные обязательства" ——— */
.guarantee-block {
  padding: 60px var(--layout-side-padding);
  background-color: #fff;
}

.guarantee-block__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  letter-spacing: var(--desktop-h2-letter-spacing);
  color: var(--gray-scaleblack);
  margin: 0 0 40px 0;
}

.guarantee-grid {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(3, 1fr);
}

.guarantee-card {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease;
}


.guarantee-card__image-wrapper {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.guarantee-card__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
}

.guarantee-card__content {
  padding: 24px;
  font-family: var(--desktop-p-font-family);
  font-weight: var(--desktop-p-font-weight);
  font-size: var(--desktop-p-font-size);
  line-height: 1.6;
  color: var(--gray-scaleblack);
  text-align: left;
}
.guarantee-card__title-wrapper {
  padding: 20px 24px 0;
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h5-font-size);
  line-height: var(--desktop-h5-line-height);
  letter-spacing: var(--desktop-h5-letter-spacing);
  color: var(--gray-scaleblack);
  text-align: left;
}

.tsm-service-about {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding: 60px var(--layout-side-padding);
  background-color: #F5F5F5;
  box-sizing: border-box;
  display: flex;
  gap: 80px;
}

/* Левая колонка — только заголовок */
.tsm-service-about__left {
  flex: 0 0 500px; /* Обновлено: 500px */
}

.tsm-service-about__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: #000;
  margin: 0;
}

/* Правая колонка — всё остальное */
.tsm-service-about__right {
  flex: 1;
  min-width: 0;
}

.tsm-service-about__desc {
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0 0 40px;
}

.tsm-service-about__contacts-heading,
.tsm-service-about__cta-heading {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  margin: 0 0 20px;
  line-height: 1.3;
}

/* Сетка контактов: 2 карточки в ряд */
.tsm-service-about__contacts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}

.tsm-service-about__contact-card {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-right: 20px; /* Отступ справа для границы */
}

/* Применяем правую границу к нечётным карточкам */
.tsm-service-about__contacts-grid .tsm-service-about__contact-card:nth-child(odd) {
  border-right: 1px solid #DADADA;
}

.tsm-service-about__contact-name {
  font-size: 18px;
  font-weight: 600;
  color: #000;
  margin: 0;
}

.tsm-service-about__contact-position {
  font-size: 14px;
  color: #555;
  margin: 0;
}

.tsm-service-about__contact-phone {
  font-size: 16px;
  color: #000;
  text-decoration: none;
  margin-top: 5px;
  display: inline-block;
}

.tsm-service-about__contact-email {
  font-size: 14px;
  color: #008060;
  text-decoration: none;
  margin-top: 5px;
  display: inline-block;
}

.tsm-service-about__cta-button {
  display: inline-block;
  background-color: #006442;
  color: #FFF;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 3px;
  text-decoration: none;
  text-align: center;
}

/* Основной контейнер */
.tsm-service-map {
  max-width: 1920px;
  margin: 0 auto;
  padding: 60px var(--layout-side-padding) 0;
  background-color: #fff;
  box-sizing: border-box;
}

/* Заголовок + описание — по умолчанию: две колонки */
.tsm-service-map__header {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  margin-bottom: 40px;
}

.tsm-service-map__title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: #000;
  margin: 0;
}

.tsm-service-map__desc {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

/* Карта — выносим за пределы контейнера */
.tsm-service-map__map-wrapper {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.tsm-service-map__map {
  width: 100%;
  height: 600px;
  border-radius: 0; /* или оставить, если нужно */
  overflow: hidden;
  background-color: #f5f5f5;
}

.tsm-service-map__map [class*="copyrights-pane"] {
  display: none !important;
}

/* страница О нас */
.mission-block {
  padding: 40px var(--layout-side-padding);
  box-sizing: border-box;
}

.mission-content {
  max-width: 1920px;
  margin: 0 auto;
}

.mission-title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  letter-spacing: var(--desktop-h2-letter-spacing);
  margin: 0 0 20px 0;
}

.mission-description {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

.company-history {
  display: flex;
  gap: 40px;
  padding: 60px 80px;
}

.company-history__nav {
  width: 45%;
  position: sticky;
  top: 80px;
  align-self: flex-start;
  /*padding-right: 20px;
  border-right: 1px solid #eee;*/
}

.company-history__nav h2 {
  margin: 0 0 20px 0;
  font-family: var(--desktop-h5-font-family);
  font-weight: var(--desktop-h5-font-weight);
  font-size: var(--desktop-h5-font-size);
  line-height: var(--desktop-h5-line-height);
  color: var(--gray-scaleblack);
}

.company-history__list {
  list-style: none;
}

.company-history__list li a {
  display: block;
  padding: 8px 0;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s;
}

.company-history__list li a:hover,
.company-history__list li a.active {
  color: #009D72;
  font-weight: bold;
}
.company-history__list li a.active {
  font-size: 18px;
}
.company-history__content {
  flex: 1;
  border-left: 1px solid #eee;
  padding-left: 20px;
}

.history-item {
  margin-bottom: 30px;
}

.history-item__image {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px;
  background: #f5f5f5;
  aspect-ratio: 16 / 9;
}

.history-item__title {
  font-family: var(--desktop-h4-font-family);
  font-weight: var(--desktop-h4-font-weight);
  font-size: var(--desktop-h4-font-size);
  line-height: var(--desktop-h4-line-height);
  color: #009D72;
  margin: 0 0 15px 0;
}

.history-item__text {
  padding-left: 20px;
  margin: 0;
  line-height: 1.5;
  color: #555;
}

.history-item__text  ul li {
  list-style-type: square;
}

.news-section {
  padding: 0 var(--layout-side-padding);
  max-width: 1920px;
  margin: 0 auto;
}

.news-section__title {
  font-size: 24px;
  margin-bottom: 40px;
  color: #000;
}

.news-grid {
  display: grid;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.bx_pagination_bottom{
  padding: 20px 0;
}


.news-card {
  border: 1px solid #eee;
  /* Убраны: border-radius, box-shadow, transition */
  display: flex;
  flex-direction: column;
  height: 100%;
}

.news-card__figure {
  display: block;
  width: 100%;
  line-height: 0;
}

.news-card__image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 504 / 270;
  object-fit: cover;
}

.news-card__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.news-card__date {
  font-size: 12px;
  color: #888;
  display: block;
  margin-bottom: 8px;
}

.news-card__title {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 16px 0;
  line-height: 1.4;
  flex-grow: 1;
}

.news-card__link {
  color: #000;
  text-decoration: none;
}

/* Кнопки поделиться */
.share-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
}

.share-button {
  width: 24px;
  height: 24px;
  background: #fff;
  border: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.share-buttons__extra {
  display: none;
  gap: 4px;
  margin-left: 4px;
  opacity: 0;
  transform: translateX(10px);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Полностью изолированные стили */
.news-detail-header {
  padding: 0 var(--layout-side-padding);
}

.news-detail-title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h2-line-height);
  color: var(--gray-scaleblack);
  margin: 10px 0;
}

.news-detail-share {
  display: flex;
  align-items: center;
  gap: 8px;
}

.news-detail-share__btn {
  width: 24px;
  height: 24px;
  background: #fff;
  border: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}

/*.news-detail-share__btn:hover {
  background: #e0e0e0;
}*/

.news-detail-share__btn svg {
  width: 24px;
  height: 24px;
  fill: #333;
}
.news-detail-share__btn svg:hover {
  stroke: #0a0a0a;
}
/* Скрытые кнопки по умолчанию */
.news-detail-share__extra {
  display: none;
  gap: 4px;
  /*margin-left: 8px;*/
}

/* При раскрытии */
.news-detail-share[data-expanded="true"] .news-detail-share__extra {
  display: flex;
}

/* Изолированные стили */
.news-detail-content {
  max-width: 100%;
  margin: 40px auto;
  /*padding: 0 var(--layout-side-padding);*/
}

.news-detail-image-wrapper {
  width: 100%;
  overflow: hidden;
  margin-bottom: 40px;
}

.news-detail-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.news-detail-intro {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 40px;
}

.news-detail-section {
  margin-bottom: 40px;
  padding: 0 var(--layout-side-padding);
}

.news-detail-section__title {
  font-size: 20px;
  font-weight: bold;
  color: #000;
  margin-bottom: 20px;
  line-height: 1.3;
}

.news-detail-section__content {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

.news-detail-section__content p {
  margin: 0 0 12px 0;
}

.news-detail-section__content ul {
  padding-left: 20px;
  margin: 0 0 20px 0;
}

.news-detail-section__content li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* Галочки */
.news-detail-section__content .checklist li::before {
  content: "✅ ";
  font-weight: bold;
  color: #009D72;
}

.news-detail-cta {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
  margin-top: 40px;
}

.news-detail-cta p {
  margin: 8px 0;
  font-size: 16px;
  line-height: 1.6;
}

.news-detail-link {
  color: #009D72;
  text-decoration: none;
  font-weight: bold;
}

.news-detail-link:hover {
  text-decoration: underline;
}

.news-detail-content a{
  color: #009D72;
}

.text-block {
  padding: 20px 0;
}

.text-block__content {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin: 0 auto;
  padding: 0 var(--layout-side-padding);
}
#service-map [class*="ground-pane"] {
  filter: grayscale(1);
  transition: filter .3s linear;
}

.welcome-section {
  padding: 30px var(--layout-side-padding);
}

.welcome-layout {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

.welcome-title {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  color: #000;
  margin: 0;
  flex-shrink: 0;
}

.welcome-content {
  flex: 1;
}

.welcome-text {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 24px 0;
}

.filter-toggle-center {
  text-align: center;
  margin: 24px 0;
}

.checkbox-btn {
  display: inline-block;
  margin: 0 12px 0 0;
  user-select: none;
  position: relative;
}

.checkbox-btn input[type="checkbox"] {
  z-index: -1;
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
}

.checkbox-btn span {
  display: inline-block;
  cursor: pointer;
  padding: 10px 24px;
  line-height: 1.4;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid var(--primarygreen); /* зелёная рамка */
  border-radius: 3px;
  transition: all 0.3s ease;
  color: var(--primarygreen); /* зелёный текст */
  background: #fff; /* белый фон */
}

/* Checked — активная кнопка */
.checkbox-btn input[type="checkbox"]:checked + span {
  background: var(--primarygreen);
  color: #fff;
  border-color: var(--primarygreen);
}

/* Hover — вся кнопка становится зелёной */
.checkbox-btn:hover span {
  background: var(--primarygreen);
  color: #fff;
  border-color: var(--primarygreen);
}

/* Active (при нажатии) */
.checkbox-btn input[type="checkbox"]:active:not(:disabled) + span {
  background: var(--primarygreen); /* чуть темнее */
  color: #fff;
}

/* Disabled */
.checkbox-btn input[type="checkbox"]:disabled + span {
  background: #f5f5f5;
  color: #999;
  cursor: default;
  border-color: #ccc;
}

/* Checked + Disabled */
.checkbox-btn input[type="checkbox"]:checked:disabled + span {
  background: #e0f0e9;
  color: #666;
  border-color: #99c2a2;
}

/* Focus (для клавиатурной навигации) */
.focused span {
  box-shadow: 0 0 0 0.2rem rgba(0, 125, 92, 0.25); /* зелёный outline */
}

.popup__product-preview {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #f9f9f9;
  border-radius: 6px;
  margin: 12px 0;
}

.popup__product-image {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}

.popup__product-info {
  flex: 1;
}

.popup__product-title {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 4px 0;
}

.popup__product-price {
  font-size: 16px;
  font-weight: 700;
  color: #007d5c;
}

/* forms-styles.css - Общие стили для всех форм */

/* ========== СТИЛИ ДЛЯ УСПЕШНОГО СООБЩЕНИЯ ========== */
.success-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.success-overlay.active {
  opacity: 1;
  visibility: visible;
}

.success-message {
  background: white;
  padding: 40px 30px;
  border-radius: 12px;
  text-align: center;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.4s ease;
}

.success-overlay.active .success-message {
  transform: translateY(0);
  opacity: 1;
}

.success-message__icon {
  width: 60px;
  height: 60px;
  background: #4CAF50;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: bold;
  margin: 0 auto 20px;
}

.success-message__title {
  color: #333;
  font-size: 24px;
  margin-bottom: 15px;
  font-weight: 600;
}

.success-message__text {
  color: #666;
  font-size: 16px;
  line-height: 1.5;
}

/* ========== СТИЛИ ДЛЯ КАПЧИ ========== */
.smart-captcha.error {
  border: 2px solid #ff4444;
  border-radius: 4px;
  animation: captchaErrorShake 0.3s ease;
}

/* ========== СТИЛИ ДЛЯ КНОПОК ========== */
.form-submit-btn.loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.form-submit-btn.loading::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 50%;
  margin: -10px 0 0 -10px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.form-submit-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* ========== СТИЛИ ДЛЯ СООБЩЕНИЙ ОБ ОШИБКАХ ========== */
.error-message {
  position: fixed;
  top: 20px;
  right: 20px;
  background: #ff4444;
  color: white;
  padding: 15px 20px;
  border-radius: 5px;
  z-index: 99999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  animation: slideIn 0.3s ease-out;
  max-width: 300px;
  font-size: 14px;
  line-height: 1.4;
}

.error-message.fade-out {
  animation: slideOut 0.3s ease-out;
}

/* ========== АНИМАЦИИ ========== */
@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOut {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes captchaErrorShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* ========== АДАПТИВНОСТЬ ========== */
@media (max-width: 768px) {
  .success-message {
    padding: 30px 20px;
    width: 85%;
  }

  .success-message__icon {
    width: 50px;
    height: 50px;
    font-size: 24px;
  }

  .success-message__title {
    font-size: 20px;
  }

  .success-message__text {
    font-size: 14px;
  }

  .error-message {
    left: 20px;
    right: 20px;
    max-width: none;
    text-align: center;
  }
}

/* ========== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ФОРМ ========== */
.form-field-error {
  border-color: #ff4444 !important;
  background-color: #fff5f5 !important;
}

.form-error-text {
  color: #ff4444;
  font-size: 12px;
  margin-top: 5px;
  display: block;
}

.form-success {
  border-color: #4CAF50 !important;
  background-color: #f0fff0 !important;
}

/* Основные стили для drag-and-drop */
.file-upload-container {
  border: 2px dashed #e0e0e0;
  border-radius: 12px;
  background: #fafafa;
  transition: all 0.3s ease;
  position: relative;
}

.file-upload-container.drag-over {
  border-color: #182233;
  background: #f0f7ff;
  box-shadow: 0 0 0 3px rgba(24, 34, 51, 0.1);
}

.file-upload-container.drag-over .file-upload-dropzone {
  opacity: 0.7;
}

.file-upload-dropzone {
  padding: 10px 20px;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.3s;
}

.dropzone-icon {
  /*margin-bottom: 16px;*/
  color: #182233;
  opacity: 0.7;
}

.dropzone-text {
  margin-bottom: 20px;
}

.dropzone-title {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #182233;
  margin-bottom: 8px;
}

.dropzone-subtitle {
  display: block;
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
}

.file-upload-button {
  display: inline-block;
  background: #182233;
  color: white;
  padding: 12px 28px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}

.file-upload-button:hover {
  background: #2c3a42;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(24, 34, 51, 0.2);
}

.file-upload-button:active {
  transform: translateY(0);
}

.button-text {
  display: inline-block;
  pointer-events: none;
}

.dropzone-hint {
  margin-top: 20px;
  font-size: 12px;
  color: #999;
  line-height: 1.5;
}

.dropzone-hint span {
  display: block;
}

/* Прогресс бар */
.upload-progress {
  margin-top: 20px;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.progress-bar {
  flex: 1;
  height: 8px;
  background: #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #182233, #2c3a42);
  border-radius: 4px;
  width: 0%;
  transition: width 0.3s ease;
}

.progress-text {
  font-size: 14px;
  font-weight: 600;
  color: #182233;
  min-width: 40px;
}

/* Прелоадер для загрузки */
.file-preview-loading {
  display: flex;
  align-items: center;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 8px;
  margin-bottom: 10px;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #e0e0e0;
  border-top-color: #182233;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-right: 12px;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.loading-text {
  color: #666;
  font-size: 14px;
}

/* Улучшенные стили для превью файлов */
.file-preview-container {
  margin-top: 20px;
}

.file-preview-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 10px;
  transition: all 0.3s;
  animation: slideIn 0.3s ease;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.file-preview-item:hover {
  border-color: #182233;
  box-shadow: 0 2px 8px rgba(24, 34, 51, 0.1);
}

.file-preview-info {
  display: flex;
  align-items: center;
  overflow: hidden;
  flex-grow: 1;
  min-width: 0;
}

.file-preview-icon {
  margin-right: 12px;
  font-size: 20px;
  flex-shrink: 0;
  width: 24px;
  text-align: center;
}

.file-preview-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
  min-width: 0;
  font-size: 14px;
  color: #333;
}

.file-preview-size {
  font-size: 12px;
  color: #666;
  margin-left: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}

.file-preview-remove {
  background: none;
  border: none;
  color: #ff4444;
  cursor: pointer;
  padding: 6px;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 8px;
  transition: all 0.3s;
}

.file-preview-remove:hover {
  background: #ffebee;
  transform: rotate(90deg);
}

/* Состояние ошибки */
.file-preview-item.error {
  border-color: #ff4444;
  background: #fff5f5;
}

.file-error-message {
  color: #ff4444;
  font-size: 12px;
  margin-top: 4px;
}

/* Индикатор загрузки файла */
.file-preview-loading .file-preview-icon {
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Адаптивность */
@media (max-width: 768px) {
  .file-upload-dropzone {
    padding: 30px 15px;
  }

  .dropzone-title {
    font-size: 16px;
  }

  .file-upload-button {
    padding: 10px 20px;
    font-size: 14px;
  }

  .file-preview-item {
    padding: 10px 12px;
  }

  .upload-progress {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .progress-bar {
    width: 100%;
  }
}


/* Дополнительные стили для drag-and-drop */
.drag-drop-hint {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(24, 34, 51, 0.9);
  color: white;
  padding: 20px 30px;
  border-radius: 10px;
  z-index: 100;
  text-align: center;
  animation: fadeIn 0.3s;
  display: none;
}

.drag-drop-hint.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translate(-50%, -40%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}

.drag-drop-hint-icon {
  font-size: 40px;
  margin-bottom: 10px;
  display: block;
}

.drag-drop-hint-text {
  font-size: 16px;
  font-weight: 500;
}

/* Анимация для добавления файлов */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(24, 34, 51, 0.7); }
  50% { box-shadow: 0 0 0 10px rgba(24, 34, 51, 0); }
}

.drag-over .dropzone-icon {
  animation: pulseGlow 1.5s infinite;
}

/* Стили для счетчика файлов */
.file-counter {
  position: absolute;
  top: -10px;
  right: -10px;
  background: #182233;
  color: white;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
}

/* Эффект для превью при наведении */
.file-preview-item .file-preview-name {
  transition: color 0.3s;
}

.file-preview-item:hover .file-preview-name {
  color: #182233;
}

/* Индикатор типа файла */
.file-type-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}

.file-type-indicator.image { background: #4CAF50; }
.file-type-indicator.video { background: #2196F3; }
.file-type-indicator.audio { background: #9C27B0; }
.file-type-indicator.document { background: #FF9800; }
.file-type-indicator.archive { background: #795548; }
.file-type-indicator.other { background: #9E9E9E; }


/* Стили для полноэкранного попапа с прокруткой */
.popup-form__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  /*border-radius: 12px;*/
  padding: 30px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

/* Стили для попапа на всю высоту */
.popup-form__container.full-height {
  top: 20px !important;
  transform: translateX(-50%) !important;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

/* Скрываем стандартный скроллбар для красоты */
.popup-form__container::-webkit-scrollbar {
  width: 6px;
}

.popup-form__container::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.popup-form__container::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.popup-form__container::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Для Firefox */
.popup-form__container {
  scrollbar-width: thin;
  scrollbar-color: #c1c1c1 #f1f1f1;
}

/* Индикаторы прокрутки */
.scroll-indicator {
  position: sticky;
  left: 0;
  right: 0;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 10;
  margin: 0 -30px; /* Компенсируем padding контейнера */
}

.scroll-indicator.visible {
  opacity: 1;
}

.scroll-indicator-top {
  top: 0;
  background: linear-gradient(to bottom, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%);
  padding-top: 10px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.scroll-indicator-bottom {
  bottom: 0;
  background: linear-gradient(to top, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%);
  padding-bottom: 10px;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.scroll-indicator svg {
  color: #666;
  width: 24px;
  height: 24px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.1));
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
  .popup-form__container {
    width: 95%;
    padding: 20px;
    max-height: calc(100vh - 20px) !important;
  }

  .popup-form__container.full-height {
    top: 10px !important;
    max-height: calc(100vh - 20px) !important;
  }

  .scroll-indicator {
    margin: 0 -20px; /* Компенсируем padding контейнера на мобильных */
  }

  /* Улучшаем скролл на мобильных */
  .popup-form__container {
    -webkit-overflow-scrolling: touch; /* Плавный скролл на iOS */
  }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
  .popup-form__container {
    padding: 15px;
    max-height: calc(100vh - 10px) !important;
  }

  .popup-form__container.full-height {
    top: 5px !important;
    max-height: calc(100vh - 10px) !important;
  }

  .popup-form__field {
    margin-bottom: 15px;
  }

  .file-upload-dropzone {
    padding: 25px 15px;
  }

  .popup-form__title {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .scroll-indicator {
    margin: 0 -15px; /* Компенсируем padding контейнера на маленьких экранах */
  }
}

/* Плавная анимация открытия/закрытия */
@keyframes popupSlideIn {
  from {
    opacity: 0;
    transform: translate(-50%, -48%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

@keyframes popupFullHeightIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.popup-form.active .popup-form__container:not(.full-height) {
  animation: popupSlideIn 0.3s ease;
}

.popup-form.active .popup-form__container.full-height {
  animation: popupFullHeightIn 0.3s ease;
}

/* Запрещаем прокрутку body когда попап открыт */
body.popup-open {
  overflow: hidden;
}

/* Контент внутри попапа */
.popup-form__content {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* Заголовок всегда видим */
.popup-form__title {
  flex-shrink: 0;
}

/* Форма занимает все доступное пространство */
.popup-form__form {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Кнопка отправки всегда внизу */
.popup-form__submit {
  margin-top: auto;
  flex-shrink: 0;
}





/** fix calendar **/

/* Стили для календаря и таймпикера с фиксированным позиционированием */
.calendar-popup,
.timepicker-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 10001;
  pointer-events: none;
}

.calendar-popup.active,
.timepicker-popup.active {
  display: block;
}

.calendar-popup__container,
.timepicker-popup__container {
  position: fixed;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 20px;
  min-width: 300px;
  z-index: 10002;
  pointer-events: auto;
  /*border: 1px solid #e0e0e0;*/
}

.popup-arrow {
  position: absolute;
  width: 16px;
  height: 16px;
  transform: rotate(45deg);
  box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.1);
  z-index: 10003;
  /*border-left: 1px solid #e0e0e0;
  border-top: 1px solid #e0e0e0;*/
}

/* Для мобильных устройств */
@media (max-width: 768px) {
  .calendar-popup__container,
  .timepicker-popup__container {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 90%;
    max-width: 320px;
  }

  .popup-arrow {
    display: none;
  }
}

/* Анимация появления */
@keyframes popupFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.calendar-popup.active .calendar-popup__container,
.timepicker-popup.active .timepicker-popup__container {
  animation: popupFadeIn 0.2s ease;
}

/** fix calendar **/

.article-page {
  padding: 0 var(--layout-side-padding);
}

.article-page__content {
  margin-top: 40px;
  margin-bottom: 60px;
  margin-left: auto;
  margin-right: auto;
}

.article-page__title {
  font-size: 28px;
  font-weight: 700;
  color: var(--gray-scaleblack);
  margin: 0 0 16px 0;
  line-height: 1.3;
}

.article-page__meta {
  margin-bottom: 32px;
}

.article-page__date {
  font-size: 14px;
  color: var(--gray-scalegray-1);
  display: block;
}

.article-page__text {
  font-size: 16px;
  line-height: 1.6;
  color: var(--gray-scaleblack);
}

.article-page__text p {
  margin: 0 0 16px 0;
}

.article-page__text a {
  color: var(--primarygreen);
  text-decoration: underline;
}

.article-page__text a:hover {
  opacity: 0.8;
}

.article-page__text h2 {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h2-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  margin: 32px 0 16px 0;
  color: var(--gray-scaleblack);
}
.article-page__text h3 {
  font-family: var(--desktop-h3-font-family);
  font-weight: var(--desktop-h3-font-weight);
  font-size: var(--desktop-h3-font-size);
  line-height: var(--desktop-h3-line-height);
  letter-spacing: var(--desktop-h3-letter-spacing);
  margin: 32px 0 16px 0;
  color: var(--gray-scaleblack);
}

.article-page__text ul,
.article-page__text ol {
  margin: 0 0 16px 24px;
}

.article-page__text ul li {
  list-style-type: square;
  margin-bottom: 8px;
}

.article-page__text ol li {
  list-style-type: decimal;
  margin-bottom: 8px;
}
/* === Модальное окно Cookie Policy — обновлённая адаптивность === */
.cookie-policy-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--layout-side-padding);
  box-sizing: border-box;
}

.cookie-policy-modal__content {
  background: #fff;
  border-radius: 8px;
  width: 90%;
  max-width: 600px; /* ← ограничение на десктопе */
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  font-family: var(--desktop-body-font-family);
  font-size: 16px;
  line-height: 1.6;
  color: var(--gray-scaleblack);
  padding: 24px;
  box-sizing: border-box;
}

/* Десктоп: ширина 50% от viewport, но не больше 600px */
@media (min-width: 1024px) {
  .cookie-policy-modal__content {
    width: 50%;
    max-width: 600px;
  }
}

/* Мобильные устройства */
@media (max-width: 768px) {
  .cookie-policy-modal__content {
    width: 90%;
    max-height: 85vh;
    padding: 20px;
  }
}

.cookie-policy-modal__close {
  position: sticky;
  top: 0;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  color: var(--gray-scalegray-9);
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  padding: 0;
  margin: 0;
  z-index: 10;
  float: right;
}

.cookie-policy-modal__title {
  font-size: 24px;
  font-weight: 700;
  color: var(--gray-scaleblack);
  margin: 0 0 16px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--primarylightgrey);
}

.cookie-policy-modal__body {
  margin: 16px 0;
}

.cookie-policy-modal__body p {
  margin: 0 0 16px 0;
}

.cookie-policy-modal__body a {
  color: var(--primarygreen);
  text-decoration: underline;
}

.cookie-policy-modal__footer {
  margin-top: 24px;
  text-align: right;
}

.cookie-policy-modal__btn {
  white-space: nowrap;
  padding: 12px 24px;
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite);
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  line-height: var(--button-line-height);
  cursor: pointer;
  transition: background-color 0.2s ease;
  border: none;
  display: inline-block;
}

.cookie-policy-modal__btn:hover {
  background-color: #038a57;
}

/* === ИСПРАВЛЕНИЕ: модалка cookie-policy на узких экранах === */
.cookie-policy-modal__overlay {
  padding: 0 var(--layout-side-padding);
  box-sizing: border-box;
}

.cookie-policy-modal__content {
  position: fixed;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin: 0 auto;
  max-width: 600px;
  width: 90%;
}

.reviews-section__btn:hover{color:#ffffff !important;}
.catalog-section__btn-all:hover{color:#ffffff !important;}
.available-section__btn:hover{color:#ffffff !important;}
.about-section__btn:hover{color:#ffffff !important;}
/* Для десктопа: ширина 50%, но не более 600px */
@media (min-width: 768px) {
  .cookie-policy-modal__content {
    width: 50%;
    max-width: 1000px;
    margin: 0 auto;
  }
}

/* Для мобильных ≤ 767px: полная ширина с отступами */
@media (max-width: 767px) {
  .cookie-policy-modal__content {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  /* Убедимся, что контент не выходит за границы */
  .cookie-policy-modal__body,
  .cookie-policy-modal__footer {
    padding-left: 0;
    padding-right: 0;
  }

  /* Кнопка — чтобы не вылезала */
  .cookie-policy-modal__btn {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 360px) {
  .cookie-policy-modal__content {
    width: 100%;
    max-width: 360px;
    margin-left: 0;
  }
}

/* === SEO Преимущества — идентично макету (без адаптивных ошибок) === */
.seo-advantages-section {
  padding: 0 var(--layout-side-padding) 60px;
  color: var(--primarydark);
}

.seo-advantages-title {
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h3-font-size);
  line-height: 1.3;
  letter-spacing: var(--desktop-h2-letter-spacing);
  color: var(--gray-scaleblack);
  margin: 0 0 40px 0;
  text-align: left;
  max-width: 60%;
}

.seo-advantages-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.seo-advantage-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.seo-advantage-title {
  font-family: var(--desktop-h5-font-family);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  color: var(--gray-scaleblack);
  margin: 0;
  flex: 0 0 auto;
  min-width: 18%;
}

.seo-advantage-text {
  font-family: var(--desktop-body-font-family);
  font-weight: var(--desktop-body-font-weight);
  font-size: var(--desktop-body-font-size);
  line-height: 1.5;
  color: var(--gray-scaleblack);
  margin: 0;
  flex: 1;
}

/* Список с • (как в макете — без ul/ol) */
.seo-advantage-bullet-list {
  margin-top: 16px;
}
.seo-advantage-text ul{
  list-style-type: square;
}

.seo-advantage-bullet {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 8px;
}


/* Адаптивность: до 360px — заголовок над текстом */
@media (max-width: 767px) {
  .seo-advantages-title {
    font-size: var(--desktop-h4-font-size);
    max-width: unset;
  }
  .seo-advantages-grid {
    grid-template-columns: 1fr;
  }
  .seo-advantage-item {
    flex-direction: column;
    gap: 12px;
  }
  .seo-advantage-title {
    min-width: auto;
    text-align: left;
  }
}

.bx_pagination_bottom{
  text-align: center;
}
.contact-trailers-form__row{
  flex-direction: column;
}

.service-buttons-wrapper {
  display: flex;
  gap: 15px; /* Отступ между кнопками */
  width: 100%;
  flex-direction: column;
}

.service-buttons-wrapper-2 {
  display: flex;
  gap: 15px; /* Отступ между кнопками */
  width: 100%;
  flex-direction: row !important;
}

.service-buttons-wrapper .service-banner-btn {
  flex: 1; /* Растягивает все кнопки на одинаковую ширину */
  text-align: center; /* Центрирует текст внутри кнопки */
  white-space: nowrap; /* Запрещает перенос текста (опционально) */
  background-color: var(--primarygreen);
  color: var(--gray-scalewhite) !important;
  min-width: 246px;
}
.service-banner-btn {
  max-width:300px;
}

.service-buttons-wrapper .tsm-service-about__cta-button {
  flex: 1; /* Растягивает все кнопки на одинаковую ширину */
  text-align: center; /* Центрирует текст внутри кнопки */
  white-space: nowrap; /* Запрещает перенос текста (опционально) */
}
.tsm-service-about__cta-button {
  max-width:300px;
}
.tsm-service-about__cta-button:hover{
  color:#fff !important;
}

/*@media (max-width: 768px) {
  .service-buttons-wrapper {
    flex-direction: column; 
  }
  .service-buttons-wrapper-2 {
    flex-direction: column !important;
  }
  .service-buttons-wrapper .service-banner-btn {
    width: 100%; 
  }
}*/
@media (max-width: 1024px) {
  .service-buttons-wrapper {
    flex-direction: column; /* Кнопки друг под другом */
  }
  .service-buttons-wrapper-2 {
    flex-direction: column !important; /* Кнопки друг под другом */
  }
  .service-buttons-wrapper .service-banner-btn {
    width: 100%; /* На всю ширину экрана */
  }
}

/* Основной контейнер секции */
.tsm-contacts-section {
  padding: 60px 0 0;
  color: #333;
}

/* Заголовок */
.tsm-contacts-title {
  font-weight: var(--desktop-h2-font-weight);
  font-size: var(--desktop-h2-font-size);
  margin-bottom: 40px;
  text-align: left;
  color: #000;
}

/* Обертка для контента */
.tsm-contacts-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  /* Если будет карта, можно настроить пропорции */
  /* justify-content: space-between; */
}

.tsm-contacts-info {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* Элемент контакта (иконка + текст) */
.tsm-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

/* Иконка */
.tsm-icon {
  flex-shrink: 0;
  color: var(--primarygreen);; /* Акцентный цвет (например, красный как у бренда или синий) */
}

/* Текст контакта */
.tsm-contact-text {
  font-size: 16px;
  line-height: 1.5;
}

.tsm-contact-text strong {
  display: block;
  margin-bottom: 12px;
  font-weight: 600;
  color: #000;
}

.tsm-contact-text p {
  margin: 0;
  color: #555;
}

/* Ссылки */
.tsm-contact-text a {
  color: var(--primarygreen);;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
  cursor:pointer;
}

.tsm-contact-text a:hover {
  border-bottom-color: var(--primarygreen);;
}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
  .tsm-contacts-section {
    padding: 40px 0;
  }

  .tsm-contacts-title {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .tsm-contact-item {
    gap: 10px;
  }

  .tsm-icon {
    width: 20px;
    height: 20px;
  }
}

.specs-list {
  font-size: 16px;
  color: #333;
  max-width: 800px;
  margin: 0 auto;
}

.specs-item {
  display: flex;
  flex-direction:row;
  align-items: baseline; /* Выравнивание по базовой линии текста */
  margin-bottom: 12px;   /* Отступ между строками */
}

.specs-name {
  /*flex-shrink: 0; */       /* Запрещаем сжиматься названию */
  /*white-space: nowrap;*/   /* Запрещаем перенос названия */
  padding-right: 10px;   /* Небольшой отступ до начала точек */
}

.specs-value {
  /*flex-shrink: 0; */       /* Запрещаем сжиматься значению */
  /*white-space: nowrap; */  /* Запрещаем перенос значения */
  padding-left: 10px;    /* Отступ от конца точек */
  text-align: right;     /* На всякий случай выравниваем вправо */
}

.specs-dots {
  flex-grow: 1;          /* Растягиваем блок с точками на всю ширину */
  border-bottom: 1px dotted #ccc; /* Сама линия из точек */
  position: relative;
  top: 0;             /* Поднимаем линию чуть выше, чтобы она была по низу букв */
}

@media (max-width: 768px) {
  .specs-dots {
    display: none; /* Убираем точки */
  }
  .specs-item {
    flex-direction:column;
    justify-content: space-between; /* Разносим название и цифры по краям */
  }
  .specs-value {
    padding-left: 0px;    /* Отступ от конца точек */
    text-align: left;     /* На всякий случай выравниваем вправо */
    margin-top: 0.5rem;
  }
  .specs-name {
    font-weight:bold;
  }
}

.service-banner-btn:hover {
  background-color: #038a57;
}

.news-detail-section__content h3{
	font-weight: var(--desktop-h3-font-weight);
	font-size: var(--desktop-h3-font-size);
}


.news-detail-section__content table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.news-detail-section__content th,
.news-detail-section__content td {
    padding: 12px 15px;
    border: 1px solid #e0e0e0;
}

.news-detail-section__content th {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
}

.news-detail-section__content b, .news-detail-section__content strong{
	font-weight:bold;
}





.nca-cookiesaccept-line{
  bottom: 0;
  left: 0;
  right: 0;
  background: #1a1a1a !important;
  border-top: 1px solid #333 !important;
}
#nca-cookiesaccept-line-accept-btn {
  background: var(--statesuccsess)/*#4a9eff*/;
  color: #ffffff;
}
#nca-cookiesaccept-line-accept-btn {
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  white-space: nowrap;
}