.ulfar-site-header button { all: unset; box-sizing: border-box; font: inherit; cursor: pointer; }
.ulfar-site-header button::before, .ulfar-site-header button::after { content: none !important; }
.ulfar-site-header,
.ulfar-site-header * {
    box-sizing: border-box;
}

.ulfar-site-header {
    margin: 0;
    background: #ffffff;
    color: #17151F;
    font-family: Onest, sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
}

.ulfar-site-header a {
    color: #5700D8;
    text-decoration: none;
}

.ulfar-site-header a:hover {
    color: #7A2BF5;
}

.ulfar-site-header {
    -webkit-text-size-adjust: 100%;
}

.ulfar-site-header img {
    max-width: 100%;
}

.ulfar-site-header [data-page] a,
.ulfar-site-header [data-page] button,
.ulfar-site-header [data-page] [role="button"] {
    -webkit-tap-highlight-color: transparent;
}

.ulfar-site-header [data-page] :focus-visible {
    outline: 2px solid #5700D8;
    outline-offset: 2px;
}

.ulfar-site-header [data-r="mob"] {
    display: none;
}

.ulfar-site-header [data-r="tabs"] {
    overflow-x: auto;
    scrollbar-width: none;
}

.ulfar-site-header [data-r="tabs"]::-webkit-scrollbar {
    display: none;
}

@media (max-width: 1180px) {
    .ulfar-site-header [data-r="g4"] {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ulfar-site-header [data-r="g5"] {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ulfar-site-header [data-r="desk"] {
        display: none !important;
    }

    .ulfar-site-header [data-r="mob"] {
        display: flex !important;
    }

    .ulfar-site-header [data-page] div,
.ulfar-site-header [data-page] span {
        white-space: normal !important;
    }

    .ulfar-site-header [data-r="tabs"]>div,
.ulfar-site-header [data-r="hbar"],
.ulfar-site-header [data-r="hbar"] * {
        white-space: nowrap !important;
    }
}

@media (max-width: 1024px) {
    .ulfar-site-header [data-r="split"] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
    }

    .ulfar-site-header [data-r="tabwrap"] {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .ulfar-site-header [data-r="tabs"] {
        flex: none !important;
    }
}

@media (max-width: 900px) {

    .ulfar-site-header [data-r="g4"],
.ulfar-site-header [data-r="g3"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ulfar-site-header [data-r="hrow"] {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
    }

    .ulfar-site-header [data-r="hrow"]>* {
        margin-left: 0 !important;
        text-align: left !important;
        max-width: 100%;
    }

    .ulfar-site-header [data-r="proc"] {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        row-gap: 12px !important;
        gap: 16px !important;
    }

    .ulfar-site-header [data-r="proc"]> :last-child {
        grid-column: 2;
        padding-left: 0 !important;
        border-left: 0 !important;
    }

    .ulfar-site-header [data-r="spacer"] {
        display: none !important;
    }
}

@media (max-width: 600px) {

    .ulfar-site-header [data-r="g4"],
.ulfar-site-header [data-r="g3"],
.ulfar-site-header [data-r="g2"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .ulfar-site-header [data-r="g5"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ulfar-site-header [data-r="btn"] {
        width: 100%;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
    }

    .ulfar-site-header [data-r="hbar"] {
        height: 64px !important;
    }

    .ulfar-site-header [data-r="cta-h"] {
        padding: 11px 16px !important;
        font-size: 15px !important;
    }
}

@media (max-width: 480px) {
    .ulfar-site-header [data-r="cta-h"] {
        padding: 10px 12px !important;
        font-size: 14px !important;
        border-radius: 9px !important;
    }

    .ulfar-site-header [data-r="logo"] {
        max-width: 40vw !important;
        height: 30px !important;
    }
}

@media (min-width: 1181px) and (max-width: 1380px) {

    .ulfar-site-header nav[data-r="desk"]>a,
.ulfar-site-header nav[data-r="desk"]>div {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 14.5px !important;
    }

    .ulfar-site-header [data-r="logo"] {
        width: 200px !important;
    }
}

@media (min-width: 1181px) {
    .ulfar-site-header [data-r="logoa"] {
        flex: none !important;
    }
}

@media (min-width: 1181px) and (max-width: 1300px) {
    .ulfar-site-header [data-r="hbar"] a[href^="tel:"][data-r="desk"] {
        display: none !important;
    }
}

/* Внешний header должен быть sticky: внутренний блок ограничен высотой родителя. */
.ulfar-site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    background: #ffffff;
}

/* Структура и элементы хедера. */
.ulfar-header {
    position: relative;
    width: 100%;
    background: #ffffff;
    font-family: Onest, sans-serif;
    font-weight: 300;
    color: #17151F;
}

.ulfar-header .ulfar-header__top-border {
    border-bottom: 1px solid #E7E5EB;
}

.ulfar-header .ulfar-header__bar {
    width: min(1416px, calc(100% - clamp(32px, 6vw, 64px)));
    margin: 0 auto;
    height: 84px;
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
    white-space: nowrap;
}

.ulfar-header .ulfar-header__logo-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    flex: 0 1 auto;
    min-width: 0;
}

.ulfar-header .ulfar-header__logo {
    flex: none;
    height: clamp(26px, 6vw, 38px);
    width: clamp(180px, 40vw, 272px);
    max-width: 52vw;
    background-image: url("/local/templates/ulfar/img/logo-new.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
}

.ulfar-header .ulfar-header__desktop-nav {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 15px;
    font-weight: 400;
}

.ulfar-header .ulfar-header__directions-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 12px;
    border-radius: 10px;
    cursor: pointer;
    background: var(--ulfar-header-services-bg);
    color: var(--ulfar-header-services-color);
}

.ulfar-header .ulfar-header__directions-icon {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 14px;
}

.ulfar-header .ulfar-header__directions-line {
    height: 1.5px;
    background: currentColor;
}

.ulfar-header .ulfar-header__about-trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 10px;
    border-radius: 10px;
    cursor: pointer;
    background: var(--ulfar-header-about-bg);
    color: var(--ulfar-header-about-color);
}

.ulfar-header .ulfar-header__about-caret {
    font-size: 11px;
}

.ulfar-header .ulfar-header__nav-link--accent {
    padding: 12px 10px;
    color: #5700D8;
    font-weight: 400;
}

.ulfar-header .ulfar-header__nav-link {
    padding: 12px 10px;
    color: #17151F;
}

.ulfar-header .ulfar-header__actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.6vw, 18px);
}

