/* Default spacing between sections. :where() adds no specificity, so the
   margin classes of spacing.css always win. */
:where(.c-section) {
	margin-top: var(--section-gap);
	margin-bottom: var(--section-gap);
}

/* Rhythm between the elements of a section or column. */
:where(.c-section__content > * + *) {
	margin-top: var(--space-4);
}

.c-section__content > * > :last-child {
	margin-bottom: 0;
}

:where(.c-section__content > .neos-nodetypes-headline + *) {
	margin-top: var(--space-3);
}

/* Running text inside a section keeps a readable line length; media and
   nested components use the full container width. */
.c-section p,
.c-section ul,
.c-section ol,
.c-section h1,
.c-section h2,
.c-section h3,
.c-section h4 {
	max-width: var(--measure);
}

.c-two-column {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
	align-items: stretch;

	/* Grid items may shrink below the width of their content */
	& > * {
		min-width: 0;
	}

	@media (min-width: 48em) {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-5);
	}
}
