.site,
.site-content {
    width: 100%;
}

/* GeneratePress container: defined in one place only. */
.container {
    width: min(calc(100% - 32px), var(--container-width));
    margin-inline: auto;
}

.full-width-content .container,
.page-template-full-width .container {
    max-width: 100%;
}

.sh-container {
    width: min(calc(100% - (var(--space-xl) * 2)), var(--container-width));
    margin-inline: auto;
}

.sh-section { padding-block: var(--space-2xl); }
.sh-section-sm { padding-block: var(--space-xl); }
.sh-section-lg { padding-block: 96px; }

.sh-grid-2,
.sh-grid-3,
.sh-grid-4 {
    display: grid;
    gap: var(--space-lg);
}

.sh-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sh-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sh-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 768px) {
    .sh-container { width: min(100% - 24px, var(--container-width)); }
    .sh-section { padding-block: 48px; }
    .sh-section-lg { padding-block: var(--space-2xl); }
    .sh-grid-2,
    .sh-grid-3,
    .sh-grid-4 { grid-template-columns: 1fr; }
}
