/* Блоки главной страницы 2026 (ТЗ «ГЛАВНАЯ», пункты 1–5).
   Подключается только на главной — template/index.php, после style3.css.

   Модули-потребители:
     .home-svc       — system/modules/home_services      (п.1 услуги)
     .home-trust-bar — system/modules/home_trust         (п.2 полоса преимуществ)
     .home-trust     — system/modules/home_trust         (п.2 бренды)
     .home-feed      — system/modules/articles_category/views/home_tabs.php (п.3 новости/статьи)
     .home-works     — system/modules/home_portfolio     (п.4 реализованные проекты)
     .home-map       — system/modules/home_map           (п.5 карта объектов)
   Категории каталога — штатный модуль catalog со своими .catalog_* из style.css;
   здесь только правки его шапки (в конце файла).

   ВАЖНО: стили и размеры взяты у ТЕКУЩЕГО сайта (style.css), а не у вёрстки verstka/ —
   она не внедрена, и новые блоки должны читаться как родные:
     радиус карточек      20px      (.catalog_item)
     крупный заголовок    40px/700 uppercase letter-spacing .03em   (.off_text-1)
     красная плашка       #FF2E47, радиус 10px                      (.catalog_text-2)
     фон секции           rgba(54,146,197,.05)                      (.buy, .catalog)
     стрелки слайдера     52px круг, border rgba(0,0,0,.2), hover #FF2E47   (.off_two .slick-arrow)
     карточка бренда      100px, радиус 20px, opacity .5 → 1 у активного    (.off_two a)

   Скоуп: у всех классов уникальные префиксы home-*, пересечений с монолитом нет,
   поэтому обёртка .v2 из docs/PORTING-VERSTKA.md §2B не нужна.

   Брейкпоинты — движка (1199 / 1023 / 767), НЕ вёрстки: блоки лежат внутри .c,
   а он меняет ширину именно на этих порогах (1200px → 990 → 750 → 100%/max-480).

   CLS: у всех <img> проставлены width/height; трекам Slick задан min-height + overflow:hidden,
   поэтому до инициализации слайды не разъезжаются колонкой и высота блока не меняется. */

/* ============================================================
   Общие примитивы в стилистике сайта
   ============================================================ */

.home-svc,
.home-trust,
.home-trust-bar,
.home-feed,
.home-works,
.home-map {
  font-family: "Gilroy", Arial, sans-serif;
  color: #000;
}

/* крупный заголовок секции — как .off_text-1 */
.home-svc__title,
.home-trust__title,
.home-works__title,
.home-map__title {
  margin: 0;
  font-weight: 700;
  font-size: 40px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.15;
}

/* красная плашка внутри заголовка */
.home-svc__title span,
.home-map__title span {
  display: inline-block;
  padding: 2px 16px;
  border-radius: 10px;
  background: #ff2e47;
  color: #fff;
  transform: rotate(-3deg);
}

/* стрелки слайдеров — как .off_two .slick-arrow.
   Стрелка рисуется ФОНОМ: инлайн-SVG внутрь кнопок не класть, иначе печатаются две. */
.home-trust__arrows,
.home-works__arrows {
  display: flex;
  gap: 18px;
  flex-shrink: 0;
}

.home-trust__arrow,
.home-works__arrow {
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 999px;
  background: #fff no-repeat 50%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='12' viewBox='0 0 24 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.5303 6.53033C23.8232 6.23744 23.8232 5.76256 23.5303 5.46967L18.7574 0.696699C18.4645 0.403806 17.9896 0.403806 17.6967 0.696699C17.4038 0.989593 17.4038 1.46447 17.6967 1.75736L21.9393 6L17.6967 10.2426C17.4038 10.5355 17.4038 11.0104 17.6967 11.3033C17.9896 11.5962 18.4645 11.5962 18.7574 11.3033L23.5303 6.53033ZM0 6.75H23V5.25H0V6.75Z' fill='black'/%3E%3C/svg%3E");
  font-size: 0;
  cursor: pointer;
  transition: border-color 0.3s;
}