.ulfar-header .ulfar-header__a11y-toggle {
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 1px solid var(--ulfar-header-a11y-border);
    background: var(--ulfar-header-a11y-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.ulfar-header .ulfar-header__phone {
    font-size: 18px;
    font-weight: 400;
    color: #17151F;
    white-space: nowrap;
}

.ulfar-header .ulfar-header__appointment-link {
    background: #5700D8;
    color: #ffffff;
    cursor: pointer;
    user-select: none;
    font-size: 16px;
    font-weight: 400;
    padding: 14px 22px;
    border-radius: 10px;
    white-space: nowrap;
}

.ulfar-header .ulfar-header__mobile-toggle {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 1px solid #E7E5EB;
    background: #ffffff;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.ulfar-header .ulfar-header__hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 20px;
}

.ulfar-header .ulfar-header__hamburger-line {
    height: 1.5px;
    background: #17151F;
}

.ulfar-header .ulfar-header__a11y-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 120;
    background: #ffffff;
    border-bottom: 1px solid #E7E5EB;
    box-shadow: 0 24px 48px -24px rgba(23, 21, 31, .18);
}

.ulfar-header .ulfar-header__a11y-content {
    width: min(1416px, calc(100% - clamp(32px, 6vw, 64px)));
    margin: 0 auto;
    padding: 16px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 28px;
}

.ulfar-header .ulfar-header__a11y-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ulfar-header .ulfar-header__a11y-label {
    font-size: 14px;
    color: #5F5B6E;
}

.ulfar-header .ulfar-header__a11y-options {
    display: flex;
    gap: 4px;
    background: #F7F6F9;
    padding: 4px;
    border-radius: 10px;
}

.ulfar-header .ulfar-header__a11y-option {
    min-height: 40px;
    min-width: 44px;
    padding: 0 14px;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
    font-family: Onest, sans-serif;
    font-size: var(--ulfar-header-option-font-size);
    font-weight: 400;
    background: var(--ulfar-header-option-bg);
    color: var(--ulfar-header-option-color);
}

.ulfar-header .ulfar-header__a11y-actions {
    margin-left: auto;
    display: flex;
    gap: 10px;
}

.ulfar-header .ulfar-header__a11y-reset {
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #C9BCE4;
    border-radius: 10px;
    background: #ffffff;
    color: #5700D8;
    font-family: Onest, sans-serif;
    font-size: 15px;
    cursor: pointer;
}

.ulfar-header .ulfar-header__a11y-close {
    width: 44px;
    height: 44px;
    border: 1px solid #E7E5EB;
    border-radius: 10px;
    background: #ffffff;
    font-size: 16px;
    cursor: pointer;
}

.ulfar-header .ulfar-header__mega-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #ffffff;
    border-bottom: 1px solid #E7E5EB;
    box-shadow: 0 24px 48px -24px rgba(23, 21, 31, .18);
}

