/* ===== #ls3-header-design ===== */
@media (min-width: 768px) {

    /* =========================================================
       HEADER SHELL
       ========================================================= */

    header.ls3-header {
        --ls3-blue: #0179B9;
        --ls3-blue-dark: #006ca5;
        --ls3-text: #1d1d1f;
        --ls3-muted: #6e7379;
        --ls3-border: rgba(29, 29, 31, .08);

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

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

        font-family: inherit !important;
    }

    header.ls3-header > .container,
    header.ls3-header .ls3-blue-nav > .container {
        width: 100% !important;
    }


    /* =========================================================
       LEVEL 1 — LIGHT FROSTED GLASS
       ========================================================= */

    header.ls3-header .header__top {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-bottom: 1px solid rgba(29,29,31,.06) !important;

        background: rgba(250,250,252,.78) !important;

        -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
        backdrop-filter: blur(24px) saturate(180%) !important;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.9),
            inset 0 -1px 0 rgba(255,255,255,.55) !important;
    }

    header.ls3-header .header__top-toggler {
        display: none !important;
    }


    /* LOGO */

    header.ls3-header .header__top-logo {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;

        padding-left: 0 !important;
        padding-right: 32px !important;
    }

    header.ls3-header .header__top-logo img {
        display: block !important;
        width: auto !important;
        max-height: 42px !important;
    }


    /* AGE — quieter, no bright green numbers */

    header.ls3-header .header__top-age {
        flex: 0 0 auto !important;

        padding: 0 25px 0 0 !important;

        font-size: 11px !important;
        line-height: 1.35 !important;
        color: #777c82 !important;
    }

    header.ls3-header .header__top-age,
    header.ls3-header .header__top-age * {
        color: #777c82 !important;
    }

    header.ls3-header .header__top-age p {
        margin: 0 !important;
    }


    /* ADDRESS */

    header.ls3-header .header__top-contacts {
        display: flex !important;
        align-items: center !important;
        flex: 0 1 auto !important;

        min-width: 0 !important;

        padding: 0 25px !important;

        border-left: 1px solid var(--ls3-border) !important;
    }

    header.ls3-header .ls3-address {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;

        min-width: 0 !important;

        color: #555a60 !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;

        white-space: nowrap !important;
        text-decoration: none !important;

        transition: color .16s ease !important;
    }

    header.ls3-header .ls3-address svg {
        flex: 0 0 auto !important;
        color: #747980 !important;
    }

    header.ls3-header .ls3-address:hover,
    header.ls3-header .ls3-address:hover svg {
        color: var(--ls3-blue) !important;
    }


    /* PHONE + CALLBACK */

    header.ls3-header .header__top-socials {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;

        gap: 16px !important;

        margin-left: auto !important;
        padding: 0 18px 0 24px !important;
    }

    header.ls3-header .ls3-contact {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: flex-end !important;

        gap: 2px !important;

        min-width: 152px !important;
    }

    header.ls3-header .ls3-phone {
        color: var(--ls3-text) !important;

        font-size: 14px !important;
        font-weight: 650 !important;
        line-height: 1.25 !important;

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

    header.ls3-header .ls3-phone:hover {
        color: var(--ls3-blue) !important;
    }

    header.ls3-header .ls3-hours {
        color: #777c82 !important;

        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;

        white-space: nowrap !important;
    }

    header.ls3-header .ls3-callback {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 38px !important;
        padding: 8px 14px !important;

        border: 1px solid rgba(1,121,185,.22) !important;
        border-radius: 8px !important;

        background: rgba(255,255,255,.62) !important;

        -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
        backdrop-filter: blur(14px) saturate(160%) !important;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.85),
            0 1px 2px rgba(0,0,0,.02) !important;

        color: var(--ls3-blue) !important;

        font-size: 12px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
        text-decoration: none !important;

        transition:
            background-color .16s ease,
            border-color .16s ease !important;
    }

    header.ls3-header .ls3-callback:hover {
        background: rgba(255,255,255,.95) !important;
        border-color: rgba(1,121,185,.34) !important;
        color: var(--ls3-blue-dark) !important;
    }


    /* UTILITY ICON BUTTONS */

    header.ls3-header .header__top-service {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;

        padding: 0 !important;
    }

    header.ls3-header .header__top-service .menu-service {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        gap: 7px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    header.ls3-header .header__top-service .nav-item {
        margin: 0 !important;
    }

    header.ls3-header .header__top-service .nav-item > a,
    header.ls3-header .header__top-service .userlink {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-width: 38px !important;
        min-height: 38px !important;
        padding: 7px 9px !important;

        border: 1px solid rgba(29,29,31,.07) !important;
        border-radius: 8px !important;

        background: rgba(255,255,255,.58) !important;

        -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
        backdrop-filter: blur(14px) saturate(160%) !important;

        box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;

        text-decoration: none !important;

        transition:
            background-color .16s ease,
            border-color .16s ease !important;
    }

    header.ls3-header .header__top-service .nav-item > a:hover,
    header.ls3-header .header__top-service .userlink:hover {
        background: rgba(255,255,255,.96) !important;
        border-color: rgba(29,29,31,.13) !important;
    }

    header.ls3-header .header__top-service img {
        width: 18px !important;
        height: 18px !important;
        object-fit: contain !important;
    }


    /* =========================================================
       LEVEL 2 — GUARANTEED BLUE
       ========================================================= */

    header.ls3-header .ls3-blue-nav,
    header.ls3-header div.head-botom.header.ls3-blue-nav {
        width: 100% !important;
	
        margin: 0 !important;
        padding: 0 !important;

       
        background-image: none !important;

        border: 0 !important;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.11),
            0 4px 16px rgba(0,70,105,.09) !important;
    }

    header.ls3-header .ls3-blue-nav > .container,
    header.ls3-header .ls3-blue-nav .header__menu,
    header.ls3-header .ls3-blue-nav .header__menu-inner,
    header.ls3-header .ls3-blue-nav .header__menu-menu,
    header.ls3-header .ls3-blue-nav .header__menu-catalog,
    header.ls3-header .ls3-blue-nav .header__menu-inner1,
    header.ls3-header .ls3-blue-nav .header__menu-search {
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu,
    header.ls3-header .ls3-blue-nav .header__menu.collapse,
    header.ls3-header .ls3-blue-nav .header__menu.navbar-collapse {
        display: block !important;
        visibility: visible !important;

        min-height: 64px !important;
        height: auto !important;

        padding: 0 !important;

        border: 0 !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-inner {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        min-height: 64px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* CATALOG */

    header.ls3-header .ls3-blue-nav .header__menu-catalog {
        flex: 0 0 auto !important;
        padding: 0 30px 0 0 !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn-header {
        margin: 0 !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 9px !important;

        min-height: 42px !important;
        padding: 10px 16px !important;

        border: 1px solid rgba(255,255,255,.35) !important;
        border-radius: 8px !important;

        background-color: rgba(255,255,255,.13) !important;
        background-image: none !important;

        box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;

        color: #fff !important;

        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;

        text-decoration: none !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn:hover {
        background-color: rgba(255,255,255,.21) !important;
        border-color: rgba(255,255,255,.52) !important;
        color: #fff !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn img {
        width: 16px !important;
        height: 16px !important;
        margin: 0 !important;

        filter: brightness(0) invert(1) !important;
    }


    /* NAV ITEMS */

    header.ls3-header .ls3-blue-nav .menu-header {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        gap: 9px !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
    }

    header.ls3-header .ls3-blue-nav .menu-header .nav-item {
        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
    }

    header.ls3-header .ls3-blue-nav .menu-header .nav-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 42px !important;
        padding: 10px 15px !important;

        border: 1px solid transparent !important;
        border-radius: 8px !important;

        background-color: transparent !important;
        background-image: none !important;

        color: rgba(255,255,255,.93) !important;

        font-size: 13px !important;
        font-weight: 520 !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
        text-decoration: none !important;

        transition:
            background-color .15s ease,
            border-color .15s ease !important;
    }

    header.ls3-header .ls3-blue-nav .menu-header .nav-link:hover {
        background-color: rgba(255,255,255,.12) !important;
        border-color: rgba(255,255,255,.08) !important;

        color: #fff !important;
    }

    header.ls3-header .ls3-blue-nav .menu-header .nav-link.active {
        background-color: rgba(255,255,255,.19) !important;
        border-color: rgba(255,255,255,.14) !important;

        color: #fff !important;
    }


    /* SEARCH */

    header.ls3-header .ls3-blue-nav .header__menu-search {
        flex: 0 0 auto !important;

        margin-left: auto !important;
        padding: 0 0 0 24px !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input {
        width: 205px !important;
        height: 40px !important;

        padding: 8px 36px 8px 12px !important;

        border: 1px solid rgba(255,255,255,.26) !important;
        border-radius: 8px !important;

        background-color: rgba(255,255,255,.12) !important;
        background-image: none !important;

        color: #fff !important;

        font-family: inherit !important;
        font-size: 12px !important;

        outline: none !important;

        box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input::placeholder {
        color: rgba(255,255,255,.74) !important;
        opacity: 1 !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input:hover {
        background-color: rgba(255,255,255,.16) !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input:focus {
        background-color: rgba(255,255,255,.20) !important;
        border-color: rgba(255,255,255,.52) !important;
    }


    /* Catalog drop-down — compact */
    header.ls3-header .catalog-menu.header {
        width: min(1180px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;

        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #fff !important;

        border: 1px solid rgba(29,29,31,.08) !important;
        border-top: 0 !important;
        border-radius: 0 0 10px 10px !important;

        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;

        box-shadow: 0 14px 32px rgba(20,25,30,.10) !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto !important;
    }

    header.ls3-header .catalog-menu.header > .container {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 18px 22px !important;
    }

    header.ls3-header .catalog-menu.header .row {
        margin-left: -6px !important;
        margin-right: -6px !important;
    }

    header.ls3-header .catalog-menu.header [class*="col"] {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}


/* Smaller desktop */
@media (min-width: 768px) and (max-width: 1240px) {

    header.ls3-header .header__top-age {
        display: none !important;
    }

    header.ls3-header .header__top-logo {
        padding-right: 20px !important;
    }

    header.ls3-header .header__top-contacts {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    header.ls3-header .header__top-socials {
        gap: 10px !important;

        padding-left: 14px !important;
        padding-right: 9px !important;
    }

    header.ls3-header .ls3-contact {
        min-width: 135px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-catalog {
        padding-right: 18px !important;
    }

    header.ls3-header .ls3-blue-nav .menu-header {
        gap: 4px !important;
    }

    header.ls3-header .ls3-blue-nav .menu-header .nav-link {
        padding-left: 10px !important;
        padding-right: 10px !important;

        font-size: 12px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-search {
        padding-left: 14px !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input {
        width: 150px !important;
    }
}

/* ===== #ls3-callback-layout-fix ===== */
@media (min-width: 768px) {

    /* Не даём старым стилям сжимать блок телефона и callback */
    header.ls3-header .header__top-socials {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto !important;

        width: auto !important;
        min-width: 340px !important;
        max-width: none !important;

        gap: 14px !important;
        margin-left: auto !important;
        padding: 0 16px 0 20px !important;

        overflow: visible !important;
        white-space: nowrap !important;
        position: relative !important;
        z-index: 3 !important;
    }

    header.ls3-header .ls3-contact {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;

        flex: 0 0 148px !important;
        width: 148px !important;
        min-width: 148px !important;
        max-width: 148px !important;

        overflow: visible !important;
    }

    header.ls3-header .ls3-phone,
    header.ls3-header .ls3-hours {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    /* Полная кнопка "Перезвоните мне" */
    header.ls3-header .ls3-callback {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 146px !important;
        width: 146px !important;
        min-width: 146px !important;
        max-width: 146px !important;
        min-height: 40px !important;

        padding: 9px 12px !important;

        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;

        border-radius: 8px !important;
        position: relative !important;
        z-index: 4 !important;
    }

    /* Иконки справа — отдельно, без налезания на callback */
    header.ls3-header .header__top-service {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;

        width: auto !important;
        min-width: 126px !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
        position: relative !important;
        z-index: 2 !important;
    }

    header.ls3-header .header__top-service .menu-service {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: visible !important;
    }
}


/* На более узком десктопе освобождаем место,
   но callback всё равно остаётся полностью видимой */
@media (min-width: 768px) and (max-width: 1280px) {

    header.ls3-header .header__top-contacts {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    header.ls3-header .header__top-socials {
        min-width: 310px !important;
        gap: 10px !important;
        padding-left: 12px !important;
        padding-right: 10px !important;
    }

    header.ls3-header .ls3-contact {
        flex-basis: 138px !important;
        width: 138px !important;
        min-width: 138px !important;
        max-width: 138px !important;
    }

    header.ls3-header .ls3-callback {
        flex-basis: 140px !important;
        width: 140px !important;
        min-width: 140px !important;
        max-width: 140px !important;
    }
}

/* ===== #ls3-fullwidth-glass-fix ===== */
@media (min-width: 768px) {

    /* Полноширинный стеклянный фон верхнего уровня */
    header.ls3-header {
        position: relative !important;
        isolation: isolate !important;
    }

    header.ls3-header::before {
        content: "" !important;

        position: absolute !important;
        z-index: 0 !important;

        top: 0 !important;
        left: 50% !important;

        width: 100vw !important;
        height: 72px !important;

        transform: translateX(-50%) !important;

        background: rgba(246, 247, 249, .78) !important;

        -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
        backdrop-filter: blur(24px) saturate(180%) !important;

        border-bottom: 1px solid rgba(29,29,31,.07) !important;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.82),
            inset 0 -1px 0 rgba(255,255,255,.35) !important;

        pointer-events: none !important;
    }

    /* Контент верхнего уровня поверх стекла */
    header.ls3-header > .container {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Сам внутренний ряд больше не рисует серый прямоугольник */
    header.ls3-header .header__top {
        background: transparent !important;

        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;

        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    /* Синий второй уровень остаётся поверх и на всю ширину */
    header.ls3-header .ls3-blue-nav {
        position: relative !important;
        z-index: 2 !important;
    }
}

/* ===== #ls-scroll-header-style ===== */
@media (min-width: 768px) {
    header.ls-scroll-header {
        --ls-admin-offset: 0px;

        position: sticky !important;
        position: -webkit-sticky !important;
        top: var(--ls-admin-offset) !important;

        z-index: 980 !important;

        transform: translate3d(0, 0, 0) !important;
        transition: transform .24s cubic-bezier(.4,0,.2,1) !important;

        will-change: transform;
    }

    header.ls-scroll-header.ls-header-hidden {
        transform: translate3d(0, -100%, 0) !important;
    }

    header.ls-scroll-header.ls-header-visible {
        transform: translate3d(0, 0, 0) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    header.ls-scroll-header {
        transition: none !important;
    }
}

/* ===== #ls-scroll-header-final-fix ===== */
@media (min-width: 768px) {
    header.ls-scroll-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 980 !important;

        transform: translate3d(0, 0, 0) !important;
        transition: transform .24s cubic-bezier(.4,0,.2,1) !important;

        will-change: transform !important;
    }

    header.ls-scroll-header.ls-header-hidden {
        transform: translate3d(0, -105%, 0) !important;
    }

    header.ls-scroll-header.ls-header-visible {
        transform: translate3d(0, 0, 0) !important;
    }
}

/* ===== #ls3-top-spacing-fix ===== */
@media (min-width: 768px) {

    /* Адрес не растягиваем и не создаём большую пустую зону справа */
    header.ls3-header .header__top-contacts {
        flex: 0 0 auto !important;
        padding-left: 22px !important;
        padding-right: 10px !important;
    }

    /* Телефон + callback ставим сразу после адреса */
    header.ls3-header .header__top-socials {
        margin-left: 18px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Свободное место теперь уходит между callback и служебными иконками */
    header.ls3-header .header__top-service {
        margin-left: auto !important;
        padding-left: 16px !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .header__top-contacts {
        padding-left: 16px !important;
        padding-right: 6px !important;
    }

    header.ls3-header .header__top-socials {
        margin-left: 12px !important;
    }

    header.ls3-header .header__top-service {
        padding-left: 10px !important;
    }
}

/* ===== #ls3-equal-top-gaps ===== */
@media (min-width: 1281px) {

    /* Один одинаковый интервал между всеми основными элементами верхней строки */
    header.ls3-header .header__top {
        gap: 26px !important;
        justify-content: flex-start !important;
    }

    /* Убираем индивидуальные отступы Bootstrap/старого шаблона */
    header.ls3-header .header__top-logo,
    header.ls3-header .header__top-age,
    header.ls3-header .header__top-contacts,
    header.ls3-header .header__top-socials,
    header.ls3-header .header__top-service {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Убираем разделитель — он визуально ломал равномерный ритм */
    header.ls3-header .header__top-contacts {
        border-left: 0 !important;
        flex: 0 0 auto !important;
    }

    /* Телефон и callback — тот же интервал, что и между остальными элементами */
    header.ls3-header .header__top-socials {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 26px !important;

        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    header.ls3-header .ls3-contact {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    header.ls3-header .ls3-callback {
        flex: 0 0 auto !important;
    }

    /* Иконки идут следующим самостоятельным блоком с тем же gap от callback */
    header.ls3-header .header__top-service {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* На компактном десктопе сохраняем ту же логику, только чуть меньший равный gap */
@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .header__top {
        gap: 18px !important;
        justify-content: flex-start !important;
    }

    header.ls3-header .header__top-logo,
    header.ls3-header .header__top-age,
    header.ls3-header .header__top-contacts,
    header.ls3-header .header__top-socials,
    header.ls3-header .header__top-service {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    header.ls3-header .header__top-contacts {
        border-left: 0 !important;
    }

    header.ls3-header .header__top-socials {
        gap: 18px !important;
        width: auto !important;
        min-width: 0 !important;
    }

    header.ls3-header .ls3-contact,
    header.ls3-header .header__top-service {
        width: auto !important;
        min-width: 0 !important;
    }
}

/* ===== #ls3-align-levels-final ===== */
@media (min-width: 1281px) {

    /* Верхний и нижний уровни используют одни и те же внутренние границы */
    header.ls3-header > .container,
    header.ls3-header .ls3-blue-nav > .container {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /*
     * Верхний уровень:
     * 5 логических групп от левого до правого края контейнера.
     * space-between даёт одинаковое распределение свободного пространства.
     */
    header.ls3-header .header__top {
        display: grid !important;
        grid-template-columns: auto auto auto auto auto !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        column-gap: 0 !important;
    }

    header.ls3-header .header__top-logo,
    header.ls3-header .header__top-age,
    header.ls3-header .header__top-contacts,
    header.ls3-header .header__top-socials,
    header.ls3-header .header__top-service {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        flex: none !important;
    }

    /* Телефон + callback остаются одной логической группой */
    header.ls3-header .header__top-socials {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 22px !important;
    }

    header.ls3-header .ls3-contact {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
    }

    header.ls3-header .ls3-callback {
        width: auto !important;
        min-width: 146px !important;
        max-width: none !important;
        flex: none !important;
    }

    /* Последний блок действительно заканчивается у правой границы */
    header.ls3-header .header__top-service {
        justify-self: end !important;
    }

    /* Первый блок действительно начинается у левой границы */
    header.ls3-header .header__top-logo {
        justify-self: start !important;
    }
}

/* На более узком десктопе оставляем flex, чтобы ничего не начало наезжать */
@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .header__top {
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
    }

    header.ls3-header .header__top-service {
        margin-left: auto !important;
    }
}

/* ===== #ls3-equal-main-spacing-v2 ===== */
@media (min-width: 1281px) {

    /* 6 самостоятельных элементов — одинаковый зазор между каждым */
    header.ls3-header .header__top {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

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

        gap: 0 !important;
    }

    header.ls3-header .header__top-logo,
    header.ls3-header .header__top-age,
    header.ls3-header .header__top-contacts,
    header.ls3-header .header__top-phone,
    header.ls3-header .header__top-callback,
    header.ls3-header .header__top-service {
        flex: 0 0 auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
    }

    /* Телефон теперь отдельный элемент */
    header.ls3-header .header__top-phone {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;

        gap: 2px !important;
        text-align: right !important;
    }

    header.ls3-header .ls3-phone {
        display: block !important;

        color: #1d1d1f !important;
        font-size: 14px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;

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

    header.ls3-header .ls3-phone:hover {
        color: #0179B9 !important;
    }

    header.ls3-header .ls3-hours {
        display: block !important;

        margin-top: 2px !important;

        color: #777c82 !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;

        white-space: nowrap !important;
    }

    /* Callback — длиннее и текст немного крупнее */
    header.ls3-header .header__top-callback {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    header.ls3-header .ls3-callback {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 178px !important;
        min-width: 178px !important;
        max-width: 178px !important;
        min-height: 42px !important;

        padding: 9px 16px !important;

        border: 1px solid rgba(1,121,185,.22) !important;
        border-radius: 8px !important;

        background: rgba(255,255,255,.62) !important;

        -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
        backdrop-filter: blur(14px) saturate(160%) !important;

        box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;

        color: #0179B9 !important;

        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;

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

    header.ls3-header .ls3-callback:hover {
        background: rgba(255,255,255,.96) !important;
        border-color: rgba(1,121,185,.34) !important;
        color: #006ca5 !important;
    }

    /* Крайние элементы совпадают с краями нижнего уровня */
    header.ls3-header .header__top-logo {
        margin-left: 0 !important;
    }

    header.ls3-header .header__top-service {
        margin-right: 0 !important;
    }
}


/* Компактный десктоп: одинаковый фиксированный gap */
@media (min-width: 768px) and (max-width: 1280px) {

    header.ls3-header .header__top {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 16px !important;
    }

    header.ls3-header .header__top-logo,
    header.ls3-header .header__top-age,
    header.ls3-header .header__top-contacts,
    header.ls3-header .header__top-phone,
    header.ls3-header .header__top-callback,
    header.ls3-header .header__top-service {
        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    header.ls3-header .header__top-age {
        display: none !important;
    }

    header.ls3-header .header__top-phone {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
    }

    header.ls3-header .header__top-callback {
        display: flex !important;
    }

    header.ls3-header .ls3-callback {
        width: 166px !important;
        min-width: 166px !important;
        max-width: 166px !important;
        min-height: 40px !important;

        font-size: 13px !important;
    }

    /* На узком десктопе иконки вправо */
    header.ls3-header .header__top-service {
        margin-left: auto !important;
    }
}

/* ===== #ls3-blue-nav-size-tuning ===== */
@media (min-width: 1281px) {

    /* Чуть крупнее текст горизонтального меню */
    header.ls3-header .ls3-blue-nav .menu-header .nav-link {
        font-size: 14px !important;
        font-weight: 560 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn {
        font-size: 14px !important;
        font-weight: 650 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    /* Поиск шире — заполняет свободное место справа */
    header.ls3-header .ls3-blue-nav .header__menu-search {
        flex: 0 0 320px !important;
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        margin-left: auto !important;
        padding-left: 24px !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        font-size: 13px !important;
        padding-left: 14px !important;
    }
}

@media (min-width: 1400px) {
    header.ls3-header .ls3-blue-nav .header__menu-search {
        flex-basis: 360px !important;
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {

    header.ls3-header .ls3-blue-nav .menu-header .nav-link {
        font-size: 13px !important;
        font-weight: 560 !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn {
        font-size: 13px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-search {
        flex: 0 0 230px !important;
        width: 230px !important;
        min-width: 230px !important;
        max-width: 230px !important;
    }

    header.ls3-header .ls3-blue-nav #title-search-input {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        font-size: 12.5px !important;
    }
}

/* ===== #ls3-search-align-callback ===== */
@media (min-width: 1281px) {
    /* Левый край поиска = левому краю кнопки "Перезвоните мне" */
    header.ls3-header .ls3-blue-nav .header__menu-search {
        padding-left: 0 !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .ls3-blue-nav .header__menu-search {
        padding-left: 0 !important;
    }
}

/* ===== #ls3-callback-form-cta ===== */
@media (min-width: 768px) {

    /* Явный CTA: визуально отличается от обычных стеклянных кнопок */
    header.ls3-header .ls3-callback {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;

        min-height: 42px !important;
        padding: 9px 16px !important;

        border: 1px solid #0179B9 !important;
        border-radius: 8px !important;

        background: #0179B9 !important;
        background-image: none !important;

        box-shadow:
            0 2px 7px rgba(1,121,185,.16),
            inset 0 1px 0 rgba(255,255,255,.12) !important;

        color: #fff !important;

        font-size: 13.5px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
        text-decoration: none !important;

        transition:
            background-color .16s ease,
            border-color .16s ease,
            box-shadow .16s ease,
            transform .16s ease !important;
    }

    header.ls3-header .ls3-callback__icon {
        flex: 0 0 auto !important;
        display: block !important;
        color: #fff !important;
    }

    header.ls3-header .ls3-callback:hover {
        background: #006da7 !important;
        border-color: #006da7 !important;
        color: #fff !important;

        box-shadow:
            0 4px 10px rgba(1,121,185,.20),
            inset 0 1px 0 rgba(255,255,255,.14) !important;

        transform: translateY(-1px) !important;
    }

    header.ls3-header .ls3-callback:focus {
        outline: none !important;
        box-shadow:
            0 0 0 3px rgba(1,121,185,.15),
            0 3px 9px rgba(1,121,185,.16) !important;
    }
}

/* ===== #ls3-callback-simple-blue ===== */
@media (min-width: 768px) {
    header.ls3-header .ls3-callback {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 178px !important;
        min-width: 178px !important;
        max-width: 178px !important;
        min-height: 48px !important;

        padding: 11px 16px !important;

        border: 0 !important;
        border-radius: 8px !important;

        background: #3484B8 !important;
        background-image: none !important;

        box-shadow: none !important;

        color: #ffffff !important;

        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
        text-decoration: none !important;

        transform: none !important;

        transition: background-color .16s ease !important;
    }

    header.ls3-header .ls3-callback:hover,
    header.ls3-header .ls3-callback:focus {
        background: #2D78AA !important;
        border: 0 !important;
        color: #ffffff !important;
        box-shadow: none !important;
        transform: none !important;
        text-decoration: none !important;
    }
}

/* ===== #ls3-callback-width-fix ===== */
@media (min-width: 768px) {
    header.ls3-header .ls3-callback {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        min-height: 46px !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
    }
}

/* ===== #ls3-callback-final-size ===== */
@media (min-width: 768px) {
    header.ls3-header .ls3-callback {
        width: 178px !important;
        min-width: 178px !important;
        max-width: 178px !important;

        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;

        padding: 7px 14px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }
}

/* ===== #ls3-desktop-only-fix ===== */
/* В мобильной версии показываем ТОЛЬКО штатную mobile-header-new.php */
@media (max-width: 767.98px) {
    header.ls3-header,
    header.ls-scroll-header {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        position: static !important;
        transform: none !important;
    }

    header.ls3-header::before,
    header.ls-scroll-header::before {
        display: none !important;
        content: none !important;
    }
}

/* Десктопная версия */
@media (min-width: 768px) {
    header.ls3-header,
    header.ls-scroll-header {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* ===== #ls3-services-primary-button ===== */
@media (min-width: 768px) {

    /* Каталог + Услуги — две главные кнопки второго уровня */
    header.ls3-header .ls3-blue-nav .header__menu-catalog {
        padding-right: 10px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-services {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;

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

        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    header.ls3-header .ls3-blue-nav .services-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 42px !important;
        padding: 10px 18px !important;

        border: 1px solid rgba(255,255,255,.35) !important;
        border-radius: 8px !important;

        background-color: rgba(255,255,255,.13) !important;
        background-image: none !important;

        box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;

        color: #ffffff !important;

        font-size: 14px !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
        text-decoration: none !important;

        transition:
            background-color .15s ease,
            border-color .15s ease !important;
    }

    header.ls3-header .ls3-blue-nav .services-btn:hover {
        background-color: rgba(255,255,255,.21) !important;
        border-color: rgba(255,255,255,.52) !important;
        color: #ffffff !important;
        text-decoration: none !important;
    }

    header.ls3-header .ls3-blue-nav .services-btn.active {
        background-color: rgba(255,255,255,.24) !important;
        border-color: rgba(255,255,255,.58) !important;
        color: #ffffff !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .ls3-blue-nav .header__menu-catalog {
        padding-right: 7px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-services {
        padding-right: 12px !important;
    }

    header.ls3-header .ls3-blue-nav .services-btn {
        padding-left: 13px !important;
        padding-right: 13px !important;
        font-size: 13px !important;
    }
}

/* ===== #ls3-primary-nav-equal-buttons ===== */
@media (min-width: 768px) {

    /* Каталог и Услуги — одинаковые по размеру */
    header.ls3-header .ls3-blue-nav .catalog-btn,
    header.ls3-header .ls3-blue-nav .services-btn {
        width: 152px !important;
        min-width: 152px !important;
        max-width: 152px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

        padding: 0 16px !important;

        border: 1px solid rgba(255,255,255,.35) !important;
        border-radius: 8px !important;

        background: rgba(255,255,255,.13) !important;

        color: #fff !important;
        font-size: 14px !important;
        font-weight: 650 !important;
        line-height: 1 !important;

        box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn {
        gap: 9px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-catalog {
        padding-right: 10px !important;
    }

    header.ls3-header .ls3-blue-nav .header__menu-services {
        padding-right: 22px !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn:hover,
    header.ls3-header .ls3-blue-nav .services-btn:hover {
        background: rgba(255,255,255,.21) !important;
        border-color: rgba(255,255,255,.52) !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .ls3-blue-nav .catalog-btn,
    header.ls3-header .ls3-blue-nav .services-btn {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
        font-size: 13px !important;
    }
}

/* ===== #ls3-primary-buttons-separate-fix ===== */
@media (min-width: 768px) {

    /* Две отдельные кнопки без слипания Bootstrap-колонок */
    header.ls3-header .ls3-blue-nav .header__menu-catalog,
    header.ls3-header .ls3-blue-nav .header__menu-services {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        position: relative !important;
    }

    /* Убираем отрицательные margin у вложенного .row в каталоге */
    header.ls3-header .ls3-blue-nav .header__menu-catalog .header__menu-inner1 {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn-header {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Реальный одинаковый интервал между Каталогом и Услугами */
    header.ls3-header .ls3-blue-nav .header__menu-services {
        margin-left: 12px !important;
        margin-right: 24px !important;
    }

    /* Кнопки полностью самостоятельные */
    header.ls3-header .ls3-blue-nav .catalog-btn,
    header.ls3-header .ls3-blue-nav .services-btn {
        display: inline-flex !important;
        box-sizing: border-box !important;

        width: 152px !important;
        min-width: 152px !important;
        max-width: 152px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

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

        border: 1px solid rgba(255,255,255,.35) !important;
        border-radius: 8px !important;

        background: rgba(255,255,255,.13) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    header.ls3-header .ls3-blue-nav .header__menu-services {
        margin-left: 8px !important;
        margin-right: 14px !important;
    }

    header.ls3-header .ls3-blue-nav .catalog-btn,
    header.ls3-header .ls3-blue-nav .services-btn {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
    }
}

/* ===== #ls-primary-dropdown-visibility-fix ===== */
@media (min-width: 768px) {

    header.ls3-header .catalog-menu.header {
        display: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    header.ls3-header.ls-menu-catalog-open .catalog-menu.header {
        display: block !important;
    }

    header.ls3-header.ls-menu-catalog-open .catalog-btn {
        background: rgba(255,255,255,.22) !important;
        border-color: rgba(255,255,255,.52) !important;
    }
}