.home-trust__arrow--prev,
.home-works__arrow--prev {
  transform: rotate(180deg);
}

.home-trust__arrow:hover,
.home-works__arrow:hover {
  border-color: #ff2e47;
}

.home-trust__arrow.slick-disabled,
.home-works__arrow.slick-disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* Slick: выравнивание слайдов по высоте */
.home-trust__brands-track .slick-track,
.home-works__track .slick-track {
  display: flex;
}

.home-trust__brands-track .slick-slide,
.home-works__track .slick-slide {
  height: auto;
}

.home-trust__brands-track .slick-slide > div,
.home-works__track .slick-slide > div {
  height: 100%;
}

/* ============================================================
   1. Блок услуг — .home-svc
      Карточка белая, акцент — тёмная плашка иконки.
      Две компоновки на выбор: --a (лесенка) и --b (витрина).
   ============================================================ */

.home-svc {
  padding: 48px 0 10px;
}

.home-svc__title {
  margin-bottom: 28px;
}

.home-svc__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* A — лесенка: 1 на две колонки сверху, 2–5 обычные, 6 полосой во всю ширину */
.home-svc--a .home-svc__card--1 {
  grid-column: span 2;
}
.home-svc--a .home-svc__card--6 {
  grid-column: span 3;
}

/* B — витрина: 1 высокая на два ряда слева, 2–5 сеткой 2×2, 6 полосой во всю ширину */
.home-svc--b .home-svc__card--1 {
  grid-row: span 2;
}
.home-svc--b .home-svc__card--6 {
  grid-column: span 3;
}

.home-svc__card {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-height: 212px; /* = высота .catalog_item, ритм совпадает с блоками сайта */
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition:
    border-color 0.3s,
    box-shadow 0.3s;
}

.home-svc__card:hover {
  border-color: transparent;
  box-shadow: 0 6px 26px rgba(0, 0, 0, 0.08);
}

.home-svc__card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

/* тёмная плашка иконки — единственное акцентное пятно карточки.
   filter делает белым любой значок, который выберут в админке (SVG или PNG). */
.home-svc__card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #2c2b40;
}

.home-svc__card-icon img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.home-svc__card-name {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: #2c2b40;
  text-decoration: none;
  transition: color 0.3s;
}

/* заголовок-ссылка растянут на всю карточку — кнопка «Подробнее» не нужна */
a.home-svc__card-name::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.home-svc__card:hover .home-svc__card-name {
  color: #ff2e47;
}

.home-svc__card-text {
  margin-top: 8px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.03em;
  color: #2c2b40;
  opacity: 0.8;
}

.home-svc__card-pic {
  flex-shrink: 0;
  align-self: flex-end;
  width: 200px;
  height: 170px;
  margin: 0 -8px -24px 0;
  object-fit: contain;
  object-position: bottom right;
  pointer-events: none;
}

/* карточка 1: в компоновке A — горизонтальная, в B — вертикальная колонка */
.home-svc--a .home-svc__card--1 .home-svc__card-name {
  font-size: 28px;
  text-transform: uppercase;
}
.home-svc--b .home-svc__card--1 {
  flex-direction: column;
  justify-content: flex-start;
}
.home-svc--b .home-svc__card--1 .home-svc__card-name {
  font-size: 26px;
  text-transform: uppercase;
}

.home-svc--b .home-svc__card--1 .home-svc__card-pic {
  align-self: center;
  width: 100%;
  max-width: 260px;
  height: auto;
  margin: auto 0 -24px;
}

/* карточка 6 — полоса во всю ширину: слева заголовок, справа подуслуги */
.home-svc__card--6 {
  align-items: center;
  min-height: 0;
  padding: 24px 28px;
}

