/* Оформление шаблона cms по макету «Битрикс». Общие блоки и адаптив — real-estate.css / industry.css. */
body.cms-page:has(.re-hero):not(.header_is_minim) {
  .navbar_top {
    color: #1c1c1c;
    background: #fff;
  }

  .search-head-link:not(:hover) {
    filter: none;
    border-color: #d5d5d5;
    color: #1c1c1c;
  }

  .navbar_top > .container-fluid > .btn_hd_calc:not(:hover) {
    border-color: #d5d5d5 !important;
    color: #1c1c1c !important;
  }

  .navbar-toggler:not(:hover) .nav-icon span {
    background: #1c1c1c;
  }
}

.cms-page {
  .cms-hero {
    min-height: 0;
    padding: 177px 0 0;
    background: #fff;
    color: #1c1c1c;
  }

  .cms-hero__intro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .cms-hero .re-hero__desc {
    max-width: none;
  }

  .cms-hero .re-hero__desc p + p {
    margin-top: 33px;
  }

  .cms-hero .re-hero__btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    margin-top: 48px;
  }

  .cms-hero .re-hero__btn {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .cms-hero .re-hero__btn--tg {
    border-color: #d5d5d5;
    background: #fff;
    color: #1c1c1c !important;
  }

  .cms-hero .re-hero__btn--tg:hover {
    border-color: var(--red);
    background: var(--red);
    color: #fff !important;
  }

  .cms-hero__media {
    margin-top: 120px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }

  .cms-hero__media img,
  .cms-hero__media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .re-sites,
  .ind-cases {
    padding: 120px 0;
  }

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

  .re-cases__title {
    max-width: 1120px;
  }

  .re-audit__desc {
    max-width: 690px;
  }

  .re-tasks,
  .cms-integrations,
  .cms-approaches {
    padding: 105px 0 110px;
  }

  .re-tasks__title,
  .re-task__text .re-text,
  .re-work__title,
  .re-structure__title {
    max-width: none;
  }

  .re-task__text {
    min-width: 0;
  }

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

  .cms-integrations,
  .cms-approaches {
    margin: 0;
  }

  .cms-integrations {
    background: var(--re-gray);
  }

  .re-structure__title {
    line-height: 1.1;
    letter-spacing: normal;
  }

  .cms-approaches .re-structure__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .cms-approaches .re-str-card__img {
    aspect-ratio: 744 / 480;
  }

  .cms-approaches .re-str-card__text {
    gap: 10px;
  }

  .cms-cost .re-cost__title {
    margin-bottom: 20px;
  }

  .cms-cost .re-cost__item {
    grid-template-columns: 32% 1fr 32%;
  }

  .cms-cost .re-cost__item-val {
    white-space: normal;
  }

  .re-offer--secondary {
    width: calc(100% - 160px);
  }

  .re-tgask__panel {
    padding-inline: 0;
  }

  .re-tgask__content {
    max-width: 657px;
  }

  .re-tgask__title {
    max-width: 593px;
  }

  .re-tgask__img {
    width: 449px;
    max-width: 35.6%;
    right: 148px;
    aspect-ratio: 449 / 504;
  }

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

  .cms-work {
    padding: 110px 0;
    background: #fff;
  }

  .cms-work .re-work__title {
    padding: 0;
    margin-bottom: 60px;
  }

  .cms-work__list {
    display: grid;
    gap: 60px;
  }

  .cms-work__stage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 32px;
  }

  .cms-work .re-work__group-stage {
    margin: 0 0 5px;
  }

  .cms-work__description {
    margin-top: 10px;
    color: #303035;
  }

  .cms-work__description ul {
    margin: 0;
    padding-left: 1.15em;
  }

  .cms-work__image {
    aspect-ratio: 744 / 400;
    overflow: hidden;
    background: var(--re-gray);
  }

  .cms-work__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .cms-brief {
    padding: 110px 0 120px;
    margin: 0;
  }

  .cms-brief .re-offer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .cms-brief .re-offer__img {
    translate: none;
  }

  .re-offer__inner:not(:has(.re-offer__img)),
  .re-audit__inner:not(:has(.re-audit__media)),
  .cms-work__stage:not(:has(.cms-work__image)) {
    grid-template-columns: 1fr;
  }

  .cms-brief__form .you-know-todo__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px 32px;
  }

  .cms-brief__form input[name="contact"] {
    grid-column: 1 / -1;
    width: 100%;
  }

  .cms-brief__form .submit-button {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 356px;
    margin-top: 15px;
  }

  .re-accordion__head:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 5px;
  }
}

