/*
 * HEADER_CATEGORY_MENU_V25_3
 *
 * Двойная схема:
 * 1. Без JavaScript — обычный абсолютный dropdown внутри пункта меню.
 * 2. С JavaScript — меню переносится в body и становится fixed popover.
 */

@media (min-width: 641px) {
    /*
     * Fallback без JavaScript.
     * Важно: не скрываем dropdown безусловно.
     */
    header,
    .header,
    .header-5p,
    .header-5p-inner,
    .hmenu,
    .hmenu-list,
    .hmenu-list.fc,
    .nav-dropdown-wrapper {
        overflow: visible !important;
    }

    .hmenu,
    .hmenu-list,
    .hmenu-list.fc {
        position: relative !important;
        z-index: 10000 !important;
    }

    .nav-dropdown-wrapper {
        position: relative !important;
        display: flex !important;
        align-items: stretch;
        z-index: 10001 !important;
    }

    .nav-dropdown-wrapper > .dropdown-menu {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 0 !important;
        z-index: 2147483000 !important;

        display: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 12px;

        width: 500px;
        min-width: 420px;
        max-width: min(620px, calc(100vw - 24px));
        max-height: min(70vh, 560px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;

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

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(4px) !important;

        background: rgba(255, 255, 255, 0.99) !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 14px !important;
        box-shadow: 0 18px 55px rgba(25, 31, 36, 0.22) !important;

        transition:
            opacity .14s ease,
            transform .14s ease,
            visibility .14s ease;
    }

    .nav-dropdown-wrapper:hover > .dropdown-menu,
    .nav-dropdown-wrapper:focus-within > .dropdown-menu,
    .nav-dropdown-wrapper.is-open > .dropdown-menu {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    /*
     * Между кнопкой и меню не должно быть «мертвой зоны».
     */
    .nav-dropdown-wrapper > .dropdown-menu::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -10px;
        height: 10px;
    }

    .nav-dropdown-wrapper > .dropdown-menu a,
    .header-category-popover-v25-3 a {
        display: block !important;
        min-width: 0;
        padding: 10px 12px !important;

        color: #1c1c1e !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;

        text-decoration: none !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;

        border-radius: 8px;
    }

    .nav-dropdown-wrapper > .dropdown-menu a:hover,
    .nav-dropdown-wrapper > .dropdown-menu a:focus-visible,
    .header-category-popover-v25-3 a:hover,
    .header-category-popover-v25-3 a:focus-visible {
        color: #0d8f5c !important;
        background: rgba(22, 174, 113, 0.10) !important;
        outline: none;
    }

    /*
     * JS-режим: dropdown уже находится в body.
     */
    .header-category-popover-v25-3 {
        position: fixed !important;
        top: 0;
        left: 0;
        z-index: 2147483000 !important;

        display: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 12px;

        width: 500px;
        min-width: 420px;
        max-width: min(620px, calc(100vw - 24px));
        max-height: min(70vh, 560px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;

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

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        background: rgba(255, 255, 255, 0.99) !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 14px !important;
        box-shadow: 0 18px 55px rgba(25, 31, 36, 0.22) !important;
    }

    .header-category-popover-v25-3.is-open {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html.dark .nav-dropdown-wrapper > .dropdown-menu,
    html.dark .header-category-popover-v25-3 {
        background: rgba(29, 31, 35, 0.99) !important;
        border-color: rgba(255, 255, 255, 0.09) !important;
        box-shadow: 0 18px 55px rgba(0, 0, 0, 0.50) !important;
    }

    html.dark .nav-dropdown-wrapper > .dropdown-menu a,
    html.dark .header-category-popover-v25-3 a {
        color: #f2f2f7 !important;
    }
}

@media (max-width: 640px) {
    .nav-dropdown-wrapper > .dropdown-menu,
    .header-category-popover-v25-3 {
        display: none !important;
    }
}
