@font-face {
    font-family: 'FuturaPTCondensed-ExtraBold';
    src: url('./src/fonts/futura-pt-condensed-extrabold.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FuturaPTCondensed-Bold';
    src: url('./src/fonts/futura-pt-condensed-bold.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FuturaPTCondensed-Book';
    src: url('./src/fonts/futura-pt-condensed-book.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FuturaPTCondensed-Medium';
    src: url('./src/fonts/futura-pt-condensed-medium.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Desplazamiento suave al hacer clic en los enlaces */
html {
    scroll-behavior: smooth;
    font-size: 62.5%;
}

body {
    background-color: #f4f4f4;
}

.clickable{
    cursor: pointer;
}

a {
    text-decoration: none;
}

/* ------------------------------
        NAVBAR
------------------------------ */

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 5%;
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Logo */
#navbar .logoContainer {
    display: flex;
    flex-direction: row;
    align-items: center;
}

#navbar .logoContainer .logo {
    height: clamp(40px, 6vh, 65px);
    display: block;
}

#navbar .logoContainer .titulo {
    height: clamp(25px, 4vh, 45px);
    display: block;
}

/* Enlaces centrales */
#navbar .nav-links {
    list-style: none;
    display: flex;
    gap: 30px;
}

#navbar .nav-links li {
    position: relative;
}

#navbar .nav-links a {
    color: #808080;
    display: inline-block;
    font-family: 'Arial', sans-serif;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
    text-decoration: none;
    transition: color 0.3s ease;
}

#navbar .nav-links a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background-color: #fad522;

    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: bottom center;
}

#navbar .nav-links a:hover {
    color: #2b41ff;
}

#navbar .nav-links a:hover::after {
    transform: scaleX(1);
}

/* --- Diseño Responsivo --- */
@media (max-width: 1230px) {
    #navbar .nav-links li:nth-child(5) {
        display: none;
    }
}

@media (max-width: 1130px) {
    #navbar .nav-links li:nth-child(4) {
        display: none;
    }
}

@media (max-width: 980px) {
    #navbar .nav-links li:nth-child(3) {
        display: none;
    }
}

@media (max-width: 890px) {
    #navbar .nav-links {
        display: none;
    }

    #navbar .navbar {
        padding: 10px 5%;
    }
}

/* Botón */
#navbar .nav-button .btnComprarBoletos {
    width: 10em;
    height: 2.5em;
    border-radius: 30em;
    font-size: clamp(13px, 3.5vw, 18px);
    font-weight: bold;
    font-family: 'Arial', sans-serif;
    border: none;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: #2b41ff;
    color: white;
    box-shadow: 6px 6px 12px #c5c5c5, -6px -6px 12px #ffffff;
}

#navbar .nav-button .btnComprarBoletos::before {
    content: '';
    width: 0;
    height: 3em;
    border-radius: 30em;
    position: absolute;
    top: 0;
    left: 0;
    background-image: linear-gradient(to right, #003351 0%, #2b41ff 100%);
    transition: .5s ease;
    display: block;
    z-index: -1;
}

#navbar .nav-button .btnComprarBoletos:hover::before {
    width: 9em;
}



/* ------------------------------
        SECCIONES
------------------------------ */

#inicio {
    aspect-ratio: 1920 / 1412;
    /* background-image: url('./src/imgs/fondo/Fondo_03\ H.webp'); */
    background-image: url('./src/imgs/fondo/Portada.webp');
    background-color: #003351;
    background-size: cover;
    background-position: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
}

#inicio .container_titulo {
    display: flex;
    flex-direction: column;
    height: 50%;
    padding: 12% 0;
    text-align: center;
}

#inicio .container_titulo h1,
h2,
h3 {
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    text-transform: uppercase;
}

#inicio .container_titulo h1 {
    letter-spacing: -1px;
    font-size: 10vw;
    margin-bottom: -3vw;
}

#inicio .container_titulo h2 {
    font-size: clamp(16px, 5.8vw, 85px);
}

#inicio .container_titulo h3 {
    font-size: 4.5vw;
}

#inicio .container_botones {
    display: flex;
    flex-direction: row;
    height: 30%;
    justify-content: space-around;
    margin-top: 15%;
    padding: 4% 0;
}

#inicio .container_botones .container_boton {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 8px;
}

#inicio .container_botones span {
    font-family: 'Arial', sans-serif;
    font-size: clamp(5px, 2vw, 1.2vw);
    text-shadow: 0px 0px 1px rgb(0, 0, 0);
}

