.menu-desktop {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    position: relative;
    z-index: 300;
    font-family: "Montserrat", sans-serif;
}

.menu-desktop .menu-categorias {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 25px;
}

.menu-desktop .menu-item {
    position: relative;
}

.menu-desktop>.menu-categorias>.menu-item>.menu-link {
    position: relative;
    display: inline-block;
    padding: 12px 18px;
    text-decoration: none;
    font-weight: 600;
    color: #475567;
    transition: color 0.3s ease;
    background: white;
    border-bottom: 1px solid rgba(71, 85, 103, 0.205);
    text-transform: uppercase;
    font-size: 14px;
}

/* Línea decorativa */
.menu-desktop>.menu-categorias>.menu-item>.menu-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0%;
    height: 2px;
    background-color: #80afd2;
    transition: width 0.3s ease;
}

/* Mantener activa la línea mientras el submenu esté abierto */
.menu-desktop>.menu-categorias>.menu-item:hover>.menu-link {
    color: #80afd2;
}

.menu-desktop>.menu-categorias>.menu-item:hover>.menu-link::after {
    width: 100%;
}

/* Bordes entre las opciones del submenú */
.menu-mobile .menu-categorias ul li {
    border-bottom: 1px solid #e5e5e5;
}

.menu-mobile .menu-categorias ul li:last-child {
    border-bottom: none;
    /* evita el borde en el último ítem */
}

/* Submenús */
.menu-desktop .menu-item>ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style: none;
    padding: 4px 0;
    margin: 0;
    max-width: 135px;
    width: 135px;
    min-width: 135px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.25s ease;
    color: #475567;
    background: #fff;
}

.menu-desktop .menu-item:hover>ul {
    display: block;
    opacity: 1;
    transform: translateY(0);
}


/* Bordes entre las opciones de los submenús (ESCRITORIO) */
.menu-desktop .menu-item ul li {
    border-bottom: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
}

/* Sub-submenús */
.menu-desktop .menu-item ul ul {
    top: -1px;
    left: 100%;
    max-width: 135px;
    width: 135px;
    min-width: 135px;
    transform: translateX(10px);
    opacity: 0;
    transition: all 0.25s ease;
    color: #475567;
    background: #fff;
    padding: 0 0 0 3px;
}

.menu-desktop .menu-item ul li:hover>ul {
    opacity: 1;
    transform: translateX(0);
    display: block;
}

/* Mantener activo el hover mientras el mouse esté en un submenú o sub-submenú */
.menu-desktop .menu-item:hover>.menu-link,
.menu-desktop .menu-item:has(ul:hover)>.menu-link {
    color: #80afd2;
}

.menu-desktop .menu-item:hover>.menu-link::after,
.menu-desktop .menu-item:has(ul:hover)>.menu-link::after {
    width: 100%;
}

/* Mantener visible el submenú aunque el mouse esté sobre su hijo */
.menu-desktop .menu-item:hover>ul,
.menu-desktop .menu-item:has(ul:hover)>ul {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Igual para los sub-submenús */
.menu-desktop .menu-item ul li:hover>ul,
.menu-desktop .menu-item ul li:has(ul:hover)>ul {
    display: block;
    opacity: 1;
    transform: translateX(0);
}

/* Enlaces de submenús */
.menu-desktop .menu-item ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px;
    color: #475567;
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 500;
    background: #fff;
}

.menu-desktop .menu-item ul li a:hover {
    color: #80afd2;
    background: #f9f9f9;
}

/************************************
    FLECHAS SOLO EN SUBMENÚS
************************************/
/* Solo los elementos de submenú con submenús hijos */
.menu-desktop ul ul .has-submenu>.menu-link::after {
    content: "keyboard_arrow_right";
    font-family: 'Material Icons';
    font-size: 18px;
    line-height: 1;
    transition: transform 0.2s ease;
    color: #475567;
}

/* Animación suave al hover */
.menu-desktop ul ul .has-submenu:hover>.menu-link::after {
    transform: translateX(3px);
    color: #80afd2;
}

/************************************
    RESPONSIVE CONTROL
************************************/
/* Escritorio: ocultar menú móvil y botón */
@media (min-width: 992px) {
    .menu-toggle {
        display: none !important;
    }

    .menu-mobile {
        display: none !important;
    }

    .menu-desktop {
        display: flex !important;
    }
}

/* Móvil: ocultar menú de escritorio */
@media (max-width: 991px) {
    .menu-desktop {
        display: none !important;
    }

    .menu-mobile {
        display: block;
    }

    .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 26px;
        border: none;
        background: none;
        cursor: pointer;
    }
}

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out;
    z-index: 1500;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}