/**
 * Header submenu — desktop (≥992px, alinhado ao navbar-expand-lg).
 * Mesmo contrato que tema-01/tema-02: .submenu-wrapper + hover / focus-within, fly-out em níveis ≥2.
 */

@media (min-width: 992px) {
    /* Submenu fly-out não pode ser cortado pelo collapse */
    #navbarNav.navbar-collapse {
        overflow: visible;
    }

    #navbarNav .navbar-nav {
        overflow: visible;
    }

    header .navbar {
        overflow: visible;
    }

    header .navbar .container {
        overflow: visible;
    }

    #navbarNav .navbar-nav .menu-item-has-children {
        position: relative;
    }

    #navbarNav .navbar-nav .menu-item-has-children > .submenu-wrapper {
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        position: absolute;
        box-sizing: border-box;
        min-width: 200px;
        max-width: min(100vw - 2rem, 22rem);
        transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
    }

    #navbarNav .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root {
        top: 100%;
        left: 0;
        width: fit-content;
        padding-top: 0.75rem;
        overflow: visible;
        background-color: var(--mpi-header-background, var(--primary-color));
    }

    #navbarNav .navbar-nav .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: max-content;
        max-width: min(90vw, 20rem);
        z-index: 1050;
        overflow: visible;
        max-height: none;
        background-color: var(--mpi-header-background, var(--primary-color));
    }

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

    #navbarNav .navbar-nav .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: 220px;
        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: nowrap;
        max-height: min(70vh, 26rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        position: relative;
        z-index: 25;
        border-radius: 0.5rem;
        background-color: var(--mpi-header-background, var(--primary-color));
        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);
    }

    #navbarNav .navbar-nav .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: 200px;
        padding: 0.6rem 0.65rem;
        margin: 0;
        list-style: none;
        font-size: 0.875rem;
        line-height: 1.45;
        font-weight: 500;
        white-space: nowrap;
        max-height: min(70vh, 26rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 0.5rem;
        background-color: var(--mpi-header-background, var(--primary-color));
        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);
    }

    #navbarNav .navbar-nav .menu-item-has-children > .submenu-wrapper > ul .nav-link {
        pointer-events: auto;
        transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
        border-radius: 0.35rem;
        padding: 8px 12px !important;
        white-space: nowrap;
    }

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

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

    #navbarNav .navbar-nav .mpi-nav-submenu-parent__chevron {
        flex-shrink: 0;
        font-size: 0.75rem;
        opacity: 0.85;
    }

    #navbarNav .navbar-nav .menu-item-has-children > .nav-link.nav-link-has-dropdown {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    #navbarNav .navbar-nav .menu-item-has-children > .nav-link .mpi-nav-chevron-down {
        font-size: 0.65rem;
        opacity: 0.9;
    }
}
