/**
 * Header submenu — alinhado ao tema-02 (menu-dropdown.css).
 * Contrato MPI: .submenu-wrapper + hover / focus-within, fly-out em níveis ≥2.
 */

.main-navigation .menu-item-has-children,
.main-navigation .has-dropdown,
.header .navbar-nav .menu-item-has-children,
.header .navbar-nav .has-dropdown {
    position: relative;
}

/* Estado fechado comum a todos os wrappers */
.main-navigation .menu-item-has-children > .submenu-wrapper,
.main-navigation .has-dropdown > .submenu-wrapper,
.header .navbar-nav .menu-item-has-children > .submenu-wrapper,
.header .navbar-nav .has-dropdown > .submenu-wrapper {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    box-sizing: border-box;
    min-width: auto;
    max-width: 300px;
    margin: 0;
    padding: 0;
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

/* 1.º nível: abaixo do item do header */
.main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root,
.main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--root,
.header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root,
.header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--root {
    top: 100%;
    left: -0.625rem;
    width: 300px;
    padding-top: 1rem;
    overflow: visible;
    z-index: 1050;
}

/* Níveis aninhados: à direita do <li> pai */
.main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest,
.main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--nest,
.header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest,
.header .navbar-nav .has-dropdown > .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: 10;
    overflow: visible;
    max-height: none;
}

