/* RESEST GENERAL */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Montserrat',sans-serif;

    background:#f5f7fb;

    color:#1e293b;

    overflow-x:hidden;

}

/* HEADER NUEVO */

/*=========================
HEADER
==========================*/

.header{

    background:white;

    min-height:110px;

    padding:20px 50px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

}

.logo-container{

    display:flex;

    align-items:center;

    gap:20px;

}

.logo{

    width:90px;

    height:90px;

    object-fit:contain;

}

.logo-container h1{

    font-size:42px;

    font-weight:800;

    color:#0f2b73;

}

.logo-container p{

    font-size:18px;

    color:#475569;

}

/* LOGON ELEGANTE */

/*=========================
LOGIN
==========================*/

.login-form{

    display:flex;

    gap:15px;

    align-items:center;

}

.login-form input{

    width:180px;

    padding:14px;

    border:1px solid #cbd5e1;

    border-radius:10px;

    font-size:15px;

}

.login-form button{

    background:#2563eb;

    color:white;

    border:none;

    padding:14px 30px;

    border-radius:10px;

    cursor:pointer;

    font-weight:700;

}

.login-form button:hover{

    background:#1d4ed8;

}

.error-login{

    color:red;

    font-size:14px;

}

/* HERO NUEVO */

/*=========================
HERO
==========================*/

.hero{

    min-height:600px;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.75),
        rgba(0,0,0,.45)
    ),
    url("../img/hero.png");

    background-size:cover;

    background-position:center;

    display:flex;

    justify-content:center;   /* NUEVO */

    align-items:center;

    padding:50px;

}



.hero-content{

    max-width:900px;

    color:white;

    text-align:center;   /* NUEVO */

}



.hero h2{

    font-size:72px;

    font-weight:800;

    line-height:1.1;

    margin-bottom:30px;

}

.hero p{

    font-size:28px;

    line-height:1.6;

    margin-bottom:40px;

}

/* BOTONES DEL HERO */

.hero-buttons{

    display:flex;

    justify-content:center;   /* NUEVO */

    gap:20px;

    flex-wrap:wrap;

}



.btn-primary{

    background:#2563eb;

    color:white;

    border:none;

    padding:18px 30px;

    border-radius:12px;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

}

/* BOTON WHATSAPP */

.btn-whatsapp{

    background:#25D366;

    color:white;

    text-decoration:none;

    padding:18px 30px;

    border-radius:12px;

    font-weight:700;

    transition:.3s;

}

.btn-whatsapp:hover{

    background:#1ebe5d;

    transform:translateY(-2px);

}


/* BOTON INSTAGRAM */

.btn-instagram{

    background:linear-gradient(
        45deg,
        #F58529,
        #DD2A7B,
        #8134AF,
        #515BD4
    );

    color:white;

    text-decoration:none;

    padding:18px 30px;

    border-radius:12px;

    font-weight:700;

    transition:.3s;

}

.btn-instagram:hover{

    transform:translateY(-2px);

    opacity:.9;

}



/* SECCIONES GENERALES */

.section{

    width:90%;

    max-width:1400px;

    margin:70px auto;

}

.section h2{

    font-size:48px;

    color:#0f2b73;

    margin-bottom:30px;

}


/* QUIENES SOMOS */

.section p{

    font-size:22px;

    line-height:1.8;

    color:#475569;

}



/* MISION Y VISION */

