/* Block-built page content (default page template). */

.page-content__body {
	box-sizing: border-box;
	width: 100%;
}

.page-content__body > *:first-child {
	margin-top: 0;
}

.page-content__body > *:last-child {
	margin-bottom: 0;
}

/* Full-width blocks break out of .usl-container (patterns, alignfull groups). */
.page-content__body.usl-container > .alignfull {
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Full-width section groups get vertical rhythm matching template sections. */
.page-content__body > .wp-block-group.alignfull {
	padding-top: var(--wp--preset--spacing--section-y, 2rem);
	padding-bottom: var(--wp--preset--spacing--section-y, 2rem);
}

@media screen and (min-width: 1024px) {
	.page-content__body > .wp-block-group.alignfull {
		padding-top: var(--usl-section-y, 3.75rem);
		padding-bottom: var(--usl-section-y, 3.75rem);
	}
}

/* USL Container block style — mirrors .usl-container from global.css */
.wp-block-group.is-style-usl-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

@media only screen and (min-width: 480px) and (max-width: 690px) {
	.wp-block-group.is-style-usl-container {
		max-width: 420px;
	}
}

@media only screen and (min-width: 690px) and (max-width: 999px) {
	.wp-block-group.is-style-usl-container {
		max-width: 600px;
	}
}

@media only screen and (min-width: 1000px) {
	.wp-block-group.is-style-usl-container {
		max-width: 1425px;
		padding-left: 100px;
		padding-right: 100px;
	}
}

/* Headings on dark backgrounds */
.page-content__body .has-text-on-dark-color h1,
.page-content__body .has-text-on-dark-color h2,
.page-content__body .has-text-on-dark-color h3,
.page-content__body .has-text-on-dark-color h4,
.page-content__body .has-text-on-dark-color h5,
.page-content__body .has-text-on-dark-color h6,
.page-content__body .has-text-on-dark-color .wp-block-heading {
	color: var(--wp--preset--color--text-on-dark, #ffffff);
}

.page-content__body .has-accent-background-color h1,
.page-content__body .has-accent-background-color h2,
.page-content__body .has-accent-background-color h3,
.page-content__body .has-accent-background-color .wp-block-heading:not(.has-text-color) {
	color: var(--wp--preset--color--text-on-dark, #ffffff);
}

/* Paragraphs inside dark sections */
.page-content__body .has-text-on-dark-color p,
.page-content__body .has-text-on-dark-color .wp-block-paragraph {
	color: var(--wp--preset--color--text-on-dark, #ffffff);
}

/* Inline links on dark block sections (mirrors global.css dark-surface rules). */
.page-content__body .has-text-on-dark-color a:not(.usl-button):not(.wp-block-button__link),
.page-content__body .has-accent-background-color a:not(.usl-button):not(.wp-block-button__link) {
	color: var(--wp--preset--color--text-on-dark, #ffffff);
	text-decoration: underline;
}

.page-content__body .has-text-on-dark-color a:not(.usl-button):not(.wp-block-button__link):hover,
.page-content__body .has-text-on-dark-color a:not(.usl-button):not(.wp-block-button__link):focus-visible,
.page-content__body .has-accent-background-color a:not(.usl-button):not(.wp-block-button__link):hover,
.page-content__body .has-accent-background-color a:not(.usl-button):not(.wp-block-button__link):focus-visible {
	color: var(--wp--preset--color--text-on-dark, #ffffff);
	text-decoration: underline;
}

/* Button block style variations */
.wp-block-button.is-style-usl-accent .wp-block-button__link {
	background-color: var(--wp--preset--color--accent, #203a6f);
	color: #ffffff;
}

.wp-block-button.is-style-usl-small .wp-block-button__link {
	--usl-button-padding-y: 7px;
	--usl-button-padding-x: 25px;
	--usl-button-font-size: 26px;
	--usl-button-optical-y: 1.5px;
}

.wp-block-button.is-style-usl-large .wp-block-button__link {
	--usl-button-padding-x: 50px;
}

/* Columns: stack-friendly gap */
.page-content__body .wp-block-columns {
	margin-bottom: 0;
}

.page-content__body .wp-block-column > *:first-child {
	margin-top: 0;
}

.page-content__body .wp-block-column > *:last-child {
	margin-bottom: 0;
}

/* Images */
.page-content__body .wp-block-image img {
	height: auto;
	max-width: 100%;
}

.page-content__body .wp-block-image.alignwide,
.page-content__body .wp-block-image.alignfull {
	width: 100%;
}

/* Lists */
.page-content__body .wp-block-list {
	padding-left: 1.25em;
}

/* Separator */
.page-content__body .wp-block-separator {
	border-color: var(--wp--preset--color--background-gray, #f2f2f2);
}