.home-svc__card--6 .home-svc__card-body {
  flex-direction: row;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

.home-svc__card--6 .home-svc__card-icon {
  margin-bottom: 0;
}

.home-svc__card--6 .home-svc__card-name {
  font-size: 24px;
  text-transform: uppercase;
}

.home-svc__card--6 .home-svc__card-text {
  display: none;
}

.home-svc__card--6 .home-svc__card-pic {
  display: none;
}

.home-svc__subs {
  position: relative;
  z-index: 2; /* поверх растянутой ссылки заголовка */
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.home-svc__sub {
  padding: 10px 16px;
  border-radius: 999px;
  background: #f5f9fc;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.03em;
  color: #2c2b40;
  text-decoration: none;
  transition:
    color 0.3s,
    background 0.3s;
}

a.home-svc__sub:hover {
  background: #ff2e47;
  color: #fff;
}

/* ============================================================
   2a. Полоса преимуществ — .home-trust-bar
       Четыре равные колонки, фон на всю ширину экрана без скруглений.
   ============================================================ */

.home-trust-bar {
  margin-top: 48px;
  background: rgba(54, 146, 197, 0.05); /* = фон .buy на текущем сайте */
}

.home-trust-bar__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 26px 0;
}

.home-trust-bar__item {
  display: flex;
  align-items: center;
  min-width: 0;
}

.home-trust-bar__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #fff;
}

.home-trust-bar__icon img {
  width: 39px;
  height: 39px;
  object-fit: contain;
}

/* заголовок строго в одну строку, подпись под ним — иначе пункт расползается на 2–3 переноса */
.home-trust-bar__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding-left: 18px;
}

.home-trust-bar__name {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  white-space: nowrap;
}

.home-trust-bar__sub {
  font-weight: 600;
  font-size: 13px;
  line-height: 1.3;
  color: rgba(0, 0, 0, 0.5);
}

/* ============================================================
   2b. Бренды — .home-trust
   ============================================================ */

.home-trust {
  padding: 48px 0 60px;
}

/* заголовок слева, стрелки прижаты вправо и центрированы относительно него */
.home-trust__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

/* заголовок ровный: ничего внутри не выделяется */
.home-trust__title {
  color: #000;
}

/* слайдер уходит за правый край экрана — как .off_two на текущем сайте */
.home-trust__brands-track {
  width: calc(100% + 35px);
  min-height: 100px; /* держит место до инициализации Slick */
  overflow: hidden;
}

.home-trust__brands-track.slick-initialized {
  overflow: visible;
}
.home-trust__brands-track .slick-list {
  overflow: visible;
}

.home-trust__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 35px);
  height: 100px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  background: #fff;
  opacity: 0.5;
  transition:
    opacity 0.3s,
    border-color 0.3s;
}

.home-trust__brands-track .slick-active .home-trust__brand {
  opacity: 1;
}
.home-trust__brands-track .slick-active .home-trust__brand:hover {
  border-color: #ff2e47;
}

.home-trust__brand img {
  width: 115px;
  height: 60px;
  object-fit: contain;
}

/* ============================================================
   3. Новости и статьи — .home-feed  (1 крупная + 3 списком)
   ============================================================ */

.home-feed {
  padding: 48px 0;
  background: rgba(54, 146, 197, 0.05);
}

.home-feed__head {
  margin-bottom: 24px;
}

.home-feed__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}

/* вкладки — заголовки секции, но спокойнее прежнего: неактивная приглушена */
.home-feed__tab {
  padding: 0 0 5px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: none;
  font-family: inherit;
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.15;
  color: rgba(0, 0, 0, 0.35);
  cursor: pointer;
  transition:
    color 0.3s,
    border-color 0.3s;
}

.home-feed__tab:hover {
  color: rgba(0, 0, 0, 0.6);
}

.home-feed__tab.is-active {
  border-color: #ff2e47;
  color: #000;
}

.home-feed__panel {
  display: none;
}
.home-feed__panel.is-active {
  display: block;
}

.home-feed__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

