/* =========================
RESET
========================= */

*{
box-sizing:border-box;
}

body{
margin:0;
padding-top:80px;
font-family:'Montserrat',Arial,sans-serif;
color:#222;
background:#fff;
font-size:19px;
line-height:1.8;
}


/* =========================
AVISO CLUB
========================= */

.aviso-club{
width:100%;
background:#f57c00;
color:#000;
text-align:center;
padding:10px 20px;
font-weight:700;
font-size:0.95rem;
}


/* =========================
HEADER
========================= */

.header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
background:#fff;
border-bottom:1px solid #eaeaea;
box-shadow:0 4px 12px rgba(0,0,0,0.1);
}

.header-contenido{
max-width:1200px;
margin:auto;
padding:14px 22px;
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
display:flex;
align-items:center;
gap:14px;
font-weight:700;
font-size:1.1rem;
margin-right:30px;
}

.logo img{
width:44px;
}

.menu{
display:flex;
gap:26px;
align-items:center;
}

.menu a{
text-decoration:none;
color:#222;
font-weight:700;
font-size:0.95rem;
text-transform:uppercase;
}

.menu a:hover{
color:#f57c00;
}

.btn-menu{
background:#f57c00;
color:#000;
padding:12px 20px;
border-radius:30px;
font-weight:800;
font-size:0.85rem;
text-decoration:none;
}

.desactivado{
opacity:0.5;
pointer-events:none;
}


/* =========================
HERO
========================= */

.hero{
position:relative;
min-height:85vh;
background-image:url("../img/fondo.jpg");
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,0.5);
}

.hero .contenido{
position:relative;
text-align:center;
color:#fff;
padding:20px;
max-width:800px;
}

.escudo-grande{
width:180px;
margin-bottom:25px;
}

.hero h1{
font-size:3.2rem;
margin-bottom:15px;
}

.subtitulo{
font-size:1.35rem;
opacity:0.95;
}


/* =========================
BOTONES HERO
========================= */

.botones-hero{
margin-top:35px;
display:flex;
gap:18px;
justify-content:center;
flex-wrap:wrap;
}

.btn{
padding:16px 30px;
border-radius:8px;
text-decoration:none;
font-weight:800;
font-size:1rem;
}

.btn.principal{
background:#f57c00;
color:#000;
}

.btn.secundario{
background:transparent;
border:2px solid #fff;
color:#fff;
}


/* =========================
REDES HERO
========================= */

.redes-hero{
display:flex;
justify-content:center;
gap:20px;
margin-top:25px;
}

.redes-hero a{
width:60px;
height:60px;
background:#f57c00;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
transition:all .3s ease;
}

.redes-hero a svg{
width:28px;
height:28px;
color:#fff;
}

.redes-hero a:hover{
background:#ffffff;
transform:translateY(-4px);
}

.redes-hero a:hover svg{
color:#000;
}


/* =========================
CONTENIDO
========================= */

.contenido-mejorado{
max-width:950px;
margin:60px auto;
padding:0 22px;
}

.bloque-texto{
background:#fff;
padding:40px;
border-radius:10px;
margin-bottom:40px;
box-shadow:0 12px 30px rgba(0,0,0,0.07);
}

.bloque-texto h2{
font-size:2.4rem;
margin-bottom:20px;
}

.bloque-texto p{
font-size:1.15rem;
margin-bottom:18px;
}


/* =========================
FOOTER
========================= */

.footer{
background:#111;
color:#eee;
padding:50px 20px 25px;
}

.footer-contenido{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:40px;
}

.footer-logo{
width:70px;
}

.footer-titulo{
font-weight:800;
margin-bottom:12px;
}

.footer-texto,
.footer a{
color:#ccc;
font-size:1rem;
text-decoration:none;
}

.footer-copy{
text-align:center;
margin-top:35px;
font-size:0.9rem;
color:#aaa;
}


/* =========================
MENU MOVIL
========================= */

.menu-toggle{
display:none;
font-size:2.2rem;
background:none;
border:none;
cursor:pointer;
margin-left:auto;
}

@media (max-width:768px){

.menu-toggle{
display:block;
}

.header-contenido{
flex-direction:row;
flex-wrap:wrap;
}

.menu{
width:100%;
display:none;
flex-direction:column;
align-items:center;
background:#fff;
padding:15px 0;
margin-top:10px;
border-top:1px solid #eaeaea;
max-height:75vh;
overflow-y:auto;
}

.menu a{
font-size:1.05rem;
padding:12px 0;
width:100%;
text-align:center;
}

.menu .btn-menu{
margin-top:10px;
}

.menu.activo{
display:flex;
}

body{
padding-top:90px;
}

.hero{
min-height:65vh;
}

.hero h1{
font-size:1.9rem;
}

.subtitulo{
font-size:1rem;
}

.botones-hero .btn{
width:100%;
max-width:260px;
}

.redes-hero a{
width:52px;
height:52px;
}

.redes-hero svg{
width:26px;
height:26px;
}

}
