@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&family=Contrail+One&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#000;
    color:#fff;
    font-family:Arial, sans-serif;
}

/* LOGO */

.header{
    background:#000;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:12px 0;
}

.logo{
    width:350px;
    max-width:90%;
    height:auto;
}

/* BANNER */

.banner{
    width:100%;
}

.banner img{
    width:100%;
    display:block;
}

/* PRESENTACIÓN */

.presentacion{
    background:#000;
    max-width:1400px;
    margin:auto;
    padding:70px 50px;

    display:flex;
    align-items:center;
    gap:60px;
}

.texto{
    flex:1;
    text-align:center;
}

.texto h1{
    font-family:'Alex Brush', cursive;
    color:#D4AF37;
    font-size:3.1rem;
    font-weight:normal;
    line-height:1.15;
    margin-bottom:30px;
}

.frase{
    font-family:'Brush Script MT', cursive;
    color:#B8860B;
    font-size:2.7rem !important;
    line-height:1.1;
    font-weight:normal;
    text-align:center !important;
    width:100%;
    max-width:none;
    margin-top:-35px;
    margin-bottom:35px;
}

.texto p:not(.frase){
    font-size:1.1rem;
    line-height:1.5;
    text-align:justify;
    margin-bottom:10px;
}

.imagen{
    width:48%;
}

.imagen img{
    width:100%;
    height:520px;
    object-fit:cover;
    border-radius:10px;
    display:block;
}

/* VALORES */

.valores{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#000;
}

.fondo-valores{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
}

.imagen-valores{
    position:relative;
    z-index:3;
    width:100%;
    height:auto;
    display:block;
}

/* GALERÍA */

.galeria{
    background:#000;
    padding:80px 50px;
}

.galeria h2{
    text-align:center;
    color:#D4AF37;
    margin-bottom:40px;
    font-size:2.5rem;
}

.galeria-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.galeria-grid img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:10px;
}

/* EVENTOS */

@media(max-width:900px){

    .tipos-eventos{
        padding:80px 30px;
    }

    .tipos-eventos h2{
        font-size:3rem;
        margin-bottom:40px;
    }

    .eventos-grid{
        grid-template-columns:repeat(2,1fr);
        gap:50px 30px;
    }

    .icono{
        font-size:60px;
    }

    .evento p{
        font-size:1.2rem;
    }

}

/* CARRUSEL */

.carousel{
    position:relative;
    width:100%;
}

.carousel img{
    width:100%;
    height:550px;
    object-fit:cover;
    border-radius:12px;
    display:block;
}

.prev,
.next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,.6);
    color:white;
    border:none;
    width:45px;
    height:45px;
    cursor:pointer;
    font-size:24px;
    border-radius:50%;
    z-index:10;
}

.prev{
    left:15px;
}

.next{
    right:15px;
}

.prev:hover,
.next:hover{
    background:rgba(212,175,55,.9);
}

/* LIGHTBOX */

.lightbox{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.92);
    z-index:9999;
    justify-content:center;
    align-items:center;
}

.lightbox.active{
    display:flex;
}

.lightbox img{
    max-width:90%;
    max-height:90%;
    border-radius:12px;
}

.close{
    position:absolute;
    top:20px;
    right:30px;
    color:white;
    font-size:45px;
    cursor:pointer;
    z-index:10000;
}

.lightbox-prev,
.lightbox-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:60px;
    height:60px;
    border:none;
    cursor:pointer;
    background:rgba(255,255,255,.2);
    color:white;
    font-size:30px;
    z-index:10000;
}

.lightbox-prev{
    left:20px;
}

.lightbox-next{
    right:20px;
}

.clickable-image{
    cursor:pointer;
}

/* TIPOS DE EVENTOS */

.tipos-eventos{
    background:#000;
    padding:100px 50px 20px 50px;
    text-align:center;
}