.ulfar-header .ulfar-header__services-layout {
    width: min(1416px, calc(100% - clamp(32px, 6vw, 64px)));
    margin: 0 auto;
    padding: 32px 0 40px;
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr) 300px;
    gap: 40px;
}

.ulfar-header .ulfar-header__categories {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-right: 1px solid #EFEDF3;
    padding-right: 24px;
}

.ulfar-header .ulfar-header__category {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border-radius: 10px;
    background: var(--ulfar-header-category-bg);
    color: var(--ulfar-header-category-color);
}

.ulfar-header .ulfar-header__category-name {
    font-size: 16px;
    font-weight: 400;
}

.ulfar-header .ulfar-header__category-badge {
    background: var(--ulfar-header-badge-bg);
    color: var(--ulfar-header-badge-color);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    padding: 3px 7px;
    border-radius: 4px;
}

.ulfar-header .ulfar-header__category-arrow {
    margin-left: auto;
    font-size: 14px;
    opacity: var(--ulfar-header-category-arrow-opacity);
}

.ulfar-header .ulfar-header__services-content {
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}

.ulfar-header .ulfar-header__services-heading-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.ulfar-header .ulfar-header__services-heading-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: clamp(21px, 2.4vw, 28px);
    font-weight: 300;
    letter-spacing: -0.02em;
    color: #17151F;
}

.ulfar-header .ulfar-header__services-heading-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #E7E5EB;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #5700D8;
}

.ulfar-header .ulfar-header__service-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 2px;
}

.ulfar-header .ulfar-header__service-link {
    padding: 11px 0;
    border-bottom: 1px solid #F1EFF4;
    font-size: 15px;
    color: #17151F;
}

.ulfar-header .ulfar-header__service-link--highlight {
    margin-top: 10px;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #5700D8;
    color: #ffffff;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 400;
}

.ulfar-header .ulfar-header__highlight-arrow {
    font-size: 14px;
}

.ulfar-header .ulfar-header__feature-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ulfar-header .ulfar-header__feature-card {
    flex: 1 1 auto;
    background: #F7F6F9;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ulfar-header .ulfar-header__feature-tag {
    font-size: 13px;
    color: #5F5B6E;
}

.ulfar-header .ulfar-header__feature-title {
    font-size: 20px;
    line-height: 1.25;
    font-weight: 300;
    letter-spacing: -0.01em;
    color: #17151F;
    text-wrap: pretty;
}

.ulfar-header .ulfar-header__feature-text {
    font-size: 15px;
    line-height: 1.55;
    color: #6E6A7C;
    text-wrap: pretty;
}

