/* Estilos base para el contenedor del dropdown */
.dropdown {
    position: relative; /* Necesario para posicionar el menú desplegable */
    display: inline-block; /* O 'block' si ocupa todo el ancho */
}

/* Estilos para el enlace que activa el dropdown */
.dropdown .nav-link {
    display: flex; /* Para alinear el texto y el icono */
    align-items: center;
    cursor: pointer; /* Indica que es interactivo */
}

/* Ocultar el menú desplegable por defecto */
.dropdown-menu {
    display: none;
    position: absolute;
    background-color: var(--background-color); /* Usar variable para tema claro/oscuro */
    min-width: 180px; /* Ancho mínimo */
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 100; /* Asegura que esté sobre otros elementos */
    border-radius: 5px; /* Bordes redondeados */
    padding: 10px 0; /* Espaciado interno vertical */
    opacity: 0; /* Inicia invisible para la transición */
    transform: translateY(10px); /* Inicia ligeramente desplazado hacia abajo */
    transition: opacity 0.3s ease, transform 0.3s ease; /* Transición suave */
    border: 1px solid var(--border-color); /* Borde sutil */
}

/* Estilos para los elementos dentro del menú desplegable */
.dropdown-menu li {
    list-style: none; /* Quitar viñetas */
}

.dropdown-menu li a {
    color: var(--text-color); /* Color de texto según el tema */
    padding: 12px 16px; /* Espaciado interno */
    text-decoration: none;
    display: block; /* Ocupa todo el ancho del contenedor li */
    transition: background-color 0.2s ease, color 0.2s ease; /* Transición suave al pasar el ratón */
    white-space: nowrap; /* Evita que el texto se divida en varias líneas */
}

/* Efecto hover en los enlaces del menú */
.dropdown-menu li a:hover {
    background-color: var(--accent-color); /* Color de fondo al pasar el ratón */
    color: var(--background-color); /* Cambiar color de texto para contraste */
}

/* Mostrar el menú desplegable cuando se pasa el ratón sobre el contenedor .dropdown */
.dropdown:hover .dropdown-menu {
    display: block; /* Mostrar el menú */
    opacity: 1; /* Hacer visible */
    transform: translateY(0); /* Mover a su posición final */
}

/* Ajustes para el icono de flecha */
.dropdown .nav-link .material-symbols-outlined {
    margin-left: 5px; /* Espacio entre texto y flecha */
    transition: transform 0.3s ease; /* Transición para rotación */
}

/* Rotar la flecha cuando el menú está activo (hover) */
.dropdown:hover .nav-link .material-symbols-outlined {
    transform: rotate(180deg);
}

/* Media Query para pantallas pequeñas (opcional, ajustar según sea necesario) */
@media (max-width: 768px) {
    .dropdown {
        position: static; /* Cambiar posicionamiento en móviles */
    }

    .dropdown-menu {
        position: static; /* El menú se mostrará debajo, no flotante */
        box-shadow: none;
        border: none;
        border-top: 1px solid var(--border-color); /* Separador */
        width: 100%;
        opacity: 1;
        transform: none;
        display: block; /* Siempre visible en la estructura, pero controlado por JS/CSS del menú móvil */
        background-color: transparent; /* Fondo transparente o color del menú móvil */
        padding: 0;
        margin-top: 5px;
    }

    .dropdown-menu li a {
        padding: 10px 20px; /* Ajustar padding para móvil */
    }

    /* Ocultar/Mostrar en móvil usualmente se maneja con JavaScript junto con el botón hamburguesa */
    /* Estos estilos asumen que el menú móvil ya maneja la visibilidad general */
    .main-nav ul.nav-links .dropdown-menu {
        /* Estilos específicos si el menú móvil lo requiere */
    }
}
