/*
 * pmed.ru Mobile Fix — загружается через wp_enqueue_style
 * Зависимость: profmed-main-css (Битрикс style.css)
 * Гарантированно применяется в <head> после Битрикс CSS
 */

@media (max-width: 768px) {

/* ── ГЛОБАЛЬНО ── */
html { overflow-x: hidden !important; }
body { overflow-x: hidden !important; max-width: 100vw !important; position: relative !important; }
*, *::before, *::after { box-sizing: border-box !important; }


/* ── HERO LAYOUT (перенесено из pm-hero.css пока не сброшен кэш) ── */
/* stat-grid: убираем жёсткие flex: 0 0 200px — главная причина overflow */
section.pm-hero .pm-hero__headline-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    overflow: hidden !important;
}
section.pm-hero .pm-hero__headline-main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* ── Hero: box-sizing + паддинг на всю цепочку ── */
section.pm-hero .pm-hero__inner.container,
section.pm-hero .pm-hero__inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: hidden !important;
}
section.pm-hero .pm-hero__left {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
section.pm-hero .pm-hero__top {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* ──────────────────────────────────────────
   СТАТ-ПОЛОСА (mobile): единая горизонтальная
   полоса, как trust-bar, на всю ширину
   ────────────────────────────────────────── */
section.pm-hero .pm-hero__stat-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    gap: 0 !important;
    background: #f0f7ff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
section.pm-hero .pm-hero__stat {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 2px !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    border-right: 1px solid rgba(30,135,250,.15) !important;
    overflow: hidden !important;
}
section.pm-hero .pm-hero__stat:last-child {
    border-right: none !important;
}
section.pm-hero .pm-hero__stat-icon {
    display: none !important;
}
section.pm-hero .pm-hero__stat-num {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #102e5d !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    letter-spacing: -0.5px !important;
}
section.pm-hero .pm-hero__stat-label {
    font-size: 9px !important;
    color: #5b6b86 !important;
    line-height: 1.2 !important;
    margin-top: 2px !important;
    word-break: break-word !important;
    hyphens: auto !important;
    text-align: center !important;
    padding: 0 2px !important;
    overflow: hidden !important;
}

/* Платформы */
section.pm-hero .pm-hero__platforms {
    flex-wrap: wrap !important;
    gap: 6px 0 !important;
    overflow: hidden !important;
}
section.pm-hero .pm-hero__platform {
    padding: 0 8px !important;
    flex-shrink: 1 !important;
}
section.pm-hero .pm-hero__platform-sep { display: none !important; }

/* Общий контейнер */
section.pm-hero, section.pm-hero .pm-hero__inner,
section.pm-hero .pm-hero__left {
    overflow-x: hidden !important;
    min-width: 0 !important;
}


/* ── FIXED-ЭЛЕМЕНТЫ (не клипируются overflow:hidden на body) ── */
.hot-keys {
    left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: 100vw !important;
    box-sizing: border-box !important; padding: 0 4px !important;
    justify-content: space-around !important;
}
.hot-keys__item { flex: 1 1 0 !important; min-width: 0 !important; }
.header {
    left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: 100vw !important;
    overflow-x: hidden !important;
}
.header__container, .header__menu { max-width: 100% !important; overflow-x: hidden !important; }
.header__menu-list {
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    overflow-x: visible !important;
    overflow-y: auto !important;
    gap: 0 !important;
}
.modal, .modal-request__content {
    left: 0 !important; right: 0 !important;
    max-width: 100vw !important; box-sizing: border-box !important;
}

/* ── СБРОС БИТРИКС ОТРИЦАТЕЛЬНЫХ MARGIN (все culprits) ── */
.services__list,
.services__item-box-title,
.team__slider,
.stages__content,
.video__slider,
.rooms__slider,
.blog__slider,
.min-clear__content,
.advantages__slider {
    margin: 0 !important;
}

/* ── АЛКО-КАЛЬКУЛЯТОР ── */
section.pm-alco-section, .pm-alco, .pm-wrap, .pm-card {
    max-width: 100% !important; width: 100% !important;
    overflow-x: hidden !important; box-sizing: border-box !important;
}

/* ── НАШИ УСЛУГИ ── */
section.services { overflow: hidden !important; }
.services__list {
    display: flex !important; flex-direction: column !important;
    margin: 0 !important; padding: 0 !important;
    width: 100% !important; gap: 8px !important;
    list-style: none !important;
}
.services__item {
    width: 100% !important; max-width: 100% !important;
    display: flex !important; flex-direction: column !important;
    border-radius: 14px !important; overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(30,135,250,.08) !important;
    background: #fff !important; flex: none !important;
}
/* Шапка карточки: иконка + название (убираем только фоновый SVG-баннер) */
.services__item-box-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px !important;
    background: #f0f7ff !important;
    position: relative !important;
    min-height: auto !important;
}
.services__item-box-title > svg {
    display: none !important;   /* фоновый фигурный SVG-баннер */
}
.services__item-icon {
    width: 36px !important; height: 36px !important; flex-shrink: 0 !important;
    background: #fff !important; border-radius: 10px !important;
    padding: 6px !important; display: flex !important; align-items: center !important;
}
.services__item-icon img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.services__item-title {
    font-size: 15px !important; font-weight: 700 !important;
    color: #102e5d !important; font-family: 'Inter', sans-serif !important; margin: 0 !important;
    line-height: 1.2 !important;
}
/* Подсписок ссылок — показываем компактно */
.services__sub-list {
    display: flex !important; flex-direction: column !important;
    padding: 8px 14px !important; margin: 0 !important;
    list-style: none !important; gap: 0 !important;
}
.services__sub-item { border-bottom: 1px solid #edf2fa !important; }
.services__sub-item:last-child { border-bottom: none !important; }
.services__sub-item a {
    display: block !important;
    padding: 8px 0 !important;
    font-size: 13px !important; color: #3a5080 !important;
    font-family: 'Inter', sans-serif !important;
    text-decoration: none !important; line-height: 1.4 !important;
}
.services__item-link.link {
    display: flex !important; align-items: center !important;
    gap: 6px !important; padding: 10px 14px !important;
    font-size: 13px !important; font-weight: 600 !important;
    color: #1e87fa !important; text-decoration: none !important;
    border-top: 1px solid #edf2fa !important;
    font-family: 'Inter', sans-serif !important;
}
.services__item-link.link svg { width: 22px !important; height: 5px !important; flex-shrink: 0 !important; }
.services__all-link.mobile { display: flex !important; margin-top: 16px !important; }
.services__all-link.desktop { display: none !important; }

/* ── ЦЕНЫ ── */
section.prices { padding: 28px 0 !important; }
.prices__title { font-size: 22px !important; font-weight: 700 !important; font-family: 'Inter', sans-serif !important; color: #102e5d !important; line-height: 1.2 !important; }
.prices__title-box { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 16px !important; padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
.prices__container { display: flex !important; flex-direction: column !important; gap: 20px !important; }
.prices__content { width: 100% !important; max-width: 100% !important; }
.prices__main-box { width: 100% !important; list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.prices__item { padding: 0 14px !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 2px 12px rgba(30,135,250,.08) !important; margin-bottom: 0 !important; }
.prices__item-title-block { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; padding: 14px 0 !important; margin: 0 !important; cursor: pointer !important; flex-wrap: nowrap !important; }
.prices__item-title-box { display: flex !important; flex-direction: column !important; flex: 1 1 0 !important; min-width: 0 !important; align-items: flex-start !important; gap: 4px !important; }
.prices__item-title { font-size: 14px !important; font-weight: 600 !important; color: #102e5d !important; font-family: 'Inter', sans-serif !important; line-height: 1.35 !important; word-break: break-word !important; }
.prices__price { font-size: 13px !important; color: #5b6b86 !important; font-family: 'Inter', sans-serif !important; margin: 0 !important; white-space: nowrap !important; }
.prices__price .price { font-size: 16px !important; font-weight: 700 !important; color: #1e87fa !important; }
.prices__btn-box { display: flex !important; align-items: center !important; gap: 6px !important; flex-shrink: 0 !important; }
.prices__link.link.popup-request { display: none !important; }
.prices__btn-open { width: 26px !important; height: 26px !important; border-radius: 50% !important; background: #e8f2ff !important; flex-shrink: 0 !important; position: relative !important; }
.prices__item-content { padding: 0 0 14px !important; overflow: hidden !important; }
.prices__text { font-size: 13px !important; color: #5b6b86 !important; line-height: 1.6 !important; font-family: 'Inter', sans-serif !important; margin: 0 0 8px !important; }
.prices__list-title { font-size: 12px !important; font-weight: 600 !important; color: #102e5d !important; font-family: 'Inter', sans-serif !important; margin: 8px 0 6px !important; }
.prices__list { padding-left: 16px !important; margin: 0 !important; }
.prices__list-item { font-size: 12px !important; color: #5b6b86 !important; line-height: 1.5 !important; margin-bottom: 4px !important; }
.prices__sidebar { width: 100% !important; max-width: 100% !important; }
.prices__link-more.link.mobile { display: flex !important; margin-top: 16px !important; }
.prices__link-more.link.desktop { display: none !important; }
.video__video { position: relative !important; width: 100% !important; padding-bottom: 56.25% !important; height: 0 !important; overflow: hidden !important; border-radius: 12px !important; }
.video__video iframe { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }

/* ── ЭТАПЫ ── */
section.stages { overflow: hidden !important; }
.stages__content { display: flex !important; flex-direction: column !important; width: 100% !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; }
.stages__item { width: 100% !important; padding: 14px !important; display: flex !important; flex-direction: column !important; gap: 6px !important; background: #fff !important; border-radius: 12px !important; box-shadow: 0 2px 10px rgba(30,135,250,.07) !important; overflow: hidden !important; position: static !important; flex: none !important; }
.stages__item::after,
.stages__item:nth-child(odd) .stages__number::after,
.stages__item:nth-child(even) .stages__number::after { display: none !important; content: none !important; }
.stages__number { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; border-radius: 50% !important; background: #1e87fa !important; color: #fff !important; font-size: 13px !important; font-weight: 700 !important; font-family: 'Inter', sans-serif !important; flex-shrink: 0 !important; position: static !important; margin: 0 !important; }
.stages__item-title { font-size: 14px !important; font-weight: 700 !important; color: #102e5d !important; margin: 0 !important; }
.stages__item-sub-title { font-size: 12px !important; color: #5b6b86 !important; font-style: italic !important; margin: 0 !important; }
.stages__item-text { display: none !important; }

/* ── СПЕЦИАЛИСТЫ ── */
section.team { overflow: hidden !important; }
.team__link-more.desktop { display: none !important; }
.team__slider.swiper { overflow: hidden !important; margin: 0 !important; }
.team__slide.swiper-slide { width: 130px !important; flex-shrink: 0 !important; }
.team__img-box { border-radius: 10px !important; overflow: hidden !important; margin-bottom: 8px !important; aspect-ratio: 3/4 !important; width: 100% !important; }
.team__img-box img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top !important; }
.slider-nav { display: none !important; }

/* ── ПРЕИМУЩЕСТВА, ВИДЕО, БЛОГ, ПАЛАТЫ, КАРТА и др. ── */
section.advantages { overflow: hidden !important; }
.advantages__slider { width: 100% !important; max-width: 100% !important; margin: 0 !important; overflow: hidden !important; height: auto !important; }
section.video { overflow: hidden !important; }
.video__slider { overflow: hidden !important; width: 100% !important; margin: 0 !important; }
section.blog { overflow: hidden !important; }
.blog__slider { overflow: hidden !important; width: 100% !important; margin: 0 !important; }
section.rooms { overflow: hidden !important; }
.rooms__slider { overflow: hidden !important; width: 100% !important; margin: 0 !important; }
section.map { overflow: hidden !important; }
.map__container { max-width: 100% !important; overflow: hidden !important; }
section.licenses, section.pm-qa, section.consultation { overflow: hidden !important; }
section.about-numbers { overflow: visible !important; }
.about-numbers__cards { display: flex !important; flex-direction: column !important; gap: 16px !important; width: 100% !important; margin: 0 !important; align-items: center !important; }
.about-numbers__box { display: flex !important; flex-direction: row !important; gap: 16px !important; width: 100% !important; justify-content: center !important; }
.about-numbers__item { min-width: 0 !important; flex: 1 1 0 !important; }
section.intro { overflow: hidden !important; }
.intro__cards { display: flex !important; flex-direction: column !important; gap: 16px !important; width: 100% !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; }
.intro__card { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; overflow: hidden !important; }
.intro__img-box { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.consultation__title::before, .consultation__title:before,
.intro__title::before, .intro__title:before,
.stages__item:nth-child(odd) .stages__number::before,
.stages__item:nth-child(even) .stages__number::before { display: none !important; content: none !important; }


/* ── HERO: вертикальные пробелы ── */
/* Фото команды скрываем на мобиле — экономим ~240px */
section.pm-hero .pm-hero__photo-wrap { display: none !important; }
/* Форма без лишних отступов */
section.pm-hero .pm-hero__right { gap: 0 !important; }
section.pm-hero .pm-hero__form-card { margin-top: 0 !important; }
/* Убираем лишний gap в pm-hero__inner */
section.pm-hero .pm-hero__inner { gap: 12px !important; padding-top: 12px !important; padding-bottom: 12px !important; }
/* Лимит высоты hero, чтобы не растягивался */
section.pm-hero .pm-hero__left { gap: 10px !important; }
section.pm-hero .pm-hero__top { display: flex !important; flex-direction: column !important; gap: 10px !important; }
section.pm-hero .pm-hero__bottom { margin-top: 4px !important; }

@media (max-width: 400px) {
    .team__slide.swiper-slide { width: 115px !important; }
    .services__item-title { font-size: 13px !important; }
    .prices__title { font-size: 19px !important; }
    .prices__item-title { font-size: 13px !important; }
    section.pm-hero .pm-hero__stat-grid { max-width: 130px !important; }
    section.pm-hero .pm-hero__stat-num { font-size: 14px !important; }
}


/* ── Высокая специфичность через ID — страховка от pm-hero.css кэша ── */
section#intro .pm-hero__stat-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: unset !important;
    gap: 0 !important;
    background: #f0f7ff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
section#intro .pm-hero__stat {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 2px !important;
    background: transparent !important;
    border-right: 1px solid rgba(30,135,250,.15) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
section#intro .pm-hero__stat:last-child { border-right: none !important; }
section#intro .pm-hero__stat-icon { display: none !important; }
section#intro .pm-hero__stat-num {
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    letter-spacing: -0.5px !important;
}
section#intro .pm-hero__stat-label {
    font-size: 9px !important;
    word-break: break-word !important;
    hyphens: auto !important;
    text-align: center !important;
}

}