.ulfar-header .ulfar-header__feature-arrow {
    margin-top: auto;
    align-self: flex-start;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #5700D8;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

.ulfar-header .ulfar-header__about-grid {
    width: min(1416px, calc(100% - clamp(32px, 6vw, 64px)));
    margin: 0 auto;
    padding: 16px 0 18px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.ulfar-header .ulfar-header__about-link {
    border: 1px solid #E7E5EB;
    border-radius: 10px;
    padding: 12px 16px;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 400;
    color: #17151F;
}

.ulfar-header .ulfar-header__about-link-text {
    text-wrap: pretty;
}

.ulfar-header .ulfar-header__about-link-arrow {
    margin-left: auto;
    font-size: 15px;
    color: #5700D8;
}

.ulfar-header .ulfar-header__mobile-panel {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

.ulfar-header .ulfar-header__mobile-header {
    flex: 0 0 auto;
    height: 64px;
    padding: 0 clamp(16px, 4vw, 32px);
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid #E7E5EB;
}

.ulfar-header .ulfar-header__mobile-logo-link {
    display: block;
}

.ulfar-header .ulfar-header__mobile-logo {
    flex: none;
    height: 32px;
    width: 229px;
    max-width: 60vw;
    background-image: url("/local/templates/ulfar/img/logo-new.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
}

.ulfar-header .ulfar-header__mobile-close {
    margin-left: auto;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 1px solid #E7E5EB;
    background: #ffffff;
    font-size: 20px;
    color: #17151F;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.ulfar-header .ulfar-header__mobile-content {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 8px clamp(16px, 4vw, 32px) calc(24px + env(safe-area-inset-bottom));
}

.ulfar-header .ulfar-header__mobile-section-title {
    font-size: 14px;
    color: #5F5B6E;
    padding: 18px 0 6px;
}

.ulfar-header .ulfar-header__mobile-accordion {
    border-bottom: 1px solid #EFEDF3;
}

.ulfar-header .ulfar-header__mobile-accordion-button {
    width: 100%;
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: 0;
    padding: 0;
    font-family: Onest, sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #17151F;
    text-align: left;
    cursor: pointer;
}

.ulfar-header .ulfar-header__mobile-badge {
    background: #F4F0FB;
    color: #5700D8;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    padding: 3px 7px;
    border-radius: 4px;
}

.ulfar-header .ulfar-header__mobile-sign {
    margin-left: auto;
    font-size: 24px;
    font-weight: 200;
    color: #5700D8;
}

.ulfar-header .ulfar-header__mobile-submenu {
    display: flex;
    flex-direction: column;
    padding: 0 0 14px 2px;
}

.ulfar-header .ulfar-header__mobile-submenu-link {
    min-height: 44px;
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #5F5B6E;
}

.ulfar-header .ulfar-header__mobile-feature-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.ulfar-header .ulfar-header__mobile-feature-card {
    background: #F7F6F9;
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ulfar-header .ulfar-header__mobile-feature-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1 1 auto;
}

.ulfar-header .ulfar-header__mobile-feature-title {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
    color: #17151F;
    text-wrap: pretty;
}

.ulfar-header .ulfar-header__mobile-feature-arrow {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #5700D8;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.ulfar-header .ulfar-header__mobile-section-link {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 1px solid #C9BCE4;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 400;
    color: #5700D8;
}

.ulfar-header .ulfar-header__mobile-nav-link--accent {
    min-height: 56px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #EFEDF3;
    font-size: 18px;
    font-weight: 400;
    color: #5700D8;
}

.ulfar-header .ulfar-header__mobile-nav-link {
    min-height: 56px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #EFEDF3;
    font-size: 18px;
    font-weight: 400;
    color: #17151F;
}

.ulfar-header .ulfar-header__mobile-contacts {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 24px;
}

.ulfar-header .ulfar-header__mobile-phone {
    font-size: 24px;
    font-weight: 300;
    color: #17151F;
}

.ulfar-header .ulfar-header__mobile-appointment {
    background: #5700D8;
    color: #ffffff;
    cursor: pointer;
    user-select: none;
    text-align: center;
    font-size: 17px;
    font-weight: 400;
    padding: 17px 20px;
    border-radius: 12px;
}

/* Интерактивные состояния. */
.ulfar-header .ulfar-header__services-heading-link:hover {
    color: #5700D8;
}

.ulfar-header .ulfar-header__service-link:hover {
    color: #5700D8;
}

.ulfar-header .ulfar-header__feature-card:hover {
    background: #F1EDF8;
}

.ulfar-header .ulfar-header__about-link:hover {
    border-color: #5700D8;
    color: #5700D8;
}

/* Состояния обычной HTML-версии без DC-runtime. */
.ulfar-header [hidden] {
    display: none !important;
}

.ulfar-header .ulfar-header__directions-trigger,
.ulfar-header .ulfar-header__about-trigger {
    border: 0;
    background: transparent;
    color: #17151F;
    font: inherit;
}

.ulfar-header .ulfar-header__directions-trigger.is-active,
.ulfar-header .ulfar-header__about-trigger.is-active {
    background: #F4F0FB;
    color: #5700D8;
}

.ulfar-header .ulfar-header__a11y-toggle {
    border-color: #E7E5EB;
    background: #ffffff;
}

.ulfar-header .ulfar-header__a11y-toggle.is-active {
    border-color: #C9BCE4;
    background: #F4F0FB;
}

.ulfar-header .ulfar-header__a11y-option {
    background: transparent;
    color: #17151F;
    font-size: 15px;
}

.ulfar-header .ulfar-header__a11y-option--large {
    font-size: 17px;
}

.ulfar-header .ulfar-header__a11y-option--largest {
    font-size: 19px;
}

.ulfar-header .ulfar-header__a11y-option.is-active {
    background: #17151F;
    color: #ffffff;
}

.ulfar-header .ulfar-header__category {
    background: transparent;
    color: #17151F;
}

.ulfar-header .ulfar-header__category-badge {
    background: #F4F0FB;
    color: #5700D8;
}

.ulfar-header .ulfar-header__category-arrow {
    opacity: 0;
}

.ulfar-header .ulfar-header__category.is-active {
    background: #F4F0FB;
    color: #5700D8;
}

.ulfar-header .ulfar-header__category.is-active .ulfar-header__category-badge {
    background: #5700D8;
    color: #ffffff;
}

.ulfar-header .ulfar-header__category.is-active .ulfar-header__category-arrow {
    opacity: 1;
}

/* Плавные состояния нового хедера. */
.ulfar-header {
    --ulfar-header-motion-fast: 220ms;
    --ulfar-header-motion-normal: 420ms;
    --ulfar-header-motion-slow: 520ms;
    --ulfar-header-motion-easing: cubic-bezier(.22, 1, .36, 1);
}

.ulfar-header .ulfar-header__directions-trigger,
.ulfar-header .ulfar-header__about-trigger,
.ulfar-header .ulfar-header__a11y-toggle,
.ulfar-header .ulfar-header__mobile-toggle,
.ulfar-header .ulfar-header__mobile-close,
.ulfar-header .ulfar-header__appointment-link,
.ulfar-header .ulfar-header__nav-link,
.ulfar-header .ulfar-header__nav-link--accent,
.ulfar-header .ulfar-header__category,
.ulfar-header .ulfar-header__category-badge,
.ulfar-header .ulfar-header__category-arrow,
.ulfar-header .ulfar-header__service-link,
.ulfar-header .ulfar-header__services-heading-link,
.ulfar-header .ulfar-header__services-heading-arrow,
.ulfar-header .ulfar-header__feature-card,
.ulfar-header .ulfar-header__feature-arrow,
.ulfar-header .ulfar-header__about-link,
.ulfar-header .ulfar-header__a11y-option,
.ulfar-header .ulfar-header__a11y-reset,
.ulfar-header .ulfar-header__a11y-close,
.ulfar-header .ulfar-header__mobile-accordion-button,
.ulfar-header .ulfar-header__mobile-sign,
.ulfar-header .ulfar-header__mobile-submenu-link,
.ulfar-header .ulfar-header__mobile-feature-card,
.ulfar-header .ulfar-header__mobile-feature-arrow,
.ulfar-header .ulfar-header__mobile-section-link,
.ulfar-header .ulfar-header__mobile-nav-link,
.ulfar-header .ulfar-header__mobile-nav-link--accent,
.ulfar-header .ulfar-header__mobile-appointment {
    transition:
        color var(--ulfar-header-motion-fast) ease,
        background-color var(--ulfar-header-motion-fast) ease,
        border-color var(--ulfar-header-motion-fast) ease,
        box-shadow var(--ulfar-header-motion-fast) ease,
        opacity var(--ulfar-header-motion-fast) ease,
        transform var(--ulfar-header-motion-fast) var(--ulfar-header-motion-easing);
}

.ulfar-header .ulfar-header__about-caret,
.ulfar-header .ulfar-header__hamburger-line {
    transition: transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing);
}

.ulfar-header .ulfar-header__about-trigger.is-active .ulfar-header__about-caret {
    transform: rotate(180deg);
}

.ulfar-header .ulfar-header__appointment-link:hover,
.ulfar-header .ulfar-header__mobile-appointment:hover,
.ulfar-header .ulfar-header__feature-arrow:hover,
.ulfar-header .ulfar-header__mobile-feature-arrow:hover {
    transform: translateY(-2px);
}

.ulfar-header .ulfar-header__a11y-panel,
.ulfar-header .ulfar-header__mega-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transform-origin: top center;
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility var(--ulfar-header-motion-normal),
        display var(--ulfar-header-motion-normal) allow-discrete;
    transition-behavior: allow-discrete;
}

.ulfar-header .ulfar-header__a11y-panel[hidden],
.ulfar-header .ulfar-header__mega-panel[hidden] {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    pointer-events: none;
}

@starting-style {
    .ulfar-header .ulfar-header__a11y-panel:not([hidden]),
.ulfar-header .ulfar-header__mega-panel:not([hidden]) {
        opacity: 0;
        transform: translateY(-12px);
    }
}

.ulfar-header .ulfar-header__services-content,
.ulfar-header .ulfar-header__feature-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
        opacity var(--ulfar-header-motion-fast) ease,
        transform var(--ulfar-header-motion-fast) var(--ulfar-header-motion-easing),
        visibility var(--ulfar-header-motion-fast),
        display var(--ulfar-header-motion-fast) allow-discrete;
    transition-behavior: allow-discrete;
}

@media (min-width: 1181px) {
    .ulfar-header .ulfar-header__categories {
        grid-column: 1;
        grid-row: 1;
    }

    .ulfar-header .ulfar-header__services-content {
        grid-column: 2;
        grid-row: 1;
    }

    .ulfar-header .ulfar-header__feature-list {
        grid-column: 3;
        grid-row: 1;
    }
}

.ulfar-header .ulfar-header__services-content[hidden],
.ulfar-header .ulfar-header__feature-list[hidden] {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;
}

@starting-style {
    .ulfar-header .ulfar-header__services-content:not([hidden]),
.ulfar-header .ulfar-header__feature-list:not([hidden]) {
        opacity: 0;
        transform: translateY(8px);
    }
}

.ulfar-header .ulfar-header__mobile-panel {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing),
        visibility var(--ulfar-header-motion-slow),
        display var(--ulfar-header-motion-slow) allow-discrete;
    transition-behavior: allow-discrete;
}