@media (min-width: 992px) and (max-width: 1350px) {
  .cms-page .cms-hero .re-hero__btns {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .cms-page .re-tgask__content {
    max-width: 55%;
  }

  .cms-page .re-tgask__img {
    right: 0;
  }
}

@media (max-width: 991px) {
  .cms-page {
    .cms-hero {
      padding-top: 110px;
    }

    .cms-hero__intro,
    .cms-work__stage,
    .cms-brief .re-offer__inner {
      grid-template-columns: 1fr;
      gap: 28px;
    }

    .cms-hero .re-hero__btns {
      gap: 15px;
      margin-top: 30px;
    }

    .cms-hero__media {
      margin-top: 50px;
    }

    .re-sites,
    .ind-cases,
    .re-tasks,
    .cms-integrations,
    .cms-approaches,
    .cms-work {
      padding: 50px 0;
    }

    .re-cases__head,
    .cms-work .re-work__title {
      margin-bottom: 35px;
    }

    .cms-section-note {
      margin-top: 35px;
    }

    .cms-cost .re-cost__item {
      grid-template-columns: 1fr;
    }

    .re-offer--secondary {
      width: calc(100% - 36px);
    }

    .re-tgask__content {
      max-width: none;
    }

    .re-tgask__img {
      right: auto;
      width: 100%;
      max-width: 449px;
      margin-inline: auto;
    }

    .cms-work__list {
      gap: 40px;
    }

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

    .cms-brief {
      padding: 35px 0 50px;
    }

    .cms-brief__form .you-know-todo__form {
      gap: 15px;
    }
  }
}

@media (max-width: 767px) {
  .cms-page .cms-hero .re-hero__btns {
    grid-template-columns: 1fr;
  }

  .cms-page .cms-hero .re-hero__btn--tg {
    font-size: 15px;
  }
}

@media (max-width: 575px) {
  .cms-page {
    .cms-approaches .re-structure__list,
    .cms-brief__form .you-know-todo__form {
      grid-template-columns: 1fr;
    }

    .cms-brief__form .you-know-todo__input {
      width: 100%;
      min-width: 0;
    }
  }
}

/* Общая тема задаёт минимум 340px; меню CMS помещается и на экранах 320px. */
@media (max-width: 339px) {
  body.cms-page,
  .cms-page .navbar-collapse.right {
    min-width: 320px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cms-page .re-accordion__head,
  .cms-page .re-accordion__body {
    transition: none;
  }
}

/* Отличия блоков Tilda: преимущества, четыре ограничения и шесть настроек запуска. */
/* Отзывы после формы расчёта стоимости: отступ только у этой пары блоков Tilda. */
.tilda-page .re-offer--secondary + .re-reviews {
  padding-top: 120px;
}

@media (max-width: 991px) {
  .tilda-page .re-offer--secondary + .re-reviews {
    padding-top: 50px;
  }
}

.tilda-page .tilda-benefits {
  background: var(--re-gray);
}

.tilda-page .tilda-limits {
  background: #fff;
}

/* Между соседними белыми секциями достаточно нижнего отступа блока подходов. */
.tilda-page .cms-approaches + .tilda-limits {
  padding-top: 0;
}

.tilda-page .tilda-limits .re-structure__list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 992px) {
  .tilda-page .tilda-setup .re-tasks__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .tilda-page .tilda-limits .re-structure__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .tilda-page .tilda-limits .re-structure__list {
    grid-template-columns: 1fr;
  }
}
