/* Общие стили */
body {
  font-family: Arial, sans-serif;
  margin: 0;
  background-color: #f0f2f5; /* Светлый фон для всего раздела */
}

.siti-banner-catalog__title {
    font-family: Onest;
font-weight: 500;
font-style: Medium;
font-size: 38px;
leading-trim: NONE;
line-height: 110.00000000000001%;
letter-spacing: 0%;
color: #FFFFFF;
}

.product-card a {
    text-decoration: none;
}

.seo__container p {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0%;
color: black;
}

.p_for_seo {
        font-family: 'Onest', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0%;
color: black;
}

.seo__container {
    display: flex;
    flex-direction: column;
}

.siti-banner-catalog__description {
    font-family: Onest;
font-weight: 400;
font-style: Regular;
font-size: 18px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
color: #FFFFFF;
}

.equipment-catalog {
  max-width: 1200px;
  margin: 40px auto;
  padding: 20px;
  margin-top: 40px;
  padding-top: 0;
}

.category-item a {
    text-decoration: none;
}

/* Раскрытие подменю */
.category-item.active-parent .submenu {
    display: block !important; /* Гарантирует раскрытие */
}

/* Выделение активного пункта (товара) */
.submenu-item.active a {
    font-weight: bold;
    color: #2057A8; /* Или любой другой цвет выделения */
}

.catalog-title {
  padding-top: 0;
  font-size: 36px;
  font-weight: 700;
  color: #0d2c60;
  margin-bottom: 40px;
  padding-left: 20px;
}

.catalog-content {
  display: flex;
  gap: 40px; /* Отступ между сайдбаром и сеткой */
  align-items: flex-start;
}

/* --- САЙДБАР (ЛЕВОЕ МЕНЮ) --- */
.catalog-sidebar {
  max-width: 360px;
  width: 100%;
  border-radius: 12px;
  padding-bottom: 0;
/*   max-height: 265px;
 */}

.category-list {
  list-style: none;
  margin: 0;
  padding: 0;
      overflow: hidden;
        background: rgba(255, 255, 255, 1);
  border: 1px solid rgba(0, 16, 46, 0.1);
}

.category-item {
  border-bottom: 1px solid #eee;
}

/* .category-item:last-child {
  border-bottom: none;
} */

.category-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 20px;
  cursor: pointer;
  background-color: white;
  transition: background-color 0.2s, color 0.2s;
  user-select: none; /* Запрет выделения текста */
/*   border-top-left-radius: 12px;
border-top-right-radius: 12px; */
}

/* .category-header:last-of-type {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
} */

.category-list {
    border-radius: 12px;
}

.category-header:hover {
  background-color: #e6f0ff; /* Светло-голубой при наведении */
}

.category-item.active .category-header {
  background: rgba(32, 87, 168, 1);
  color: white;
/*   border-bottom-left-radius: 0;
border-bottom-right-radius: 0; */
}

.category-name {
  font-family: Onest;
  font-weight: 500;
  font-style: Medium;
  font-size: 18px;
  leading-trim: NONE;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #333; /* Цвет текста по умолчанию */
}

.category-item.active .category-name {
  color: white; /* Цвет текста для активной категории */
}

/* ==================================== */
/* 3. СТИЛИ ДЛЯ СТРАНИЦЫ ПРОДУКТА */
/* ==================================== */

.product-content-wrapper {
    display: flex;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 15px;
    justify-content: space-between;
}

.product-main {
    flex-grow: 1;
    max-width: 793px;
}

.product-title {
    font-size: 32px;
    margin-bottom: 20px;
    color: #333;
}

/* Блок с изображением и формой */
.product-top-info {
    background: white;
    display: flex;
    margin-bottom: 40px;
    padding-bottom: 20px;
}

.product-image-main {
    width: 50%;
    max-width: 350px;
    height: auto;
    object-fit: contain;
    padding: 15px;
    border-radius: 8px;
}

.product-form-box {
    width: 60%;
    padding: 25px;
    border-radius: 8px;
}

