/* ==========================
   CONTROLNUM
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,Helvetica,sans-serif;
}

body{
background:#0f172a;
color:#fff;
line-height:1.6;
}

.container{
width:92%;
max-width:1100px;
margin:auto;
}

/* ===== HEADER ===== */

header{
background:#172036;
padding:18px 0;
box-shadow:0 2px 10px rgba(0,0,0,.25);
}

.logo{
display:flex;
align-items:center;
gap:16px;
}

.enlace-logo{
color:inherit;
text-decoration:none;
}

.logo-img {
    width: 105px;
    height: 105px;
    object-fit: contain;
    display: block;
    flex-shrink: 0;
}

.logo h1{
font-size:2rem;
}

.logo p{
font-size:1rem;
color:#d0d0d0;
}

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

.hero{
padding:40px 0;
text-align:center;
}

.hero .container{
background:#1f2937;
padding:35px 25px;
border-radius:20px;
}

.hero h2{
font-size:2rem;
color:#63a4ff;
margin-bottom:15px;
line-height:1.3;
}

.hero p{
font-size:1.15rem;
color:#ddd;
line-height:1.8;
margin-bottom:25px;
}

.search-box{
display:flex;
flex-direction:column;
gap:16px;
max-width:500px;
margin:auto;
}

.search-box input,
.search-box select{
width:100%;
padding:16px;
font-size:1.15rem;
border:none;
border-radius:14px;
outline:none;
}

.search-box button{
width:100%;
padding:16px;
font-size:1.2rem;
background:#3366ff;
color:#fff;
border:none;
border-radius:14px;
cursor:pointer;
transition:.3s;
}

.search-box button:hover{
background:#2952cc;
}

.resultados-busqueda{
max-width:500px;
margin:16px auto 0;
text-align:left;
}

.resultado-busqueda{
display:block;
padding:13px 16px;
margin-top:8px;
background:#172036;
border-radius:10px;
color:#fff;
text-decoration:none;
}

.resultado-busqueda:hover{ background:#263445; }
.resultado-busqueda small{ display:block; color:#cbd5e1; }

#resultado{
margin-top:15px;
font-size:2.2rem;
font-weight:bold;
color:#22c55e;
}

/* ===== SECCIONES ===== */

section{
padding:45px 0;
}

section h2{
font-size:2rem;
text-align:center;
margin-bottom:18px;
}

section p{
max-width:700px;
margin:auto;
font-size:1.1rem;
text-align:center;
line-height:1.8;
color:#ddd;
}

/* ===== TARJETAS DE CATEGORÍAS ===== */

.cards a.card{
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
}

.cards{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-top:30px;
}

.card{
background:#1f2937;
border-radius:18px;
padding:25px;
text-align:center;
box-shadow:0 5px 15px rgba(0,0,0,.25);
transition:.3s;
}

.card:hover{
transform:translateY(-5px);
background:#263445;
}

.card span{
display:block;
font-size:2rem;
margin-bottom:10px;
}

.card h3{
font-size:1.7rem;
margin-bottom:10px;
color:#fff;
}

.card p{
font-size:1rem;
color:#d0d0d0;
line-height:1.6;
}
/* ========================= */
/* FOOTER */
/* ========================= */

footer{
    background:#1b2238;
    padding:30px 20px;
    margin-top:70px;
    text-align:center;
    border-top:1px solid rgba(255,255,255,.08);
}

footer p{
    margin:6px 0;
    color:#bfc7d5;
    font-size:15px;
}

footer strong{
    color:#ffffff;
}

.footer-text{
    font-size:13px;
    color:#8d98b3;
}

.footer-links{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:10px 18px;
margin-top:16px;
}

.footer-links a{ color:#b9d4ff; font-size:14px; }

.pagina-contenido{ max-width:850px; }
.pagina-contenido h2{ text-align:left; color:#63a4ff; margin-top:30px; }
.pagina-contenido p, .pagina-contenido li{ text-align:left; max-width:none; }
.pagina-contenido ul{ padding-left:25px; color:#ddd; }
.aviso-contacto{ background:#263445; border-radius:12px; padding:18px; margin-top:24px; }
