.mm-menu,
.mm-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mm-menu li {
    position: relative;
}

/* Menu horizontal desktop */
.mm-menu > li {
    display: inline-block;
}

.mm-menu li .mm-submenu-toggle {
    display: inline-flex;
    cursor: pointer;
    margin-left: 8px;
    vertical-align: middle;
}

/* Submenu padr達o - desktop - absoluto e com fade */
.mm-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 100;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    max-height: none; /* padr達o sem limite */
    overflow: visible;
}

/* Abre submenu no desktop com fade */
.mm-submenu.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* --- Estilos para menu vertical e mobile --- */
@media (max-width: 768px) {
    /* Menu vertical: lista vertical */
    .mm-menu > li {
        display: block;
    }

    /* Submenu no fluxo: posição estática, sem sombra */
    .mm-submenu {
        position: static;
        box-shadow: none;
        opacity: 1 !important;  /* Sempre visível para transição de max-height funcionar */
        visibility: visible !important;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        margin-left: 15px;
        padding-left: 10px;
        max-width: 100%;
    }

    /* Submenu aberto: expande com scroll se necessário */
    .mm-submenu.open {
        max-height: 250px; /* altura do submenu, ajusta conforme necessário */
        overflow-y: auto;
    }
}