.home-feed__date {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.03em;
  color: rgba(0, 0, 0, 0.5);
}

/* -- крупная карточка -- */

.home-feed__lead {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.home-feed__lead-pic {
  display: block;
  aspect-ratio: 16 / 9; /* держит место до загрузки — без скачка */
  background: #ecf3f9;
}

.home-feed__lead-pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}

.home-feed__lead:hover .home-feed__lead-pic img {
  transform: scale(1.03);
}

.home-feed__lead-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
}

.home-feed__lead-title {
  font-weight: 700;
  font-size: 21px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: #2c2b40;
  transition: color 0.3s;
}

.home-feed__lead:hover .home-feed__lead-title {
  color: #ff2e47;
}

.home-feed__lead-text {
  font-size: 14px;
  line-height: 1.45;
  color: #2c2b40;
  opacity: 0.8;
}

/* -- список из трёх -- */

.home-feed__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}

.home-feed__card {
  display: flex;
  gap: 14px;
  padding: 12px;
  border-radius: 20px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.home-feed__card-pic {
  display: block;
  width: 128px;
  flex-shrink: 0;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: 12px;
  background: #ecf3f9;
}

.home-feed__card-pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-feed__card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}

.home-feed__card-title {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.03em;
  line-height: 1.25;
  color: #2c2b40;
  transition: color 0.3s;
}

.home-feed__card:hover .home-feed__card-title {
  color: #ff2e47;
}

.home-feed__all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: auto;
  padding: 15px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  transition:
    border-color 0.3s,
    color 0.3s;
}

.home-feed__all:hover {
  border-color: #ff2e47;
  color: #ff2e47;
}

/* ============================================================
   4. Реализованные проекты — .home-works
   ============================================================ */

.home-works {
  padding: 60px 0 30px;
}

.home-works__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.home-works__head-right {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}

.home-works__all {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 15px 26px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition:
    border-color 0.3s,
    color 0.3s;
}

.home-works__all:hover {
  border-color: #ff2e47;
  color: #ff2e47;
}

.home-works__track {
  min-height: 360px;
  overflow: hidden;
}

.home-works__track .slick-list {
  margin: 0 -10px;
}
.home-works__slide {
  padding: 0 10px;
}

/* карточки одной высоты: название прижато к низу через margin-top:auto */
.home-works__card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Обёртка над движковым вью portfolio/views/desktop_images.php
   (.goods-2_item-pics + кнопки .b1..b5 и картинки .i1..i5, переключение на :hover — чистый CSS).
   Вью общий с разделом /portfolio и не правится: всё подгоняется здесь, в своём скоупе.
   CLS: высоту держит aspect-ratio у обёртки, картинки внутри position:absolute. */
.home-works__pics {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: 20px;
  background: #f5f9fc;
}

.home-works__pics .works_item-pics,
.home-works__pics .goods-2_item-pics {
  width: 100%;
  height: 100%;
  padding: 0; /* в монолите 10px сверху/снизу — внутри карточки не нужны */
  background: none;
}

/* разделительная линия монолита внутри скруглённой карточки лишняя */
.home-works__pics .goods-2_item-pics::after {
  display: none;
}

.home-works__pics img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; /* в монолите contain — в крупной карточке нужен именно cover */
}

/* бейджи над названием: тип парной читается раньше заголовка */
.home-works__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.home-works__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

.home-works__badge--360 {
  background: #eee;
  color: #2c2b40;
}

.home-works__badge--type {
  background: #eee;
  color: #2c2b40;
}

.home-works__badge--type img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.home-works__name {
  display: block;
  margin-top: 10px;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.03em;
  line-height: 1.25;
  color: #2c2b40;
  text-decoration: none;
  transition: color 0.3s;
}

.home-works__name:hover {
  color: #ff2e47;
}

/* ============================================================
   5. Карта объектов — .home-map
      Список, карта и легенда — одна белая панель.
   ============================================================ */

