/*
Theme Name: CleanMate Child
Template: cleanmate
Version: 1.0
Text Domain: cleanmate-child
Description: Дочерняя тема CleanMate.
*/

/* обнуление старого */
.sf-menu li,.sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active, .sf-menu li li li{
    background-color: transparent;
}
body .site-container .header-container .menu-container nav ul.sf-menu li ul li:last-child>a, body .site-container .header-container .menu-container nav ul.sf-menu li ul li ul li:last-child>a{
    padding-bottom: 0;
}
.sf-menu li a, .sf-menu li a:visited{
    padding: 15px 0 14px 18px;
}
.clearfix::before{
    display: none;
}

/* Верхние пункты */
.custom-mega-menu {
    position: relative;
}

/* Выпадающее окно */
.custom-mega-menu > .sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 42px;
    row-gap: 20px;

    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 9999;

    width: 680px;
    max-height: calc(100vh - 120px);
    padding: 30px;
    margin: 0;
    overflow-y: auto;

    background: #fff;
    border: 1px solid #ededf3;
    border-radius: 22px;
    box-shadow: 0 14px 40px rgba(30, 30, 65, 0.1);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 12px);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

.custom-mega-menu:hover > .sub-menu,
.custom-mega-menu:focus-within > .sub-menu,
.custom-mega-menu.menu-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

/* Колонки */
.custom-mega-menu > .sub-menu > .custom-mega-column {
    position: static;
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
}

/* Название колонки */
.custom-mega-column > a {
    display: block;
    margin: 0 0 20px;
    padding: 0;

    color: #171743;
    font-size: 14px;
    font-weight: 600;
}

/* Содержимое колонки */
.custom-mega-column > .sub-menu {
    position: static !important;
    display: block !important;
    width: auto;
    margin: 0;
    padding: 0;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: transparent;
    box-shadow: none;
}

/* Аккордеоны */

/* Заголовок внутри выпадающего окна */
.custom-mega-heading {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0 0 4px;
    padding: 0;
    list-style: none;
}

.custom-mega-heading > a {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;

    margin: 0;
    padding: 0 !important;

    color: #171743 !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: underline !important;
}

/* Убираем стрелку темы возле продублированного заголовка */
.custom-mega-heading > a::after,
.custom-mega-heading > a::before {
    display: none !important;
}

/* Общие параметры уникальных иконок */
.custom-mega-heading__icon {
    display: inline-block;
    flex: 0 0 18px;

    width: 18px;
    height: 18px;

    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    border-radius: 0;
}

.custom-mega-heading__icon::before {
    content: none !important;
    display: none !important;
}

/* О компании */
.menu-icon-about .custom-mega-heading__icon {
    background-image: url("/wp-content/uploads/2026/07/about.png");
}

/* Услуги */
.menu-icon-services .custom-mega-heading__icon {
    background-image: url("/wp-content/uploads/2026/07/services.png");
}

/* Клининг */
.menu-icon-cleaning .custom-mega-heading__icon {
    background-image: url("/wp-content/uploads/2026/07/cleaning.png");
}

/* Техническое обслуживание */
.menu-icon-maintenance .custom-mega-heading__icon {
    background-image: url("/wp-content/uploads/2026/07/maintenance.png");
}

/* Объекты обслуживания */
.menu-icon-objects .custom-mega-heading__icon {
    background-image: url("/wp-content/uploads/2026/07/objects.png");
}

.menu-icon-contacts .custom-mega-heading__icon {
    background-image: url("/wp-content/uploads/2026/07/phone.png");
}


/* Верхняя ссылка с выпадающим меню */
.sf-menu > li.custom-mega-menu > a {
    position: relative;
    padding-right: 17px !important;
}

/* Стрелка вниз */
.sf-menu > li.custom-mega-menu > a::after {
    content: "" !important;
    display: block !important;

    position: absolute;
    top: 50%;
    right: 2px;

    width: 5px;
    height: 5px;

    border: 0;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;

    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease;
}