.ulfar-header .ulfar-header__mobile-panel[hidden] {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    transform: translateX(24px);
    pointer-events: none;
}

@starting-style {
    .ulfar-header .ulfar-header__mobile-panel:not([hidden]) {
        opacity: 0;
        transform: translateX(24px);
    }
}

.ulfar-header .ulfar-header__mobile-submenu {
    max-height: 1600px;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
        max-height var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing),
        padding var(--ulfar-header-motion-normal) ease,
        opacity var(--ulfar-header-motion-fast) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility var(--ulfar-header-motion-slow),
        display var(--ulfar-header-motion-slow) allow-discrete;
    transition-behavior: allow-discrete;
}

.ulfar-header .ulfar-header__mobile-submenu[hidden] {
    display: none !important;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
}

@starting-style {
    .ulfar-header .ulfar-header__mobile-submenu:not([hidden]) {
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        opacity: 0;
        transform: translateY(-8px);
    }
}

.ulfar-header .ulfar-header__mobile-accordion-button[aria-expanded="true"] .ulfar-header__mobile-sign {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .ulfar-header,
.ulfar-header *,
.ulfar-header *::before,
.ulfar-header *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/*
 * Панели остаются в layout и скрываются прозрачностью.
 * Это не даёт hidden/display:none оборвать fade-out до его завершения.
 */
.ulfar-header .ulfar-header__a11y-panel,
.ulfar-header .ulfar-header__mega-panel {
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility 0s linear 0s;
}

.ulfar-header .ulfar-header__a11y-panel[hidden],
.ulfar-header .ulfar-header__mega-panel[hidden] {
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility 0s linear var(--ulfar-header-motion-normal);
}

.ulfar-header .ulfar-header__a11y-panel[hidden] {
    display: block !important;
}

@media (min-width: 1181px) {
    .ulfar-header .ulfar-header__mega-panel[hidden] {
        display: block !important;
    }
}

.ulfar-header .ulfar-header__services-content,
.ulfar-header .ulfar-header__feature-list {
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility 0s linear 0s;
}

.ulfar-header .ulfar-header__services-content[hidden],
.ulfar-header .ulfar-header__feature-list[hidden] {
    display: flex !important;
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility 0s linear var(--ulfar-header-motion-normal);
}

.ulfar-header .ulfar-header__mobile-panel {
    display: flex;
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing),
        visibility 0s linear 0s;
}

