/* Секция на всю ширину страницы — выходит за пределы родительского .container.
   Метод margin: calc(50% - 50vw) надёжнее, чем left:50% + margin-left:-50vw,
   так как корректно работает внутри bootstrap-колонок с горизонтальным padding. */
.home-info-blocks--full {
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box;
  padding: 30px 0;
}

/* Основной контент секции (сетка / модуль / общий текст) на ширину окна, шире внутреннего .container */
.home-info-blocks .dh-blocks-content-bleed {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

/* Внутренний контейнер секции и оверлей (статические правила, динамика — в сгенерированном файле) */
.home-info-blocks .dh-blocks-inner {
  position: relative;
  z-index: 1;
}
.home-info-blocks .dh-blocks-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

/* Иконка баннера: размер по умолчанию (переопределяется в сгенерированном CSS при заданной ширине) */
.home-info-blocks .home-banner__icon {
  width: 55px;
  height: auto;
}

/* Параллакс: отключаем fixed на мобильных для производительности */
@media (max-width: 767px) {
  .home-info-blocks.dh-blocks-parallax {
    background-attachment: scroll !important;
  }
}

/* Весь текст в блоке белый, включая заголовки */
.dh-blocks-text-white,
.dh-blocks-text-white * {
  color: #fff !important;
}
.dh-blocks-text-white .heading,
.dh-blocks-text-white h1,
.dh-blocks-text-white h2,
.dh-blocks-text-white h3,
.dh-blocks-text-white h4,
.dh-blocks-text-white .sub-heading,
.dh-blocks-text-white .home-banner__text-1,
.dh-blocks-text-white .home-banner__title {
  color: #fff !important;
}
.dh-blocks-text-white a {
  color: rgba(255, 255, 255, 0.9) !important;
}
.dh-blocks-text-white a:hover {
  color: #fff !important;
}

/* Режим: иконка слева — горизонтальный зазор только через gap на .home-banner__item (настройка модуля).
   Сбрасываем margin/padding темы (home-banner.css), иначе они суммируются с gap. */
.home-info-blocks .home-banner__item.home-banner__item--icon-left {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 30px;
}
.home-info-blocks .home-banner__item--icon-left .home-banner__icon-wrapper,
.home-info-blocks .home-banner__item--icon-left .home-banner__icon {
  flex-shrink: 0;
  margin-right: 0 !important;
}
.home-info-blocks .home-banner__item--icon-left:not(.home-banner__faq) .home-banner__text {
  min-width: 0;
  padding-left: 0 !important;
}

/* Режим: иконка сверху */
.home-info-blocks .home-banner__item.home-banner__item--icon-top {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
}
.home-info-blocks .home-banner__item--icon-top .home-banner__icon-wrapper,
.home-info-blocks .home-banner__item--icon-top .home-banner__icon {
  margin-bottom: 10px;
  margin-right: 0;
}
.home-info-blocks .home-banner__item--icon-top .home-banner__text {
  padding-left: 0 !important;
}

/* FAQ / аккордеон: оформление в стиле «вопрос — ответ» */
.home-info-blocks .home-banner__faq {
  cursor: pointer;
  margin-bottom: 10px;
  border-radius: 0;
  transition: background-color 0.2s ease;
}
.home-info-blocks .home-banner__faq:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.home-info-blocks .home-banner__faq.faq-active {
  background-color: rgba(0, 0, 0, 0.02);
  border-radius: 10px;
}
.home-info-blocks .home-banner__faq .home-banner__text {
  width: 100%;
  background: #fafafa;
  border-radius: 10px;
  padding: 15px;
}
.home-info-blocks .home-banner__faq .home-banner__text-1 {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin: 0;
}
.home-info-blocks .home-banner__faq .faq-toggle-icon {
  flex-shrink: 0;
  contain-intrinsic-block-size: auto 100px;
  font-size: 0.8em;
  color: rgba(0, 0, 0, 0.4);
  transition: transform 0.2s ease;
}
.home-info-blocks .home-banner__faq.faq-active .faq-toggle-icon {
  transform: rotate(-180deg);
  color: rgba(0, 0, 0, 0.6);
}
.home-info-blocks .home-banner__faq .home-banner__spoiler-text {
  display: none !important;
  padding-top: 10px;
}
.home-info-blocks .home-banner__faq.faq-active .home-banner__spoiler-text {
  display: block !important;
}
.home-info-blocks .home-banner__faq .home-banner__spoiler-text .home-banner__text-inner {
  font-weight: normal;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.75);
  font-size: 0.95em;
}
/* Убираем псевдоэлемент :after с карточки у пунктов FAQ */
.home-info-blocks .home-banner__faq:after {
  display: none !important;
}
/* FAQ на тёмном фоне (секция с белым текстом) */
.dh-blocks-text-white .home-banner__faq:hover,
.dh-blocks-text-white .home-banner__faq.faq-active {
  background-color: rgba(255, 255, 255, 0.06);
}
.dh-blocks-text-white .home-banner__faq .faq-toggle-icon {
  color: rgba(255, 255, 255, 0.6);
}
.dh-blocks-text-white .home-banner__faq.faq-active .faq-toggle-icon {
  color: rgba(255, 255, 255, 0.9);
}
.dh-blocks-text-white .home-banner__faq .home-banner__spoiler-text .home-banner__text-inner {
  color: rgba(255, 255, 255, 0.85);
}