/* Поворот стрелки при открытии */
.sf-menu > li.custom-mega-menu:hover > a::after,
.sf-menu > li.custom-mega-menu:focus-within > a::after,
.sf-menu > li.custom-mega-menu.menu-open > a::after {
    transform: translateY(-20%) rotate(225deg);
}


/* Разрешаем пунктам меню занимать ширину колонки */
.custom-mega-menu .sub-menu li {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
}

/* Переносим длинные названия на следующую строку */
.custom-mega-menu .sub-menu li > a {
    display: block;
    width: 100%;
    min-width: 0;

    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;

    line-height: 1.2;
}


/* Выпадающее окно */
.sf-menu > li.custom-mega-menu > .sub-menu {
    box-sizing: border-box;

    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 42px;
    row-gap: 0;

    left: -30px;
    width: 664px;
    padding: 30px 32px 28px;

    overflow-x: hidden;
    overflow-y: auto;

    transform: translateY(12px);

    border: 1px solid #ededf3;
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(30, 30, 65, 0.12);
}

/* Открытое окно */
.sf-menu > li.custom-mega-menu:hover > .sub-menu,
.sf-menu > li.custom-mega-menu:focus-within > .sub-menu,
.sf-menu > li.custom-mega-menu.menu-open > .sub-menu {
    transform: translateY(0);
}

/* Заголовок всего выпадающего окна */
.sf-menu .custom-mega-heading {
    grid-column: 1 / -1;
    margin: 0 0 18px;
    padding: 0;
}

.sf-menu .custom-mega-heading > a {
    display: inline-flex !important;
    width: auto !important;
    padding: 0 !important;

    color: #171743 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
}

