/**
 * Dominion Light Menu — Полный современный стиль (v1.4.1)
 * Фон: #ffffff (100% непрозрачный) | Текст: #111827 | Акцент: #c71c34
 * Высокий z-index для гарантированного перекрытия текста и слайдеров страницы
 */

/* ===================================================
 * 1. ПРИОРИТЕТ НАЛОЖЕНИЯ ШАПКИ И СБРОС СТИЛЕЙ ТЕМЫ
 * =================================================== */
header,
#masthead,
.site-header,
.header,
.elementor-location-header {
    position: relative !important;
    z-index: 99999 !important;
    overflow: visible !important;
}

.dlm-nav-container {
    position: relative !important;
    width: 100% !important;
    background: #f8f8f8 !important;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    box-sizing: border-box !important;
    z-index: 999999 !important;
    overflow: visible !important;
}

.dlm-nav-container *,
.dlm-nav-container *::before,
.dlm-nav-container *::after {
    box-sizing: border-box !important;
}

.dlm-nav-container ul,
.dlm-nav-container ol,
.dlm-nav-container li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    background: transparent !important;
}

.dlm-nav-container a {
    text-decoration: none !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* ===================================================
 * 2. ДЕСКТОПНОЕ МЕНЮ (> 992px)
 * =================================================== */
.dlm-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    position: relative !important;
    z-index: 1000 !important;
}

.dlm-item {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dlm-item:hover,
.dlm-item:focus-within {
    z-index: 1000000 !important;
}

.dlm-link-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

.dlm-link {
    display: inline-flex !important;
    align-items: center !important;
    color: #111827 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: color 0.18s ease !important;
}

/* Пункты верхнего уровня */
.dlm-link--top {
    height: 58px !important;
    padding: 0 18px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    position: relative !important;
    white-space: nowrap !important;
    color: #111827 !important;
}

/* Акцентное подчеркивание #c71c34 */
.dlm-link--top::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 18px !important;
    right: 18px !important;
    height: 3px !important;
    background-color: #c71c34 !important;
    border-radius: 3px 3px 0 0 !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dlm-item:hover > .dlm-link-wrapper > .dlm-link--top,
.dlm-item.dlm-active > .dlm-link-wrapper > .dlm-link--top {
    color: #c71c34 !important;
}

.dlm-item:hover > .dlm-link-wrapper > .dlm-link--top::after,
.dlm-item.dlm-active > .dlm-link-wrapper > .dlm-link--top::after {
    transform: scaleX(1) !important;
}

/* Стрелочка индикатора */
.dlm-arrow-indicator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 6px !important;
    color: #6b7280 !important;
    transition: transform 0.2s ease, color 0.18s ease !important;
}

.dlm-arrow-svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
}

/* ===================================================
 * 3. ВЫПАДАЮЩИЕ КАРТОЧКИ (DESKTOP > 992px)
 * =================================================== */
@media (min-width: 993px) {
    .dlm-item--depth-0:hover > .dlm-link-wrapper .dlm-arrow-indicator {
        transform: rotate(180deg) !important;
        color: #c71c34 !important;
    }

    .dlm-submenu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        min-width: 285px !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-top: 3px solid #c71c34 !important;
        border-radius: 0 0 8px 8px !important;
        box-shadow: 0 18px 38px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08) !important;
        padding: 8px 6px !important;
        visibility: hidden !important;
        opacity: 0 !important;
        transform: translateY(8px) !important;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s !important;
        pointer-events: none !important;
        z-index: 9999999 !important; /* Выше баннеров, слайдеров и текста страницы */
    }

    .dlm-submenu .dlm-submenu {
        top: -8px !important;
        left: calc(100% + 4px) !important;
        border-radius: 8px !important;
        border: 1px solid #e5e7eb !important;
        border-top: 3px solid #c71c34 !important;
        transform: translateX(8px) !important;
    }

    .dlm-item:hover > .dlm-submenu,
    .dlm-item:focus-within > .dlm-submenu {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    .dlm-submenu .dlm-item:hover > .dlm-submenu {
        transform: translateX(0) !important;
    }

    /* Подпункты выпадающего списка */
    .dlm-link--sub {
        width: 100% !important;
        padding: 11px 16px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        color: #1f2937 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        transition: color 0.16s ease, background-color 0.16s ease, padding-left 0.16s ease !important;
    }

    .dlm-link--sub:hover {
        background: #fef2f2 !important;
        background-color: #fef2f2 !important;
        color: #c71c34 !important;
        padding-left: 20px !important;
    }
}

