/* Page content uses the same 1200px column as the header, navigation and footer. */
.page-body,
.page-body-end {
	box-sizing: content-box;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto !important;
	padding-inline: var(--wp--style--root--padding-left);
}
.page-body-end { padding-bottom: var(--wp--preset--spacing--50); }

/* Keep running text at a comfortable reading length; tables, documents,
   galleries and cards still use the full width. */
.page-body > p,
.page-body > ul,
.page-body > ol,
.page-body > blockquote {
	max-width: 80ch;
}

/* Columns inside pages: a bit more breathing room at full width. */
.page-body > .wp-block-columns { gap: clamp(1.5rem, 3vw, 3rem); }

/* Homepage quick-link cards: exactly as many columns as cards, spanning the full width. */
.home-body .quick-links.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 960px) { .home-body .quick-links.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) { .home-body .quick-links.is-layout-grid { grid-template-columns: 1fr !important; } }

/* Same idea for the other card/stat rows. */
.stats.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 960px) { .stats.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.link-cards.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 960px) { .link-cards.is-layout-grid { grid-template-columns: 1fr !important; } }