.tipos-eventos h2{
    color:#D4AF37;
    font-size:5rem;
    margin-bottom:60px;
}

.tipos-eventos h2 span{
    color:#fff;
}

.eventos-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:70px 40px;
    max-width:1500px;
    margin:auto;
}

.evento{
    transition:.3s;
}

.evento:hover{
    transform:translateY(-6px);
}

.icono{
    font-size:80px;
    margin-bottom:25px;
    display:block;
}

.evento p{
    color:#fff;
    font-size:1.7rem;
    font-weight:600;
    line-height:1.3;
}

@media(max-width:600px){

    .presentacion{
    flex-direction:column;
    gap:30px;
    padding:25px 12px 40px;
    }
.valores{
    overflow:hidden;
}

.imagen-valores{
    width:100%;
    transform:scale(1.17);
    transform-origin:center center;
}

    .texto{
        width:100%;
    }

    .imagen{
        width:100%;
    }

    /* BANNER ¿QUIÉNES SOMOS? */
    .banner{
    width:100%;
    overflow:hidden;
    }

    .banner img{
    width:100%;
    transform:scale(1.85);
    transform-origin:center center;
    }

    .tipos-eventos{
        padding:60px 20px;
    }

    .tipos-eventos h2{
        font-size:2.2rem;
        margin-bottom:30px;
    }

    .eventos-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .icono{
        font-size:50px;
    }

    .evento p{
        font-size:1rem;
    }

}

.separador-footer{
    width:100%;
    height:3px;
    background:#000;
}

.volver{
    background:#000;
    text-align:center;
    margin-top:50px;
    padding-top:25px;
    padding-bottom:8px;
    border-top:2px solid #fff;
}

.volver a{
    font-family:'Alex Brush', cursive;
    font-size:4rem;
    color:#fff;
    text-decoration:none;
    transition:0.3s;
}

.volver a:hover{
    color:#D4AF37;
}

/* =========================================
   TABLET — AJUSTE GENERAL
========================================= */

@media (min-width:601px) and (max-width:1200px){

    .banner{
        width:100%;
        overflow:hidden;
    }

    .banner img{
        width:100%;
        transform:scale(1.70);
        transform-origin:center center;
    }

    /* QUIÉNES SOMOS */

    .presentacion{
    padding:30px 45px 50px;
    gap:45px;
    flex-direction:column;
}

    .frase{
        font-size:2.4rem !important;
        line-height:1.1;
        margin-top:-20px;
        margin-bottom:28px;
    }

    .texto p:not(.frase){
    font-size:1.05rem;
    line-height:1.6;
    margin-bottom:14px;	 
    }

   .imagen{
    width:95%;
    max-width:700px;
    margin:0 auto;
}

.carousel img{
    width:100%;
    height:550px;
    object-fit:cover;
}

    /* NUESTROS VALORES */

    .imagen-valores{
    width:96%;
    height:auto;
    margin:0 auto;
    transform:scale(1.19);
    transform-origin:center center;
}

    /* TIPOS DE EVENTOS */

    .tipos-eventos h2{
        font-size:3.8rem;
        line-height:1.15;
        margin-bottom:45px;
    }

    /* CARRUSEL */

    .prev,
    .next{
        width:45px;
        height:45px;
        font-size:24px;
    }

    /* LIGHTBOX */

    .lightbox img{
        max-width:90%;
        max-height:85%;
    }

    .close{
        top:15px;
        right:20px;
        font-size:42px;
    }

    .lightbox-prev,
    .lightbox-next{
        width:55px;
        height:55px;
        font-size:28px;
    }

    .lightbox-prev{
        left:15px;
    }

    .lightbox-next{
        right:15px;
    }

}

/* =========================================
   TÍTULO QUIÉNES SOMOS — SOLO PC
========================================= */

@media (min-width:1201px){

    .texto h1{
        font-size:3.5rem;
        line-height:1.1;
    }

}