.bpt-image-text {
	display: grid;
	gap: var(--bpt-space-2xl);
	align-items: center;
}

.bpt-image-text--content-first .bpt-image-text__content {
	order: -1;
}

.bpt-image-text__media {
	margin: 0;
}

.bpt-image-text__media img {
	width: 100%;
	aspect-ratio: var(--image-text-media-ratio, 4 / 3);
	object-fit: cover;
}

.bpt-image-text__media figcaption {
	margin-top: var(--bpt-space-sm);
	color: var(--section-fg-muted);
	font-size: var(--bpt-text-sm);
}

@media (min-width: 860px) {
	.bpt-image-text {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: var(--image-text-vertical-align, stretch);
	}

	.bpt-image-text--align-start {
		--image-text-vertical-align: start;
	}

	.bpt-image-text--align-center {
		--image-text-vertical-align: center;
	}

	.bpt-image-text--align-end {
		--image-text-vertical-align: end;
	}

	.bpt-image-text--align-stretch .bpt-image-text__media {
		height: 100%;
	}

	.bpt-image-text--align-stretch .bpt-image-text__media img {
		height: 100%;
		aspect-ratio: auto;
	}

	.bpt-image-text--image-left .bpt-image-text__media {
		order: -1;
	}

	.bpt-image-text--content-first .bpt-image-text__content {
		order: initial;
	}
}

.bpt-checklist {
	display: grid;
	gap: var(--bpt-space-sm);
	/* Keep the top margin free so the content stack spaces the list from the copy above it. */
	margin-inline: 0;
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.bpt-checklist__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--bpt-space-sm);
	align-items: start;
}

.bpt-checklist__icon {
	display: inline-flex;
	margin-top: 0.15em;
	color: var(--section-accent, var(--bpt-color-primary));
}

.bpt-image-text--accent .bpt-image-text__media {
	position: relative;
}

.bpt-image-text--accent .bpt-image-text__media::before {
	content: "";
	position: absolute;
	inset: auto -1.25rem -1.25rem auto;
	z-index: -1;
	width: 60%;
	height: 60%;
	background: var(--bpt-color-accent-soft, var(--bpt-color-primary-soft));
	border-radius: var(--bpt-radius-lg);
}

.bpt-image-text--image-left.bpt-image-text--accent .bpt-image-text__media::before {
	inset: auto auto -1.25rem -1.25rem;
}
