/* =====================
RESET BÁSICO
===================== */
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}

/* =====================
VARIABLES (COLORES)
===================== */
:root {
--color-primario: #0f172a;
--color-secundario: #22c55e;
--color-acento: #38bdf8;
--color-fondo: #f8fafc;
--color-texto: #111827;
}

/* =====================
BODY
===================== */
body {
font-family: 'Montserrat', sans-serif;
background: var(--color-fondo);
color: var(--color-texto);
line-height: 1.6;
}

/* =====================
NAVBAR
===================== */
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 2rem;
background: white;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.navbar img {
height: 50px;
}

.nav-list {
display: flex;
list-style: none;
gap: 1.5rem;
}

.nav-list a {
text-decoration: none;
color: var(--color-texto);
font-weight: 500;
transition: 0.3s;
}

.nav-list a:hover {
color: var(--color-acento);
}

/* =====================
HERO
===================== */
.hero {
height: 80vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: white;
text-align: center;
background: url("assets/Logo.png") center/cover no-repeat;
position: relative;
padding: 2rem;
}

.hero::before {
content: "";
position: absolute;
inset: 0;
background: rgba(0,0,0,0.6);
}

.hero * {
position: relative;
z-index: 1;
}

.hero h1 {
font-size: 3rem;
margin-bottom: 1rem;
}

.hero p {
font-size: 1.2rem;
}

/* =====================
SECCIONES
===================== */
section {
padding: 4rem 2rem;
max-width: 1200px;
margin: 0 auto;
}

h1, h2 {
margin-bottom: 1.5rem;
text-align: center;
}

/* =====================
ACTIVIDADES GRID
===================== */
#lista-actividades {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}

/* =====================
TARJETAS
===================== */
.actividad {
background: white;
padding: 1.5rem;
border-radius: 12px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
transition: all 0.3s ease;
}

.actividad:hover {
transform: translateY(-8px);
box-shadow: 0 15px 30px rgba(0,0,0,0.2);
}

/* =====================
FORMULARIO
===================== */
form {
max-width: 500px;
margin: 0 auto;
}

fieldset {
border: none;
display: flex;
flex-direction: column;
gap: 1rem;
}

input, textarea {
padding: 0.8rem;
border-radius: 8px;
border: 1px solid #ccc;
}

/* =====================
BOTÓN
===================== */
.button-primary {
background: var(--color-secundario);
color: white;
padding: 0.8rem;
border-radius: 8px;
border: none;
cursor: pointer;
transition: 0.3s;
}

.button-primary:hover {
background: var(--color-acento);
}

/* =====================
FOOTER
===================== */
.footer-site {
text-align: center;
padding: 2rem;
background: var(--color-primario);
color: white;
margin-top: 2rem;
}

/* =====================
RESPONSIVE
===================== */
@media (max-width: 768px) {
.hero h1 {
font-size: 2rem;
}

.nav-list {
flex-direction: column;
align-items: center;
}
}
