/* Клиника жизни — дополнения для шаблонов NetCat: шапка и подвал сайта.
   kz.css — копия bundle.css дизайн-системы, правок в нём нет. Здесь только то, чего в нём нет:
   выпадающие меню, бургер и мобильная панель, кнопка города, ссылки подвала, «Рейтинг сети» в ночной теме.
   Значения — только из tokens.css. Подключается после kz.css. */

/* Старая шапка была fixed, и styles.css резервировал под неё место: main { margin-top: 240px } и ступени в media.
   Новая шапка идёт в потоке, резерв не нужен. main.main сильнее и main, и main.shifted. */
main.main { margin-top: 0; }
/* Внутренние страницы начинаются с блока «крошки + H1» без собственного верхнего отступа: он жил в резерве main. */
main.main > .page-top { padding-top: var(--space-6); }

/* ——— Шапка ——— */
.kz-header { position: relative; z-index: 50; }
.kz-header__top > * { min-width: 0; }
.kz-header__logo img { max-width: none; }
.kz-header__phone a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Город — кнопка выбора города (popup-city), в тексте выглядит как подчёркнутая часть адреса */
.kz-header__city, .kz-footer__city { padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-align: left; cursor: pointer; text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.kz-header__city:hover, .kz-footer__city:hover { text-decoration-color: currentColor; }

.kz-header a:focus-visible, .kz-header button:focus-visible,
.kz-footer a:focus-visible, .kz-footer button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* Бургер: на ширине до 980px вместо меню и адреса */
.kz-header__burger { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: transparent; color: var(--ink); cursor: pointer; transition: border-color .15s ease-out; }
.kz-header__burger:hover { border-color: var(--ink); }
.kz-header__burger-close { display: none; }
.kz-header__burger[aria-expanded="true"] .kz-header__burger-open { display: none; }
.kz-header__burger[aria-expanded="true"] .kz-header__burger-close { display: block; }

/* Меню: пункты и кнопки раскрытия одной высоты и вида */
.kz-header__nav { flex-wrap: wrap; row-gap: var(--space-3); }
.kz-header__menu { flex-wrap: wrap; gap: var(--space-1) var(--space-5); }
.kz-header__menu > a, .kz-menu__toggle { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: 0; border: 0; background: none; color: var(--ink-muted); font: 500 15px/20px var(--font-text); text-decoration: none; cursor: pointer; }
.kz-header__menu > a:hover, .kz-header__menu > a[aria-current], .kz-menu__toggle:hover, .kz-menu__item.is-open > .kz-menu__toggle { color: var(--ink); }
.kz-menu__toggle--services { color: var(--ink); }
.kz-menu__chev { transition: transform .15s ease-out; }
.kz-menu__item.is-open > .kz-menu__toggle .kz-menu__chev { transform: rotate(180deg); }
.kz-menu__toggle--services .kz-menu__chev { display: none; }

/* Выпадающие панели: «Услуги» — на всю ширину шапки, «О клинике» — карточка под пунктом */
.kz-menu__item { position: relative; }
.kz-menu__item--wide { position: static; }
.kz-menu__drop { display: none; position: absolute; z-index: 60; }
.kz-menu__item.is-open > .kz-menu__drop { display: block; }
.kz-menu__drop--services { top: calc(100% + 1px); left: 0; right: 0; background: var(--surface-raised); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-card); }
.kz-menu__drop-inner { display: grid; gap: var(--space-4); padding-top: var(--space-5); padding-bottom: var(--space-6); }
.kz-menu__tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.kz-menu__tab { min-height: 44px; padding: 0 var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: transparent; color: var(--ink); font: 600 15px/20px var(--font-text); cursor: pointer; transition: background-color .15s ease-out, border-color .15s ease-out; }
.kz-menu__tab:hover { border-color: var(--ink); }
.kz-menu__tab.is-active { border-color: var(--primary); background: var(--primary); color: var(--on-primary); }
.kz-menu__list { margin: 0; padding: 0; list-style: none; }
.kz-menu__list--cols { display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
.kz-menu__list--cols.is-active { display: grid; }
.kz-menu__list--cols li { border-bottom: 1px solid var(--line); }
.kz-header__menu .kz-menu__list a { display: flex; align-items: center; min-height: 44px; padding: var(--space-2) 0; color: var(--ink); font: 500 17px/24px var(--font-text); }
.kz-header__menu .kz-menu__list a:hover { text-decoration: underline; text-underline-offset: 4px; }
.kz-menu__drop--card { top: calc(100% + var(--space-2)); left: calc(-1 * var(--space-3)); min-width: 260px; padding: var(--space-2); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.kz-header__menu .kz-menu__drop--card .kz-menu__list a { padding: 0 var(--space-3); border-radius: var(--radius-sm); font-size: 16px; }
.kz-header__menu .kz-menu__drop--card .kz-menu__list a:hover { background: var(--surface-tint); text-decoration: none; }

/* Мессенджеры и кнопки */
.kz-header__actions { flex-wrap: wrap; justify-content: flex-end; }
.kz-header__chips { display: flex; align-items: center; gap: var(--space-2); }
.kz-header__mobile-info { display: none; }

@media (max-width: 980px) {
  /* Шапка остаётся на экране: телефон и бургер под рукой при прокрутке (в старой вёрстке шапка была fixed) */
  .kz-header { position: sticky; top: 0; z-index: 100; }
  .kz-header--open { max-height: 100vh; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
  .kz-header__top { grid-template-columns: 1fr auto auto; }
  .kz-header__phone a { display: flex; align-items: center; justify-content: flex-end; min-height: 44px; }
  .kz-header__burger { display: inline-flex; }

  /* Панель под бургером: меню, адрес и лицензия, кнопки, мессенджеры — друг под другом */
  .kz-header--open .kz-header__nav { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: var(--space-5); padding-top: var(--space-4); padding-bottom: var(--space-6); }
  .kz-header__menu { flex: none; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; }
  .kz-header__menu > a, .kz-menu__toggle { width: 100%; min-height: 52px; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 17px; }
  .kz-menu__toggle--services { justify-content: flex-start; }
  .kz-menu__toggle--services .kz-menu__chev { display: block; margin-left: auto; }

  /* Раскрытые разделы идут внутри панели, а не поверх страницы */
  .kz-menu__drop { position: static; }
  .kz-menu__drop--services, .kz-menu__drop--card { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .kz-menu__drop .kz-wrap { padding-left: 0; padding-right: 0; }
  .kz-menu__drop-inner { padding-top: var(--space-3); padding-bottom: var(--space-4); }
  .kz-menu__list--cols { grid-template-columns: 1fr; }

  .kz-header__mobile-info { display: grid; gap: var(--space-4); }
  .kz-header__mobile-info .kz-header__info { display: flex; }
  .kz-header__actions { flex-direction: column; align-items: stretch; flex-wrap: nowrap; }
  .kz-header__actions .kz-btn { width: 100%; }
  .kz-header__chips { order: 2; }
}

/* Планшет в альбомной ориентации: меню и кнопки в одну строку, не перенося «Контакты» */
@media (min-width: 981px) and (max-width: 1100px) {
  .kz-header__nav { column-gap: var(--space-4); }
  .kz-header__menu { column-gap: var(--space-4); }
  .kz-header__actions .kz-btn { padding: 0 var(--space-3); }
}
@media (min-width: 981px) and (max-width: 1040px) {
  .kz-header__nav, .kz-header__menu { column-gap: var(--space-3); }
}

/* Узкие телефоны: логотип, телефон и бургер делят одну строку, поэтому ужимаем зазоры, шрифт телефона
   и логотип, а на 350px и уже телефон уходит во вторую строку */
@media (max-width: 420px) {
  .kz-header__top { gap: var(--space-2); }
  .kz-header__slogan { white-space: nowrap; }
  .kz-header__phone a { font-size: 15px; }
}
@media (max-width: 400px) {
  .kz-header__slogan { margin-left: 0; }
}
@media (max-width: 380px) {
  .kz-header__logo img { height: 24px; }
}
@media (max-width: 350px) {
  .kz-header__top { grid-template-columns: 1fr auto; }
  .kz-header__logo { grid-column: 1; grid-row: 1; }
  .kz-header__burger { grid-column: 2; grid-row: 1; }
  .kz-header__phone { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  .kz-header__phone a { justify-content: flex-start; }
}

/* ——— Подвал ——— */
.kz-footer__phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.kz-footer__val a, .kz-footer__legal a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.kz-footer__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (pointer: coarse) {
  .kz-footer__links { gap: 0; }
  .kz-footer__links a { display: flex; align-items: center; min-height: 44px; }
}

/* «Рейтинг сети»: разметка и текст прежние, вид — ночной (старые цвета styles.css светлые) */
.kz-footer .network-rating { margin: var(--space-6) 0 0; padding: var(--space-5); gap: var(--space-4) var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-raised); color: var(--ink); }
.kz-footer .network-rating__label { margin: 0; font: 500 20px/26px var(--font-display); letter-spacing: -.02em; }
.kz-footer .network-rating__source { color: var(--ink-muted); font-size: 14px; line-height: 20px; }
.kz-footer .network-rating__score { font: 500 32px/36px var(--font-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.kz-footer .network-rating__score > span:first-child { color: var(--lamp-text); }
.kz-footer .network-rating__scale { color: var(--ink-muted); font: 400 16px/24px var(--font-text); letter-spacing: 0; }
.kz-footer .network-rating__link { color: var(--link); text-underline-offset: 4px; }
.kz-footer .kz-footer__legal { padding-top: var(--space-6); }

@media (prefers-reduced-motion: reduce) { .kz-header__burger, .kz-menu__chev, .kz-menu__tab { transition: none; } }

/* ——— Первый экран услуги ——— */
/* Фото остаётся справа; текст целиком на плотном scrim даже у длинного лида. */
.kz-hero .kz-hero__img { left: auto; width: 58%; }
.kz-hero .kz-hero__scrim { background: linear-gradient(90deg, var(--surface) 0%, var(--scrim) 60%, var(--scrim-clear) 100%); }
.kz-hero .kz-hero__title { text-transform: none; overflow-wrap: break-word; }
.kz-hero .kz-hero__lead { text-align: left; }
.kz-hero__trail { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-2); margin: 0; padding: 0; list-style: none; }
.kz-hero__trail li { display: inline; }
.kz-hero__trail li + li::before { content: "/"; margin-right: var(--space-2); }
.kz-hero__trail a { display: inline-flex; align-items: center; min-height: 44px; }
.kz-hero__trail a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.kz-hero__trail a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.kz-hero .kz-live { max-width: 100%; }
.kz-hero .kz-live__dot { flex: none; }
.kz-hero__status time[hidden] { display: none; }
/* Прежняя разметка преимуществ для услуг без Word-блока. */
.kz-hero-benefits .intro-7__row { display: block; }
.kz-hero-benefits .intro-7__right { width: 100%; }

@media (max-width: 760px) {
  .kz-hero .kz-hero__img { width: 100%; }
  .kz-hero .kz-hero__scrim { background: var(--scrim); }
  .kz-hero .kz-wrap { padding-left: var(--space-4); padding-right: var(--space-4); }
  .kz-hero .kz-hero__lead { font-size: 17px; line-height: 27px; }
  .kz-hero .kz-hero__actions { gap: var(--space-2); }
  /* Одна и та же кнопка: в потоке на десктопе, закреплена снизу на телефоне. */
  .kz-hero .kz-hero__call { position: fixed; z-index: 110; left: var(--space-4); right: var(--space-4); bottom: calc(var(--space-3) + env(safe-area-inset-bottom, 0px)); width: auto; margin: 0; }
  body.kz-service-call, body:has(.kz-hero__call) { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  html:has(.kz-hero__call) { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  /* В открытом меню и попапах кнопка не перекрывает управляющие элементы. */
  body:has(.kz-header--open) .kz-hero__call, body:has(.popup.active) .kz-hero__call { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .kz-hero .kz-live__dot::after { animation: none; } }

/* ——— Почему нам доверяют ——— */
/* Разметка Word из общей редакции сохраняется целиком, включая data-docx-*. */
.kz-trust.docx-literal .docx-benefits h2 { margin: 0 0 var(--space-5); color: var(--ink); font: 500 24px/30px var(--font-display); letter-spacing: -.02em; text-transform: none; }
.kz-trust .docx-benefits ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4) var(--space-5); margin: 0; padding: 0; list-style: none; }
.kz-trust .docx-benefits li { display: block; position: relative; min-width: 0; margin: 0; padding: var(--space-4) 0 0 calc(20px + var(--space-3)); border-top: 1px solid var(--line-strong); color: var(--ink); font: 500 16px/24px var(--font-text); overflow-wrap: break-word; }
.kz-trust .docx-benefits li::before { content: ""; position: absolute; left: 0; top: calc(var(--space-4) + 2px); width: 20px; height: 20px; margin: 0; border-radius: 0; background: var(--lamp-text); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m20 6-11 11-5-5' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 980px) { .kz-trust .docx-benefits ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .kz-trust .kz-wrap { padding-left: var(--space-4); padding-right: var(--space-4); }
  .kz-trust .docx-benefits ul { grid-template-columns: minmax(0, 1fr); }
}

/* ——— Содержание страницы и проверяющая ——— */
.kz-service-article .kz-contents-wrap { grid-template-columns: minmax(0, 1fr) 340px; }
.kz-service-article__main, .kz-service-article aside { min-width: 0; }
.kz-service-article .kz-h2 { margin: 0 0 var(--space-6); text-transform: none; }
.kz-service-article .kz-rich { overflow-wrap: anywhere; }
.kz-service-article .kz-rich:empty { display: none; }
.kz-service-article .kz-contents__item > summary > :is(h2, h3) { min-width: 0; margin: 0; color: var(--ink); font: 500 22px/28px var(--font-display); letter-spacing: -.015em; text-transform: none; overflow-wrap: anywhere; }
.kz-service-article .kz-contents__item > summary { grid-template-columns: 40px minmax(0, 1fr) 44px; }
.kz-service-article .kz-contents__body { padding-left: calc(40px + var(--space-4)); }
.kz-service-article .kz-contents__item[open] .kz-contents__mark { transform: none; }
.kz-service-article .kz-contents__item[open] .kz-contents__mark .kz-icon { transform: rotate(45deg); }
.kz-service-article .kz-rich :is(b, strong) { font-weight: 600; }
.kz-service-article .kz-rich :is(ul, ol) { text-align: left; }
.kz-service-article .kz-cross { margin-top: var(--space-6); }
.kz-service-article .kz-cross__title { overflow-wrap: anywhere; }
.kz-service-article .kz-notice { margin-top: var(--space-6); }
.kz-service-article .docx-disclaimer { margin: 0; font: inherit; color: inherit; }
.kz-service-article .kz-article__who { grid-template-columns: 64px minmax(0, 1fr); gap: var(--space-3); }
.kz-service-article .kz-article__photo { width: 64px; height: 80px; }
.kz-service-article .kz-article__review { margin: 0 0 var(--space-1); color: var(--ink-muted); font: 400 13px/18px var(--font-text); }
.kz-service-article .kz-article__name { display: block; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.kz-service-article .kz-article__name:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (max-width: 980px) { .kz-service-article .kz-contents-wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  .kz-service-article .kz-contents__item > summary { grid-template-columns: minmax(0, 1fr) 44px; gap: var(--space-3); }
  .kz-service-article .kz-contents__item > summary > :is(h2, h3) { font-size: 19px; line-height: 26px; }
  .kz-service-article .kz-contents__body { padding-left: 0; }
  .kz-service-article .kz-cross { gap: var(--space-3); padding: var(--space-4); }
  .kz-service-article .kz-cross__title { font-size: 22px; line-height: 28px; }
  .kz-service-article .kz-cross__go { width: 44px; height: 44px; }
}

/* ——— Цены, вопросы и звонок ——— */
/* Общие услуги и выбор направления: только существующие услуги и тарифы. */
.kz-direction__list { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.kz-direction__item { min-width: 0; padding: var(--space-5); border: 1px solid var(--line-strong); border-radius: var(--radius-md); }
.kz-direction__link { display: block; min-height: 44px; color: var(--link); font: 500 24px/32px var(--font-display); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.kz-direction__link:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.kz-direction__prices { list-style: none; margin: var(--space-4) 0 0; padding: 0; }
.kz-direction__prices li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-4); padding: var(--space-3) 0; border-top: 1px solid var(--line); color: var(--ink-muted); }
.kz-direction__prices span { flex: 1 1 180px; overflow-wrap: anywhere; }
.kz-direction__prices strong { white-space: nowrap; color: var(--ink); font-weight: 500; }
.kz-service-benefits .docx-benefits > :is(h2,h3) { color: var(--ink); font: 500 24px/32px var(--font-display); margin-bottom: var(--space-5); }
.kz-service-article .kz-rich img { max-width: 100%; height: auto; }
.kz-service-article .kz-rich table { width: 100%; table-layout: fixed; overflow-wrap: anywhere; }
.kz-service-article .kz-rich :is(p, li) { overflow-wrap: anywhere; }
.kz-service-article .kz-contents-wrap:not(:has(aside)) { grid-template-columns: minmax(0, 1fr); max-width: 960px; }
.kz-service-article .kz-contents-wrap:not(:has(aside)) .kz-rich { max-width: 72ch; }
@media (max-width: 760px) {
  .kz-direction__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kz-direction__item { padding: var(--space-4); }
  .kz-direction__link { font-size: 21px; line-height: 29px; }
}
.kz-service-prices .kz-h2, .kz-service-faq .kz-h2 { margin: 0 0 var(--space-6); text-transform: none; }
.kz-service-prices .kz-prices { padding-top: var(--space-5); }
.kz-service-prices .kz-prices__row { margin-left: 0; margin-right: 0; }
.kz-service-prices .kz-prices__name { min-width: 0; overflow-wrap: anywhere; }
.kz-service-prices .kz-prices__price { font-size: 32px; line-height: 40px; }
.kz-service-faq .kz-faq > summary { color: var(--ink); }
.kz-service-faq .kz-faq > summary > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.kz-service-faq .kz-faq[open] .kz-faq__mark { transform: none; }
.kz-service-faq .kz-faq[open] .kz-faq__mark .kz-icon { transform: rotate(45deg); }
.kz-service-faq .kz-faq__answer { max-width: 72ch; overflow-wrap: anywhere; text-align: left; }
.kz-service-contact .kz-call__col { min-width: 0; }
.kz-service-contact .kz-call__main, .kz-service-contact .kz-call__side { min-width: 0; }
.kz-service-contact .kz-call__title { text-transform: none; overflow-wrap: anywhere; }
.kz-service-contact .kz-call__text { text-align: left; }
.kz-service-contact .kz-call__img { object-position: center; }
.kz-service-contact .kz-call__phone { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.kz-service-contact .kz-live { flex-wrap: nowrap; gap: var(--space-2); max-width: 100%; height: auto; padding-top: var(--space-2); padding-bottom: var(--space-2); }
.kz-service-contact .kz-live__dot, .kz-service-contact .kz-live__time { flex: none; }
.kz-service-contact .kz-live__time { white-space: nowrap; }
.kz-service-contact .kz-live__label { min-width: 0; overflow-wrap: anywhere; }
.kz-call__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; max-width: 320px; }
.kz-call__chips .kz-chip { justify-content: center; min-width: 0; min-height: 44px; padding: var(--space-2) var(--space-4); }
.kz-call__chips .kz-icon { flex: none; }
.kz-service-contact a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (max-width: 760px) {
  .kz-service-prices .kz-wrap, .kz-service-faq .kz-wrap, .kz-service-contact .kz-wrap { padding-left: var(--space-4); padding-right: var(--space-4); }
  .kz-service-prices .kz-prices { padding: var(--space-4); }
  .kz-service-prices .kz-prices__row { flex-direction: column; align-items: flex-start; gap: var(--space-2); margin: 0; padding: var(--space-4) 0; }
  .kz-service-prices .kz-prices__price { font-size: 28px; line-height: 36px; }
  .kz-service-faq .kz-faq > summary { gap: var(--space-3); font-size: 19px; line-height: 26px; }
  .kz-service-contact .kz-call__phone { font-size: 28px; line-height: 36px; letter-spacing: -.04em; }
  /* На телефоне остаётся закреплённая кнопка PhotoHero и номер в CallBlock. */
  .kz-service-contact .kz-call__button { display: none; }
}

/* ——— Цены услуги: слева пояснение и звонок, справа тарифы сети ——— */
.kz-price-block { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--space-7); align-items: start; }
.kz-price-block__lead { min-width: 0; }
.kz-service-price-block .kz-h2 { margin: var(--space-3) 0 0; text-transform: none; overflow-wrap: anywhere; text-wrap: balance; }
.kz-price-block__text { margin: var(--space-4) 0 var(--space-6); max-width: 460px; color: var(--ink-muted); font-size: 18px; line-height: 29px; }
.kz-price-block .kz-prices { min-width: 0; }
.kz-price-block .kz-prices__name { min-width: 0; overflow-wrap: anywhere; }
.kz-price-block .kz-prices__list { margin: 0 calc(-1 * var(--space-3)); }
.kz-price-block .kz-prices__row { margin: 0; }
.kz-price-block .kz-prices__price { font: 500 24px/28px var(--font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.kz-prices--solo { padding: var(--space-6); }
.kz-prices__solo { margin: 0; }
.kz-prices__from { display: block; color: var(--ink-muted); font: 400 14px/20px var(--font-text); }
.kz-prices__amount { display: block; font: 400 56px/60px var(--font-display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kz-prices__where { margin: var(--space-2) 0 0; color: var(--ink-muted); font-size: 16px; line-height: 24px; }
.kz-prices--solo .kz-prices__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--line); }
@media (max-width: 980px) {
  .kz-price-block { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .kz-price-block__text { margin-bottom: var(--space-5); max-width: none; }
}
@media (max-width: 760px) {
  .kz-price-block__lead .kz-btn { display: flex; width: 100%; }
  .kz-price-block .kz-prices { padding: var(--space-2) var(--space-4) var(--space-4); }
  .kz-price-block .kz-prices--solo { padding: var(--space-5) var(--space-4); }
  .kz-price-block .kz-prices__row { flex-direction: column; align-items: flex-start; gap: var(--space-1); }
}
@media (max-width: 420px) {
  .kz-prices__amount { font-size: 44px; line-height: 48px; }
}

/* ——— Смежные услуги: карточки ServiceCard после блока цен, сетка 3 → 2 → 1 ——— */
.kz-service-price-block + .kz-service-related .kz-page-sec { padding-top: 0; }
.kz-service-related .kz-h2 { margin: 0 0 var(--space-6); text-transform: none; overflow-wrap: anywhere; }
.kz-related { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.kz-related__item { min-width: 0; margin: 0; padding: 0; }
.kz-related__item::before { content: none; }
.kz-related .kz-service { min-width: 0; }
.kz-related .kz-service__title { color: var(--ink); text-transform: none; overflow-wrap: anywhere; text-wrap: balance; }
.kz-related .kz-service__text { overflow-wrap: anywhere; }
.kz-related .kz-service__cost { min-width: 0; }
.kz-related .kz-service__go .kz-icon { width: 20px; height: 20px; }
@media (max-width: 980px) {
  .kz-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .kz-related { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kz-related .kz-service { padding: var(--space-5); }
  .kz-related .kz-service__title { font-size: 22px; line-height: 28px; }
  .kz-related .kz-service__price { font-size: 34px; line-height: 38px; }
}

/* ——— Цены на посадочных выключены: в карточке смежной услуги остаётся одна стрелка — она прижата вправо ——— */
.kz-related .kz-service__go { margin-left: auto; }
