:root{

--aq-red:#d90404;
--aq-yellow:#ffc107;
--aq-dark:#111111;
--aq-black:#000000;
--aq-white:#ffffff;
--aq-gray:#cfcfcf;

}

/* =========================
   GENERAL
========================= */

html,
body{

background:#000;
color:#fff;
font-family:Arial, Helvetica, sans-serif;
overflow-x:hidden;

}

a,
a:link,
a:visited,
a:hover,
a:active{

text-decoration:none;
color:inherit;

}

.section{

padding:80px 0;

}

/* =========================
   NAVBAR
========================= */

.navbar{

background:#000 !important;
border-bottom:1px solid rgba(255,255,255,.08);
padding:12px 0;

}

.nav-link{

color:#ffffff !important;
font-weight:600;
margin-left:12px;

}

.nav-link:hover{

color:#ffc107 !important;

}

/* =========================
   HERO
========================= */

.hero{

background:

radial-gradient(
circle at top right,
rgba(217,4,4,.35),
transparent 40%
),

linear-gradient(
135deg,
#000,
#111,
#000
);

min-height:700px;

display:flex;
align-items:center;

}

.hero-logo{

max-height:320px;
width:auto;

}

.hero-title{

font-size:4rem;
font-weight:900;
line-height:1.1;
margin-top:20px;

}

.hero-sub{

font-size:1.2rem;
color:#cccccc;
line-height:1.8;
margin-top:20px;

}

/* =========================
   BOTONES
========================= */

.btn-aq{

background:#d90404;
color:#ffffff;
border:none;
font-weight:700;
padding:14px 30px;
border-radius:8px;

}

.btn-aq:hover{

background:#b10303;
color:#ffffff;

}

.btn-aq-outline{

background:transparent;
border:2px solid #ffc107;
color:#ffc107;
font-weight:700;
padding:14px 30px;
border-radius:8px;

}

.btn-aq-outline:hover{

background:#ffc107;
color:#000000;

}

/* =========================
   TARJETAS
========================= */

.card-aq{

background:#111111;
border:1px solid rgba(255,255,255,.08);
border-radius:15px;
padding:25px;
height:100%;
transition:.3s;

}

.card-aq:hover{

transform:translateY(-5px);
border-color:#ffc107;

}

/* =========================
   ESTADISTICAS
========================= */

.stat-number{

font-size:3rem;
font-weight:900;
color:#ffc107;
line-height:1;
margin-bottom:10px;

}

/* =========================
   TITULOS
========================= */

.section-title{

font-size:2.5rem;
font-weight:800;
margin-bottom:40px;
text-align:center;

}

/* =========================
   ACCESOS PRINCIPALES
========================= */

.card-link,
.card-link:link,
.card-link:visited,
.card-link:hover,
.card-link:active{

display:block;
text-decoration:none !important;
color:#ffffff !important;

}

.card-link h5{

color:#ffffff !important;
font-weight:700;
margin-top:15px;

}

.card-link:hover h5{

color:#ffc107 !important;

}

.card-link:hover .card-aq{

border-color:#ffc107;

}

.modulo-icon{

font-size:3rem;
margin-bottom:10px;

}

/* =========================
   FOOTER
========================= */

.footer{

background:#050505;
padding:60px 0;
border-top:1px solid rgba(255,255,255,.08);

}

.footer h4{

font-weight:800;

}

.footer p{

color:#aaaaaa;

}

.footer a{
    transition:.25s;
}

.footer a:hover{
    color:#00ff88 !important;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){

.hero{

text-align:center;
padding-top:80px;

}

.hero-title{

font-size:2.8rem;

}

.hero-logo{

max-height:220px;

}

}

@media(max-width:576px){

.hero-title{

font-size:2.2rem;

}

.hero-sub{

font-size:1rem;

}

.hero-logo{

max-height:180px;

}

}

/* =========================
   PROGRAMA OFICIAL
========================= */

.program-card{

background:#111;
border:1px solid rgba(255,255,255,.08);
border-radius:15px;
padding:20px;
margin-bottom:15px;
transition:.3s;

}

.program-card:hover{

transform:translateY(-3px);
border-color:#ffc107;

}

.program-hora{

font-size:1.4rem;
font-weight:800;
color:#ffc107;

}

.program-titulo{

font-size:1.1rem;
font-weight:700;
color:#fff;

}

.program-detalle{

color:#ccc;
font-size:.95rem;

}

.program-fecha{

font-size:1.5rem;
font-weight:800;
color:#ffc107;
margin:40px 0 20px;

}

.tech-border{
border-left:5px solid #0dcaf0;
}

.comp-border{
border-left:5px solid #00ff88;
}

.esc-border{
border-left:5px solid #ffc107;
}

.filter-bar{

text-align:center;
margin-bottom:30px;

}

.filter-bar .btn{

margin:5px;

}

/* =========================
   ENLACES LEGALES FOOTER
========================= */

.footer .legal-links{

margin-bottom:20px;
line-height:2;

}

.footer .legal-links a{

color:#cccccc !important;
font-size:.95rem;

}

.footer .legal-links a:hover{

color:#00ff88 !important;

}

@media(max-width:768px){

.footer .legal-links{

display:flex;
flex-direction:column;
gap:8px;

}

.footer .legal-links span{

display:none;

}

}