/* Страницы услуг (Generalne Wykonawstwo / Kompleksowe Prace) —
   каталог, фильтры и пагинация переиспользуются из pages/realizacje.css,
   карточка — компонент projects-showcase__card. НОВОЕ здесь: короткий хиро
   с хлебными крошками (Figma 141:7455 / 141:8011) и сервисный вариант
   карточки без категории с фото 308px. */

.hero--service {
  height: 588px;
}

.service-hero__head {
  position: absolute;
  z-index: 2;
  left: 88px;
  top: 274px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.service-hero__crumbs {
  display: flex;
  align-items: center;
  gap: 12px;
}

.service-hero__crumb {
  margin: 0;
  font-family: var(--font-display);
  font-size: 13px;
  line-height: 20px;
  letter-spacing: -0.52px;
  text-transform: uppercase;
  color: var(--color-light-700);
  white-space: nowrap;
}

.service-hero__crumb--current {
  font-weight: 600;
  color: var(--color-light-1000);
}

a.service-hero__crumb {
  transition: color 0.2s ease;
}

a.service-hero__crumb:hover,
a.service-hero__crumb:focus-visible {
  color: var(--color-light-1000);
}

.service-hero__crumbs img {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
}

/* Типографика — готовый .text-h1; тут позиционирование и светлая 1-я строка */
.service-hero__title {
  position: relative;
  margin: 0;
  color: var(--color-light-1000);
}

.service-hero__title-thin {
  display: block;
  font-weight: 400;
}

.service-hero__underline {
  position: absolute;
  z-index: 1;
  top: 434.86px;
  height: 19.135px;
  background: var(--color-light-400);
}

/* Сервисная карточка: без категории, фото 308px (Figma 141:7621) */
.realizacje-catalog--service {
  padding-top: 64px;
}

.realizacje-catalog--service .projects-showcase__card-photo {
  flex: none;
  height: 308px;
}

@media (max-width: 767px) {
  /* Контент каталога — 16px от начала блока (десктопный padding-top: 64px
     этого модификатора иначе перебивает мобильный слой realizacje.css) */
  .realizacje-catalog--service {
    padding-top: 16px;
  }

  .realizacje-catalog--service .projects-showcase__card-photo {
    height: 221px;
  }

  .realizacje-catalog--service .realizacje-catalog__grid {
    gap: 16px;
  }
}

/* ============ Mobile ≤767px — хиро услуг (Figma 292:4977) ============ */
@media (max-width: 767px) {
  .hero--service {
    height: 515px;
  }

  .service-hero__head {
    left: 16px;
    right: 16px;
    top: 328px;
    gap: 12px;
  }

  .service-hero__title {
    font-size: 32px;
    line-height: 32px;
    letter-spacing: -2.24px;
    white-space: normal;
  }

  /* Подчёркивание: значения из ноды; !important — перебиваем инлайновые
     десктопные координаты left/width */
  .service-hero__underline {
    left: 15.16px !important;
    width: 248.449px !important;
    top: 409.01px;
    background: var(--color-light-200);
  }

  /* KP: полоска под третьим словом заголовка на всю его ширину —
     рисуем её от самого слова (span), абсолютный div прячем */
  .hero--service:has(.service-hero__title-word) .service-hero__underline {
    display: none;
  }

  .service-hero__title-word {
    position: relative;
    display: inline-block;
    z-index: 0;
  }

  .service-hero__title-word::after {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 17px;
    height: 19.135px;
    background: var(--color-light-200);
  }
}

/* ============ Кросс-промо второй услуги (Figma 307:1963 / 307:2002) ============ */
.service-promo {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: -48px;
  /* 896px всего: по 48 сверху и снизу съедают нахлёсты соседних блоков —
     видимой части остаётся 800 */
  min-height: 896px;
  justify-content: center;
  padding: 112px 88px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  background: var(--color-dark-1100);
}

.service-promo__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-promo__scrim {
  position: absolute;
  inset: 0;
  background: var(--color-dark-500);
}

.service-promo__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}

.service-promo__title {
  margin: 0;
  max-width: 1035.733px;
  color: var(--color-light-1000);
}

.service-promo__title-thin {
  display: block;
  font-weight: 400;
}

.service-promo__text {
  margin: 0;
  max-width: 639.041px;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.72px;
  color: var(--color-light-1000);
}

.service-promo .news__cta {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .service-promo {
    margin-top: -34px;
    min-height: 736px;
    padding: 80px 16px;
    gap: 32px;
  }

  .service-promo__content {
    gap: 16px;
  }

  .service-promo__title {
    max-width: 343px;
    font-size: 32px;
    line-height: 32px;
    letter-spacing: -2.24px;
  }

  .service-promo__text {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -0.72px;
  }
}