/* Колонки */
.sf-menu
    > li.custom-mega-menu
    > .sub-menu
    > .custom-mega-column {
    width: 100% !important;
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* Названия "Услуги" и "Комплексы" */
.sf-menu .custom-mega-column > a {
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px;
    padding: 0 !important;

    color: #171743 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;

    border: 0 !important;
    text-decoration: none;
}

/* Убираем лишние стрелки возле названий колонок */
.sf-menu .custom-mega-column > a::before,
.sf-menu .custom-mega-column > a::after {
    content: none !important;
    display: none !important;
}

/* Убираем линии под названиями колонок */
.sf-menu .custom-mega-column,
.sf-menu .custom-mega-column > a,
.sf-menu .custom-mega-column > .sub-menu {
    border: 0 !important;
    box-shadow: none !important;
}

/* Список внутри колонки */
.sf-menu .custom-mega-column > .sub-menu {
    display: block !important;
    position: static !important;

    width: 100% !important;
    min-width: 0;
    margin: 0;
    padding: 0 !important;

    background: transparent !important;
}

/* Раскрывающиеся направления */
.sf-menu .custom-menu-accordion {
    position: relative;

    width: 100% !important;
    min-width: 0;
    margin: 0 0 24px;
    padding: 0 !important;

    border: 0 !important;
}

/* Название раскрывающегося направления */
.sf-menu .custom-menu-accordion > a {
    position: relative;

    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;

    margin: 0;
    padding: 0 25px 0 0 !important;

    color: #62627f !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.1;

    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;

    border: 0 !important;
    background: transparent !important;
}

/* Стрелка возле каждой раскрывающейся услуги */
.sf-menu .custom-menu-accordion > a::after {
    content: "" !important;
    display: block !important;

    position: absolute;
    top: 5px;
    right: 12px;

    width: 6px;
    height: 6px;

    border: 0 !important;
    border-right: 1px solid #171743 !important;
    border-bottom: 1px solid #171743 !important;

    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

/* Стрелка открытого аккордеона */
.sf-menu .custom-menu-accordion.is-open > a::after {
    top: 8px;
    transform: rotate(225deg);
}

/* Вложенные пункты открытого аккордеона */
.sf-menu .custom-menu-accordion > .sub-menu {
    position: static !important;
    display: none !important;

    width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 0 0 0 25px !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sf-menu .custom-menu-accordion.is-open > .sub-menu {
    display: block !important;
}

/* Пункты раскрытого аккордеона */
.sf-menu .custom-menu-accordion > .sub-menu > li {
    width: 100% !important;
    margin: 0 0 17px;
    padding: 0 !important;
}

.sf-menu .custom-menu-accordion > .sub-menu > li > a {
    display: block;
    width: 100% !important;
    padding: 0 !important;

    color: #70708c !important;
    font-size: 14px;
    line-height: 1.1;
    white-space: normal !important;
}

/* Комплексы */
.sf-menu .custom-mega-column:last-child > .sub-menu > li {
    width: 100% !important;
    margin: 0 0 17px;
    padding: 0 !important;
}

.sf-menu .custom-mega-column:last-child > .sub-menu > li > a {
    display: block;
    width: 100% !important;
    padding: 0 !important;

    color: #62627f !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.1;
    white-space: normal !important;
}

/* Последние пункты без нижнего отступа */
.sf-menu .custom-mega-column > .sub-menu > li:last-child {
    margin-bottom: 0;
}

/* ============================================================
   Обычные меню: одна или две колонки в зависимости от количества
   ============================================================ */

/* До восьми пунктов — одна колонка */
.sf-menu > li.custom-mega-menu--simple > .sub-menu {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 0;

    box-sizing: border-box;
    width: 320px;
    padding: 30px 32px;
}

/* Заголовок простого меню */
.sf-menu
    > li.custom-mega-menu--simple
    > .sub-menu
    > .custom-mega-heading {
    margin-bottom: 18px;
}

.sf-menu
    > li.custom-mega-menu--simple
    > .sub-menu
    > li:not(.custom-mega-heading)
    > a {
    display: block;
    width: 100% !important;
    padding: 9px 0 !important;

    color: #62627f !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    white-space: normal !important;
}

/* Больше восьми пунктов — две колонки */
.sf-menu > li.custom-mega-menu--list-two > .sub-menu {
    display: block !important;
    box-sizing: border-box;

    width: 620px;
    padding: 30px 32px;

    column-count: 2;
    column-gap: 42px;
}

/* Заголовок располагается над обеими колонками */
.sf-menu
    > li.custom-mega-menu--list-two
    > .sub-menu
    > .custom-mega-heading {
    display: block;
    width: 100%;
    margin: 0 0 18px;

    column-span: all;
}

/* Не разрываем один пункт между колонками */
.sf-menu
    > li.custom-mega-menu--list-two
    > .sub-menu
    > li:not(.custom-mega-heading) {
    display: inline-block;
    width: 100% !important;
    margin: 0;
    padding: 0;

    break-inside: avoid;
    page-break-inside: avoid;
}

/* Ссылки двухколоночного списка */
.sf-menu
    > li.custom-mega-menu--list-two
    > .sub-menu
    > li:not(.custom-mega-heading)
    > a {
    display: block;
    width: 100% !important;
    padding: 9px 0 !important;

    color: #62627f !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    white-space: normal !important;
}

/* Красный цвет пунктов при наведении */
.sf-menu li > a {
    transition: color 0.2s ease;
}

.sf-menu li > a:hover,
.sf-menu li > a:focus {
    color: #ef4b50 !important;
    background-color: transparent !important;
}

/* Активный верхний пункт, пока открыто его меню */
.sf-menu > li.custom-mega-menu:hover > a,
.sf-menu > li.custom-mega-menu:focus-within > a,
.sf-menu > li.custom-mega-menu.menu-open > a {
    color: #ef4b50 !important;
}

/* Заголовок внутри выпадающего окна */
.sf-menu .custom-mega-heading > a:hover,
.sf-menu .custom-mega-heading > a:focus {
    color: #ef4b50 !important;
}

/* Стрелки также становятся красными */
.sf-menu > li.custom-mega-menu > a:hover::after,
.sf-menu > li.custom-mega-menu:focus-within > a::after,
.sf-menu .custom-menu-accordion > a:hover::after,
.sf-menu .custom-menu-accordion > a:focus::after {
    border-color: #ef4b50 !important;
}


/* ============================================================
   Одинаковые отступы у всех подпунктов
   ============================================================ */

/* Все обычные пункты, аккордеоны и вложенные ссылки */
.sf-menu
.custom-mega-menu
.sub-menu
li:not(.custom-mega-heading):not(.custom-mega-column) {
    box-sizing: border-box;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

/* У последнего пункта убираем нижний отступ */
.sf-menu
.custom-mega-menu
.sub-menu
li:not(.custom-mega-heading):not(.custom-mega-column):last-child {
    margin-bottom: 0 !important;
}

/* Одинаковые внутренние отступы ссылок */
.sf-menu
.custom-mega-menu
.sub-menu
li:not(.custom-mega-heading):not(.custom-mega-column)
> a {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #62627f !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
}

/* Одинаковый цвет при наведении */
.sf-menu
.custom-mega-menu
.sub-menu
li:not(.custom-mega-heading):not(.custom-mega-column)
> a:hover,
.sf-menu
.custom-mega-menu
.sub-menu
li:not(.custom-mega-heading):not(.custom-mega-column)
> a:focus {
    color: #ef4b50 !important;
}

/* ============================================================
   Иконки пунктов раздела «Все услуги»
   ============================================================ */

/* Ссылки с иконками */
.menu-icon-services
> .sub-menu
> li:not(.custom-mega-heading)
> a {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;

    width: 100% !important;
    min-width: 0;
    white-space: normal !important;
    line-height: 1.2;
}

/* Общая иконка */
.menu-icon-services
> .sub-menu
> li:not(.custom-mega-heading)
> a::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 24px;

    width: 18px;
    height: 18px;
    /* margin-top: -2px; */

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Клининг */
.service-icon-cleaning > a::before {
    background-image: url("/wp-content/uploads/2026/07/service-cleaning.png");
}

.service-icon-maintenance > a::before {
    background-image: url("/wp-content/uploads/2026/07/service-maintenance.png");
}

.service-icon-moika > a::before {
    background-image: url("/wp-content/uploads/2026/07/service-moika.png");
}

.service-icon-improvement > a::before {
    background-image: url("/wp-content/uploads/2026/07/service-improvement.png");
}

.service-icon-rug > a::before {
    background-image: url("/wp-content/uploads/2026/07/service-rug.png");
}

.menu-icon-services
> .sub-menu
> li:not(.custom-mega-heading) {
    margin: 0 0 16px !important;
    padding: 0 !important;
}

.menu-icon-services
> .sub-menu
> li:not(.custom-mega-heading):last-child {
    margin-bottom: 0 !important;
}


/* Общий блок логотипа */
.header-container .logo,
.header-container .logo-container,
.site-header .site-logo,
.site-header .custom-logo-link {
    box-sizing: border-box;

    display: flex;
    flex: 0 0 125px;
    flex-direction: column;
    align-items: flex-start;

    width: 150px;
    min-width: 150px;
    max-width: 150px;
}

/* Сам логотип */
.header-container .logo img,
.header-container .logo-container img,
.site-header .site-logo img,
.site-header .custom-logo-link img {
    display: block;

    width: 150px;
    max-width: 150px;
    height: auto;
}

/* Подпись под логотипом */
.custom-logo-caption {
    box-sizing: border-box;
    display: block;

    width: 150px;
    max-width: 150px;
    margin-top: 6px;

    color: #62627f;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.25;

    white-space: normal;
    overflow-wrap: break-word;
    text-align: left;
}

.header{
    justify-content: space-between;
    gap: 20px;
}
.header-icons-container{
    flex-grow: 0;
}

/* Мобильные стрелки скрыты на компьютере */
.custom-mobile-submenu-toggle {
    display: none;
}

.custom-mobile-header-actions {
    display: none;
}

.custom-mobile-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: transparent !important;
}

.custom-mobile-phone img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* Отключаем старую CSS-иконку */
.custom-mobile-phone::before,
.custom-mobile-phone::after,
.custom-mobile-phone > span {
    display: none !important;
}

/*
 * Копии иконок первого уровня скрыты на компьютере.
 */
.custom-mobile-menu-icon {
    display: none !important;
}

/* ============================================================
   Кастомные иконки верхней контактной панели
   ============================================================ */

.header-top-bar .contact-details > li {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 20px;
    padding-left: 27px !important;
}

/* Убираем стандартные иконки темы и создаём свои */
.header-top-bar .contact-details > li::before {
    content: "" !important;

    position: absolute;
    top: 50%;
    left: 0;

    display: block !important;
    width: 17px;
    height: 17px;

    font-family: initial !important;
    font-size: 0 !important;

    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    transform: translateY(-50%);
}

/* Иконка адреса */
.header-top-bar
.contact-details
> li.template-location::before {
    background-image: url("/wp-content/uploads/2026/07/location.png");
}

/* Иконка телефона */
.header-top-bar
.contact-details
> li.template-mobile::before {
    background-image: url("/wp-content/uploads/2026/07/phone.png");
}
.header-top-bar-container{
    background-color: #ffffff !important;
}

@media screen and (max-width: 1189px) {
    body.custom-mobile-menu-open {
        overflow: hidden;
    }
    body .hide-on-mobiles {
        display: none;
    }

    /* Существующая шапка CleanMate */
    html body .header-container {
        position: sticky;
        top: 0;
        z-index: 100000;

        display: block !important;
        width: 100%;

        background: #fff !important;
        border-bottom: 1px solid #f0f0f5;
    }

    html body .header-container .header {
        position: relative;

        display: flex;
        box-sizing: border-box;
        align-items: center;

        width: 100%;
        max-width: none;
        min-height: 92px;
        padding: 16px 30px;
    }

    /* Логотип */
    html body .header-container .logo {
        position: static;
        float: none;

        display: block;
        flex: 0 0 180px;

        width: 180px;
        margin: 0 auto 0 0;
        padding: 0;
    }

    html body .header-container .logo p,
    html body .header-container .logo a {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    html body .header-container .logo img {
        display: block;
        width: 100%;
        max-width: 180px;
        height: auto;
    }

    /* Штатный бургер CleanMate */
    html body .mobile-menu-switch {
        position: relative;
        top: auto;
        right: auto;
        float: none;

        display: flex !important;
        flex: 0 0 42px;
        flex-direction: column;
        justify-content: space-between;
/* 
        width: 34px; */
        height: 28px !important;
        margin: 0;
        padding: 0;

        background: transparent !important;
    }

    html body .mobile-menu-switch .line {
        position: static;

        display: block !important;
        width: 100%;
        height: 4px;
        margin: 0;

        background: #ef4b50 !important;
        border-radius: 4px;

        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    /* У штатного бургера четыре линии — четвертую скрываем */
    html body .mobile-menu-switch .line:nth-child(4) {
        display: none !important;
    }

    /* Крестик */
    .header-container.custom-mobile-menu-open
    .mobile-menu-switch
    .line:nth-child(1) {
        transform: translateY(12px) rotate(45deg);
    }

    .header-container.custom-mobile-menu-open
    .mobile-menu-switch
    .line:nth-child(2) {
        opacity: 0;
    }

    .header-container.custom-mobile-menu-open
    .mobile-menu-switch
    .line:nth-child(3) {
        transform: translateY(-12px) rotate(-45deg);
    }

    /* Скрываем дополнительные меню, если используется header type 1 */
    .header-container
    .menu-container:not(.mobile-primary-menu) {
        display: none !important;
    }

    /* Контейнер основного меню не участвует в раскладке шапки */
    .header-container .menu-container.mobile-primary-menu {
        position: static;
        float: none;

        width: 0;
        height: 0;
        margin: 0;
        padding: 0;
    }

    /* Существующий nav становится полноэкранной панелью */
    .header-container
    .menu-container.mobile-primary-menu
    > nav {
        position: fixed !important;
        top: 130px;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99999;

        display: block !important;
        box-sizing: border-box;

        width: 100% !important;
        height: auto !important;
        padding: 40px 52px 50px;
        overflow-y: auto;

        background: #fff;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(100%);

        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            visibility 0.25s ease;
    }

    .header-container.custom-mobile-menu-open
    .menu-container.mobile-primary-menu
    > nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    /* Сбрасываем десктопное оформление */
    .header-container .mobile-primary-menu .sf-menu,
    .header-container .mobile-primary-menu .sf-menu ul,
    .header-container .mobile-primary-menu .sf-menu li {
        position: static !important;
        float: none !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0;
        padding: 0;

        list-style: none;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0;
        box-shadow: none !important;

        opacity: 1;
        visibility: visible;
        transform: none !important;
    }

    .header-container .mobile-primary-menu .sf-menu {
        display: block !important;
    }

    /* Верхний пункт */
    .header-container
    .mobile-primary-menu
    .sf-menu
    > li {
        position: relative !important;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;

        margin: 0 0 22px !important;
    }

    .header-container
    .mobile-primary-menu
    .sf-menu
    > li
    > a {
        display: inline-block !important;
        width: auto !important;
        margin: 0;
        padding: 0 !important;

        color: #171743 !important;
        font-size: 14px;
        font-weight: 600;
        line-height: 18px;

        text-decoration: underline !important;
        white-space: normal !important;
    }

    /* Убираем десктопную стрелку */
    .header-container
    .mobile-primary-menu
    .sf-menu
    > li
    > a::after {
        display: none !important;
    }

    /* Мобильная стрелка */
    .custom-mobile-submenu-toggle {
        position: relative;

        display: block;
        flex: 0 0 24px;

        width: 24px;
        height: 24px;
        margin: 0  0 0 6px;
        padding: 0;

        background: transparent !important;
        border: 0;
    }

    .custom-mobile-submenu-toggle::after {
        content: "";

        position: absolute;
        top: 7px;
        left: 7px;

        width: 6px;
        height: 6px;

        border-right: 1px solid #171743;
        border-bottom: 1px solid #171743;

        transform: rotate(45deg);
        transition: transform 0.2s ease;
    }

    .mobile-open
    > .custom-mobile-submenu-toggle::after {
        top: 10px;
        transform: rotate(225deg);
    }

    /* Все подменю сначала закрыты */
    .header-container
    .mobile-primary-menu
    .sf-menu
    li
    > .sub-menu {
        position: static !important;

        display: none !important;
        flex: 0 0 100%;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 24px 0 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    /* Открытый уровень */
    .header-container
    .mobile-primary-menu
    .sf-menu
    li.mobile-open
    > .sub-menu {
        display: block !important;
    }

    /* Пункты внутри подменю */
    .header-container
    .mobile-primary-menu
    .sf-menu
    .sub-menu
    > li {
        position: relative !important;

        display: flex !important;
        flex-wrap: wrap;
        align-items: center;

        width: 100% !important;
        margin: 0 0 16px !important;
    }

    .header-container
    .mobile-primary-menu
    .sf-menu
    .sub-menu
    > li
    > a {
        /* display: inline-block !important; */
        width: auto !important;
        max-width: calc(100% - 42px);
        margin: 0;
        padding: 0 !important;

        color: #62627f !important;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.2;

        text-decoration: none !important;
        white-space: normal !important;
    }

    /* Заголовки "Услуги" и "Комплексы" */
    .header-container
    .mobile-primary-menu
    .custom-mega-column
    > a {
        color: #171743 !important;
        font-size: 14px;
        font-weight: 600;
        line-height: 18px;
        text-decoration: none !important;
    }

    /* Добавленный десктопный заголовок не нужен */
    .header-container
    .mobile-primary-menu
    .custom-mega-heading {
        display: none !important;
    }
    .header-container .header {
        display: flex !important;
        align-items: center;
        flex-wrap: nowrap;
    }

    /* Логотип всегда первый */
    .header-container .header > .logo {
        order: 1;
        float: none !important;
        margin: 0 !important;
        flex: 0 0 auto;
    }

    /* Телефон и бургер после логотипа */
    .header-container .custom-mobile-header-actions {
        order: 2;
        display: flex;
        align-items: center;
        gap: 28px;
        margin-left: auto;
        flex: 0 0 auto;
    }

    .custom-mobile-header-actions .custom-mobile-phone,
    .custom-mobile-header-actions .mobile-menu-switch {
        position: relative !important;
        inset: auto !important;
        float: none !important;
        margin: 0 !important;
        flex: 0 0 auto;
    }

    /* Внутри блока: сначала телефон */
    .custom-mobile-header-actions .custom-mobile-phone {
        order: 1;
    }

    /* Затем бургер */
    .custom-mobile-header-actions .mobile-menu-switch {
        order: 2;
    }

    .header-container .mobile-primary-menu {
        order: 3;
    }
    /*
     * Пункт первого уровня:
     * иконка → текст.
     */
    .mobile-primary-menu .sf-menu > li.custom-mega-menu > a {
        display: inline-flex !important;
        align-items: center;
        gap: 13px;

        width: auto !important;
        min-height: 28px;
        margin: 0;
        padding: 0 !important;
    }

    /*
     * Показываем скопированную иконку.
     */
    .mobile-primary-menu
        .sf-menu
        > li.custom-mega-menu
        > a
        > .custom-mobile-menu-icon {
        position: static !important;
        display: inline-flex !important;
        flex: 0 0 18px;

        width: 18px;
        height: 18px;
        margin: 0;

        transform: none !important;
    }

    /*
     * Одинаковые вертикальные отступы первого уровня.
     */
    .mobile-primary-menu .sf-menu > li.custom-mega-menu {
        position: relative;
        width: 100% !important;
        margin: 0 0 22px !important;
        padding: 0 !important;
    }

    /*
     * Оставляем справа место для стрелки.
     */
    .mobile-primary-menu
        .sf-menu
        > li.custom-mega-menu.menu-item-has-children
        > a {
        max-width: calc(100% - 38px);
    }
    /*
     * Убираем десктопные стрелки у вложенных аккордеонов.
     * Оставляем только мобильную кнопку.
     */
    .header-container
    .mobile-primary-menu
    .sf-menu
    .custom-menu-accordion
    > a::after,
    .header-container
    .mobile-primary-menu
    .sf-menu
    .custom-menu-accordion
    > a::before {
        content: none !important;
        display: none !important;
    }
    /*
     * На мобильном все выпадающие меню —
     * строго в одну колонку.
     */
    html body
    .header-container
    .mobile-primary-menu
    .sf-menu
    li.custom-mega-menu
    > .sub-menu {
        display: none !important;

        grid-template-columns: minmax(0, 1fr) !important;
        column-count: 1 !important;
        columns: auto !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }

    /*
     * Показываем подменю только открытого раздела.
     */
    html body
    .header-container
    .mobile-primary-menu
    .sf-menu
    li.custom-mega-menu.mobile-open
    > .sub-menu {
        display: block !important;
    }

    /*
     * «Услуги» и «Комплексы» располагаются
     * друг под другом.
     */
    html body
    .header-container
    .mobile-primary-menu
    .sf-menu
    .custom-mega-column {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px !important;

        break-inside: auto !important;
    }

    .header-container
    .mobile-primary-menu
    .sf-menu
    .custom-mega-column:last-child {
        margin-bottom: 0 !important;
    }

    /*
     * Пункты меню, которое на десктопе делилось
     * на две колонки, тоже идут в один столбик.
     */
    html body
    .header-container
    .mobile-primary-menu
    .sf-menu
    .custom-mega-menu--list-two
    > .sub-menu
    > li {
        display: flex !important;
        width: 100% !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    html body .header-container .mobile-primary-menu .sf-menu .custom-mega-column{
        display: flex !important;
    }
    /*
     * Скрываем все продублированные заголовки
     * внутри мобильных подменю.
     */
    html body
    .header-container
    .mobile-primary-menu
    .sf-menu
    .sub-menu
    > li.custom-mega-heading {
        display: none !important;
    }
    .mobile-primary-menu
    .sf-menu
    > li.menu-icon-contacts
    > a {
        display: inline-flex !important;
        align-items: center;
        gap: 13px;

        width: auto !important;
        min-height: 28px;
        margin: 0;
        padding: 0 !important;
    }

    .mobile-primary-menu
    .sf-menu
    > li.menu-icon-contacts
    > a
    > .custom-mobile-menu-icon {
        position: static !important;
        display: inline-block !important;
        flex: 0 0 18px;

        width: 18px;
        height: 18px;
        margin: 0;
    }
}

@media screen and (max-width: 480px) {
    html body .header-container .header {
        min-height: 82px;
        padding: 14px 22px;
    }

    html body .header-container .logo {
        flex-basis: 155px;
        width: 155px;
    }

    html body .header-container .logo img {
        max-width: 155px;
    }

    .header-container
    .menu-container.mobile-primary-menu
    > nav {
        padding: 34px 28px 40px;
    }
    .header-container .custom-mobile-header-actions {
        gap: 22px;
    }

}

/* Нижняя информация мобильного меню скрыта на компьютере */
.custom-mobile-menu-footer {
    display: none;
}

@media screen and (max-width: 1189px) {
    .custom-mobile-menu-footer {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        width: 100%;
        margin-top: 28px;
        padding: 0;
    }


    /* Социальные сети */
    .custom-mobile-menu-footer
    .custom-mobile-socials {
        display: flex !important;
        align-items: center;
        gap: 42px;

        width: auto !important;
        margin: 42px 0 0 !important;
        padding: 0 !important;

        list-style: none;
    }

    .custom-mobile-menu-footer
    .custom-mobile-socials
    > li {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .custom-mobile-menu-footer
    .custom-mobile-socials
    a {
        display: block;
        width: 24px;
        height: 24px;
        margin: 0;
        padding: 0 !important;

        color: #50506e !important;
        font-size: 22px;
        line-height: 24px;
        text-decoration: none !important;
    }

    /* Адрес */
    .custom-mobile-menu-footer
    .custom-mobile-address {
        position: relative;

        display: block !important;
        box-sizing: border-box;

        width: 100% !important;
        max-width: 330px;
        min-height: 24px;
        margin: 42px 0 0 !important;
        padding: 0 0 0 30px !important;

        list-style: none;
    }

    .custom-mobile-menu-footer
    .custom-mobile-address
    .value {
        color: #a4a4a7 !important;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.3;
    }

    /* Иконка адреса */
    .custom-mobile-menu-footer
    .custom-mobile-address::before {
        content: "" !important;

        position: absolute;
        top: 2px;
        left: 0;

        display: block !important;
        width: 18px;
        height: 22px;

        font-family: initial !important;
        font-size: 0 !important;

        background-image: url("/wp-content/uploads/2026/07/location.png");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
}

@media screen and (max-width: 480px) {

    .custom-mobile-menu-footer
    .custom-mobile-socials {
        margin-top: 34px !important;
    }

    .custom-mobile-menu-footer
    .custom-mobile-address {
        margin-top: 34px !important;
    }
}

@media screen and (max-width: 1189px) {
    /*
     * Клонированный блок header_menu_sidebar.
     */
    .custom-mobile-menu-footer
    .custom-mobile-tender-block {
        position: static !important;
        float: none !important;

        display: block !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .custom-mobile-menu-footer
    .custom-mobile-tender-block
    .widget {
        position: static !important;
        float: none !important;

        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /*
     * Не изменяем оформление самой кнопки —
     * используются классы исходного виджета.
     */
    .custom-mobile-menu-footer
    .custom-mobile-tender-block
    a {
        margin: 0 !important;
    }
}
@media screen and (max-width: 1189px) {
    .custom-mobile-menu-footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    /* Кнопка — первая */
    .custom-mobile-menu-footer
    .custom-mobile-tender-block {
        order: 1 !important;
        margin: 0 !important;
    }

    /* Соцсети — вторые */
    .custom-mobile-menu-footer
    .custom-mobile-socials {
        order: 2 !important;
        margin: 36px 0 0 !important;
    }

    /* Адрес — третий */
    .custom-mobile-menu-footer
    .custom-mobile-address {
        order: 3 !important;
        margin: 36px 0 0 !important;
    }

    /* Полностью скрываем поиск в мобильном меню */
    .header-container
    .mobile-primary-menu
    .search-container,
    .header-container
    .mobile-primary-menu
    .search-form,
    .header-container
    .mobile-primary-menu
    .widget_search,
    .custom-mobile-menu-footer
    .search-container,
    .custom-mobile-menu-footer
    .search-form,
    .custom-mobile-menu-footer
    .widget_search {
        display: none !important;
    }
}