.mision-vision{

    width:90%;

    max-width:1400px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.card{

    background:white;

    border-radius:20px;

    padding:40px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

}

.card h2{

    color:#0f2b73;

    margin-bottom:20px;

}

.card p{

    font-size:20px;

}

/* PARTIDOS */

.partidos{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.partidos img{

    width:100%;

    border-radius:20px;

    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

/* FOOTER */

footer{

    background:#07142f;

    color:white;

    text-align:center;

    padding:60px;

    margin-top:100px;

}

footer h3{

    font-size:32px;

    margin-bottom:20px;

}

footer p{

    margin-bottom:15px;

}


/* RESPONSIVE */

@media(max-width:1200px){

    .header{

        flex-direction:column;

        gap:20px;

    }

    .hero{

        padding:50px;

    }

    .hero h2{

        font-size:52px;

    }

}

@media(max-width:768px){

    .logo-container{

        flex-direction:column;

        text-align:center;

    }

    .logo-container h1{

        font-size:30px;

    }

    .login-form{

        flex-direction:column;

        width:100%;

    }

    .login-form input{

        width:100%;

    }

    .hero{

        min-height:500px;

        padding:30px;

    }

    .hero h2{

        font-size:40px;

    }

    .hero p{

        font-size:20px;

    }

    .mision-vision{

        grid-template-columns:1fr;

    }

    .partidos{

        grid-template-columns:1fr;

    }

}


/*=========================
GALERIA SWIPER
==========================*/


/*=========================
GALERIA SWIPER
==========================*/

.galeriaSwiper {

    width: 100%;

    padding: 20px 60px 60px 60px;

}

/*
NO tocar display:flex
Swiper lo controla solo
*/

.galeriaSwiper .swiper-wrapper {

    align-items: stretch;

}

.galeriaSwiper .swiper-slide {

    border-radius: 20px;

    overflow: hidden;

    background: white;

    box-shadow: 0 5px 20px rgba(0,0,0,.15);

}

/*
Contenedor fijo para TODAS las fotos
*/

.galeria-img-container {

    width: 100%;

    height: 250px;

    overflow: hidden;

}

.galeria-img-container img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}




/*=========================
MODAL PREINSCRIPCION
==========================*/

.modal{

    display:none;

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:rgba(0,0,0,.7);

    z-index:9999;

    overflow:auto;

}

.modal-content{

    background:white;

    width:90%;

    max-width:700px;

    margin:60px auto;

    padding:40px;

    border-radius:20px;

    position:relative;

    box-shadow:0 20px 60px rgba(0,0,0,.3);

}

.close{

    position:absolute;

    right:25px;

    top:20px;

    font-size:32px;

    cursor:pointer;

    color:#666;

}

.modal-content h2{

    text-align:center;

    margin-bottom:30px;

    color:#0f2b73;

}

.modal-content form{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:15px;

}

.modal-content textarea{

    grid-column:1 / span 2;

    min-height:120px;

}

.modal-content button{

    grid-column:1 / span 2;

}

.modal-content input,
.modal-content textarea{

    width:100%;

    padding:14px;

    border:1px solid #d1d5db;

    border-radius:10px;

    font-size:15px;

}

@media(max-width:768px){

    .modal-content form{

        grid-template-columns:1fr;

    }

    .modal-content textarea,
    .modal-content button{

        grid-column:auto;

    }

}

.mensaje-exito{

    width:90%;

    max-width:700px;

    margin:30px auto;

    padding:20px;

    background:#dcfce7;

    color:#166534;

    border-radius:15px;

    text-align:center;

    font-size:18px;

    font-weight:700;

}


.mensaje-error{

    width:90%;

    max-width:700px;

    margin:30px auto;

    padding:20px;

    background:#fee2e2;

    color:#991b1b;

    border-radius:15px;

    text-align:center;

    font-size:18px;

    font-weight:700;

}

.mensaje-modal-exito{

    text-align:center;

    padding:40px;

}

.mensaje-modal-exito h3{

    color:#16a34a;

    margin-bottom:20px;

}

.mensaje-modal-exito p{

    margin-bottom:30px;

}


.mensaje-modal-error{

    text-align:center;

    padding:40px;

}

.mensaje-modal-error h3{

    color:#dc2626;

    margin-bottom:20px;

}

.mensaje-modal-error p{

    margin-bottom:30px;

}

button:disabled{

    cursor:not-allowed;

    opacity:.7;

}




/*=========================
PROXIMOS PARTIDOS
==========================*/

.partidos{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:30px;

}

.partido-card{

    background:white;

    
    box-shadow:0 8px 25px rgba(0,0,0,.12);

    transition:.30s;

}

.partido-card:hover{

    transform:translateY(-8px);

}



.partido-imagen{

    width:100%;

    max-height:420px;

    object-fit:contain;

    display:block;
    
    border-radius:0;
    
    

}


@media(max-width:768px){

.partido-imagen{

    max-height:260px;

}

}

@media(min-width:769px){

.partido-imagen{

    max-height:420px;

}

}



.partido-imagen-contenedor{

    display:flex;

    justify-content:center;

    align-items:center;

    padding:12px;

    background:#f8fafc;

    border-bottom:1px solid #e2e8f0;

}



.partido-info{

    padding:28px;

}

.partido-info p{

    margin-bottom:18px;

    font-size:18px;

}

.partido-info strong{

    color:#0f2b73;

}



.partido-info h3{

    color:#0f2b73;

    font-size:28px;

    margin-bottom:20px;

}

.partido-info p{

    margin-bottom:10px;

    color:#475569;

    line-height:1.6;

}


.opcion-confirmar{

    margin-top:10px;

    display:flex;

    align-items:center;

    gap:8px;

    color:#64748b;

    font-size:14px;

    cursor:pointer;

}

.opcion-confirmar input{

    width:18px;

    height:18px;

}

input:disabled{

    background:#f1f5f9;

    color:#94a3b8;

}