.form-title {
    font-family: Onest;
font-weight: 500;
font-style: Medium;
font-size: 24px;
leading-trim: NONE;
line-height: 110.00000000000001%;
letter-spacing: 0%;
    color: #00102E;
    margin-bottom: 20px;
}

.product-order-form input {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 8px;
    border: 1px solid #ddd;
    border-radius: 30px;
    box-sizing: border-box;
    background: #1A25450F;
}

.hero__btn {
        opacity: 1;
    border-radius: 60px;
    padding-top: 16.5px;
    padding-right: 22px;
    padding-bottom: 19.5px;
    padding-left: 22px;
    border-width: 2px;
    background: linear-gradient(180deg, #52cc73 28.37%, #169037 100%);
    border: none;
    box-shadow: 0px 5px 8px 0px rgba(46, 46, 65, 0.2);
    font-family: Onest;
    font-weight: 500;
    font-style: Medium;
    font-size: 17px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0%;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    margin-top: 12px;
}

.section-title {
    font-family: Onest;
font-weight: 500;
font-style: Medium;
font-size: 28px;
leading-trim: NONE;
line-height: 120%;
letter-spacing: 0%;
}

.product-description p {
    font-family: Onest;
font-weight: 400;
font-style: Regular;
font-size: 18px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}

.product-description ul {
    font-family: Onest;
font-weight: 400;
font-style: Regular;
font-size: 18px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}

.product-detailed-info ol {
    font-family: Onest;
font-weight: 400;
font-style: Regular;
font-size: 18px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}

.product-detailed-info p {
    font-family: Onest;
font-weight: 400;
font-style: Regular;
font-size: 18px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}


.btn-submit {
    width: 100%;
    padding: 12px 15px;
    border: none;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    cursor: pointer;
    background: linear-gradient(to right, #00c6ff, #007bff); /* Стиль, как на вашем макете */
    transition: background 0.3s;
}

.product-description, .product-specs {
    margin-bottom: 30px;
    line-height: 1.6;
}

.specs-title {
    font-size: 24px;
    border-left: 4px solid #007bff;
    padding-left: 10px;
    margin-bottom: 15px;
}

/* Убедитесь, что шрифт Onest подключен в проекте */
.hero__heading {
    font-family: 'Onest', sans-serif;
    font-weight: 500; /* Medium */
    font-size: 38px;
    line-height: 110.00000000000001%;
    letter-spacing: 0%;
}

.hero__text {
    font-family: 'Onest', sans-serif;
    font-weight: 400; /* Regular */
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0%;
    margin-bottom: 8px;
}

.hero__text p {
    margin-bottom: 0px;
}

.hero__heading {
    margin: 0px;
}

.hero__btn:hover {
    /* Добавьте эффект при наведении, например, небольшой сдвиг цвета */
background-color: #45a049;
    
}
/* Применяем градиент к секции */
.hero-section {
    background: linear-gradient(180deg, #1A428F 0%, #0D2272 100%);
    color: #fff; /* Устанавливаем белый цвет текста для читаемости на темном фоне */
    /* Добавьте необходимые паддинги для отступов */
}
/* ---- 1. СТРУКТУРА: Две колонки (50/50 или как вам нужно) ---- */
.hero-wrapper {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    min-height: 500px;
    gap: 70px;
}

/* ---- 2. ЛЕВАЯ КОЛОНКА: Синий фон + Градиент ---- */
.hero__left-content {
    color: #fff;
    box-sizing: border-box;
    max-width: 520px;
        margin-left: auto;
            display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ---- 3. ПРАВАЯ КОЛОНКА: Изображение ---- */
.hero__right-visual {
max-width: 50%;
    overflow: hidden;
}

.hero__visual-img {
    width: 100%;
    height: 100%;
    /* Гарантирует, что изображение заполнит контейнер, обрезая лишнее */
    object-fit: cover; 
    display: block;
}

/* ---- 4. АДАПТИВНОСТЬ (КРИТИЧНО для мобилки) ---- */
@media (max-width: 992px) {
    .hero-wrapper {
        flex-direction: column; /* Колонки выстраиваются вертикально */
    }
    
    .hero__left-content,
    .hero__right-visual {
        flex: 1 1 100%; /* Каждая занимает 100% ширины */
        padding: 30px 20px;
    }

    .hero__right-visual {
        height: 250px; /* Ограничиваем высоту картинки на мобилке */
        padding: 0;
    }
}

/* --- АДАПТАЦИЯ (Tablet / Mobile) --- */

/* Tablet */
@media (max-width: 992px) {
    .product-content-wrapper {
        padding-top: 0;
        flex-direction: column;
        gap: 20px;
    }
    
    .catalog-sidebar {
        width: 100%;
        order: -1; /* Выводим меню над контентом на мобильных/планшетах */
    }
    
    .product-top-info {
        flex-direction: column;
        gap: 20px;
    }
    
    .product-image-main, .product-form-box {
        width: 100%;
        max-width: none;
    }
    
    .product-form-box {
        padding: 0 12px 0 12px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .hero__right-visual {
        max-width: 100%;
    }
    
    .hero-wrapper {
        gap: 16px;
    }
    
    .hero__left-content {
        order: 1;
                margin-left: 0px;
    }
    
    
    .product-title {
        font-size: 28px;
    }
    
    .product-form-box {
        padding: 15px;
    }
    
    .catalog-sidebar.product-page {
        display:none;
    }
        .product-image-main {
            max-width: 60%;
        }
        .hero__btn {
            font-family: Onest;
font-weight: 500;
font-style: Medium;
font-size: 14px;
leading-trim: NONE;
line-height: 130%;
letter-spacing: 0%;
        padding-right: 53px;
        padding-left: 53px;
        }
        
        .siti-banner__content {
            padding-bottom: 41px;
        }
}

/* Иконка стрелочки */
/* --- СТИЛИ ДЛЯ КАРТИНКИ-ИКОНКИ --- */

.toggle-icon-img {
  width: 14px;
  height: 7px;
  transition: transform 0.3s ease;
  margin-left: 30px;
}

.category-item.active .toggle-icon-img {
  transform: rotate(180deg);
}

/* Подменю (скрыто по умолчанию) */
.submenu {
  list-style: square; /* Возвращаем стандартные круглые маркеры */
    margin: 0;
    /* Важно: добавляем отступ слева, чтобы маркеры были видны */
  padding-left: 30px !important;
  margin: 0;
  padding: 0;
  background-color: #f8f8f8; /* Фоновый цвет подменю */
  max-height: 0; /* Скрываем подменю */
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.submenu-item a {
    color: inherit; /* Текст наследует серый цвет от родительского LI */
    text-decoration: none;
}

.submenu-item.active {
    color: #2057A8;
    list-style-type: square;
    font-weight: normal;
}

.category-item.active .submenu {
  max-height: 500px; /* Показываем подменю (значение должно быть достаточно большим) */
  padding: 10px 0;
}

.submenu-item a {
  display: block;
  padding: 10px 20px 10px 0px; /* Отступы для вложенных пунктов */
  color: #555;
  text-decoration: none;
  font-size: 15px;
  transition: background-color 0.2s, color 0.2s;
}

.submenu-item a:hover {
  background-color: #e6f0ff;
  color: #0d2c60;
}

/* --- СЕТКА ТОВАРОВ (ПРАВАЯ ЧАСТЬ) --- */
.catalog-grid {
  flex: 1; /* Занимает оставшееся пространство */
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(250px, 1fr)
  ); /* 3-4 колонки */
  gap: 16px; /* Отступы между карточками */
}

.product-card {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  padding: 20px;
  text-align: center;
  transition: transform 0.2s, box-shadow 0.2s;
  padding-bottom: 35px;
  max-height: 195px;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.product-image {
  max-width: 100%;
  height: 150px; /* Фиксированная высота для изображений */
  object-fit: contain; /* Чтобы изображение полностью помещалось */
  margin-bottom: 15px;
}

.product-name {
  font-family: Onest;
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;
  text-align: center;
  color: rgba(0, 16, 46, 1);
  margin: 0;
}

/* Основной контейнер */
.callback-block {
  display: flex; /* Делаем контейнер Flex-контейнером */
  min-height: 450px; /* Минимальная высота, чтобы форма не была слишком сжата */
  background-color: #0d2c60; /* Фоновый цвет на случай, если форма не занимает всю высоту */
  margin-bottom: 0;
  margin-top: 160px;
}

/* Колонка с медиа (видео/изображение) */
.callback-media {
  flex: 1; /* Занимает половину места */
  position: relative;
  overflow: hidden;
  max-width: 50%;
}

.callback-image {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Обеспечивает заполнение контейнера без искажений */
  display: block;
}

/* Колонка с формой (синий фон) */
.callback-form-container {
  flex: 1; /* Занимает вторую половину места */
  background-color: #0d2c60; /* Насыщенный синий цвет фона */
  color: white;
  padding: 40px 56px 0 48px; /* Внутренние отступы */
  display: flex;
  flex-direction: column;
  max-width: 520px;
}

/* Заголовок и описание */
.form-title {
  font-family: Onest;
  font-weight: 500;
  font-style: Medium;
  font-size: 38px;
  leading-trim: NONE;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;
  margin-bottom: 12px;
  margin-top: 0;
}

.form-description {
  font-family: Onest;
  font-weight: 400;
  font-style: Regular;
  font-size: 18px;
  leading-trim: NONE;
  line-height: 140%;
  letter-spacing: 0%;
  opacity: 0.8;
  margin-bottom: 16px;
  margin-top: 0;
}

/* Элементы формы */
.callback-form {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Отступ между полями */
}

.form-input,
.form-textarea {
  max-width: 500px;
  width: 100%;
  padding: 12px 0;
  padding-left: 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px; /* Скругление углов */
  color: white;
  font-family: Onest;
  font-weight: 400;
  font-style: Regular;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 180%;
  letter-spacing: 0%;
  transition: background-color 0.3s;
  border-radius: 30px;
  border-width: 1px;
  opacity: 1;
}

/* Плейсхолдеры */
.form-input::placeholder,
.form-textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

/* Стилизация многострочного поля */
.form-textarea {
  resize: none; /* Запрет изменения размера пользователем */
  height: 100px; /* Фиксированная высота */
}

/* Кнопка */
.form-button {
  background: linear-gradient(180deg, #52cc73 28.37%, #169037 100%);

  border: none;
  color: white;
  padding: 15px 30px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  border-radius: 50px; /* Сильное скругление углов */
  cursor: pointer;
  transition: opacity 0.3s, transform 0.3s;
  margin-top: 10px;
}

.form-button:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.callback-block {
  max-width: 100%;
  border-radius: 0;
  justify-content: end;
}

/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 992px) {
  .catalog-content {
    flex-direction: column; /* Сайдбар сверху, карточки снизу */
  }

  .catalog-sidebar {
    flex: none;
    width: 100%; /* Сайдбар на всю ширину */
    padding: 0; /* Убираем горизонтальный паддинг */
  }

  .catalog-title {
    padding-left: 0; /* Заголовок без отступа */
    text-align: center;
  }
}

@media (max-width: 576px) {
  .catalog-grid {
/*     display: none; */
  }
  .equipment-catalog {
    margin-top: 24px;
    padding-left: 0;
    padding-right: 0;
  }
  
  .catalog-grid {
      grid-template-columns: unset;
      width: 100%;
  }
  .catalog-title {
    margin-top: 0;
    text-align: left;
    font-family: Onest;
    font-weight: 500;
    font-style: Medium;
    font-size: 28px;
    leading-trim: NONE;
    line-height: 105%;
    letter-spacing: -3%;
    margin-bottom: 24px;
    padding-left: 16px;
  }
  .catalog-sidebar {
    width: 100%;
    max-width: unset;
  }
  .callback-form-container {
    order: 1;
    padding-top: 16px;
    padding-left: 16px;
  }
  .callback-media {
    max-width: 100%;
  }
  .form-title {
    font-family: Onest;
    font-weight: 600;
    font-style: SemiBold;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 110.00000000000001%;
    letter-spacing: 0%;
  }
  .form-description {
    font-family: Onest;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0%;
  }
  .form-button {
    margin-bottom: 41px;
    padding: 18px 30px;
  }
}
