/* --- CONFIGURACIÓN GENERAL Y FLECHAS --- */
.slimmenu li.has-submenu > a {
    position: relative;
    padding-right: 25px !important;
}

/* Flecha hacia abajo en CSS */
.slimmenu li.has-submenu > a:after {
    content: '';
    position: absolute;
    right: 8px;
    top: 50%;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #fff; /* Color de la flecha */
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

/* Girar flecha al hacer hover (Desktop) */
.slimmenu li.has-submenu:hover > a:after {
    transform: translateY(-50%) rotate(180deg);
}

/* --- COMPORTAMIENTO DESKTOP --- */
@media only screen and (min-width: 960px) {
    .menu-collapser { display: none; } /* Esconder botón móvil */
    
    .slimmenu {
        display: block !important;
        float: right;
    }

    .slimmenu li {
        display: inline-block;
        position: relative;
    }

    .slimmenu li ul.sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        background: rgba(10, 10, 10, 0.98);
        min-width: 180px;
        display: none; /* Oculto por defecto */
        padding: 10px 0;
        z-index: 999;
        border-bottom: 2px solid #333;
    }

    .slimmenu li:hover > ul.sub-menu {
        display: block;
    }

    .slimmenu li ul li {
        display: block;
        width: 100%;
    }

    .slimmenu li ul li a {
        padding: 10px 20px !important;
        font-size: 11px !important;
        text-align: left;
    }
}

/* --- COMPORTAMIENTO MÓVIL Y TABLET (100% FUNCIONAL) --- */
@media only screen and (max-width: 800px) {
    /* Estilo del botón hamburguesa */
    .menu-collapser {
        display: block;
        padding: 15px;
        cursor: pointer;
        float: right;
    }
    
    .icon-bar {
        display: block;
        width: 25px;
        height: 2px;
        background-color: #fff;
        margin: 5px 0;
    }

    /* El menú comienza plegado */
    .slimmenu {
        display: none; 
        clear: both;
        width: 100%;
        background: none;
        padding: 0;
        margin: 0;
    }

    .slimmenu li {
        display: block;
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .slimmenu li a {
        padding: 15px !important;
        display: block;
        text-align: center;
    }

    /* Submenús en móvil */
    .slimmenu li ul.sub-menu {
        display: none; /* Se despliega al hacer click con JS */
        background: #1a1a1a;
        list-style: none;
        padding: 0;
    }

    .slimmenu li ul li a {
        padding: 12px !important;
        font-size: 10px !important;
        opacity: 0.8;
    }

    /* Mostrar menú cuando el botón hamburguesa está activo */
    .slimmenu.show-menu {
        display: block !important;
    }
}