/* =====================================
RESET BÁSICO
===================================== */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background:#f8f9fb;
color:#333;
line-height:1.6;
}

/* =====================================
HERO SECTION
===================================== */

.hero{
position:relative;
min-height:220px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
padding:40px 20px;
}

/* =====================================
NAVBAR HERO
===================================== */

.navbar{
position:absolute;
top:0;
left:0;
width:100%;
z-index:5;
padding:15px 25px;
}

.navbar-container{
max-width:1100px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
height:40px;
width:auto;
border-radius:8px;

}

/* BOTON LOGIN */

.btn-acceder{
background:rgba(255,255,255,0.95);
color:#333;
padding:8px 18px;
border-radius:25px;
text-decoration:none;
font-weight:600;
font-size:0.85rem;
transition:all 0.25s ease;
backdrop-filter:blur(6px);
box-shadow:0 4px 10px rgba(0,0,0,0.15);
}

.btn-acceder:hover{
background:white;
transform:translateY(-2px);
box-shadow:0 6px 14px rgba(0,0,0,0.2);
}

/* IMAGEN HERO */

.hero-img{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
z-index:1;
}

/* OVERLAY OSCURO + GRADIENTE */

.hero::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(
rgba(0,0,0,0.65),
rgba(0,0,0,0.45),
rgba(0,0,0,0.65)
);
z-index:2;
}

/* CONTENIDO HERO */

.hero-overlay{
position:relative;
z-index:3;
max-width:850px;
color:white;
padding:10px;
margin:auto;
}

.hero-title{
font-size:2rem;
font-weight:700;
margin-bottom:10px;
line-height:1.3;
}

.hero-subtitle{
font-size:1.05rem;
margin-bottom:16px;
}

.hero-btn{
display:inline-block;
background:#ff6b00;
color:white;
padding:10px 24px;
border-radius:30px;
text-decoration:none;
font-weight:600;
font-size:0.95rem;
transition:0.3s ease;
}

.hero-btn:hover{
background:#e85d00;
transform:translateY(-2px);
}

/* =====================================
TRUCO DE CONVERSIÓN (confianza)
===================================== */

.hero-trust{
margin-top:14px;
font-size:0.85rem;
color:#f1f1f1;
opacity:0.9;
}

/* =====================================
PROMO CARD
===================================== */

.promo-card-section{
padding:35px 20px 15px 20px;
display:flex;
justify-content:center;
}

.promo-card-container{
max-width:1000px;
width:100%;
display:flex;
justify-content:center;
}

.promo-card-img{
width:100%;
max-width:720px;
height:auto;
display:block;
margin:auto;
object-fit:contain;
border-radius:16px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
transition:0.3s ease;
}

.promo-card-img:hover{
transform:translateY(-4px);
}

/* =====================================
INTRO SECTION
===================================== */

.intro-section{
max-width:820px;
margin:40px auto;
padding:0 20px;
text-align:center;
}

.intro-section h2{
font-size:1.7rem;
margin-bottom:18px;
}

.intro-section p{
margin-bottom:14px;
color:#555;
}

.disclaimer{
font-size:0.85rem;
color:#888;
}

/* =====================================
CURSOS
===================================== */

.contenedor-cursos{
display:flex;
justify-content:center;
padding:10px 20px 60px 20px;
}

.curso-box{
background:white;
max-width:340px;
width:100%;
border-radius:16px;
padding:18px;
box-shadow:0 8px 22px rgba(0,0,0,0.07);
text-align:center;
transition:0.25s ease;
}

.curso-box:hover{
transform:translateY(-5px);
}

.curso-img{
width:100%;
max-height:220px;
object-fit:contain;
border-radius:10px;
margin-bottom:12px;
}

.curso-nombre{
font-size:1.1rem;
margin-bottom:10px;
}

.promedio-estrellas{
font-size:0.9rem;
color:gold;
margin-bottom:6px;
}

.promedio-estrellas small{
display:block;
font-size:0.75rem;
color:#666;
margin-top:3px;
}

.precio{
font-size:1.15rem;
font-weight:700;
margin:10px 0;
}

.curso-botones{
display:flex;
flex-direction:column;
gap:8px;
}

.btn-principal{
background:#ff6b00;
color:white;
padding:9px;
border-radius:30px;
text-decoration:none;
font-weight:600;
font-size:0.9rem;
transition:0.3s ease;
}

.btn-principal:hover{
background:#e85d00;
}

.btn-secundario{
background:#f1f1f1;
color:#333;
padding:8px;
border-radius:30px;
text-decoration:none;
font-weight:500;
font-size:0.85rem;
transition:0.3s ease;
}

.btn-secundario:hover{
background:#e0e0e0;
}

/* =====================================
NO GUIDES
===================================== */

.no-guides-section{
text-align:center;
padding:50px 20px;
font-size:1.1rem;
color:#777;
}

/* =====================================
FOOTER
===================================== */

.main-footer{
position:relative;
background:url("../img/footer-bg.b5074e1c3969.webp") center/cover no-repeat;
color:white;
padding:60px 20px;
overflow:hidden;
}

.main-footer::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.75);
z-index:1;
}

.footer-container{
position:relative;
z-index:2;
max-width:1100px;
margin:auto;
text-align:center;
}

.footer-logo img{
width:110px;
margin-bottom:18px;
border-radius:8px;
}

.footer-links{
margin-bottom:15px;
}

.footer-links a{
color:#ddd;
margin:0 10px;
text-decoration:none;
font-size:0.9rem;
transition:0.2s;
}

.footer-links a:hover{
color:white;
}

.footer-copy{
font-size:0.8rem;
color:#bbb;
}

/* =====================================
RESPONSIVE
===================================== */

@media (max-width:992px){

.hero{
min-height:300px;
}

.hero-title{
font-size:1.7rem;
}

.promo-card-img{
max-width:620px;
}

}

@media (max-width:768px){

.hero{
min-height:280px;
padding:35px 15px;
}

.hero-title{
font-size:1.45rem;
}

.hero-subtitle{
font-size:0.9rem;
}

.hero-btn{
padding:8px 18px;
font-size:0.85rem;
}

.logo{
height:34px;
}

.btn-acceder{
font-size:0.8rem;
padding:7px 14px;
}

.promo-card-section{
padding:25px 15px 10px 15px;
}

.curso-box{
max-width:300px;
}

.curso-img{
max-height:140px;
}

}

@media (max-width:480px){

.hero{
min-height:260px;
}

.hero-title{
font-size:1.25rem;
}

.hero-subtitle{
font-size:0.85rem;
}

.hero-btn{
font-size:0.8rem;
}

.curso-box{
max-width:280px;
}

}