
/* --- Estilos del icono de usuario y el menú desplegable --- */

.user-icon {
    position: relative; /* Necesario para posicionar el desplegable relativo a este */
    display: inline-block; /* O el display que necesites, pero para un solo icono, inline-block suele ser bueno */
    cursor: pointer; /* Indica que es clickeable */
    margin-left: 5%;
}

.user-icon img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}


.user-icon img:hover,
.user-icon img:focus {
    transform: scale(1.05);
  }



/* Estilos iniciales del contenido desplegable (oculto) */
.desplegable-contenido {
    position: absolute;
    top: 60%; /* Se posiciona justo debajo del icono */
    left: 60%;
    background: white;
    padding: 3%;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    z-index: 1000;

    /* Propiedades para ocultar y mostrar con transición */
    visibility: hidden; /* Oculta visualmente, pero mantiene el elemento en el DOM */
    opacity: 0;        /* Oculta con transparencia */
    max-height: 0;     /* Colapsa el contenido para que no ocupe espacio */
    overflow: hidden;  /* Oculta cualquier contenido que se desborde */
    transform: translateY(-10px); /* Ligeramente hacia arriba para el efecto de slide */
    transition: visibility 0s 0.2s, /* Retraso para que la visibilidad cambie después de la animación de ocultar */
                opacity 0.2s ease-out,
                max-height 0.2s ease-out,
                transform 0.2s ease-out;
}

/* Estilos para los enlaces dentro del desplegable */
.desplegable-contenido a {
    display: flex;
    align-items: center;
    padding: 10px;
    text-decoration: none;
    color: black;
}

.desplegable-contenido a img {
    width: 15%;
    height: 15%;
    margin-right: 10px;
}

/* Estilos de hover y foco para los elementos del menú */
.desplegable-contenido a:hover,
.desplegable-contenido a:focus { /* Añadimos :focus para la navegación por teclado */
    background-color: #e9e9e9;
    color: #007bff;
    outline: none; /* Elimina el contorno de foco por defecto */
}

/* Clase que se añade con JavaScript para mostrar el desplegable */
.desplegable-contenido.mostrar {
    visibility: visible;
    opacity: 1;
    max-height: 200px; /* Un valor lo suficientemente grande para contener el contenido */
    transform: translateY(0); /* Vuelve a su posición original */
    transition-delay: 0s; /* Reinicia el retraso para que aparezca inmediatamente */
}

/* Clase para mostrar el desplegable */
.desplegable-contenido.mostrar {
    visibility: visible;
    opacity: 1;
    max-height: 200px; /* Un valor lo suficientemente grande para contener el contenido */
    transition-delay: 0s; /* Reinicia el retraso de la transición al mostrar */
}