/* Small, reusable layout primitives for theme-owned compositions. */

.wp-site-blocks {
	display: flex;
	min-block-size: calc(
		100vh - var(--wp-admin--admin-bar--height, 0px)
	);
	min-block-size: calc(
		100dvh - var(--wp-admin--admin-bar--height, 0px)
	);
	flex-direction: column;
}

.wp-site-blocks > .gwb-main {
	flex: 1 0 auto;
}

.gwb-content,
.gwb-wide {
	width: min(100%, var(--content-narrow-width));
	margin-inline: auto;
}

.gwb-wide {
	width: min(100%, var(--content-width));
}

.gwb-section {
	padding-block: var(--section-spacing);
}

.gwb-stack {
	display: flex;
	flex-direction: column;
	gap: var(--gwb-stack-space, var(--space-5));
}

.gwb-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gwb-cluster-space, var(--space-4));
	align-items: center;
}

.gwb-grid {
	display: grid;
	grid-template-columns: repeat(
		auto-fit,
		minmax(min(100%, var(--gwb-grid-min, 18rem)), 1fr)
	);
	gap: var(--gwb-grid-space, var(--space-6));
}

.gwb-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gwb-split-space, var(--space-7));
	align-items: center;
}

.gwb-main {
	padding-block: var(--space-7) var(--space-8);
}

.wp-site-blocks > .gwb-front-page-main,
.gwb-front-page-main {
	margin-block-start: 0;
	padding-block: 0;
}

.gwb-front-page-main > .wp-block-post-content {
	margin-block-start: 0;
}

.wp-site-blocks > .gwb-front-page-main + footer {
	margin-block-start: 0;
}

@media (max-width: 48rem) {
	.gwb-split {
		grid-template-columns: 1fr;
	}
}
