/* ============================================================
 * service-legacy.css
 *
 * Переопределения для legacy-шаблона страницы услуги.
 * Цель: Inter-шрифт как на главной, сокращённые отступы,
 * современные кнопки. Не трогаем тексты — только форматирование.
 *
 * Порядок загрузки: после profmed-main (Битрикс) и theme-enhance.
 * ============================================================ */

/* ── 0. CSS-переменные страницы услуги (legacy) ──────────── */
:root {
    --slp-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --slp-text: #2b3a52;
    --slp-navy: #102e5d;
    --slp-blue: #1e87fa;
    --slp-muted: #5b6b86;
    --slp-border: #dce8f5;
    --slp-bg: #f3f7fd;
    --slp-radius: 12px;
}

/* ── 1. ШРИФТ: все div/p/span/li в legacy-секциях → Inter ── */
/* (body p,li,a,span,h* уже накрыты !important в theme-enhance,
    но Битрикс имеет div-классы с явным font-family — добиваем их) */
.breadcrumbs, .breadcrumbs__item, .breadcrumbs a,
.intro__sub-title, .intro__title, .intro__list, .intro__list-item,
.intro__btn,
.advantage-item__title, .advantage-item__text,
.min-clear__title, .min-clear__item-sub-title, .min-clear__item-title, .min-clear__item-desc,
.post-treatment__left h1, .post-treatment__left h2,
.post-treatment__left p, .post-treatment__left ul, .post-treatment__left li,
.post-treatment__right__top-heading, .post-treatment__right__top-subheading,
.post-treatment__right__top-link span,
.post-treatment__right__bottom-heading,
.prices__title, .prices__item-title, .prices__text, .prices__list-title,
.prices__list-item, .prices__price, .prices__link span, .prices__link-more span,
.head-doctor__right__heading, .head-doctor__right__name, .head-doctor__right__description,
.head-doctor__list__item-number, .head-doctor__list__item-text,
.team__title, .team__desc, .team__post, .team__name, .team__experience,
.team__link-more span,
.rooms__item-title, .rooms__sub-title, .rooms__list-item,
.title-box__title,
.treatment__article-list__item-right-subtitle,
.treatment__article-list__item-right-title,
.treatment__article-list__item-right-description,
.treatment__article-list__item-right-author-name,
.treatment__article-list__item-right-author-post,
.intro__card-review-author, .intro__card-review-description,
.intro__card-review-link span,
.map__sub-title, .map__title, .map__desc,
.map__contacts-title span, .map__contacts-text,
.map__contacts-text a {
    font-family: var(--slp-font) !important;
    -webkit-font-smoothing: antialiased !important;
}

/* ── 2. ХЛЕБНЫЕ КРОШКИ ─────────────────────────────────── */
.breadcrumbs {
    padding: 16px 0 !important;
    font-size: 13px !important;
    color: var(--slp-muted) !important;
}
.breadcrumbs a { color: var(--slp-blue) !important; text-decoration: none !important; }
.breadcrumbs__item.active { color: var(--slp-text) !important; }

/* ── 3. INTRO-СЕКЦИЯ (hero услуги) ─────────────────────── */
section.intro {
    padding-top:    0   !important;
    padding-bottom: 0   !important;
    margin:         0   !important;
}
section.intro > .container,
section.intro .container { padding-top: 0 !important; padding-bottom: 0 !important; }

.intro__sub-title {
    font-size:   13px  !important;
    font-weight: 600   !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}
