/* The parent block is a two-column grid and each child block owns its own
 * frame plus InnerBlocks tree. */
.wp-block-lpu-split-section {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	align-items: stretch;
	gap: 0;
	/* Let native full alignment expand through the parent's root gutters. */
	width: auto;
}

/* The root has no padding; each zone supplies its own inset. */
.wp-block-lpu-split-section > .wp-block-lpu-split-zone {
	/* The minimum height must include the zone's section padding. */
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	min-height: min( 50vw, 45rem );
	flex-direction: column;
	justify-content: center;
	padding: var( --wp--preset--spacing--section-standard );
}

/* Decorative inset panels share the section's total minimum inset with
 * their zone frame; they must not double it. */
.wp-block-lpu-split-section > .wp-block-lpu-split-zone:has( .wp-block-lpu-split-zone__inset ) {
	padding: calc( var( --wp--preset--spacing--section-standard ) / 2 );
}

.wp-block-lpu-split-zone > * {
	/* Inner blocks can receive editor padding or borders alongside 100% width. */
	box-sizing: border-box;
	width: 100%;
}

.wp-block-lpu-split-zone > .wp-block-image {
	margin-block: 0;
}

.wp-block-lpu-split-section > .wp-block-lpu-split-zone--content-fill {
	padding: 0;
}

.wp-block-lpu-split-zone--content-fill > .wp-block-image,
.wp-block-lpu-split-zone--content-fill > *:has( .wp-block-image ) {
	align-self: stretch;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
}

.wp-block-lpu-split-zone--content-fill .wp-block-image {
	/* A nested full-width image must include any editor border in its width. */
	box-sizing: border-box;
	display: flex;
	flex: 1 1 0;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
}

.wp-block-lpu-split-zone--content-fill .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
}

.wp-block-lpu-split-zone__inset {
	width: 100%;
	padding: calc( var( --wp--preset--spacing--section-standard ) / 2 );
}

.wp-block-lpu-split-zone__logo {
	width: min( 100%, 18rem );
	margin: auto;
}

.wp-block-lpu-split-zone__logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 12rem;
	object-fit: contain;
}

@media ( max-width: 781px ) {
	.wp-block-lpu-split-section {
		grid-template-columns: 1fr;
	}

	.wp-block-lpu-split-section > .wp-block-lpu-split-zone {
		min-height: min( 100vw, 30rem );
	}

	.wp-block-lpu-split-section > .wp-block-lpu-split-zone--content-fill {
		min-height: min( 100vw, 30rem );
		padding: 0;
	}

	.wp-block-lpu-split-zone__logo {
		width: min( 100%, 15rem );
	}
}