.home-map {
  padding: 60px 0 70px;
  background: rgba(54, 146, 197, 0.05);
}

.home-map__head {
  margin-bottom: 26px;
}

.home-map__subtitle {
  margin-top: 14px;
  max-width: 720px;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.45;
  color: #2c2b40;
  opacity: 0.8;
}

.home-map__panel {
  padding: 16px;
  border-radius: 20px;
  background: #fff;
}

/* список слева + карта справа — компоновка по референсу input/karta-1.jpg */
.home-map__row {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 16px;
  align-items: stretch;
}

.home-map__aside {
  display: flex;
  flex-direction: column;
  height: 560px; /* = высота карты, обе колонки одинаковые */
  min-width: 0;
}

.home-map__aside-count {
  padding: 6px 8px 14px;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  opacity: 0.5;
}

/* Скроллбар НЕ переопределяем: в style.css уже есть глобальное правило сайта
   (::-webkit-scrollbar 4px, трек #dce1e3, ползунок #3696c5 radius 999px), оно применяется и здесь.
   Не задавать scrollbar-width / scrollbar-color: при наличии этих стандартных свойств
   Chrome игнорирует ::-webkit-scrollbar и рисует системный скроллбар — толстый и со стрелками. */
.home-map__list {
  flex: 1;
  overflow-y: auto;
  padding-right: 6px;
}

.home-map__item {
  padding: 18px;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition:
    background 0.2s,
    border-color 0.2s;
}

.home-map__item + .home-map__item {
  margin-top: 10px;
}

.home-map__item:hover,
.home-map__item.is-active {
  border-color: transparent;
  background: #f5f9fc;
}

.home-map__item.is-active {
  box-shadow: inset 3px 0 0 #ff2e47;
}

.home-map__item:focus-visible {
  outline: 2px solid #3696c5;
  outline-offset: -2px;
}

.home-map__item-kind {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.45);
}

.home-map__item-kind img {
  width: 13px;
  height: 16px;
  object-fit: contain;
}

.home-map__item-name {
  margin-top: 9px;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
  color: #2c2b40;
}

.home-map__item-link {
  display: inline-block;
  margin-top: 12px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  color: #3696c5;
  text-decoration: none;
  border-bottom: 1px solid rgba(54, 146, 197, 0.3);
}

.home-map__item-link:hover {
  color: #ff2e47;
  border-color: rgba(255, 46, 71, 0.4);
}

.home-map__canvas {
  position: relative;
  height: 560px; /* задано до загрузки скрипта — карта не двигает страницу */
  overflow: hidden;
  border-radius: 14px;
  background: #ecf3f9;
}

.home-map__canvas.is-failed::after {
  content: "Карта временно недоступна";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: rgba(0, 0, 0, 0.5);
}

/* легенда — внутри той же панели, отделена линией */
.home-map__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.home-map__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.03em;
  color: rgba(0, 0, 0, 0.6);
}

.home-map__legend-item img {
  width: 16px;
  height: 20px;
  object-fit: contain;
}

/* -- две колонки под картой, центрированные друг относительно друга -- */

.home-map__footer {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 20px;
  margin-top: 30px;
  align-items: center;
}

.home-map__contacts-title {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

.home-map__contacts-body {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.5;
}

.home-map__contacts-body ul,
.home-map__note-body ul {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.home-map__contacts-body li,
.home-map__note-body li {
  position: relative;
  padding-left: 18px;
  margin-top: 10px;
}

.home-map__contacts-body li::before,
.home-map__note-body li::before {
  content: "–";
  position: absolute;
  left: 0;
  opacity: 0.5;
}

.home-map__contacts-body a {
  font-weight: 700;
  color: #3696c5;
  text-decoration: none;
}

.home-map__contacts-body a:hover {
  color: #ff2e47;
}

.home-map__note {
  padding: 28px 30px;
  border-radius: 20px;
  background: #fff;
}

.home-map__note-title {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.03em;
}

.home-map__note-body {
  font-size: 15px;
  line-height: 1.5;
  color: #2c2b40;
}

/* балун — рендерится Яндекс.Картами внутри своего контейнера */
.home-map__balloon {
  display: block;
  width: 240px;
  color: #000;
  text-decoration: none;
}

.home-map__balloon-pic {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 10px;
  border-radius: 12px;
  object-fit: cover;
}

.home-map__balloon-title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
}

a.home-map__balloon:hover .home-map__balloon-title {
  color: #ff2e47;
}

.home-map__balloon-kind {
  margin-top: 4px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.5);
}

