/* --- style.css COMPLETO --- */

:root {
    --primary-orange: #FE9D15;
    --secondary-blue: #152A3E;
    --darker-blue: #0d1b29;
    --text-light: #f4f4f4;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Roboto', sans-serif;
    background-color: var(--darker-blue);
    color: var(--text-light);
    padding-top: 70px; /* Altura exacta del header */
    overflow-x: hidden;
}

/* 1. HEADER Y NAVEGACIÓN (Prioridad Máxima) */
header {
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 70px;
    background: rgba(21, 42, 62, 0.98); /* Un poco más opaco para legibilidad */
    backdrop-filter: blur(10px);
    z-index: 10000 !important; /* Valor altísimo para estar sobre todo */
    border-bottom: 1px solid rgba(254, 157, 21, 0.2);
}

.navbar {
    max-width: 1200px; 
    margin: 0 auto; 
    height: 100%;
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 0 20px;
}

.nav-menu { 
    display: flex; 
    gap: 25px; 
    list-style: none; 
    align-items: center; 
}

.nav-link { 
    color: white; 
    text-decoration: none; 
    font-family: 'Orbitron', sans-serif;
    font-size: 0.8rem; 
    text-transform: uppercase; 
    transition: 0.3s;
}

.nav-link:hover { color: var(--primary-orange); }

/* 2. DROPDOWN (MENÚ DESPLEGABLE) */
.dropdown { 
    position: relative; 
}

.dropdown-menu {
    position: absolute; 
    top: 100%; 
    left: 0;
    background: var(--secondary-blue);
    min-width: 200px; 
    display: none; 
    list-style: none;
    border-top: 2px solid var(--primary-orange);
    box-shadow: 0 10px 25px rgba(0,0,0,0.6);
    z-index: 10001 !important; /* Un punto por encima del header */
}

.dropdown:hover .dropdown-menu { 
    display: block; 
}

.dropdown-menu li a {
    display: block; 
    padding: 15px; 
    color: white; 
    text-decoration: none;
    font-size: 0.8rem; 
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.dropdown-menu li a:hover { 
    background: rgba(254, 157, 21, 0.15); 
    color: var(--primary-orange); 
}

/* 3. CARRUSEL HERO (INDEX) */
.hero-carousel { 
    position: relative; 
    height: calc(100vh - 70px); 
    width: 100%; 
    overflow: hidden; 
}

.slide {
    position: absolute; 
    width: 100%; 
    height: 100%; 
    opacity: 0;
    transition: opacity 1s ease-in-out; 
    display: flex; 
    align-items: center; 
    justify-content: center;
}

.slide.active { 
    opacity: 1; 
    z-index: 1; 
}

.slide-bg { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    z-index: -1; 
    filter: brightness(0.4); 
}

.slide-content { 
    text-align: center; 
    max-width: 800px; 
    padding: 20px; 
    z-index: 10; 
}

.slide-title { 
    font-family: 'Orbitron', sans-serif; 
    color: var(--primary-orange); 
    font-size: 3rem; 
    margin-bottom: 20px; 
}

.btn-cta {
    background: var(--primary-orange); 
    color: var(--secondary-blue) !important;
    padding: 12px 30px; 
    text-decoration: none; 
    font-weight: bold; 
    border-radius: 4px;
    display: inline-block; 
    font-family: 'Orbitron', sans-serif; 
    transition: 0.3s;
}

.btn-cta:hover { 
    transform: scale(1.05); 
    background: white; 
    color: var(--secondary-blue) !important;
}

/* 4. BOTONES NAVEGACIÓN CARRUSEL */
.carousel-btn {
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%);
    background: rgba(255,255,255,0.1); 
    border: none; 
    color: white;
    padding: 20px; 
    cursor: pointer; 
    z-index: 100; 
    font-size: 2rem; 
    border-radius: 50%;
}

.prev { left: 20px; } 
.next { right: 20px; }

/* 5. DISEÑO RESPONSIVO (MÓVIL) */
@media (max-width: 768px) {
    .hamburger { 
        display: block !important; 
        z-index: 10001;
        cursor: pointer;
    }
    
    .bar {
        display: block;
        width: 25px;
        height: 3px;
        margin: 5px auto;
        background-color: var(--primary-orange);
        transition: 0.3s;
    }

    .nav-menu {
        position: fixed;
        left: -100%;
        top: 70px;
        flex-direction: column;
        background: var(--secondary-blue);
        width: 100%;
        height: calc(100vh - 70px);
        transition: 0.4s;
        padding: 40px 0;
        gap: 20px;
        display: flex; /* Aseguramos que se vea cuando tenga clase active */
    }

    .nav-menu.active { 
        left: 0; 
    }

    .dropdown-menu {
        position: static; 
        transform: none;
        width: 100%;
        box-shadow: none;
        background: rgba(255,255,255,0.05);
        display: none; 
    }
    
    .dropdown-menu li a { text-align: center; padding: 15px; }
    
    .slide-title { font-size: 1.8rem; }
    .carousel-btn { display: none; } /* Ocultamos flechas en móvil */
}

/* 6. PIE DE PÁGINA */
footer {
    background: #081018;
    padding: 2rem;
    text-align: center;
    font-size: 0.8rem;
    border-top: 1px solid #333;
    margin-top: auto;
}