/* =========================
   CONTAINERS
   ========================= */

/* Contenedor principal: limita ancho a 1200px y centra el contenido */
.l-container{
    max-width:var(--container-wide);
    margin-left:auto;
    margin-right:auto;
    padding-left:var(--container-padding);
    padding-right:var(--container-padding);
    width:100%;
}

/* Variante para contenido de lectura (artículos) más estrecho */
.l-container--narrow{
    max-width:var(--container-width);
}


/* =========================
   SECTIONS (vertical rhythm)
   ========================= */

/* Espaciado vertical entre bloques del layout */
.l-section{
    margin-top:var(--section-spacing);
    margin-bottom:var(--section-spacing);
}


/* =========================
   GRID BASE
   ========================= */

/* Grid base con gap consistente */
.l-grid{
    display:grid;
    gap:var(--space-md);
}


/* =========================
   GRID PRESETS (mobile-first)
   ========================= */

/* En mobile: todo es 1 columna */
.l-grid--2,
.l-grid--3,
.l-grid--4{
    grid-template-columns:1fr;
}

/* A partir de tablet: activamos columnas */
@media (min-width:768px){

    .l-grid--2{
        grid-template-columns:repeat(2,1fr);
    }

    .l-grid--3{
        grid-template-columns:repeat(3,1fr);
    }

    .l-grid--4{
        grid-template-columns:repeat(4,1fr);
    }

}


/* =========================
   GRID COLUMN SPANS
   ========================= */

/* En mobile: todos los elementos ocupan ancho completo */
.l-col-3,
.l-col-4,
.l-col-6{
    grid-column:span 12;
}

/* En tablet+: se respetan proporciones del grid */
@media (min-width:768px){

    .l-col-6{
        grid-column:span 6;
    }

    .l-col-4{
        grid-column:span 4;
    }

    .l-col-3{
        grid-column:span 3;
    }

}


/* =========================
   STACK (vertical spacing automático)
   ========================= */

/* Aplica separación vertical uniforme entre hijos */
.l-stack > * + *{
    margin-top:var(--space-md);
}


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

/* Aumenta padding del container en pantallas más grandes */
@media (min-width:768px){

    .l-container{
        padding-left:var(--space-md);
        padding-right:var(--space-md);
    }

}