#inicio .container_botones button {
    border-radius: 20px;
    border: none;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.4);
    cursor: pointer;

    display: flex;
    gap: 8px;
    align-items: center;

    margin: 0 auto;
    padding: 6px 25px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.4s ease, box-shadow 0.2s ease;
}

#inicio .container_botones button span {
    font-family: 'FuturaPTCondensed-Bold', sans-serif;
    font-size: clamp(8px, 4.8vw, 2.5vw);
    /* font-size: 55px; */
    /* font-weight: bold; */
    font-weight: 900;
    letter-spacing: 1px;
}

#inicio .container_botones button svg {
    width: clamp(20px, 6vw, 2.6vw);
    fill: white;
    filter: drop-shadow(0px 0px 0.5px rgb(0, 0, 0));
}

#inicio .container_botones button:hover {
    transform: scale(1.2);
}

#inicio .container_botones .btn_boletos {
    background-color: #fad623;
    color: white;
    /* text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.143); */
}

#inicio .container_botones .btn_asesor {
    background-color: #298387;
    color: white;
    /* text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.117); */
}

@media (max-width: 680px) {
    #inicio .container_botones {
        flex-direction: column;
        justify-content: center;
        gap: 25%;
    }

    #inicio {
        aspect-ratio: 1920 / 2556;

        /* background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 80%, #001a35 100%),
            url('./src/imgs/fondo/Fondo_03.webp'); */

    }
}

#descripcion {
    /* background-image:
        linear-gradient(to top, rgba(0, 0, 0, 0) 80%, #001a35 100%),
        url('./src/imgs/fondo/Fondo_01.webp');
         */
    /* background-color: transparent; */
    background-color: #003351;
    clip-path: ellipse(190% 100% at 50% 0%);
    margin-top: -1px;
    background-size: cover;
    background-position: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    min-height: 20vh;

    padding: 3% 8% 5%;
    gap: 20px;
}

#descripcion h1 {
    color: #fad623;
    /* font-family: 'FuturaPTCondensed-Bold', sans-serif; */
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: clamp(25px, 7vw, 80px);
    text-align: center;
    /* text-shadow: 0px 0px 1px rgb(0, 0, 0); */
}

#descripcion .contenido {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 3%;
}

#descripcion .contenido .seccion {
    font-size: clamp(18px, 5.2vw, 25px);
    display: flex;
    flex-direction: column;
    width: 47%;
    font-family: 'FuturaPTCondensed-Book', sans-serif;
}

#descripcion .container_video {
    display: flex;
    flex-direction: row;
    margin: auto;
    width: 100%;
    min-height: 150px;
    height: clamp(130px, 80%, 800px);
    border-radius: 10%;
    background-color: black;
}

#descripcion .datos-container{
    display: flex;
    flex-direction: row;
}

#descripcion .dato-individual{
    padding: 3%;
}

#descripcion .dato-individual h2{
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: clamp(25px, 2.5vw, 80px);
    color: #fad623;
    text-align: center;
}

#descripcion .dato-individual p {
    font-size: clamp(18px, 5.2vw, 25px);
    display: flex;
    flex-direction: column;
    font-family: 'FuturaPTCondensed-Book', sans-serif;
    text-align: justify;
}

@media (max-width: 680px) {

    #descripcion .contenido {
        flex-direction: column;
        justify-content: center;
        gap: 20px;
    }

    #descripcion .contenido .seccion {
        width: 100%;
        justify-content: center;
        text-align: justify;
    }

    #descripcion .container_video {
        width: 80%;
    }

    #descripcion .datos-container {
        flex-direction: column;
        margin-bottom: 30px;
    }
}

#historia {
    /* aspect-ratio: 1920 / 1412; */
    /* aspect-ratio: 1920 / 812; */
    /* background-image: url('./src/imgs/fondo/Fondo_02.webp'); */
    background-color: #003351;
    background-size: cover;
    background-position: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
}

#historia .main-container {
    width: 90%;
    max-width: 1000px;
    text-align: center;
    padding: 40px 0;
    margin: 0 auto 25px;
}

#historia .text-side {
    margin: 0 auto;
    padding: 15px 40px;
    min-width: 280px;
    z-index: 20;
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
}

#historia .yellow-text1 {
    color: #fad623;
    font-size: clamp(48px,7vw, 65px);
    display: block;
    margin-bottom: -15px;
}

#historia .yellow-text2 {
    color: #fad623;
    font-size: clamp(40px, 6vw, 55px);
    display: block;
}



#historia button {
    border-radius: 20px;
    border: none;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.4);
    cursor: pointer;

    display: flex;
    gap: 8px;
    align-items: center;

    margin: 0 auto;
    padding: 6px 25px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.4s ease, box-shadow 0.2s ease;
}

