/* ==========================================================================
   Шапка сайта — вариант А «Чистый» (конструктор шапки Porto + шорткоды темы)
   Шорткоды — inc/header.php. !important — только там, где Porto задаёт цвета
   и размеры из своих настроек более сильными правилами.
   ========================================================================== */

/* Токены шапки */
:is(#header, .header-wrapper, .porto-block-header) {
    --hx-ink: #151833;
    --hx-text: #1c1f3a;
    --hx-muted: #6a6d8a;
    --hx-line: #e9e9ee;
    --hx-soft: #f0f0f7;
    --hx-bg: #f4f4f7;
    --hx-navy: #252871;
    --hx-navy-2: #1b1e5a;
    --hx-navy-soft: rgba(37, 40, 113, .08);
    --hx-shadow: 0 1px 2px rgba(37, 40, 113, .06), 0 32px 64px -24px rgba(37, 40, 113, .35);
    --hx-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- Верхняя строка ---------- */
:is(#header, .header-wrapper, .porto-block-header) .header-top {
    border-bottom: 1px solid var(--hx-line) !important;
    background: var(--hx-bg) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .header-top .header-row {
    min-height: 56px;
}

:is(#header, .header-wrapper, .porto-block-header) .header-top .header-col {
    align-items: center;
    gap: 8px;
}

/* Часы из центральной колонки прижимаются к кнопке «Версия для слабовидящих», как в макете */
:is(#header, .header-wrapper, .porto-block-header) .header-top .header-center {
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 16px 0 0 !important;
}

:is(#header, .header-wrapper, .porto-block-header) .header-top .header-right {
    gap: 16px;
    margin-left: 0 !important;
}

/* HTML-блоки конструктора: содержимое строго по центру строки */
:is(#header, .header-wrapper, .porto-block-header) .header-top .custom-html,
:is(#header, .header-wrapper, .porto-block-header) .header-main .header-right .custom-html {
    display: flex;
    align-items: center;
    margin: 0;
    line-height: 1;
}

:is(#header, .header-wrapper, .porto-block-header) .header-top ul.nav {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

/* Часы работы */
.pg-hmeta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    font-size: 14px;
    line-height: 1;
    color: var(--hx-muted, #6a6d8a);
    white-space: nowrap;
}

.pg-hmeta svg {
    flex: 0 0 auto;
    color: var(--hx-navy, #252871);
}

/* Кнопки-пилюли верхней строки: адрес, партнёры, версия для слабовидящих */
:is(#header, .header-wrapper, .porto-block-header) .menu__item {
    background: transparent;
}

:is(#header, .header-wrapper, .porto-block-header) .menu__link,
.pg-hbtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 16px 0 12px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(37, 40, 113, .06);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: var(--hx-text, #1c1f3a) !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color .25s var(--hx-ease), color .25s var(--hx-ease);
}

:is(#header, .header-wrapper, .porto-block-header) .menu__link i,
.pg-hbtn svg {
    font-size: 16px;
    color: var(--hx-navy, #252871);
}

:is(#header, .header-wrapper, .porto-block-header) .menu__link b {
    font-weight: 600;
}

:is(#header, .header-wrapper, .porto-block-header) .menu__link:hover,
.pg-hbtn:hover {
    background: var(--hx-soft);
}

:is(#header, .header-wrapper, .porto-block-header) .menu__item--drop.is-open > .menu__link,
:is(#header, .header-wrapper, .porto-block-header) .menu__item--drop:focus-within > .menu__link {
    background: var(--hx-navy);
    color: #fff !important;
}

:is(#header, .header-wrapper, .porto-block-header) .menu__item--drop.is-open > .menu__link i,
:is(#header, .header-wrapper, .porto-block-header) .menu__item--drop:focus-within > .menu__link i {
    color: #fff;
}

.pg-hbtn--icon {
    width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
    background: var(--hx-soft, #f0f0f7);
    box-shadow: none;
}

/* ---------- Выпадающие «Адрес» и «Наши партнёры» ---------- */
/* Без анимаций: панель не «проскальзывает» и не закрывается под курсором */
:is(#header, .header-wrapper, .porto-block-header) .drop,
:is(#header, .header-wrapper, .porto-block-header) .drop * {
    transition: none !important;
    animation: none !important;
}

:is(#header, .header-wrapper, .porto-block-header) .drop {
    top: 100%;
    transform: none !important;
}

:is(#header, .header-wrapper, .porto-block-header) .drop:not(.drop--two-columns) {
    padding-top: 8px;
}

/* Отступ сверху + невидимый «мостик», чтобы курсор не терял наведение между кнопкой и панелью */
:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns {
    margin-top: 8px;
}

:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 0;
    left: 0;
    height: 8px;
}

:is(#header, .header-wrapper, .porto-block-header) .drop:not(.drop--two-columns) > .drop__box,
:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns {
    padding: 16px;
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--hx-shadow);
}

:is(#header, .header-wrapper, .porto-block-header) .drop:not(.drop--two-columns) > .drop__box {
    width: 352px;
}

:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns {
    display: grid;
    grid-template-columns: repeat(2, 320px);
    gap: 16px;
    min-width: 0 !important;
}

:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns .drop__box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border-radius: 20px;
    background: var(--hx-soft);
}

:is(#header, .header-wrapper, .porto-block-header) .branch-header {
    margin: 0 0 4px;
    padding: 0;
    background: transparent;
}

:is(#header, .header-wrapper, .porto-block-header) .branch-header .branch-title,
:is(#header, .header-wrapper, .porto-block-header) .branch-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--hx-ink);
}

:is(#header, .header-wrapper, .porto-block-header) .branch-address {
    margin-top: 2px;
    font-size: 14px;
    color: var(--hx-muted);
}

:is(#header, .header-wrapper, .porto-block-header) .drop__box img {
    height: 128px;
    margin: 4px 0 !important;
    border-radius: 16px !important;
    object-fit: cover;
}

:is(#header, .header-wrapper, .porto-block-header) .drop__item,
:is(#header, .header-wrapper, .porto-block-header) .drop__item--info {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

:is(#header, .header-wrapper, .porto-block-header) .drop__item a,
:is(#header, .header-wrapper, .porto-block-header) .drop__item--info p {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 4px 8px 4px 0;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--hx-text);
}

:is(#header, .header-wrapper, .porto-block-header) .drop__item--info p {
    font-weight: 400;
    color: var(--hx-muted);
}

:is(#header, .header-wrapper, .porto-block-header) .drop__item a:hover {
    background: transparent;
    color: var(--hx-navy);
}

:is(#header, .header-wrapper, .porto-block-header) .icon-circle {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    color: var(--hx-navy);
}

:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns .icon-circle {
    background: #fff;
}

:is(#header, .header-wrapper, .porto-block-header) .drop:not(.drop--two-columns) > .drop__box .icon-circle {
    background: var(--hx-soft);
}

:is(#header, .header-wrapper, .porto-block-header) .icon-circle img {
    width: 16px;
    height: 16px;
    border-radius: 0 !important;
}

/* Одинаковый размер строк (у почты партнёров в разметке стоит font-size: 13px) */
:is(#header, .header-wrapper, .porto-block-header) .drop__item a[href^="mailto:"] {
    font-size: 14px !important;
}

/* Кнопки «Построить маршрут» в двух колонках — на одной линии внизу */
:is(#header, .header-wrapper, .porto-block-header) .drop--two-columns .drop__box > .drop__item:last-child {
    margin-top: auto !important;
    padding-top: 4px !important;
}

/* «Построить маршрут» — синяя кнопка */
:is(#header, .header-wrapper, .porto-block-header) .drop__item a[href*="maps"] {
    justify-content: center;
    height: 40px;
    margin-top: 4px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--hx-navy);
    color: #fff;
}

:is(#header, .header-wrapper, .porto-block-header) .drop__item a[href*="maps"]:hover {
    background: var(--hx-navy-2);
    color: #fff;
}

:is(#header, .header-wrapper, .porto-block-header) .drop__item a[href*="maps"] .icon-circle {
    display: none;
}

/* ---------- Основной ряд ---------- */
:is(#header, .header-wrapper, .porto-block-header) .header-main {
    background: #fff !important;
    box-shadow: 0 1px 0 var(--hx-line);
}

:is(#header, .header-wrapper, .porto-block-header) .header-main .header-row {
    min-height: 88px;
}

/* Пункт меню 44px в строке 88px: список открывается на 8px ниже строки */
:is(#header, .header-wrapper, .porto-block-header) .header-main {
    --hx-pop-gap: 30px;
}

:is(#header, .header-wrapper, .porto-block-header) .header-main .header-right {
    gap: 12px;
}

/* Главное меню */
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item > a {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    height: 44px;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 44px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--hx-text) !important;
    transition: background-color .25s var(--hx-ease), color .25s var(--hx-ease);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item:hover > a,
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item.open > a {
    background: var(--hx-soft) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item.active > a,
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item.current-menu-item > a,
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item.current-menu-ancestor > a,
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item.current_page_ancestor > a {
    background: var(--hx-navy-soft) !important;
    font-weight: 600 !important;
    color: var(--hx-navy) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item > a .arrow,
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.has-sub > a::after {
    color: var(--hx-muted) !important;
}

/* Выпадающие списки меню: убрана только анимация (сдвиг и плавное появление).
   Скрытие/показ остаются за Porto — его правила не трогаем. */
:is(#header, .header-wrapper, .porto-block-header) .main-menu .popup,
:is(#header, .header-wrapper, .porto-block-header) .main-menu .popup .inner {
    transition: none !important;
    animation: none !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu li.has-sub:hover > .popup,
:is(#header, .header-wrapper, .porto-block-header) .main-menu li.has-sub:hover > .popup .inner {
    transform: none !important;
}

/* Прозрачный отступ сверху вместо зазора: курсор не теряет пункт меню по дороге к списку */
:is(#header, .header-wrapper, .porto-block-header) .main-menu .popup {
    padding-top: var(--hx-pop-gap, 30px);
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Треугольник-стрелка Porto над выпадающим списком не нужен */
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.has-sub::before,
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.has-sub::after {
    display: none !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .narrow .popup > .inner {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide .popup > .inner,
:is(#header, .header-wrapper, .porto-block-header) .main-menu .narrow ul.sub-menu {
    border: 0 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: var(--hx-shadow) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .narrow ul.sub-menu {
    min-width: 260px;
    padding: 8px !important;
    border-radius: 16px !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .narrow ul.sub-menu li.menu-item > a {
    display: block !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 12px;
    font-size: 15px !important;
    line-height: 1.3 !important;
    white-space: nowrap;
    color: var(--hx-text) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .narrow ul.sub-menu li.menu-item:hover > a {
    background: var(--hx-soft) !important;
    color: var(--hx-navy) !important;
}

/* Мега-меню «Услуги и цены» */
:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide .popup > .inner {
    padding: 32px !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a {
    display: block !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    color: var(--hx-ink) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu li.menu-item > a {
    display: block !important;
    margin: 0 -12px !important;
    padding: 8px 12px !important;
    border-radius: 12px;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: var(--hx-text) !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu li.menu-item > a:hover {
    background: var(--hx-soft) !important;
    color: var(--hx-navy) !important;
}

/* «На обновлении» (ссылка #!) или пункт с CSS-классом pg-soon — серая метка */
:is(#header, .header-wrapper, .porto-block-header) .main-menu li.pg-soon > a,
:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu li.menu-item.pg-soon > a,
:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu li.menu-item > a[href="#!"],
:is(#header, .header-wrapper, .porto-block-header) .main-menu .narrow ul.sub-menu li.menu-item > a[href="#!"] {
    display: inline-flex !important;
    align-items: center;
    height: 28px;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 999px;
    background: var(--hx-soft) !important;
    font-size: 13px !important;
    color: var(--hx-muted) !important;
    cursor: default;
    pointer-events: none;
}

/* Почта и телефон */
.pg-hcontacts {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pg-hround {
    display: inline-flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f0f0f7;
    color: #252871 !important;
    transition: background-color .25s, color .25s;
}

.pg-hround:hover {
    background: #252871;
    color: #fff !important;
}

.pg-hphone {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    color: #151833 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.pg-hphone small {
    font-size: 13px;
    color: #6a6d8a;
}

.pg-hphone b {
    font-size: 22px;
    font-weight: 700;
}

.pg-hphone:hover b {
    color: #252871;
}

/* Кнопка записи */
.pg-hcta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 48px;
    padding: 0 6px 0 22px;
    border-radius: 999px;
    background: #252871;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color .3s;
}

.pg-hcta span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    transition: transform .3s;
}

.pg-hcta:hover {
    background: #1b1e5a;
}

.pg-hcta:hover span {
    transform: translateX(3px);
}

/* Кнопка записи, если её поставили в верхнюю строку, — в рост с остальными кнопками (36px) */
:is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hcta {
    gap: 8px;
    height: 36px;
    padding: 0 4px 0 16px;
    font-size: 14px;
}

:is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hcta span {
    width: 28px;
    height: 28px;
}

/* ---------- Липкая шапка при прокрутке ---------- */
:is(#header.sticky-header, .header-wrapper.fixed-header, .sticky-wrapper.is-sticky) .header-main,
:is(#header, .header-wrapper, .porto-block-header) .header-main.sticky {
    box-shadow: 0 12px 32px -16px rgba(37, 40, 113, .25) !important;
}

:is(#header.sticky-header, .header-wrapper.fixed-header, .sticky-wrapper.is-sticky) .header-main .header-row,
:is(#header, .header-wrapper, .porto-block-header) .header-main.sticky .header-row {
    min-height: 72px;
}

:is(#header.sticky-header, .header-wrapper.fixed-header, .sticky-wrapper.is-sticky) .header-main,
:is(#header, .header-wrapper, .porto-block-header) .header-main.sticky {
    --hx-pop-gap: 22px;
}

:is(#header.sticky-header, .header-wrapper.fixed-header, .sticky-wrapper.is-sticky) .pg-hround,
:is(#header, .header-wrapper, .porto-block-header) .header-main.sticky .pg-hround {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
}

:is(#header.sticky-header, .header-wrapper.fixed-header, .sticky-wrapper.is-sticky) .pg-hcta,
:is(#header, .header-wrapper, .porto-block-header) .header-main.sticky .pg-hcta {
    height: 44px;
}

/* ---------- Вариант В: синяя верхняя строка ---------- */
.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top {
    border-bottom: 0 !important;
    background: radial-gradient(40% 180% at 100% 0%, rgba(201, 163, 230, .3), transparent 70%), linear-gradient(90deg, #2b2f86, #252871 45%, #1b1e5a) !important;
}

.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .menu__link,
.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hbtn {
    background: rgba(255, 255, 255, .12);
    box-shadow: none;
    color: #fff !important;
}

.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .menu__link i,
.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hbtn svg,
.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hmeta,
.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hmeta svg {
    color: #fff;
}

.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .menu__link:hover,
.pg-header--brand :is(#header, .header-wrapper, .porto-block-header) .header-top .pg-hbtn:hover {
    background: rgba(255, 255, 255, .2);
}

/* ---------- Мобильная шапка ---------- */
:is(#header, .header-wrapper, .porto-block-header) .mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background: #252871 !important;
    color: #fff !important;
    font-size: 18px;
}

@media (max-width: 991px) {
    :is(#header, .header-wrapper, .porto-block-header) .header-main .header-row {
        min-height: 64px;
    }

    :is(#header, .header-wrapper, .porto-block-header) .main-menu > li.menu-item > a {
        padding: 0 12px !important;
        font-size: 15px !important;
    }

    .pg-hphone small {
        display: none;
    }

    .pg-hphone b {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    :is(#header, .header-wrapper, .porto-block-header) .drop--two-columns {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    :is(#header, .header-wrapper, .porto-block-header) .drop:not(.drop--two-columns) > .drop__box {
        width: auto;
    }

    .pg-hbtn span {
        display: none;
    }

    .pg-hbtn {
        width: 36px;
        padding: 0;
        justify-content: center;
    }

    .pg-hcta {
        height: 44px;
        padding-left: 16px;
        font-size: 14px;
    }
}

/* ==========================================================================
   Как в макете: [pg_header_address] и [pg_header_partners]
   ========================================================================== */
.pg-hdrop {
    position: relative;
    display: inline-flex;
}

.pg-hchip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    margin: 0;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(37, 40, 113, .06);
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #1c1f3a;
    white-space: nowrap;
    cursor: pointer;
}

.pg-hchip b {
    font-weight: 600;
}

.pg-hchip svg {
    color: #252871;
}

.pg-hchip__sep {
    color: #6a6d8a;
}

.pg-hcaret {
    display: inline-flex;
    margin-left: 2px;
    color: #6a6d8a;
}

.pg-hcaret svg {
    color: currentColor;
}

.pg-hchip:hover {
    background: #f0f0f7;
}

.pg-hchip:focus-visible {
    outline: 2px solid #252871;
    outline-offset: 2px;
}

.pg-hdrop:hover > .pg-hchip,
.pg-hdrop.is-open > .pg-hchip {
    background: #252871;
    color: #fff;
}

.pg-hdrop:hover > .pg-hchip :is(svg, .pg-hchip__sep, .pg-hcaret),
.pg-hdrop.is-open > .pg-hchip :is(svg, .pg-hchip__sep, .pg-hcaret) {
    color: #fff;
}

/* Панель: без анимации; прозрачный верхний отступ служит «мостиком» для курсора */
.pg-hpanel {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1001;
    display: none;
    padding-top: 10px;
}

.pg-hdrop:hover > .pg-hpanel,
.pg-hdrop.is-open > .pg-hpanel {
    display: block;
}

.pg-hpanel__box {
    display: grid;
    gap: 16px;
    padding: 24px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(37, 40, 113, .06), 0 32px 64px -24px rgba(37, 40, 113, .35);
}

.pg-hdrop--partners .pg-hpanel__box {
    grid-template-columns: repeat(2, 320px);
}

.pg-hdrop--address .pg-hpanel__box {
    grid-template-columns: 320px;
}

.pg-hcard {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border-radius: 20px;
    background: #f0f0f7;
    text-align: left;
}

.pg-hcard__head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pg-hcard__head i {
    display: inline-flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #252871;
}

.pg-hcard__head b {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: #151833;
}

.pg-hcard__head small {
    display: block;
    font-size: 13px;
    line-height: 1.3;
    color: #6a6d8a;
}

.pg-hcard__rows {
    display: grid;
    gap: 8px;
    font-size: 14px;
    line-height: 1.3;
    color: #1c1f3a;
}

.pg-hcard__rows > a,
.pg-hcard__rows > div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #1c1f3a !important;
    text-decoration: none !important;
}

.pg-hcard__rows svg {
    flex: 0 0 18px;
    color: #6a6d8a;
}

.pg-hcard__rows > a:hover {
    color: #252871 !important;
}

.pg-hcard__btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: auto;
}

.pg-hcard__btns a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 999px;
    background: #fff;
    font-size: 14px;
    font-weight: 500;
    color: #1c1f3a !important;
    text-decoration: none !important;
}

.pg-hcard__btns a:hover {
    background: #e6e7f2;
}

.pg-hcard__btns a.pg-hcard__route {
    background: #252871;
    color: #fff !important;
}

.pg-hcard__btns a.pg-hcard__route:hover {
    background: #1b1e5a;
}

.pg-hcard__btns a:only-child {
    grid-column: 1 / -1;
}

/* Основной ряд: телефон и кнопка записи в одном HTML-блоке */
:is(#header, .header-wrapper, .porto-block-header) .header-main .header-right .custom-html {
    gap: 12px;
}

/* Стрелки у пунктов меню с подменю */
:is(#header, .header-wrapper, .porto-block-header) .main-menu > li.has-sub > a::after {
    content: "" !important;
    display: inline-block !important;
    position: static !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 0 0 2px !important;
    border: 0 !important;
    background: currentColor !important;
    opacity: .55;
    font-size: 0 !important;
    transform: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 16px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 16px no-repeat;
}

/* ---------- Мега-меню как в макете: 4 колонки + карточка записи ---------- */
:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide ul.porto-wide-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
    gap: 0 24px;
    margin: 0 !important;
    padding: 0 !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide ul.porto-wide-sub-menu.pg-mega-has-promo {
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.1fr);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide ul.porto-wide-sub-menu > li.sub {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Первые три раздела — колонки на всю высоту, 4-й и 5-й — друг под другом в 4-й колонке */
:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide ul.porto-wide-sub-menu > li.sub:nth-child(-n+3) {
    grid-row: span 2;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide ul.porto-wide-sub-menu > li.sub:nth-child(4) {
    grid-column: 4;
    grid-row: 1;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide ul.porto-wide-sub-menu > li.sub:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
    padding-top: 24px !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px !important;
    line-height: 1.3 !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a::before {
    content: "";
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252871' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E") center / 18px no-repeat, linear-gradient(155deg, #e6e8fc 0%, #efe8f8 100%);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a[href*="consultation"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252871' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 2.3A.3.3 0 1 0 5 2.2a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6a6 6 0 0 0 6-6v-5a2 2 0 0 0-2-2'/%3E%3Cpath d='M8 15v1a6 6 0 0 0 6 6a6 6 0 0 0 6-6v-4'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E"), linear-gradient(155deg, #e6e8fc 0%, #efe8f8 100%);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a[href*="diagnost"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252871' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"), linear-gradient(155deg, #e6e8fc 0%, #efe8f8 100%);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a[href*="surgery"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252871' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21 14 10M14 10l6-6 1 1-6 7z'/%3E%3C/svg%3E"), linear-gradient(155deg, #e6e8fc 0%, #efe8f8 100%);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a[href*="check"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252871' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3 8-8'/%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9'/%3E%3C/svg%3E"), linear-gradient(155deg, #e6e8fc 0%, #efe8f8 100%);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub > a[href*="certificate"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252871' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"), linear-gradient(155deg, #e6e8fc 0%, #efe8f8 100%);
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu {
    display: grid !important;
    gap: 4px;
    margin: 0 !important;
    padding: 0 !important;
}

/* «На обновлении» → «Скоро на сайте» */
:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu li.menu-item > a[href="#!"] {
    font-size: 0 !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.sub ul.sub-menu li.menu-item > a[href="#!"]::after {
    content: "Скоро на сайте";
    font-size: 13px;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.pg-mega-promo {
    grid-column: -2;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    border-radius: 20px;
    background: linear-gradient(160deg, #dfe2fb 0%, #ecdff4 48%, #f9dbd6 100%);
    list-style: none;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.pg-mega-promo b {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: #151833;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.pg-mega-promo span {
    font-size: 14px;
    line-height: 1.4;
    color: #6a6d8a;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.pg-mega-promo a {
    display: inline-flex !important;
    align-self: flex-start;
    align-items: center;
    height: 40px;
    margin-top: auto;
    padding: 0 16px !important;
    border-radius: 999px;
    background: #252871 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #fff !important;
}

:is(#header, .header-wrapper, .porto-block-header) .main-menu .wide li.pg-mega-promo a:hover {
    background: #1b1e5a !important;
}

@media (max-width: 767px) {
    .pg-hdrop--partners .pg-hpanel__box,
    .pg-hdrop--address .pg-hpanel__box {
        grid-template-columns: minmax(0, 1fr);
        padding: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(#header, .header-wrapper, .porto-block-header) *,
    .pg-hcta,
    .pg-hcta span {
        transition: none !important;
    }
}
