/* The parent block is a two-column grid and each child block owns its own
 * frame plus InnerBlocks tree. */
.wp-block-lpu-split-section {
	box-sizing: border-box;
	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;
}

/* Preserve the component's own insets against Core's nested-padding reset. */
.wp-block-lpu-split-section > .wp-block-lpu-split-zone {
	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--xl );
}

.wp-block-lpu-split-zone > * {
	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 {
	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 {
	box-sizing: border-box;
	width: 100%;
	padding: var( --wp--preset--spacing--xl );
}

.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 );
		padding: var( --wp--preset--spacing--lg );
	}

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

	.wp-block-lpu-split-zone__inset {
		padding: var( --wp--preset--spacing--lg );
	}

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