/* Desktop: abrir ao hover / focus */
@media (min-width: 992px) {
    .main-navigation,
    .main-navigation__left,
    .main-navigation__right,
    .site-header-nav,
    header.header {
        overflow: visible;
    }

    .main-navigation .menu-item-has-children:hover > .submenu-wrapper,
    .main-navigation .menu-item-has-children:focus-within > .submenu-wrapper,
    .main-navigation .has-dropdown:hover > .submenu-wrapper,
    .main-navigation .has-dropdown:focus-within > .submenu-wrapper,
    .header .navbar-nav .menu-item-has-children:hover > .submenu-wrapper,
    .header .navbar-nav .menu-item-has-children:focus-within > .submenu-wrapper,
    .header .navbar-nav .has-dropdown:hover > .submenu-wrapper,
    .header .navbar-nav .has-dropdown:focus-within > .submenu-wrapper {
        pointer-events: auto;
        visibility: visible;
        opacity: 1;
    }

    /* Painel principal */
    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root > ul.mpi-header-submenu-panel,
    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root > ul.sub-menu,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--root > ul.mpi-header-submenu-panel,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--root > ul.sub-menu,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root > ul.mpi-header-submenu-panel,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root > ul.sub-menu,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--root > ul.mpi-header-submenu-panel,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--root > ul.sub-menu {
        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.8rem;
        line-height: 1.45;
        font-weight: 500;
        white-space: normal;
        overflow-wrap: break-word;
        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(--brand-primary-full, #272525));
        border: 1px solid color-mix(in srgb, var(--mpi-header-border, rgba(255, 255, 255, 0.12)) 100%, transparent);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest > ul.mpi-header-submenu-panel,
    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest > ul.sub-menu,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--nest > ul.mpi-header-submenu-panel,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--nest > ul.sub-menu,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest > ul.mpi-header-submenu-panel,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest > ul.sub-menu,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--nest > ul.mpi-header-submenu-panel,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--nest > ul.sub-menu {
        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;
        max-height: min(70vh, 26rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
        border-radius: 0.5rem;
        background-color: var(--mpi-header-background, var(--brand-primary-full, #272525));
        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,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li {
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        position: relative;
        border-radius: 0.35rem;
        transition: background-color 0.2s ease-in-out;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:hover,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:focus-within,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:hover,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:focus-within,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:hover,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:focus-within,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:hover,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:focus-within {
        background-color: var(--primary-color);
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul a,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .nav-link,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .mpi-header-submenu-link,
    .main-navigation .has-dropdown > .submenu-wrapper > ul a,
    .main-navigation .has-dropdown > .submenu-wrapper > ul .nav-link,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul a,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul .nav-link,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul a,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul .nav-link {
        display: block;
        width: 100%;
        pointer-events: auto;
        color: var(--mpi-header-link, var(--neutral-text-white, #fff));
        background-color: transparent;
        transition: color 0.2s ease-in-out;
        border-radius: 0;
        padding: 8px 12px;
        box-sizing: border-box;
        white-space: normal;
        overflow-wrap: break-word;
        text-align: left;
        text-decoration: none;
        font-size: inherit;
        font-weight: inherit;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:hover a,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:hover .nav-link,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:hover .mpi-header-submenu-link,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:focus-within a,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:focus-within .nav-link,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:hover a,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:hover .nav-link,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:focus-within a,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:focus-within .nav-link,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:hover a,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:hover .nav-link,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:focus-within a,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:focus-within .nav-link,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:hover a,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:hover .nav-link,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:focus-within a,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:focus-within .nav-link {
        color: #fff !important;
        background-color: transparent;
    }

    .main-navigation .mpi-nav-submenu-parent,
    .header .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;
    }

    .main-navigation .mpi-nav-submenu-parent__chevron,
    .header .navbar-nav .mpi-nav-submenu-parent__chevron {
        flex-shrink: 0;
        font-size: 1.125rem;
        opacity: 0.85;
    }

    .main-navigation .menu-item-has-children > .nav-link.nav-link-has-dropdown,
    .header .navbar-nav .menu-item-has-children > .nav-link.nav-link-has-dropdown {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .main-navigation .menu-item-has-children > .nav-link .mpi-nav-chevron-down,
    .header .navbar-nav .menu-item-has-children > .nav-link .mpi-nav-chevron-down {
        font-size: 0.65rem;
        opacity: 0.9;
    }
}

/* ——— Mobile ——— */
@media (max-width: 991.98px) {
    .main-navigation .menu-item-has-children,
    .main-navigation .has-dropdown,
    .header .navbar-nav .menu-item-has-children,
    .header .navbar-nav .has-dropdown {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root,
    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--root,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--nest,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--root,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--root,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--nest,
    #mobileMenu .has-dropdown > .submenu-wrapper,
    #mobileMenu .menu-item-has-children > .submenu-wrapper {
        display: none;
        position: static;
        left: auto;
        right: auto;
        top: auto;
        width: 100%;
        max-width: 100%;
        min-width: 200px;
        padding-top: 0.5rem;
        padding-left: 0;
        padding-right: 0;
        max-height: none;
        overflow: visible;
        overflow-x: hidden;
        opacity: 1;
        visibility: visible;
        pointer-events: none;
        box-sizing: border-box;
        z-index: auto;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest,
    .main-navigation .has-dropdown > .submenu-wrapper.submenu-wrapper--nest,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper.submenu-wrapper--nest,
    .header .navbar-nav .has-dropdown > .submenu-wrapper.submenu-wrapper--nest {
        padding-left: 0.75rem;
        border-left: 2px solid rgba(255, 255, 255, 0.2);
    }

    .main-navigation .menu-item-has-children.submenu-open > .submenu-wrapper,
    .main-navigation .has-dropdown.submenu-open > .submenu-wrapper,
    .header .navbar-nav .menu-item-has-children.submenu-open > .submenu-wrapper,
    .header .navbar-nav .has-dropdown.submenu-open > .submenu-wrapper,
    #mobileMenu .has-dropdown.submenu-open > .submenu-wrapper,
    #mobileMenu .menu-item-has-children.submenu-open > .submenu-wrapper {
        display: block !important;
        pointer-events: auto;
    }

    .main-navigation .menu-item-has-children.submenu-open > .submenu-wrapper > ul,
    .main-navigation .menu-item-has-children.submenu-open > .submenu-wrapper > ul a,
    .main-navigation .has-dropdown.submenu-open > .submenu-wrapper > ul,
    .main-navigation .has-dropdown.submenu-open > .submenu-wrapper > ul a,
    .header .navbar-nav .menu-item-has-children.submenu-open > .submenu-wrapper > ul,
    .header .navbar-nav .menu-item-has-children.submenu-open > .submenu-wrapper > ul a,
    .header .navbar-nav .has-dropdown.submenu-open > .submenu-wrapper > ul,
    .header .navbar-nav .has-dropdown.submenu-open > .submenu-wrapper > ul a,
    #mobileMenu .has-dropdown.submenu-open > .submenu-wrapper ul,
    #mobileMenu .menu-item-has-children.submenu-open > .submenu-wrapper ul {
        pointer-events: auto;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul.mpi-header-submenu-panel,
    .main-navigation .has-dropdown > .submenu-wrapper > ul,
    .main-navigation .has-dropdown > .submenu-wrapper > ul.mpi-header-submenu-panel,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul.mpi-header-submenu-panel,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul.mpi-header-submenu-panel,
    #mobileMenu .has-dropdown.submenu-open > .submenu-wrapper ul,
    #mobileMenu .menu-item-has-children.submenu-open > .submenu-wrapper ul {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.375rem;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0.5rem 0 0.5rem 0.75rem;
        box-sizing: border-box;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        font-size: 0.875rem;
        line-height: 1.45;
        font-weight: 500;
        text-align: left;
        border-radius: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
        list-style: none;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li {
        width: 100%;
        min-width: 0;
        border-radius: 0.35rem;
        transition: background-color 0.2s ease-in-out;
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:hover,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul > li:focus-within,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:hover,
    .main-navigation .has-dropdown > .submenu-wrapper > ul > li:focus-within,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:hover,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul > li:focus-within,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:hover,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul > li:focus-within {
        background-color: var(--primary-color);
    }

    .main-navigation .menu-item-has-children > .submenu-wrapper > ul a,
    .main-navigation .menu-item-has-children > .submenu-wrapper > ul .nav-link,
    .main-navigation .has-dropdown > .submenu-wrapper > ul a,
    .main-navigation .has-dropdown > .submenu-wrapper > ul .nav-link,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul a,
    .header .navbar-nav .menu-item-has-children > .submenu-wrapper > ul .nav-link,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul a,
    .header .navbar-nav .has-dropdown > .submenu-wrapper > ul .nav-link {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 8px 12px;
        pointer-events: auto;
        text-align: left;
        color: var(--neutral-text-white, #fff) !important;
        background-color: transparent;
        transition: color 0.2s ease-in-out;
    }

    .main-navigation .mpi-nav-submenu-parent,
    .header .navbar-nav .mpi-nav-submenu-parent {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: flex-start;
        gap: 0.35rem;
    }

    .main-navigation .mpi-nav-submenu-parent__chevron,
    .header .navbar-nav .mpi-nav-submenu-parent__chevron {
        font-size: 1.25rem;
        opacity: 0.9;
    }
}