#historia button span {
    font-family: 'FuturaPTCondensed-Bold', sans-serif;
    font-size: clamp(8px, 5vw, 30px);
    font-weight: bold;
    letter-spacing: 1px;
}

#historia button svg {
    width: clamp(20px, 6vw, 40px);
    fill: white;
    /* filter: drop-shadow(0px 0px 1px rgb(0, 0, 0)); */
}

#historia button:hover {
    transform: scale(1.2);
}

#historia .btn_galeria {
    background-color: #298387;
    color: white;
    text-shadow: 0px 0px 0.5px rgb(0, 0, 0);
}

/* Cuadrícula de tarjetas */
#historia .grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 columnas */
    gap: 20px;
}

#historia .card {
    background-color: black;
    aspect-ratio: 4 / 3;
    border-radius: 25px;
    border: 1px solid #444;
    transition: opacity 0.3s;

    overflow: hidden; 
    
    display: flex;
    align-items: center;
    justify-content: center;
}

#historia .card img {
    width: 100%;
    height: 100%;
    
    object-fit: cover;
    
    object-position: center;
}

#historia .card:hover {
    opacity: 0.8;
}

/* Responsivo para móviles */
@media (max-width: 768px) {
    #historia .grid-container {
        grid-template-columns: repeat(2, 1fr);
        /* 2 columnas en tablets */
    }
}

@media (max-width: 480px) {
    #historia .grid-container {
        grid-template-columns: 1fr;
        /* 1 columna en celulares */
    }

    #historia .card2 {
        display: none;
    }
}


#ubicacion {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 5% 0;
}

#ubicacion .banner-container {
    width: 100%;
    padding: 20px 0;
    display: flex;
    justify-content: center;
    background-color: transparent;
}

#ubicacion .titulo-ubicacion {
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: clamp(30px, 7vw, 60px);
    font-weight: 900;
    color: #003351;
    margin: 0;
    padding: 8px 13vw;
    text-align: center;

    background: linear-gradient(90deg,
            rgba(255, 222, 89, 0) 0%,
            rgba(255, 222, 89, 1) 15%,
            rgba(255, 222, 89, 1) 85%,
            rgba(255, 222, 89, 0) 100%);

    background-size: 100% 100%;
    display: inline-block;
}

#ubicacion .main-container {
    display: flex;
    flex-direction: row;
    padding: 20px 20%;
}

#ubicacion .mapa-container {
    display: flex;
    width: 50%;
    min-height: 170px;
}

#ubicacion .mapa-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

#ubicacion .datos-container {
    display: flex;
    flex-direction: column;
    text-align: center;
    width: 50%;
}

#ubicacion .datos-container h3 {
    color: #003351;
    font-family: 'FuturaPTCondensed-Bold', sans-serif;
    font-size: clamp(25px, 2.5vw, 80px);
    text-align: center;
    text-shadow: 0px 0px 0.5px rgba(0, 0, 0, 0.6);
}

#ubicacion .datos-container p {
    display: flex;
    flex-direction: column;
    font-family: 'FuturaPTCondensed-Book', sans-serif;
    font-size: clamp(20px, 1.5vw, 60px);
}

#ubicacion .datos-container button {
    border-radius: 20px;
    border: none;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.4);
    cursor: pointer;

    display: flex;
    gap: 8px;
    align-items: center;

    margin: 5% auto 0;
    padding: 6px 25px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.4s ease, box-shadow 0.2s ease;
}

#ubicacion .datos-container button span {
    font-family: 'FuturaPTCondensed-Bold', sans-serif;
    font-size: clamp(8px, 4.8vw, 30px);
    /* font-weight: bold; */
    font-weight: 900;
    letter-spacing: 1px;
    color: #003351;
}

#ubicacion .datos-container button svg {
    width: clamp(20px, 6vw, 40px);
    fill: white;
    filter: drop-shadow(0px 0px 0.5px rgb(0, 0, 0));
}

#ubicacion .datos-container button:hover {
    transform: scale(1.2);
}

#ubicacion .datos-container .btn_boletos {
    background-color: #fad623;
    color: white;
    /* text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.143); */
}

@media (max-width: 768px){
    #ubicacion .main-container{
        flex-direction: column;
        padding: 5px 8%;
    }

    #ubicacion .mapa-container {
        width: 100%;
    }

    #ubicacion .datos-container{
        width: 100%;
    }
}


#porqueasistir {
    background-color: #003351;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    padding: 80px 8%;
    box-sizing: border-box;
    align-items: flex-start;
}

