/**
 * Header submenu — desktop (≥992px), tema-04.
 * Mesmo contrato que tema-02/tema-06: .submenu-wrapper + hover / focus-within, fly-out em níveis ≥2.
 * Seletores usam .main-navigation (nav principal do tema-04).
 */

@media (min-width: 992px) {
    .site-header .main-navigation {
        overflow: visible;
    }

    .site-header .navrow {
        overflow: visible;
    }

    /* Walker MPI: desativa ponte ::after do dropdown legado (evita zona de hover extra) */
    .main-navigation .menu-item-has-children.has-dropdown:has(> .submenu-wrapper)::after {
        content: none;
        display: none;
        pointer-events: none;
    }

    .main-navigation .menu-item-has-children {
        position: relative;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper {
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        position: absolute;
        box-sizing: border-box;
        min-width: auto;
        max-width: 300px;
        transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root {
        top: 100%;
        left: 0;
        width: 300px;
        padding-top: 0.75rem;
        overflow: visible;
        background-color: var(--mpi-header-background, var(--brand-primary-full));
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest {
        top: 0;
        left: calc(100% - 4px);
        margin: 0;
        padding-top: 0;
        padding-left: 0.35rem;
        width: 300px;
        max-width: 300px;
        z-index: 1050;
        overflow: visible;
        max-height: none;
        background-color: var(--mpi-header-background, var(--brand-primary-full));
    }

    .main-navigation .menu-item-has-children:hover > .submenu-wrapper,
    .main-navigation .menu-item-has-children:focus-within > .submenu-wrapper {
        pointer-events: auto;
        visibility: visible;
        opacity: 1;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root > ul.mpi-header-submenu-panel {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
        min-width: auto;
        max-width: 300px;
        width: 100%;
        box-sizing: border-box;
        padding: 0.65rem 0.5rem;
        margin: 0;
        list-style: none;
        font-size: 0.875rem;
        line-height: 1.45;
        font-weight: 500;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-word;
        max-height: min(70vh, 26rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        position: relative;
        z-index: 25;
        border-radius: 0.5rem;
        background-color: var(--mpi-header-background, var(--brand-primary-full));
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
        border: 1px solid color-mix(in srgb, var(--mpi-header-border, rgba(255, 255, 255, 0.12)) 100%, transparent);
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest > ul.mpi-header-submenu-panel {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
        min-width: auto;
        max-width: 300px;
        width: 100%;
        padding: 0.6rem 0.65rem;
        margin: 0;
        list-style: none;
        font-size: 0.875rem;
        line-height: 1.45;
        font-weight: 500;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-word;
        max-height: min(70vh, 26rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        border-radius: 0.5rem;
        background-color: var(--mpi-header-background, var(--brand-primary-full));
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
        border: 1px solid color-mix(in srgb, var(--mpi-header-border, rgba(255, 255, 255, 0.12)) 100%, transparent);
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li {
        width: 100%;
        border-radius: 0.35rem;
        transition: background-color 0.2s ease-in-out;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .nav-link,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .navlink {
        display: block;
        width: 100%;
        pointer-events: none;
        transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
        border-radius: 0.35rem;
        padding: 8px 12px !important;
        box-sizing: border-box;
        text-align: left;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    .main-navigation .menu-item-has-children:hover > .submenu-wrapper > ul .nav-link,
    .main-navigation .menu-item-has-children:hover > .submenu-wrapper > ul .navlink,
    .main-navigation .menu-item-has-children:focus-within > .submenu-wrapper > ul .nav-link,
    .main-navigation .menu-item-has-children:focus-within > .submenu-wrapper > ul .navlink {
        pointer-events: auto;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .nav-link:hover,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .navlink:hover {
        background-color: rgba(255, 255, 255, 0.1) !important;
        color: var(--mpi-header-link-hover, #fff) !important;
    }

    .main-navigation .mpi-nav-submenu-parent {
        display: flex;
        width: 100%;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.5rem;
        text-align: left;
        box-sizing: border-box;
    }

    .main-navigation .mpi-nav-submenu-parent__chevron {
        flex-shrink: 0;
        margin-top: 0.2em;
        font-size: 0.75rem;
        opacity: 0.85;
    }

    .main-navigation .menu-item-has-children > .nav-link.nav-link-has-dropdown,
    .main-navigation .menu-item-has-children > .navlink.navlink-has-dropdown {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .main-navigation .menu-item-has-children > .nav-link .mpi-nav-chevron-down,
    .main-navigation .menu-item-has-children > .navlink .mpi-nav-chevron-down {
        font-size: 0.65rem;
        opacity: 0.9;
    }
}
