/* =============================================================
   LAYOUT — Container, Grid, Site structure
   ============================================================= */

/* ── Container ──────────────────────────────────────────────── */
.container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad);
}

.container--narrow {
    max-width: var(--container-narrow);
}

/* ── Site structure ─────────────────────────────────────────── */
.site-main {
    flex: 1;
    padding-block: var(--space-12);
}

/* nella pagina singola il padding-top è zero:
   ci pensa il post-hero ad occupare lo spazio.
   WP aggiunge automaticamente la classe .single al body */
body.single .site-main {
    padding-top: 0;
}

/* ── Post grid ──────────────────────────────────────────────── */
.post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    gap: var(--space-8);
}

/* ── Header ─────────────────────────────────────────────────── */
.site-header {
    border-bottom: 1px solid var(--color-border);
    padding-block: var(--space-4);
    position: sticky;
    top: 0;
    background: var(--color-bg);
    z-index: 100;
}

.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
}

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer {
    border-top: 1px solid var(--color-border);
    padding-block: var(--space-8);
    font-size: var(--text-sm);
    color: var(--color-muted);
}

/* ── Archive header ─────────────────────────────────────────── */
.archive-header {
    margin-bottom: var(--space-8);
}

.archive-title {
    font-size: var(--text-3xl);
}

.archive-description {
    margin-top: var(--space-2);
    color: var(--color-muted);
}