.home-map__balloon-more {
  display: inline-block;
  margin-top: 10px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #3696c5;
}

/* ============================================================
   Штатный блок категорий (модуль catalog): шапка в одну строку
   ============================================================ */

.catalog_toper {
  flex: 1;
  min-width: 0;
}

.catalog .catalog_text-1 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 16px;
  margin: 0;
}

.catalog .catalog_text-2 {
  margin: 0;
  line-height: 43px;
}

.home-trust + .catalog {
  padding-top: 70px;
  padding-bottom: 100px;
}

/* ============================================================
   Адаптив — брейкпоинты движка (контейнер .c: 1200 → 990 → 750 → 100%)
   ============================================================ */

@media (max-width: 1199px) {
  .home-svc__title,
  .home-trust__title,
  .home-works__title,
  .home-map__title {
    font-size: 30px;
  }

  .home-feed__tab {
    font-size: 24px;
  }

  .home-svc__card {
    min-height: 190px;
    padding: 20px;
  }
  .home-svc__card-name {
    font-size: 19px;
  }
  .home-svc--a .home-svc__card--1 .home-svc__card-name,
  .home-svc--b .home-svc__card--1 .home-svc__card-name,
  .home-svc__card--6 .home-svc__card-name {
    font-size: 22px;
  }
  .home-svc__card-pic {
    width: 150px;
    height: 140px;
  }

  .home-trust-bar__icon {
    width: 62px;
    height: 62px;
  }
  .home-trust-bar__text {
    padding-left: 14px;
  }
  .home-trust-bar__name {
    font-size: 16px;
  }
  .home-trust-bar__sub {
    font-size: 12px;
  }

  .home-feed__lead-title {
    font-size: 19px;
  }
  .home-feed__card-pic {
    width: 112px;
  }

  .home-works__track {
    min-height: 320px;
  }

  .home-map__row,
  .home-map__footer {
    grid-template-columns: 300px 1fr;
  }

  .home-map__aside,
  .home-map__canvas {
    height: 500px;
  }
}

@media (max-width: 1023px) {
  .home-svc {
    padding-top: 32px;
  }

  .home-svc__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-svc--a .home-svc__card--1,
  .home-svc--a .home-svc__card--6,
  .home-svc--b .home-svc__card--6 {
    grid-column: span 2;
  }

  .home-svc--b .home-svc__card--1 {
    grid-row: auto;
  }

  .home-svc__card--6 {
    flex-wrap: wrap;
  }
  .home-svc__subs {
    justify-content: flex-start;
  }

  .home-trust-bar__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-trust__head {
    margin-bottom: 24px;
  }

  .home-feed__grid {
    grid-template-columns: 1fr;
  }
  .home-feed__lead-pic {
    aspect-ratio: 16 / 8;
  }

  .home-works__track {
    min-height: 300px;
  }

  /* карта: список уходит под карту и становится горизонтальной лентой */
  .home-map__row,
  .home-map__footer {
    grid-template-columns: 1fr;
  }

  .home-map__aside {
    height: auto;
    order: 2;
  }

  .home-map__list {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 0 6px;
  }

  .home-map__item {
    flex: 0 0 260px;
  }
  .home-map__item + .home-map__item {
    margin-top: 0;
  }

  .home-map__canvas {
    height: 440px;
    order: 1;
  }
}

