/* Общие мобильные отступы «Недвижимости», «Отрасли», CMS и Tilda.
   Подключается после дополнений шаблонов, чтобы они не меняли интервалы. */
@media (max-width: 991px) {
  body.dsgn_v2 main:has(.re-hero) {
    /* Заголовок → текст: 12px. У первого экрана кнопки имеют свой отступ. */
    .re-hero__content {
      gap: 0;
    }

    .re-hero__title + .re-hero__desc {
      margin-top: 12px;
    }

    .cms-hero__intro,
    .re-site__text,
    .re-task__text,
    .re-str-card__text {
      gap: 12px;
    }

    .re-str-card__text .re-subtitle {
      margin-bottom: 0;
    }

    .re-audit__title,
    .re-offer__title,
    .re-tgask__title,
    .re-h2:has(+ .ind-lead),
    .re-cases__head:has(+ .ind-lead) {
      margin-bottom: 12px;
    }

    .cms-work__description {
      margin-top: 12px;
    }

    .re-cost__item {
      row-gap: 12px;
    }

    .re-accordion__item.active {
      .re-accordion__head {
        padding-bottom: 12px;
      }

      .re-accordion__body {
        margin-top: 0;
      }
    }

    /* Абзацы из редактора не должны увеличивать внешние отступы текста. */
    :is(.re-hero__desc, .ind-lead, .re-audit__desc, .re-offer__desc,
        .re-tgask__desc, .re-text, .re-cost__item-desc, .cms-work__description) {
      > :first-child {
        margin-top: 0;
      }

      > :last-child {
        margin-bottom: 0;
      }
    }

    /* Текст → карточки, форма, кнопки или иллюстрация: 35px. */
    .ind-lead,
    .re-tgask__desc {
      margin-bottom: 35px;
    }

    /* У списка портфолио есть общий padding-top: 60px; здесь отступ уже задан подводкой. */
    .ind-cases .works-list {
      padding-top: 0;
    }

    .re-hero__btns,
    .re-audit__form,
    .re-offer__form,
    .cms-hero__media {
      margin-top: 35px;
    }

    .cms-work__stage,
    .re-offer__inner {
      row-gap: 35px;
    }

    .cms-section-note {
      margin-bottom: 0;
    }

    /* У тарифов верхний padding первой строки входит в отступ до контента. */
    .re-cost__title:not(:has(+ .ind-lead)) {
      margin-bottom: 35px;
    }

    .re-cost__item:first-child {
      padding-top: 0;
    }

    /* Вертикальные отступы секций: 60px. */
    .re-sites,
    .re-cases,
    .re-tasks,
    .re-audit,
    .re-work,
    .re-faq,
    .cms-integrations,
    .cms-approaches,
    .cms-brief {
      margin-block: 0;
      padding-block: 60px;
    }

    .re-reviews {
      margin-bottom: 60px;
    }

    .re-structure:not(.cms-integrations, .cms-approaches) {
      margin-bottom: 60px;
    }

    .re-tempo {
      margin-top: 60px;
      padding-bottom: 60px;
    }

    .cms-tempo {
      padding-bottom: 0;
    }

    .re-cost {
      /* 314px компенсируют наезд следующего блока КП, ещё 60px — отступ. */
      padding-block: 60px calc(314px + 60px);
    }

    .ind-cost--solo {
      padding-bottom: 60px;
    }

    .re-offer {
      padding-bottom: 60px;
    }

    .re-offer__img {
      margin-top: 0;
    }

    .re-tgask__panel {
      padding-top: 60px;
    }

    .re-tgask__panel:not(:has(.re-tgask__img)) {
      padding-bottom: 60px;
    }

    /* Соседние белые блоки используют один отступ, без сложения padding. */
    :is(.re-sites, .re-cases, .re-tasks:not(.tilda-benefits, .cms-tempo), .cms-approaches, .tilda-limits, .cms-work)
      + :is(.re-sites, .re-cases, .re-tasks:not(.tilda-benefits), .cms-approaches, .tilda-limits, .cms-work) {
      padding-top: 0;
    }

    .re-reviews + :is(.re-tasks:not(.tilda-benefits), .cms-approaches, .cms-work) {
      padding-top: 0;
    }

    .re-offer--secondary + .re-reviews {
      padding-top: 60px;
    }
  }
}
