/* 1. RESET Y CONFIGURACIÓN BASE */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; 
}

/* AJUSTE NECESARIO: Compensación por la barra fija */
/* Como la barra ahora flota, empujamos el contenido del Hero hacia abajo */
.hero-section {
    padding-top: 70px; /* Mismo alto que la barra de escritorio */
}

/* 2. MENÚ SUPERIOR (ESCRITORIO - STICKY) */
.men {
    position: fixed; /* Fija la barra arriba */
    top: 0;
    left: 0;
    width: 100%;
    height: 40px; 
    z-index: 1000; /* Asegura que flote sobre todo (3D, tarjetas, etc) */
    
    background: #ffffff;
    border: 3px solid #000000; 
    padding: 0 40px;
    
    display: flex;
    align-items: center;
    justify-content: space-between;
    
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
}

/* LOGOTIPO */
.logotipo-container { 
    flex: 0 0 auto; 
    display: flex;
    align-items: center;
}

.logotipo { 
    width: auto; 
    height: 40px;
    object-fit: contain; 
    display: block; 
    max-height: 80%;
    padding: 10px;
}

/* LISTA DE NAVEGACIÓN */
.nav-list { 
    display: flex; 
    gap: 30px; 
    align-items: center; 
    justify-content: center; 
}

.nav-item {
    color: #000; 
    text-decoration: none; 
    font-size: 18px; 
    text-transform: uppercase; 
    cursor: pointer; 
    white-space: nowrap;
    letter-spacing: 0.5px; 
    transition: color 0.3s;
}

.nav-item:hover { 
    color: #008a3d; 
}

/* CONTENEDOR DERECHO (Idioma) */
.right-container { 
    display: flex; 
    align-items: center; 
    gap: 20px; 
    flex: 0 0 auto; 
}

.group-language { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    cursor: pointer; 
}

.es-text { 
    color: #000; 
    font-size: 20px; 
    text-transform: uppercase; 
}

.flag-icon { 
    width: 33px; 
    height: 20px; 
    object-fit: cover; 
    border: 1px solid #000; 
}

/* HAMBURGUESA (Oculta en escritorio) */
.hamburger {
    display: none; 
    flex-direction: column; 
    justify-content: space-between;
    width: 35px; 
    height: 25px; 
    cursor: pointer;
}

.hamburger span { 
    display: block; 
    height: 4px; 
    width: 100%; 
    background: #000; 
    border-radius: 2px; 
}

/* MENÚ MÓVIL OVERLAY */
.mobile-menu-overlay {
    position: fixed; /* Cambiado a fixed para que acompañe al menú */
    top: 70px; /* Justo debajo de la barra de escritorio */
    left: 0; 
    width: 100%;
    background: #f8f9f1; 
    border-bottom: 4.5px solid #000;
    padding: 30px; 
    display: none; 
    flex-direction: column;
    align-items: center; 
    gap: 25px; 
    z-index: 999; /* Justo debajo de la barra .men */
}

.mobile-menu-overlay.active { 
    display: flex; 
}

/* 3. MEDIA QUERY (MÓVIL Y TABLET - Menos de 1200px) */
@media screen and (max-width: 1200px) {
    /* Ajuste del Hero para móvil (la barra es más alta) */
    .hero-section {
        padding-top: 90px; 
    }

    .men {
        height: 60px; 
        padding: 0 20px; 
        border: 2.5px solid #000; 
    }

    /* Ajustamos la posición del menú desplegable en móvil */
    .mobile-menu-overlay {
        top: 90px; 
    }

    .nav-list { 
        display: none; 
    }

    .hamburger { 
        display: flex; 
    }

    .logotipo { 
        height: 45px; 
        width: auto;
    }

    .flag-icon { 
        width: 28px; 
        height: 19px; 
    }
}