@media (max-width: 767px) {
  .home-svc {
    padding: 26px 0 0;
  }
  .home-trust {
    padding: 30px 0 36px;
  }
  .home-trust-bar {
    margin-top: 30px;
  }
  .home-feed {
    padding: 30px 0;
  }
  .home-works {
    padding: 34px 0;
  }
  .home-map {
    padding: 34px 0 40px;
  }

  .home-svc__title,
  .home-trust__title,
  .home-works__title,
  .home-map__title {
    font-size: 22px;
  }

  .home-feed__tab {
    font-size: 20px;
  }

  .home-svc__title {
    margin-bottom: 18px;
  }

  .home-svc__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .home-svc--a .home-svc__card--1,
  .home-svc--a .home-svc__card--6,
  .home-svc--b .home-svc__card--6 {
    grid-column: span 1;
  }

  .home-svc__card {
    min-height: 0;
    padding: 16px;
  }

  .home-svc__card-icon,
  .home-svc__card--6 .home-svc__card-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
  }

  .home-svc__card--6 .home-svc__card-icon {
    margin-bottom: 0;
  }

  .home-svc__card-icon img {
    width: 24px;
    height: 24px;
  }

  .home-svc__card-name,
  .home-svc--a .home-svc__card--1 .home-svc__card-name,
  .home-svc--b .home-svc__card--1 .home-svc__card-name,
  .home-svc__card--6 .home-svc__card-name {
    font-size: 18px;
  }

  /* на узком экране картинка карточки только мешает тексту */
  .home-svc__card-pic,
  .home-svc--b .home-svc__card--1 .home-svc__card-pic {
    display: none;
  }

  .home-svc__card--6 {
    padding: 16px;
  }
  .home-svc__card--6 .home-svc__card-body {
    margin-bottom: 14px;
  }
  .home-svc__sub {
    padding: 8px 13px;
    font-size: 13px;
  }

  .home-trust-bar__items {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0;
  }
  .home-trust-bar__icon {
    width: 53px;
    height: 53px;
  }
  .home-trust-bar__icon img {
    width: 28px;
    height: 28px;
  }
  .home-trust-bar__name {
    font-size: 16px;
  }

  /* стрелки на мобиле не нужны — листается свайпом (arrows:false в настройках Slick) */
  .home-trust__arrows,
  .home-works__arrows {
    display: none;
  }

  .home-trust__brands-track {
    width: calc(100% + 20px);
    min-height: 84px;
  }
  .home-trust__brand {
    width: calc(100% - 20px);
    height: 84px;
  }
  .home-trust__brand img {
    width: 96px;
    height: 48px;
  }

  .home-feed__tabs {
    gap: 14px;
  }
  .home-feed__lead-body {
    padding: 14px;
  }
  .home-feed__lead-title {
    font-size: 17px;
  }
  .home-feed__lead-text {
    display: none;
  }

  .home-feed__card {
    padding: 10px;
    gap: 12px;
  }
  .home-feed__card-pic {
    width: 100px;
    border-radius: 10px;
  }
  .home-feed__card-title {
    font-size: 14px;
  }

  .home-feed__all {
    padding: 13px;
    font-size: 13px;
  }

  .home-works__track {
    min-height: 260px;
  }
  .home-works__name {
    font-size: 17px;
  }
  .home-works__all {
    padding: 12px 18px;
    font-size: 13px;
  }

  .home-map__subtitle {
    font-size: 15px;
    margin-top: 10px;
  }
  .home-map__panel {
    padding: 10px;
  }
  .home-map__canvas {
    height: 340px;
  }
  .home-map__item {
    flex-basis: 220px;
    padding: 14px;
  }

  .home-map__note {
    padding: 20px;
  }
  .home-map__contacts-title,
  .home-map__note-title {
    font-size: 18px;
  }

  .home-map__legend {
    gap: 8px 16px;
  }
  .home-map__legend-item {
    font-size: 13px;
  }
}