/* ===================================================
 * 4. МОБИЛЬНАЯ ВЕРСИЯ (<= 992px)
 * =================================================== */
.dlm-mobile-bar {
    display: none !important;
}

@media (max-width: 992px) {
    .dlm-mobile-bar {
        display: block !important;
        width: 100% !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-top: 1px solid #e5e7eb !important;
        border-bottom: 1px solid #e5e7eb !important;
        position: relative !important;
        z-index: 1000 !important;
    }

    /* Кнопка «МЕНЮ ≡» */
    .dlm-burger-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        height: 56px !important;
        padding: 0 20px !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        border: none !important;
        cursor: pointer !important;
        color: #111827 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        letter-spacing: 0.05em !important;
        text-transform: uppercase !important;
        user-select: none !important;
    }

    .dlm-burger-icon {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        width: 22px !important;
        height: 16px !important;
        position: relative !important;
    }

    .dlm-bar {
        display: block !important;
        width: 100% !important;
        height: 2.2px !important;
        background-color: #111827 !important;
        border-radius: 2px !important;
        transition: transform 0.25s ease, opacity 0.2s ease, background-color 0.2s ease !important;
    }

    /* Анимация бургера ≡ в ╳ */
    .dlm-burger-btn[aria-expanded="true"] .dlm-bar {
        background-color: #c71c34 !important;
    }
    .dlm-burger-btn[aria-expanded="true"] .dlm-burger-label {
        color: #c71c34 !important;
    }
    .dlm-burger-btn[aria-expanded="true"] .dlm-bar:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }
    .dlm-burger-btn[aria-expanded="true"] .dlm-bar:nth-child(2) {
        opacity: 0 !important;
    }
    .dlm-burger-btn[aria-expanded="true"] .dlm-bar:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    /* Развернутый список меню */
    .dlm-menu {
        display: none !important;
        flex-direction: column !important;
        width: 100% !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    .dlm-menu.dlm-is-active {
        display: flex !important;
    }

    .dlm-item {
        width: 100% !important;
        border-bottom: 1px solid #f3f4f6 !important;
    }

    .dlm-link-wrapper {
        width: 100% !important;
    }

    .dlm-link {
        width: 100% !important;
        justify-content: space-between !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em !important;
        color: #111827 !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .dlm-link--top::after {
        display: none !important;
    }

    .dlm-arrow-indicator {
        margin-left: auto !important;
        padding-left: 12px !important;
        color: #6b7280 !important;
        transition: transform 0.2s ease, color 0.18s ease !important;
    }

    .dlm-arrow-svg {
        width: 16px !important;
        height: 16px !important;
    }

    /* Активное открытое состояние пункта на мобильном */
    .dlm-item.dlm-is-open > .dlm-link-wrapper > .dlm-link {
        color: #c71c34 !important;
        background: #fef2f2 !important;
        background-color: #fef2f2 !important;
    }

    .dlm-item.dlm-is-open > .dlm-link-wrapper .dlm-arrow-indicator {
        transform: rotate(180deg) !important;
        color: #c71c34 !important;
    }

    /* Аккордеон подменю */
    .dlm-submenu {
        display: none !important;
        width: 100% !important;
        background: #f9fafb !important;
        background-color: #f9fafb !important;
        border-top: 1px solid #f3f4f6 !important;
        padding: 4px 0 8px !important;
    }

    .dlm-nav-container .dlm-item.dlm-is-open > .dlm-submenu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .dlm-submenu .dlm-item {
        border-bottom: 1px solid #f1f5f9 !important;
    }

    .dlm-submenu .dlm-item:last-child {
        border-bottom: none !important;
    }

    .dlm-submenu .dlm-link {
        padding: 14px 20px 14px 32px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        color: #374151 !important;
        background: transparent !important;
        background-color: transparent !important;
    }

    .dlm-submenu .dlm-link:hover,
    .dlm-submenu .dlm-link:active {
        color: #c71c34 !important;
        background: #fef2f2 !important;
        background-color: #fef2f2 !important;
    }

    .dlm-submenu .dlm-submenu .dlm-link {
        padding-left: 48px !important;
    }
}