#porqueasistir .fila {
    display: flex;
    flex-direction: row;
}

/* Título de la izquierda */
#porqueasistir .main-title {
    flex: 0 0 35%;
}

#porqueasistir .main-title h1 {
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: clamp(30px, 7vw, 70px);
    color: #fad623;
    line-height: 1.1;
    margin: 0;
    font-weight: 700;
}

#porqueasistir .dato-individual {
    padding: 2%;
}

#porqueasistir .dato-individual h3 {
    font-family: 'FuturaPTCondensed-Bold', sans-serif;
    font-size: clamp(25px, 2.3vw, 60px);
    color: #fad623;
    text-align: start;
    text-transform: none !important;
}

#porqueasistir .dato-individual p {
    font-size: clamp(18px, 5.8vw, 25px);
    display: flex;
    flex-direction: column;
    font-family: 'FuturaPTCondensed-Book', sans-serif;
    text-align: justify;
}

@media (max-width: 680px) {

    #porqueasistir {
        padding: 40px 0;
    }

    #porqueasistir .main-title {
        flex: 0 0 0;
        text-align: center;
        margin-bottom: 20px;
    }

    #porqueasistir .fila {
        flex-direction: column;
    }

}


/* --- SECCIÓN BOLETOS --- */
#cta-boletos {
    width: 100%;
    padding: 60px 20px;
    background-color: #fff;
    /* Fondo exterior */
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

#cta-boletos .cta-container {
    background-color: #003351;
    width: 100%;
    max-width: 1100px;
    display: flex;
    align-items: center;
    padding: 40px;
    gap: 40px;
    border-radius: 10px;
}

#cta-boletos .cta-box-white {
    background-color: #fff;
    flex: 1.2;
    padding: 50px 20px;
    border-radius: 25px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

#cta-boletos .cta-box-white h2 {
    color: #003351;
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: clamp(30px, 6vw, 60px);
    margin: 0;
    text-transform: uppercase;
}

#cta-boletos .cta-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

#cta-boletos .cta-content p {
    color: #fff;
    font-family: 'FuturaPTCondensed-Bold', sans-serif;
    font-size: 28px;
    margin: 0;
}

#cta-boletos .btn-boletos {
    background-color: #fad623;
    color: #003351;
    text-decoration: none;
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: 28px;
    padding: 12px 60px;
    border-radius: 50px;
    font-weight: bold;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

#cta-boletos .btn-boletos:hover {
    transform: scale(1.1);
}

/* --- RESPONSIVE MÓVIL --- */
@media (max-width: 768px) {
    #cta-boletos {
        padding: 30px 15px;
    }

    #cta-boletos .cta-container {
        flex-direction: column;
        padding: 30px 20px;
        gap: 30px;
    }

    #cta-boletos .cta-box-white {
        width: 100%;
        padding: 30px 10px;
    }

    #cta-boletos .cta-content {
        width: 100%;
    }

    #cta-boletos .cta-content p {
        font-size: 22px;
    }

    #cta-boletos .btn-boletos {
        width: 60%;
        text-align: center;
        padding: 6px 0;
        max-width: 250px;
    }
}

/* --- FOOTER --- */
#footer {
    background-color: #619a8d;
    width: 100%;
}

#footer .footer-main {
    max-width: 85%;
    margin: 0 auto;
    padding: 40px 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

#footer .footer-logo {
    flex: 1.5;
    /* padding: 0 22px; */
}

#footer .footer-logo img {
    max-width: 100%;
    height: auto;
}

#footer .footer-info {
    flex: 1;
    color: #003351;
}

#footer .footer-info h3 {
    font-family: 'FuturaPTCondensed-ExtraBold', sans-serif;
    font-size: 35px;
    /* font-size: 24px; */
    margin-bottom: 15px;
    text-transform: uppercase;
}

#footer .info-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 16px;
}

#footer .info-item svg {
    width: 30px;
    color: #003351;
    fill: #003351;
}

#footer .info-item span {
    font-family: 'FuturaPTCondensed-Book', sans-serif;
    font-size: 22px;
    color: white;
}

/* Barra Azul Inferior */
#footer .footer-bottom {
    background-color: #003351;
    padding: 15px 0;
    text-align: center;
}

#footer .footer-bottom p {
    font-family: 'FuturaPTCondensed-Book', sans-serif;
    color: #fff;
    margin: 0;
    font-size: 28px;
    letter-spacing: 1px;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    #footer .footer-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 40px;
    }

    #footer .info-item {
        justify-content: center;
    }

    #footer .footer-logo {
        max-width: 250px;
    }
}