.intro__title {
    font-size:   clamp(26px, 3.5vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
    color: var(--slp-navy) !important;
    margin-bottom: 18px !important;
}
.intro__list-item {
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: var(--slp-text) !important;
}

/* Кнопки hero услуги */
.intro__btn.button.popup-request,
button.intro__btn.button.popup-request {
    display:        inline-flex !important;
    align-items:    center !important;
    justify-content: center !important;
    min-height:     48px !important;
    padding:        0 24px !important;
    background:     var(--slp-blue) !important;
    color:          #fff !important;
    border:         none !important;
    border-radius:  10px !important;
    font-family:    var(--slp-font) !important;
    font-size:      15px !important;
    font-weight:    600 !important;
    cursor:         pointer !important;
    box-shadow:     0 4px 14px rgba(30,135,250,.28) !important;
    transition:     background .15s !important;
    text-decoration: none !important;
}
.intro__btn.button.popup-request:hover { background: #1772d8 !important; }

.intro__btn.button--secondary,
a.intro__btn.button--secondary {
    display:        inline-flex !important;
    align-items:    center !important;
    justify-content: center !important;
    min-height:     48px !important;
    padding:        0 22px !important;
    background:     #fff !important;
    color:          var(--slp-navy) !important;
    border:         1.5px solid var(--slp-border) !important;
    border-radius:  10px !important;
    font-family:    var(--slp-font) !important;
    font-size:      15px !important;
    font-weight:    600 !important;
    text-decoration: none !important;
    cursor:         pointer !important;
    transition:     border-color .15s, color .15s !important;
}
.intro__btn.button--secondary:hover { border-color: var(--slp-blue) !important; color: var(--slp-blue) !important; }

/* ── 4. ПРЕИМУЩЕСТВА под hero ───────────────────────────── */
.intro-advantages {
    padding-top:    24px !important;
    padding-bottom: 24px !important;
    margin:         0 !important;
}
.intro-advantages > .container,
.intro-advantages .intro-advantages__wrapper {
    padding-top: 0 !important; padding-bottom: 0 !important;
}
.advantage-item__title {
    font-size:   15px !important;
    font-weight: 700 !important;
    color:       var(--slp-navy) !important;
    margin-bottom: 6px !important;
}
.advantage-item__text {
    font-size:   14px !important;
    line-height: 1.5 !important;
    color:       var(--slp-muted) !important;
    margin:      0 !important;
}

/* ── 5. min-clear (что входит в детоксикацию) ────────────── */
section.min-clear {
    padding-top: 32px !important; padding-bottom: 32px !important; margin: 0 !important;
}
section.min-clear > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
h2.min-clear__title {
    font-size:   clamp(20px, 2.2vw, 28px) !important;
    font-weight: 700 !important;
    color:       var(--slp-navy) !important;
    margin-bottom: 24px !important;
}
.min-clear__item-title {
    font-size:   16px !important;
    font-weight: 700 !important;
    color:       var(--slp-navy) !important;
    margin: 8px 0 4px !important;
}
.min-clear__item-desc {
    font-size:   14px !important;
    line-height: 1.55 !important;
    color:       var(--slp-muted) !important;
}

/* ── 6. POST-TREATMENT (основной текст + сайдбар) ─────────── */
section.post-treatment {
    padding-top: 32px !important; padding-bottom: 32px !important; margin: 0 !important;
}
section.post-treatment > .container { padding-top: 0 !important; padding-bottom: 0 !important; }

.post-treatment__left h2 {
    font-size:   clamp(18px, 2vw, 24px) !important;
    font-weight: 700 !important;
    color:       var(--slp-navy) !important;
    margin: 28px 0 12px !important;
}
.post-treatment__left h2:first-child { margin-top: 0 !important; }
.post-treatment__left p,
.post-treatment__left li {
    font-size:   15px !important;
    line-height: 1.65 !important;
    color:       var(--slp-text) !important;
    margin-bottom: .85em !important;
}
.post-treatment__left .blue { font-weight: 400 !important; color: var(--slp-blue) !important; }
.post-treatment__left b,
.post-treatment__left strong { font-weight: 600 !important; color: var(--slp-navy) !important; }

/* Сайдбар */
.post-treatment__right__top-heading {
    font-size:   15px !important; font-weight: 600 !important; color: var(--slp-navy) !important;
    margin-bottom: 8px !important;
}
.post-treatment__right__top-subheading {
    font-size: 13px !important; color: var(--slp-muted) !important; margin-bottom: 10px !important;
}
.post-treatment__right__top-link span {
    font-size: 15px !important; font-weight: 600 !important; color: var(--slp-blue) !important;
}
.post-treatment__right__bottom-heading {
    font-size: 13px !important; color: var(--slp-muted) !important;
    margin-bottom: 12px !important; margin-top: 16px !important;
}

/* ── 7. PRICES ──────────────────────────────────────────── */
section.prices {
    padding-top: 36px !important; padding-bottom: 36px !important; margin: 0 !important;
}
section.prices > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
section.prices .container { padding-top: 0 !important; padding-bottom: 0 !important; }

.prices__title {
    font-size:   clamp(20px, 2.2vw, 28px) !important;
    font-weight: 700 !important;
    color:       var(--slp-navy) !important;
    margin-bottom: 0 !important;
}
.prices__item-title {
    font-size: 16px !important; font-weight: 600 !important; color: var(--slp-navy) !important;
}
.prices__text,
.prices__text p { font-size: 14px !important; line-height: 1.55 !important; color: var(--slp-muted) !important; }
.prices__list-title { font-size: 13px !important; font-weight: 600 !important; color: var(--slp-muted) !important; }
.prices__list-item  { font-size: 14px !important; color: var(--slp-text) !important; }
.price { font-size: 18px !important; font-weight: 700 !important; color: var(--slp-blue) !important; }

/* ── 8. HEAD-DOCTOR ────────────────────────────────────── */
section.head-doctor {
    padding-top: 36px !important; padding-bottom: 36px !important; margin: 0 !important;
}
section.head-doctor > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
.head-doctor__right__heading { font-size: 13px !important; color: var(--slp-muted) !important; }
.head-doctor__right__name { font-size: clamp(22px, 2.2vw, 30px) !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.head-doctor__right__description,
.head-doctor__right__description p { font-size: 15px !important; line-height: 1.6 !important; color: var(--slp-text) !important; }
.head-doctor__list__item-number { font-size: 28px !important; font-weight: 700 !important; color: var(--slp-blue) !important; }
.head-doctor__list__item-text   { font-size: 13px !important; color: var(--slp-muted) !important; }

/* ── 9. TEAM ────────────────────────────────────────────── */
section.team {
    padding-top: 36px !important; padding-bottom: 36px !important; margin: 0 !important;
}
section.team > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
h2.team__title { font-size: clamp(20px, 2.2vw, 28px) !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.team__desc    { font-size: 15px !important; line-height: 1.55 !important; color: var(--slp-muted) !important; }
.team__post    { font-size: 12px !important; color: var(--slp-blue) !important; text-transform: uppercase; letter-spacing: .04em; }
.team__name    { font-size: 15px !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.team__experience { font-size: 13px !important; color: var(--slp-muted) !important; }

/* ── 10. ROOMS ──────────────────────────────────────────── */
section.rooms {
    padding-top: 36px !important; padding-bottom: 36px !important; margin: 0 !important;
}
section.rooms > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
h2.rooms__title   { font-size: clamp(20px, 2.2vw, 28px) !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.rooms__item-title { font-size: 17px !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.rooms__sub-title  { font-size: 14px !important; color: var(--slp-muted) !important; }
.rooms__list-item  { font-size: 14px !important; line-height: 1.5 !important; color: var(--slp-text) !important; }

/* ── 11. STORIES (Наши истории) ────────────────────────── */
section.treatment {
    padding-top: 36px !important; padding-bottom: 36px !important; margin: 0 !important;
}
section.treatment > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
.title-box__title { font-size: clamp(20px, 2.2vw, 28px) !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.treatment__article-list__item-right-subtitle { font-size: 12px !important; text-transform: uppercase; letter-spacing: .05em; color: var(--slp-blue) !important; }
.treatment__article-list__item-right-title    { font-size: 17px !important; font-weight: 700 !important; color: var(--slp-navy) !important; }
.treatment__article-list__item-right-description,
.treatment__article-list__item-right-description p { font-size: 14px !important; line-height: 1.6 !important; color: var(--slp-muted) !important; }
.treatment__article-list__item-right-author-name { font-size: 13px !important; font-weight: 600 !important; color: var(--slp-navy) !important; }
.treatment__article-list__item-right-author-post { font-size: 12px !important; color: var(--slp-muted) !important; }

/* ── 12. ОТЗЫВЫ ─────────────────────────────────────────── */
section.intro {
    padding-top: 36px !important; padding-bottom: 36px !important; margin: 0 !important;
}
/* intro используется и как hero и как блок отзывов —
   выше intro-hero уже убрали padding; для отзывов без .intro__slider нужен padding */
section.intro:not(:has(.intro__slider)) {
    padding-top: 36px !important; padding-bottom: 36px !important;
}
.intro__card-review-author      { font-size: 14px !important; font-weight: 600 !important; color: var(--slp-navy) !important; }
.intro__card-review-description,
.intro__card-review-description p { font-size: 14px !important; line-height: 1.6 !important; color: var(--slp-muted) !important; }

/* ── 13. КАРТА ──────────────────────────────────────────── */
section.map {
    padding-top: 40px !important; padding-bottom: 48px !important; margin: 0 !important;
}
section.map > .container { padding-top: 0 !important; padding-bottom: 0 !important; }
.map__sub-title { font-size: 13px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .05em; color: var(--slp-blue) !important; }
.map__title     { font-size: clamp(20px, 2.2vw, 28px) !important; font-weight: 700 !important; color: var(--slp-navy) !important; margin-bottom: 12px !important; }
.map__desc      { font-size: 15px !important; line-height: 1.6 !important; color: var(--slp-muted) !important; margin-bottom: 20px !important; }
.map__contacts-title span { font-size: 13px !important; font-weight: 600 !important; color: var(--slp-muted) !important; }
.map__contacts-text,
.map__contacts-text a { font-size: 15px !important; color: var(--slp-text) !important; font-weight: 500 !important; }

/* ── 14. Новый шаблон .srv-page: убедимся что Inter применён ── */
.srv-page,
.srv-page p,
.srv-page li,
.srv-page span,
.srv-page a,
.srv-page button,
.srv-page div {
    font-family: var(--slp-font) !important;
}

/* ================================================================
 * ПРАВКИ v2 — кнопки, список, инфо-полоса, цены
 * ================================================================ */

/* ── 1. КНОПКИ HERO — сильнее-специфичный override ────────────
 * Битрикс может ставить height:70px на .button или section.intro
 * через одноимённые классы. Бьём через .intro__btn-group + !important
 * и явно сбрасываем height/line-height/padding.
 * ──────────────────────────────────────────────────────────────── */
.intro__btn-group .intro__btn,
.intro__text-content .intro__btn,
.intro__text-block   .intro__btn,
section.intro        .intro__btn,
.intro__btn {
    display:         inline-flex  !important;
    align-items:     center       !important;
    justify-content: center       !important;
    height:          auto         !important;   /* сброс фиксированной высоты Битрикса */
    min-height:      48px         !important;
    max-height:      none         !important;
    line-height:     1.2          !important;
    padding:         12px 24px    !important;
    border-radius:   10px         !important;   /* вместо ~22px */
    font-family:     'Inter', sans-serif !important;
    font-size:       15px         !important;
    font-weight:     600          !important;
    transition:      background .15s, border-color .15s, color .15s !important;
    white-space:     nowrap       !important;
    cursor:          pointer      !important;
    text-decoration: none         !important;
    box-sizing:      border-box   !important;
}

/* Основная CTA — синяя */
.intro__btn-group  .intro__btn.popup-request,
.intro__text-content .intro__btn.popup-request,
section.intro      .intro__btn.popup-request,
.intro__btn.popup-request,
.intro__btn.--first {
    background: #1e87fa !important;
    color:      #fff    !important;
    border:     none    !important;
    box-shadow: 0 4px 14px rgba(30,135,250,.28) !important;
}
.intro__btn.popup-request:hover,
.intro__btn.--first:hover { background: #1772d8 !important; }

/* Вторичная — outlined */
.intro__btn-group   .intro__btn.button--secondary,
.intro__text-content .intro__btn.button--secondary,
section.intro        .intro__btn.button--secondary,
.intro__btn.button--secondary,
a.intro__btn.intro__btn--call {
    background:   #fff         !important;
    color:        #102e5d      !important;
    border:       1.5px solid #dce8f5 !important;
    box-shadow:   none         !important;
}
.intro__btn.button--secondary:hover,
a.intro__btn.intro__btn--call:hover {
    border-color: #1e87fa !important;
    color:        #1e87fa !important;
}

/* ── 2. СПИСОК в hero — убираем огромные вертикальные зазоры ── */
section.intro .intro__list,
.intro__text-content .intro__list,
.intro__text-block   .intro__list {
    display:        flex            !important;
    flex-direction: column          !important;
    gap:            8px             !important;   /* было ~20px от Битрикса */
    padding-left:   20px            !important;
    margin:         0 0 20px        !important;
    list-style-type: disc           !important;
}
section.intro .intro__list-item,
.intro__text-content .intro__list-item {
    padding:       0 !important;
    margin:        0 !important;
    line-height:   1.5 !important;
}

/* ── 3. INTRO-ADVANTAGES — стиль «граничной полосы» как в герое ─
 * pm-hero__guarantees: белый фон, рамка #dce8f5, border-radius 12px,
 * лёгкая тень. Пункты разделены вертикальными линиями.
 * ──────────────────────────────────────────────────────────────── */
.intro-advantages {
    padding:   20px 0 !important;
    margin:    0      !important;
    background: transparent !important;
}
.intro-advantages__wrapper {
    display:       flex             !important;
    flex-wrap:     nowrap           !important;
    align-items:   stretch          !important;
    background:    #fff             !important;
    border:        1px solid #dce8f5 !important;
    border-radius: 12px             !important;
    box-shadow:    0 2px 8px rgba(16,46,93,.04) !important;
    overflow:      hidden           !important;
    padding:       0                !important;
}
.advantage-item {
    flex:          1 1 0     !important;
    padding:       16px 20px !important;
    border-right:  1px solid #dce8f5 !important;
}
.advantage-item:last-child { border-right: none !important; }
.advantage-item__wrapper,
.advantage-item__content { padding: 0 !important; }

.advantage-item__title {
    font-size:   14px   !important;
    font-weight: 600    !important;
    color:       #1e87fa !important;   /* синий акцент как у гарантий в герое */
    margin-bottom: 6px  !important;
}
.advantage-item__text {
    font-size:   13px   !important;
    line-height: 1.45   !important;
    color:       #5b6b86 !important;
    margin:      0      !important;
}

@media (max-width: 767px) {
    .intro-advantages__wrapper {
        flex-direction: column !important;
        border-radius:  10px   !important;
    }
    .advantage-item { border-right: none !important; border-bottom: 1px solid #dce8f5 !important; }
    .advantage-item:last-child { border-bottom: none !important; }
}

/* ── 4. ЦЕНЫ — компактнее ──────────────────────────────────────
 * Убираем огромные отступы между строками прайса.
 * ──────────────────────────────────────────────────────────────── */
.prices__main-box { margin: 0 !important; padding: 0 !important; }

.prices__item {
    padding-top:    0  !important;
    padding-bottom: 0  !important;
    margin-bottom:  0  !important;
    border-bottom: 1px solid #e6edf7 !important;
}
.prices__item:last-child { border-bottom: none !important; }

.prices__item-title-block {
    display:     flex        !important;
    align-items: center      !important;
    gap:         12px        !important;
    padding:     14px 0      !important;   /* было ~28-32px */
    min-height:  auto        !important;
    cursor:      pointer     !important;
}
.prices__item-title-box {
    display:     flex        !important;
    align-items: center      !important;
    flex:        1           !important;
    gap:         16px        !important;
}
.prices__item-title {
    font-size:   15px        !important;
    font-weight: 500         !important;   /* было bold — чуть легче */
    color:       #2b3a52     !important;
    flex:        1           !important;
    margin:      0           !important;
}
.prices__price {
    font-size:   14px  !important;
    font-weight: 400   !important;
    color:       #5b6b86 !important;
    white-space: nowrap  !important;
    margin:      0       !important;
}
.price {
    font-size:   16px    !important;
    font-weight: 700     !important;
    color:       #1e87fa !important;
}
.prices__item-content {
    padding-top:    0    !important;
    padding-bottom: 12px !important;
}
/* Кнопка + открытие (collapse) */
.prices__btn-box { flex-shrink: 0 !important; gap: 10px !important; display: flex !important; align-items: center !important; }
.prices__link span { font-size: 14px !important; font-weight: 500 !important; }

/* ================================================================
 * pm-srv-hero — чистый 2-колонный hero страницы услуги
 * Заменяет битриксовый .intro__slider без Swiper-зависимостей.
 * ================================================================ */

section.intro.pm-srv-hero {
    padding:    28px 0 0 !important;
    margin:     0        !important;
    background: linear-gradient(180deg, #f3f7fd 0%, #fff 80%) !important;
    /* сброс битриксового тёмного оверлея */
    color:      initial  !important;
    min-height: 0        !important;
    height:     auto     !important;
}

/* Сетка: текст 1.2fr | медиа 1fr — как в pm-hero */
.pm-srv-hero__inner {
    display:               grid !important;
    grid-template-columns: 1.2fr 1fr !important;
    gap:                   48px !important;
    align-items:           start !important;
    padding-bottom:        28px !important;
}
@media (max-width: 900px) {
    .pm-srv-hero__inner {
        grid-template-columns: 1fr !important;
        gap:                   24px !important;
    }
}

/* ── Левая колонка ──────────────────────────────────────── */
.pm-srv-hero__left {
    display:        flex !important;
    flex-direction: column !important;
    gap:            0 !important;
}

/* Eyebrow */
.pm-srv-hero .intro__sub-title {
    display:        inline-block !important;
    font-size:      12px !important;
    font-weight:    600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color:          #1e87fa !important;
    margin:         0 0 12px !important;
    padding:        0 !important;
    background:     transparent !important;
}

/* H1 — сопоставим с pm-hero__title */
.pm-srv-hero .intro__title {
    font-size:      clamp(26px, 3.2vw, 40px) !important;
    font-weight:    700 !important;
    line-height:    1.15 !important;
    letter-spacing: -.02em !important;
    color:          #102e5d !important;
    margin:         0 0 20px !important;
    padding:        0 !important;
}

/* Список */
.pm-srv-hero .intro__list {
    list-style:     disc !important;
    padding-left:   18px !important;
    margin:         0 0 22px !important;
    display:        flex !important;
    flex-direction: column !important;
    gap:            7px !important;
}
.pm-srv-hero .intro__list-item {
    font-size:   15px !important;
    line-height: 1.5 !important;
    color:       #2b3a52 !important;
    margin:      0 !important;
    padding:     0 !important;
}

/* Кнопки — размер как в pm-hero */
.pm-srv-hero .intro__btn-group {
    display:   flex !important;
    flex-wrap: wrap !important;
    gap:       10px !important;
    margin:    0 !important;
    padding:   0 !important;
}
.pm-srv-hero .intro__btn {
    display:         inline-flex !important;
    align-items:     center !important;
    justify-content: center !important;
    gap:             8px !important;
    height:          auto !important;
    min-height:      48px !important;
    max-height:      none !important;
    padding:         0 22px !important;
    border-radius:   10px !important;
    font-family:     'Inter', sans-serif !important;
    font-size:       15px !important;
    font-weight:     600 !important;
    line-height:     1 !important;
    cursor:          pointer !important;
    white-space:     nowrap !important;
    text-decoration: none !important;
    border:          none !important;
    box-sizing:      border-box !important;
    transition:      background .15s, border-color .15s, color .15s !important;
}
/* Основная CTA */
.pm-srv-hero .intro__btn.popup-request {
    background: #1e87fa !important;
    color:      #fff !important;
    box-shadow: 0 4px 14px rgba(30,135,250,.28) !important;
}
.pm-srv-hero .intro__btn.popup-request:hover { background: #1772d8 !important; }
/* Телефонная — outlined */
.pm-srv-hero .intro__btn.intro__btn--call {
    background:   #fff !important;
    color:        #102e5d !important;
    border:       1.5px solid #dce8f5 !important;
    box-shadow:   none !important;
}
.pm-srv-hero .intro__btn.intro__btn--call:hover {
    border-color: #1e87fa !important;
    color:        #1e87fa !important;
}

/* ── Правая колонка ─────────────────────────────────────── */
.pm-srv-hero__right { position: relative !important; }

/* Фото */
.pm-srv-hero__photo {
    border-radius: 14px !important;
    overflow:      hidden !important;
    max-height:    420px !important;
}
.pm-srv-hero__photo img {
    display:      block !important;
    width:        100% !important;
    height:       100% !important;
    object-fit:   cover !important;
    object-position: center top !important;
}

/* Контакт-карточка (когда нет фото) */
.pm-srv-hero__contact-card {
    padding:       28px !important;
    background:    #fff !important;
    border:        1px solid #dce8f5 !important;
    border-radius: 16px !important;
    box-shadow:    0 8px 32px rgba(16,46,93,.08) !important;
}
.pm-srv-hero__contact-title {
    font-size:     18px !important;
    font-weight:   700 !important;
    color:         #102e5d !important;
    margin:        0 0 20px !important;
    font-family:   'Inter', sans-serif !important;
}
.pm-srv-hero__phone {
    font-size:     22px !important;
    font-weight:   700 !important;
    color:         #1e87fa !important;
    text-decoration: none !important;
}

/* ── INTRO-ADVANTAGES — граничная полоса как в pm-hero ──── */
section.intro.pm-srv-hero + .intro-advantages {
    padding-top: 0 !important;    /* вплотную к hero, без зазора */
}

/* ================================================================
 * ФИНАЛЬНЫЕ ДОРАБОТКИ — стиль ближе к главной, ссылки из референсов
 * ================================================================ */

/* Prices — уменьшаем ещё межстрочный отступ */
.prices__item-title-block  { padding: 12px 0 !important; }
.prices__item-title        { font-size: 14.5px !important; }
.prices__price             { font-size: 13px !important; }
.price                     { font-size: 15px !important; }

/* Sidebar post-treatment — выделить телефон как на Корсакове */
.post-treatment__right__top-link span {
    font-size:   17px !important;
    font-weight: 700  !important;
    color:       #1e87fa !important;
    letter-spacing: -.01em !important;
}
.post-treatment__right__top-link {
    display: block !important;
    text-decoration: none !important;
    margin-bottom: 10px !important;
}
.post-treatment__right__top-link:hover span { text-decoration: underline !important; }

/* H2 в тексте услуги — крупнее и с более синим оттенком */
.post-treatment__left h2 {
    font-size:   clamp(19px, 1.9vw, 26px) !important;
    color:       #0d2649 !important;
    margin:      32px 0 12px !important;
}
.post-treatment__left h2:first-child { margin-top: 0 !important; }

/* Списки в тексте — более компактные */
.post-treatment__left ul,
.post-treatment__left ol {
    padding-left: 20px !important;
    margin:       0 0 14px !important;
    display:      flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}
.post-treatment__left li {
    font-size:   14.5px !important;
    line-height: 1.55 !important;
    margin:      0 !important;
}

/* Breadcrumbs — убрать любой position из Битрикса */
nav.breadcrumbs,
div.breadcrumbs {
    position: static !important;
    display:  flex   !important;
}

/* ── Urgency-блок внутри hero ─────────────────────────────── */
section.intro.pm-srv-hero strong {
    font-weight: 700 !important;
    color:       inherit !important;
}

/* ── Intro-advantages: border + иконки → убрать лишний верхний отступ ── */
section.intro.pm-srv-hero + .intro-advantages {
    margin-top: 0 !important;
}

/* ================================================================
 * FIX: post-treatment layout + list gaps + prices compactness
 * ================================================================ */

/* ── 1. post-treatment 2-col layout (float → flex) ──────────
 * Битрикс использует float: left/right для .post-treatment__left
 * и .right_block. Переключаем на flex — надёжнее в WordPress.
 * ──────────────────────────────────────────────────────────── */
section.post-treatment > .container {
    display:   flex !important;
    gap:       40px !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
}
section.post-treatment .post-treatment__left {
    flex:      1 1 0 !important;
    min-width: 0 !important;
    float:     none !important;    /* отменяем Битрикс-float */
    width:     auto !important;
    max-width: none !important;
}
section.post-treatment .right_block {
    flex:      0 0 300px !important;
    width:     300px !important;
    float:     none !important;
    max-width: none !important;
}
section.post-treatment .post-treatment__right {
    position:     sticky !important;
    top:          90px !important;   /* прилипает под шапкой при скролле */
    padding:      24px !important;
    background:   #f3f7fd !important;
    border:       1px solid #dce8f5 !important;
    border-radius: 14px !important;
    box-shadow:   0 4px 16px rgba(16,46,93,.06) !important;
}

/* ── 2. Список в the_content() — убираем большой margin-bottom ──
 * Битрикс ставит ~20px между li через общий ul li { margin-bottom }
 * Перекрываем через более специфичный путь.
 * ──────────────────────────────────────────────────────────── */
.post-treatment__left ul > li,
.post-treatment__left ol > li {
    margin-top:    0 !important;
    margin-bottom: 4px !important;   /* было 16-20px → теперь 4px */
    padding:       0 !important;
    line-height:   1.55 !important;
}
.post-treatment__left ul,
.post-treatment__left ol {
    margin-bottom: 14px !important;
    padding-left:  20px !important;
    display:       block !important;  /* reset flex если было */
}
/* Параграфы тоже не должны иметь огромный нижний отступ */
.post-treatment__left > p,
.post-treatment__left p {
    margin-bottom: 10px !important;
    font-size:     15px !important;
    line-height:   1.65 !important;
}

/* ── 3. Prices — финальный compact ─────────────────────────── */
.prices__item {
    display: block !important;
}
.prices__item-title-block {
    display:     flex !important;
    align-items: center !important;
    padding:     10px 0 !important;     /* было 12px → теперь 10px */
    min-height:  auto !important;
}
/* Сброс высоты строки от Битрикса */
.prices__item-title-block,
.prices__item-title-box,
.prices__item-title {
    height:      auto !important;
    min-height:  auto !important;
    line-height: 1.3 !important;
}
.prices__price {
    margin-left: auto !important;
    padding:     0 12px !important;
    white-space: nowrap !important;
}

/* ── Gap между intro-advantages и post-treatment ──────────── */
.intro-advantages {
    padding-top:    12px !important;
    padding-bottom: 12px !important;
    margin-bottom:  0    !important;
}
.intro-advantages + section,
.intro-advantages + .intro-advantages,
section.post-treatment {
    margin-top: 0 !important;
}
/* Убираем лишний padding у контейнера полосы */
.intro-advantages .intro-advantages__wrapper {
    margin: 0 !important;
}
/* Пустой strip между секциями: обнуляем margin у самого первого элемента post-treatment */
section.post-treatment > .container > .post-treatment__left > *:first-child,
section.post-treatment > .container > .post-treatment__left > p:first-child {
    margin-top: 0 !important;
}

/* ── Калькулятор в боковой колонке (300px) — single-column mode ── */
.right_block .pm-alco .pm-wrap,
.right_block .pm-alco-section .pm-wrap {
    max-width: 100% !important;
    padding:   0     !important;
    gap:       10px  !important;
}
.right_block .pm-alco .pm-head { margin-bottom: 0 !important; }
.right_block .pm-alco .pm-head h2 { display: none !important; }  /* heading already added above */
.right_block .pm-alco .pm-cta { padding: 14px !important; }
.right_block .pm-alco .pm-cta h3 { font-size: 14px !important; }
.right_block .pm-alco .pm-card { padding: 14px !important; }
.right_block .pm-alco .pm-label { font-size: 12px !important; }
/* Quiz button fix — Битрикс иногда ставит button{display:block;width:100%} */
.pm-quiz-wrap button[data-ans] {
    width:      auto !important;
    display:    inline-flex !important;
    box-sizing: border-box !important;
}
.pm-quiz-wrap [style*="display:flex"] {
    display: flex !important;
}


/* ═══════════════════════════════════════════════════════════════
 * Типографика длинного текста услуги (.srv-longread).
 * Разбивает «полотно» на читаемые блоки: ритм, ширина, лид-абзац,
 * подзаголовки-разделители, врезки, «вздохи» между группами абзацев.
 * Классы навешивает inc/service-legacy-typography.php.
 * ═══════════════════════════════════════════════════════════════ */
.post-treatment__left .srv-longread {
    max-width: 760px;
    font-size: 16.5px;
    line-height: 1.72;
    color: #34435c;
}
.post-treatment__left .srv-longread > p {
    margin: 0 0 18px;
}

/* Лид-абзац — крупнее, задаёт тон */
.post-treatment__left .srv-longread .srv-lead {
    font-size: 20px;
    line-height: 1.6;
    color: #1c2a45;
    font-weight: 500;
    margin-bottom: 26px;
}

/* Подзаголовки как секции-разделители с левой линией-акцентом */
.post-treatment__left .srv-longread h2.srv-subhead,
.post-treatment__left .srv-longread h2 {
    position: relative;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
    color: #102e5d;
    margin: 40px 0 16px;
    padding: 2px 0 2px 18px;
}
.post-treatment__left .srv-longread h2::before {
    content: '';
    position: absolute; left: 0; top: 4px; bottom: 4px;
    width: 4px; border-radius: 4px;
    background: linear-gradient(180deg, #1a75d9, #0f4fa8);
}

/* Врезка «Важно/Обратите внимание» */
.post-treatment__left .srv-longread .srv-callout {
    background: #f0f6fd;
    border-left: 4px solid #1a75d9;
    border-radius: 0 12px 12px 0;
    padding: 16px 20px;
    margin: 24px 0;
    font-size: 15.5px;
    color: #23324c;
}

/* «Вздох» между группами абзацев в тексте без заголовков */
.post-treatment__left .srv-longread .srv-divider {
    display: block;
    height: 1px;
    max-width: 120px;
    margin: 30px 0;
    background: linear-gradient(90deg, #c9dcf2, transparent);
}

/* Списки внутри лонгрида */
.post-treatment__left .srv-longread ul,
.post-treatment__left .srv-longread ol {
    margin: 0 0 20px;
    padding-left: 4px;
    list-style: none;
}
.post-treatment__left .srv-longread ul > li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 11px;
    line-height: 1.6;
}
.post-treatment__left .srv-longread ul > li::before {
    content: '';
    position: absolute; left: 0; top: 3px;
    width: 18px; height: 18px; border-radius: 50%;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.3 8.3 13l6-6.5' fill='none' stroke='%231a75d9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        center / 12px no-repeat,
        #e8f2fd;
}
.post-treatment__left .srv-longread ol {
    counter-reset: srv-ol;
}
.post-treatment__left .srv-longread ol > li {
    position: relative;
    padding-left: 38px;
    margin-bottom: 13px;
    counter-increment: srv-ol;
    line-height: 1.6;
}
.post-treatment__left .srv-longread ol > li::before {
    content: counter(srv-ol);
    position: absolute; left: 0; top: 0;
    width: 26px; height: 26px;
    display: flex; align-items: center; justify-content: center;
    background: #1a75d9; color: #fff;
    font-size: 13px; font-weight: 700; border-radius: 50%;
}

/* Ссылки и выделения */
.post-treatment__left .srv-longread a { color: #1a75d9; }
.post-treatment__left .srv-longread strong { color: #1c2a45; }

@media (max-width: 768px) {
    .post-treatment__left .srv-longread { font-size: 16px; }
    .post-treatment__left .srv-longread .srv-lead { font-size: 18px; }
    .post-treatment__left .srv-longread h2 { font-size: 20px; margin-top: 32px; }
}


/* ═══════════════════════════════════════════════════════════════
 * Сквозные врезки в лонгриде услуги (равномерно, чередуются):
 * CTA-полосы и факт-блоки. Ломают монотонность и заполняют экран.
 * ═══════════════════════════════════════════════════════════════ */

/* CTA-полоса */
.post-treatment__left .srv-longread .srv-inline-cta {
    display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0;
    padding: 20px 24px;
    background: linear-gradient(135deg, #1a75d9 0%, #0f4fa8 100%);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15,79,168,.22);
}
.post-treatment__left .srv-longread .srv-inline-cta--alt {
    background: linear-gradient(135deg, #0f4fa8 0%, #12356f 100%);
}
.post-treatment__left .srv-longread .srv-inline-cta__text {
    display: flex; flex-direction: column; gap: 4px; min-width: 220px; flex: 1;
}
.post-treatment__left .srv-longread .srv-inline-cta__text strong {
    color: #fff !important; font-size: 17px; font-weight: 700; line-height: 1.3;
}
.post-treatment__left .srv-longread .srv-inline-cta__text span {
    color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.4;
}
.post-treatment__left .srv-longread .srv-inline-cta__btn {
    flex-shrink: 0;
    display: inline-block;
    background: #fff; color: #0f4fa8 !important;
    font-size: 16px; font-weight: 700; text-decoration: none;
    padding: 13px 26px; border-radius: 11px; border: 0; cursor: pointer;
    transition: transform .15s, box-shadow .15s;
}
.post-treatment__left .srv-longread .srv-inline-cta__btn:hover {
    transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.18);
    text-decoration: none;
}

/* Факт-блок */
.post-treatment__left .srv-longread .srv-inline-fact {
    display: flex; align-items: center; gap: 20px;
    margin: 30px 0;
    padding: 22px 26px;
    background: #f0f6fd;
    border: 1px solid #dbe9f9;
    border-radius: 16px;
}
.post-treatment__left .srv-longread .srv-inline-fact--accent {
    background: #eafaf0; border-color: #cdeed9;
}
.post-treatment__left .srv-longread .srv-inline-fact__num {
    flex-shrink: 0;
    font-size: 40px; font-weight: 800; line-height: 1;
    color: #1a75d9;
    font-family: 'Inter', sans-serif;
}
.post-treatment__left .srv-longread .srv-inline-fact--accent .srv-inline-fact__num {
    color: #1a9a4e;
}
.post-treatment__left .srv-longread .srv-inline-fact__label {
    font-size: 15.5px; line-height: 1.5; color: #23324c;
}

@media (max-width: 768px) {
    .post-treatment__left .srv-longread .srv-inline-cta { padding: 18px; gap: 14px; }
    .post-treatment__left .srv-longread .srv-inline-cta__btn { width: 100%; text-align: center; }
    .post-treatment__left .srv-longread .srv-inline-fact { padding: 18px; gap: 14px; }
    .post-treatment__left .srv-longread .srv-inline-fact__num { font-size: 32px; }
}

/* ── Заполнение экрана: тянем контентную секцию на всю высоту вьюпорта,
   чтобы короткий текст не оставлял пустоту снизу до подвала. ── */
.post-treatment { min-height: 62vh; }
.post-treatment__left .srv-longread { padding-bottom: 8px; }
