.fcz-report__content {
	margin-block-start: max(1.5rem, var(--wp--preset--spacing--40));
	font-size: clamp(1.0625rem, 1rem + 0.2vw, 1.1875rem);
	line-height: 1.8;
	overflow-wrap: break-word;
}

/* The same available text width drives both the article and editor preview. */
.fcz-report__content :where(p, li, h2, h3, h4) {
	word-break: normal;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 3;
}

.fcz-report__content :where(p, ul, ol, figure, .wp-block-gallery, .wp-block-media-text, .wp-block-columns) {
	margin-block: 0 max(1.25rem, var(--wp--preset--spacing--30));
}

.fcz-report__content :where(h2, h3, h4) {
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	line-height: 1.3;
}

/* Legacy images keep their content position and natural proportions. */
/* stylelint-disable no-descending-specificity -- .fcz-report__content img belongs to a separate component or page context; retain its established cascade. */
.fcz-report__content img {
	max-width: 100%;
	height: auto;
}
/* stylelint-enable no-descending-specificity */


.fcz-report__content :is(h2, h3, h4, strong) > img:is(.alignleft, .alignright) {
	display: block;
	float: none;
	margin-block-end: var(--wp--preset--spacing--30);
}

.fcz-report__content > p > img:only-of-type {
	display: block;
	margin-inline: auto;
}

.fcz-report__content > p:has(> img ~ img) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	align-items: flex-start;
}

/* stylelint-disable no-descending-specificity -- .fcz-report__content > p:has(> img ~ img) > img belongs to a separate component or page context; retain its established cascade. */

.fcz-report__content > p:has(> img ~ img) > img {
	width: calc((100% - var(--wp--preset--spacing--20)) / 2);
}

/* stylelint-enable no-descending-specificity */

.fcz-report__content > p:has(> img ~ img) > br {
	display: none;
}

.fcz-report__content :where(figcaption, .wp-caption-text) {
	margin-block-start: var(--wp--preset--spacing--10);
	color: var(--fcz-color-muted, var(--wp--preset--color--muted));
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}


@container fcz-editorial (max-width: 600px) {

	/* Legacy justified copy leaves large word gaps on narrow screens. */
	.fcz-report__content :is(p, h2, h3, h4)[style*="justify"] {
		text-align: start !important;
	}

	.fcz-report__content > p:has(> img ~ img) > img {
		width: 100%;
	}
}

