/* Conteneurs principaux */
.site-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.section-padding {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
}

@media (min-width: 48rem) { /* Responsive: sopra i 768px */
    .section-padding {
        padding-top: var(--space-xxl);
        padding-bottom: var(--space-xxl);
    }
}

/* Grilles flexibles sans px */
.grid-autofit {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
    gap: var(--space-lg);
}

.divider-bottom {
    border-bottom: 0.0625rem solid var(--color-border);
}