body{
margin:0;
padding:0;
background:#f5f5f5;
font-family:Arial,sans-serif;
}

.logo-area{
background:white;
padding:20px 0;
}

.logo-img{
max-height:120px;
}

.main-menu{
background:var(--color-principal);
backdrop-filter:blur(10px);
position:sticky;
top:0;
z-index:9999;
box-shadow:0 5px 20px rgba(0,0,0,.25);
transition:.3s;
}

.main-menu .nav-link{
color:white !important;
font-size:20px;
font-weight:600;
padding:20px;
transition:.3s;
}

.main-menu .nav-link:hover{
background:#ff9900;
border-radius:8px;
}

.admin-btn{
background:#ff9900;
color:white !important;
border-radius:8px;
padding:12px 22px !important;
margin-left:10px;
font-weight:bold;
}

.admin-btn:hover{
background:#ff7700 !important;
}

.hero{
height:700px;
background:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.35)),
url('../img/banner-principal2.webp');
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
display:flex;
align-items:center;
color:white;
}

.hero h1{
font-size:75px;
font-weight:bold;
line-height:1.1;
}

.hero p{
font-size:28px;
margin-top:20px;
}

.btn-custom{
padding:18px 35px;
font-size:22px;
border-radius:10px;
font-weight:bold;
}

.feature-card{
background:white;
border-radius:15px;
padding:35px;
box-shadow:0 5px 20px rgba(0,0,0,.1);
height:100%;
transition:.3s;
}

.feature-card:hover{
transform:translateY(-10px);
}

.feature-icon{
width:90px;
height:90px;
background:var(--color-principal);
color:white;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:40px;
margin-bottom:20px;
}

.section-title{
font-size:45px;
font-weight:bold;
color:var(--color-principal);
margin-bottom:40px;
}

.news-card img{
height:240px;
object-fit:cover;
}

.whatsapp-float{
position:fixed;
bottom:20px;
right:20px;
background:#25d366;
width:70px;
height:70px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:35px;
color:white;
text-decoration:none;
z-index:999;
box-shadow:0 5px 20px rgba(0,0,0,.3);
}

footer{
background:var(--color-principal);
color:white;
text-align:center;
padding:30px;
margin-top:50px;
}

/* ==========================
OFERTA ACADÉMICA
========================== */

.oferta-card{
border:none;
border-radius:15px;
overflow:hidden;
transition:.3s;
height:auto;
background:#fff;
}

.oferta-card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.oferta-img{
width:100%;
max-height:450px;
object-fit:contain;
background:#f8f9fa;
padding:10px;
display:block;
}

.oferta-body{
padding:25px;
min-height:220px;
}

.oferta-body h3{
color:var(--color-principal);
font-weight:bold;
margin-bottom:15px;
text-align:center;
}

.oferta-body p{
text-align:justify;
line-height:1.8;
}

/* ==========================
BANNERS INTERNOS
========================== */

.banner-interno{
height:700px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;
margin-bottom:40px;
}

.banner-interno h1{
font-size:55px;
font-weight:bold;
text-shadow:0 2px 10px rgba(0,0,0,.6);
}

.banner-interno p{
font-size:20px;
margin-top:10px;
text-shadow:0 2px 10px rgba(0,0,0,.6);
}

.banner-nosotros,
.banner-oferta,
.banner-noticias,
.banner-galeria,
.banner-contacto{
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
}

/* NOSOTROS */

.banner-nosotros{
background-image:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
url('../img/banner-nosotros2.webp');
}

/* OFERTA */

.banner-oferta{
background-image:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
url('../img/banner-oferta1.webp');
}

/* NOTICIAS */

.banner-noticias{
background-image:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
url('../img/banner-noticias1.webp');
}

/* GALERÍA */

.banner-galeria{
background-image:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
url('../img/banner-galeria1.webp');
}

/* CONTACTO */

.banner-contacto{
background-image:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
url('../img/banner-contacto1.webp');
}

/* ==========================
RESPONSIVE
========================== */

@media(max-width:768px){

.hero{
height:550px;
padding:30px;
}

.hero h1{
font-size:45px;
}

.hero p{
font-size:20px;
}

.main-menu .nav-link{
font-size:17px;
padding:12px;
}

.logo-img{
max-height:80px;
}

.oferta-img{
max-height:300px;
}

.banner-interno{
height:220px;
padding:20px;
}

.banner-interno h1{
font-size:35px;
}

.banner-interno p{
font-size:16px;
}

}
/* GALERIA */


.galeria-card{
border:none;
overflow:hidden;
border-radius:15px;
transition:.3s;
height:100%;
}

.galeria-card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,.20);
}

.galeria-img{
width:100%;
height:280px;
object-fit:cover;
transition:.4s;
cursor:pointer;
display:block;
}

.galeria-img:hover{
transform:scale(1.05);
}

/* MOVILES */

@media(max-width:768px){

.galeria-img{
height:180px;
}

.galeria-card{
margin-bottom:15px;
}

.card-body{
padding:12px;
}

.card-body h5{
font-size:15px;
margin-bottom:0;
}

}