/* Shared menu geometry. Each variant takes its colors from the page behind it. */
#header.dc-site-header {
    --nav-text: #2e1940;
    --nav-surface: #fff;
    --nav-hover: #64328c;
    --nav-focus: #64328c;
    --nav-action-bg: #f0e7f7;
    --nav-action-hover: #e7d7f3;
    color: var(--nav-text);
    background: var(--nav-surface);
    border-bottom: 0;
}
#header:is(.dc-site-header--home, .dc-site-header--book, .dc-site-header--service) {
    --nav-text: #fdfaff;
    --nav-hover: #e2ccfa;
    --nav-focus: #fff;
    --nav-action-bg: #ffffff24;
    --nav-action-hover: #ffffff38;
}
#header.dc-site-header--home {
    --nav-surface: #432b59;
    --nav-action-bg: #7a5d89;
    --nav-action-hover: #674882;
    background: linear-gradient(110deg, #372343db, #563e6ba8);
}
#header.dc-site-header--service { --nav-surface: #481581; background: transparent; }
#header.dc-site-header--book {
    --nav-surface: #192636;
    background: var(--nav-surface) url('../img/book/banner-texture.svg') repeat 0 0 / 512px 512px;
}
#header.dc-site-header .dc-site-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(18px, 3vw, 48px);
    min-height: 79px;
}
#header.dc-site-header .dc-site-header__logo { display: block; flex: 0 0 auto; line-height: 0; }
#header.dc-site-header .dc-site-header__logo img { width: 71px; height: 47px; object-fit: contain; }
#header.dc-site-header :is(a, button):focus-visible { outline: 2px solid var(--nav-focus); outline-offset: 3px; }
#header.dc-site-header .dc-site-header__mobile { display: none; }
#header.dc-site-header #main_menu > ul { display: flex; gap: clamp(2px, .48vw, 9px); }
#header.dc-site-header #main_menu > ul > li > a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 8px clamp(8px, .85vw, 14px);
    color: var(--nav-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}
#header.dc-site-header #main_menu > ul > li > a::before { content: none; }
#header.dc-site-header #main_menu > ul > li > a:hover { color: var(--nav-hover); }
#header.dc-site-header #main_menu > ul > li.current-menu-item > a { font-weight: 700; }
#header.dc-site-header #main_menu > ul > li:is(.menu-phone, .doina-sc-menu-cta) { margin: 0; }
#header.dc-site-header #main_menu > ul > li:is(.menu-phone, .doina-sc-menu-cta) > a {
    justify-content: center;
    gap: 8px;
    width: auto;
    min-height: 42px;
    padding: 8px clamp(12px, 1.25vw, 18px) !important;
    border: 0;
    border-radius: 999px;
    color: var(--nav-text) !important;
    background: var(--nav-action-bg) !important;
    box-shadow: none;
    transition: transform 160ms ease;
}
#header.dc-site-header #main_menu > ul > li:is(.menu-phone, .doina-sc-menu-cta) > a:is(:hover, :focus-visible) {
    background: var(--nav-action-hover) !important;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    #header.dc-site-header #main_menu > ul > li:is(.menu-phone, .doina-sc-menu-cta) > a:hover {
        transform: translateY(-2px);
    }
}
#header.dc-site-header #main_menu .menu-phone :is(img, svg) { width: 18px; height: 18px; object-fit: contain; }
#header.dc-site-header--light #main_menu .menu-phone img { filter: brightness(0) saturate(100%) invert(16%) sepia(27%) saturate(2400%) hue-rotate(255deg); }
#header.dc-site-header #main_menu .sub-menu {
    display: none;
    min-width: 100%;
    padding: 8px;
    background: var(--nav-surface);
}
#header.dc-site-header #main_menu .sub-menu a { display: block; padding: 7px 10px; color: var(--nav-text); line-height: 1.4; }
#header.dc-site-header #main_menu .sub-menu a:hover { color: var(--nav-hover); }
@media (min-width: 993px) {
    #header.dc-site-header #main_menu .sub-menu { position: absolute; top: 100%; left: 0; }
    #header.dc-site-header #main_menu li:is(:hover, :focus-within) > .sub-menu { display: block; }
}
@media (max-width: 992px) {
    #header.dc-site-header .dc-site-header__mobile { display: flex; gap: 8px; }
    #header.dc-site-header :is(.dc-site-header__call, .dc-site-header__toggle) {
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border: 0;
        background: transparent;
        color: var(--nav-text);
        cursor: pointer;
    }
    #header.dc-site-header :is(.dc-site-header__call, .dc-site-header__toggle):hover { color: var(--nav-hover); }
    #header.dc-site-header .dc-site-header__toggle[hidden],
    #header.dc-site-header .dc-site-header__close-icon,
    #header.dc-site-header .dc-site-header__toggle[aria-expanded="true"] .dc-site-header__menu-icon { display: none; }
    #header.dc-site-header .dc-site-header__toggle[aria-expanded="true"] .dc-site-header__close-icon { display: block; }
    #header.dc-site-header #main_menu {
        position: absolute;
        inset: 100% 0 auto;
        width: 100%;
        height: auto;
        max-height: calc(100dvh - 100px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 10px 30px 20px;
        background: var(--nav-surface);
        box-shadow: 0 12px 22px #21172c20;
        opacity: 1;
        transition: none;
    }
    #header.dc-site-header.is-menu-ready:not(.is-menu-open) #main_menu { display: none; }
    #header.dc-site-header #main_menu > ul { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap: 4px; }
    #header.dc-site-header #main_menu > ul > li > a { padding-inline: 12px; font-size: 16px; white-space: normal; }
    #header.dc-site-header #main_menu > ul > li:is(.menu-phone, .doina-sc-menu-cta) { margin-top: 6px; }
    #header.dc-site-header #main_menu > ul > li:is(.menu-phone, .doina-sc-menu-cta) > a {
        width: fit-content;
        min-height: 44px;
    }
    #header.dc-site-header #main_menu .sub-menu { display: block; margin-inline-start: 12px; border: 0; }
}
@media (max-width: 782px) {
    body.with_admin_bar #header.dc-site-header { top: 46px; }
}