.ulfar-header .ulfar-header__mobile-panel[hidden] {
    display: flex !important;
    transition:
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing),
        visibility 0s linear var(--ulfar-header-motion-slow);
}

.ulfar-header .ulfar-header__mobile-submenu {
    display: grid;
    grid-template-rows: 1fr;
    max-height: none;
    padding: 0;
    transition:
        grid-template-rows var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing),
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility 0s linear 0s;
}

.ulfar-header .ulfar-header__mobile-submenu[hidden] {
    display: grid !important;
    grid-template-rows: 0fr;
    max-height: none;
    transition:
        grid-template-rows var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing),
        opacity var(--ulfar-header-motion-normal) ease,
        transform var(--ulfar-header-motion-normal) var(--ulfar-header-motion-easing),
        visibility 0s linear var(--ulfar-header-motion-slow);
}

.ulfar-header .ulfar-header__mobile-submenu-inner {
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0 0 14px 2px;
    transition: padding-bottom var(--ulfar-header-motion-slow) var(--ulfar-header-motion-easing);
}

.ulfar-header .ulfar-header__mobile-submenu[hidden] .ulfar-header__mobile-submenu-inner {
    padding-bottom: 0;
}

.ulfar-header button { min-width: 0; text-transform: none; letter-spacing: normal; }
.ulfar-header .ulfar-header__directions-trigger, .ulfar-header .ulfar-header__about-trigger { background: transparent; color: #17151F; }
.ulfar-header .ulfar-header__a11y-toggle { background: white; border: 1px solid #E7E5EB; }
.ulfar-header .ulfar-header__mobile-panel[hidden] { display: none !important; }
@media (min-width:1181px) and (max-width:1500px) {
 .ulfar-header .ulfar-header__logo { width: 210px; }
 .ulfar-header .ulfar-header__bar { gap: 12px; }
 .ulfar-header .ulfar-header__desktop-nav { font-size: 14px; }
 .ulfar-header .ulfar-header__nav-link, .ulfar-header .ulfar-header__nav-link--accent { padding-left: 7px; padding-right: 7px; }
 .ulfar-header .ulfar-header__phone { font-size: 16px; }
 .ulfar-header .ulfar-header__actions { gap: 10px; }
}
@media (max-width:480px) {
 .ulfar-header .ulfar-header__logo { width: clamp(110px,32vw,154px); max-width: 100%; }
 .ulfar-header .ulfar-header__bar { gap: 8px; }
 .ulfar-header .ulfar-header__actions { gap: 8px; }
 .ulfar-header .ulfar-header__a11y-toggle, .ulfar-header .ulfar-header__mobile-toggle { width: 40px; height: 40px; }
 .ulfar-header .ulfar-header__call-icon { width: 32px; flex-basis: 32px; }
}

/* Floating promotions must not cover the mobile menu or booking forms. */
body.ulfar-mobile-menu-open .vidjet-video,
body.ulfar-mobile-menu-open .vidjet-video__open,
body.ulfar-mobile-menu-open .tooltip-modal--fos,
body.noscroll .vidjet-video,
body.noscroll .vidjet-video__open,
body.noscroll .tooltip-modal--fos {
 visibility: hidden !important;
 pointer-events: none !important;
}
