.ebn-text-media {
	--_text-align: left;
	--_ctas-justify: flex-start;
	--_text-media-padding-block: var(--wp--preset--spacing--2-xl);
	--_text-media-padding-inline: var(--wp--custom--grid--margin);
	--_container-column-gap: var(--wp--preset--spacing--l);
	--_container-row-gap: var(--wp--preset--spacing--2-xl);
	--_text-padding-block: 0;
	--_text-padding-inline: 0;
	--_swiper-padding: var(--wp--preset--spacing--s);
	--_heading-line-height: 1;
	--_description-line-height: inherit;
	--_media-border-radius: var(--wp--custom--border-radius--xs);
	--_media-aspect-ratio: 3 / 2;
	--_media-overlay-opacity: 0.4;
	--_container-columns: minmax(0, var(--wp--custom--width--small));
	--_container-areas: "text" "media" "ctas";
	--_container-min-height: auto;
	--_container-align: auto;
	--_container-rows: auto;

	padding-block: var(--_text-media-padding-block);
	padding-inline: var(--_text-media-padding-inline);
	background-color: var(--wp--preset--color--neutral-white);
}

.ebn-text-media__container {
	display: grid;
	grid-template-areas: var(--_container-areas);
	grid-template-columns: var(--_container-columns);
	grid-template-rows: var(--_container-rows);
	gap: var(--_container-row-gap) var(--_container-column-gap);
	align-items: var(--_container-align);
	justify-content: center;


	width: 100%;
	max-width: var(--wp--custom--width--default);
	min-height: var(--_container-min-height);
	margin-inline: auto;

}

.ebn-text-media__text {
	display: flex;
	grid-area: text;
	flex-direction: column;
	gap: var(--wp--preset--spacing--l);

	padding-block: var(--_text-padding-block) 0;
	padding-inline: var(--_text-padding-inline);
}

.ebn-text-media__media {
	position: relative;

	display: flex;
	overflow: visible;
	grid-area: media;
	flex-direction: column;

	width: 100%;
	min-width: 0;
}

.ebn-text-media__media>* {
	width: 100%;
}

.ebn-text-media__ctas {
	grid-area: ctas;
	display: flex;
	flex-wrap: wrap;
	justify-content: var(--_ctas-justify);
	padding-block: 0 var(--_text-padding-block);
	padding-inline: var(--_text-padding-inline);
}

.ebn-text-media__header {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--s);
}

.ebn-text-media__preheading {
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-secondary-50);
	letter-spacing: 0;
	text-align: var(--_text-align);
}

.ebn-text-media__heading {
	color: var(--wp--preset--color--brand-primary-50);
	letter-spacing: 0;
	line-height: var(--_heading-line-height);
	text-align: var(--_text-align);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

.ebn-text-media__heading em {
	font-style: italic;
	color: var(--wp--preset--color--brand-secondary-50);
}

.ebn-text-media__description {
	color: var(--wp--preset--color--brand-primary-40);
	letter-spacing: 0;
	line-height: var(--_description-line-height);
	text-align: var(--_text-align);
	text-wrap-style: balance;
}

.ebn-text-media__figure {
	position: relative;
	margin: 0;
	width: 100%;
	aspect-ratio: var(--_media-aspect-ratio);
	border-radius: var(--_media-border-radius);
	overflow: hidden;
}

.ebn-text-media__picture,
.ebn-text-media__video {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%;
}

.ebn-text-media__picture {
	display: block;
}

.ebn-text-media__image,
.ebn-text-media__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ebn-text-media__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--gradient--secondary);
	opacity: var(--_media-overlay-opacity);
	pointer-events: none;
}

.ebn-text-media__caption {
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gradient--overlay-bottom);
}

.ebn-text-media__caption-text {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	color: var(--wp--preset--color--neutral-white);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

.ebn-text-media__carousel-shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	grid-template-areas:
		"carousel carousel carousel"
		"prev nav next";
	align-items: center;
	padding-block-end: var(--_swiper-padding);
	width: 100%;
	min-width: 0;
}

.ebn-text-media__carousel {
	grid-area: carousel;

	width: 100%;
	overflow: hidden;

	min-width: 0;
	padding-block-end: var(--_swiper-padding);
}

.ebn-text-media__slides,
.ebn-text-media__slide {
	min-width: 0;
	height: auto;
}

.ebn-text-media__nav {
	display: flex;
	grid-area: nav;
	align-items: center;
	justify-content: center;
	justify-self: center;

	min-width: 0;
}

.ebn-text-media__nav-dots {
	--_dot-color: var(--wp--preset--color--neutral-50);
	--_dot-color-active: var(--wp--preset--color--brand-primary-50);

	position: static;
	width: auto;
}

.ebn-text-media__nav-dots .ob-slider-pagination__item--active .ob-slider-pagination__dot {
	background-color: var(--_dot-color-active);
}

.ebn-text-media__nav-button {
	--_solid-bg: var(--wp--preset--color--brand-tertiary-50);
	--_solid-fg: var(--wp--preset--color--brand-primary-50);
	--_solid-hover-bg: var(--wp--preset--color--brand-tertiary-70);
	--_solid-hover-fg: var(--wp--preset--color--brand-primary-50);
}

.ebn-text-media__nav-button--prev {
	grid-area: prev;
	justify-self: start;
}

.ebn-text-media__nav-button--next {
	grid-area: next;
	justify-self: end;
}

.ebn-text-media--centered-type {
	--_text-align: center;
	--_ctas-justify: center;
}

.ebn-text-media--only-image-type {
	--_container-column-gap: 0;
	--_container-row-gap: 0;
	--_container-areas: "media";
}

.ebn-text-media--only-text-type {
	--_container-row-gap: var(--wp--preset--spacing--l);
}

.ebn-text-media--two-columns-type {
	--_text-media-padding-block: var(--wp--preset--spacing--l);
	--_container-column-gap: 0;
	--_text-padding-block: var(--wp--preset--spacing--2-xl);
	--_text-padding-inline: var(--wp--custom--grid--margin);
	--_heading-line-height: 1.2;
	--_description-line-height: 1.4;
	--_container-columns: 1fr;
	--_container-areas: "text" "ctas" "media";

	overflow: hidden;
}

.ebn-text-media--two-columns-type.ebn-text-media--media-left {
	--_container-areas: "media" "text" "ctas";
}

.ebn-text-media--full-width-type {
	--_text-media-padding-block: 0;
	--_text-media-padding-inline: 0;
	--_media-border-radius: 0;
	--_swiper-padding: 0;
}

.ebn-text-media--two-columns-type.ebn-text-media--full-width-type .ebn-text-media__carousel-shell {
	display: block;
}

.ebn-text-media--two-columns-type.ebn-text-media--full-width-type .ebn-text-media__nav {
	position: absolute;
	z-index: 3;
	bottom: var(--wp--preset--spacing--m);
	left: 50%;
	transform: translateX(-50%);
}

.ebn-text-media--two-columns-type.ebn-text-media--full-width-type .ebn-text-media__nav-button {
	position: absolute;
	z-index: 3;
	top: 50%;
}

.ebn-text-media--two-columns-type.ebn-text-media--full-width-type .ebn-text-media__nav-button--prev {
	left: var(--wp--preset--spacing--2-xs);
	transform: translateY(-50%);
}

.ebn-text-media--two-columns-type.ebn-text-media--full-width-type .ebn-text-media__nav-button--next {
	right: var(--wp--preset--spacing--2-xs);
	transform: translateY(-50%);
}

@media (min-width: 768px) {
	.ebn-text-media--two-columns-type {
		--_container-min-height: 400px;
		--_container-columns: repeat(2, minmax(0, 1fr));
		--_container-rows: 1fr auto;
		--_container-align: center;
		--_container-areas: "text media" "ctas media";
	}

	.ebn-text-media--two-columns-type .ebn-text-media__media {
		align-self: stretch;
	}

	.ebn-text-media--two-columns-type .ebn-text-media__figure {
		aspect-ratio: auto;
		height: 100%;
	}

	.ebn-text-media--two-columns-type .ebn-text-media__picture,
	.ebn-text-media--two-columns-type .ebn-text-media__video {
		position: absolute;
		inset: 0;
	}

	.ebn-text-media__carousel-shell {
		display: block;
	}

	.ebn-text-media--two-columns-type .ebn-text-media__carousel-shell {
		flex: 1 1 auto;
		min-height: 0;
	}

	.ebn-text-media--two-columns-type .ebn-text-media__carousel {
		overflow: hidden;
	}

	.ebn-text-media--two-columns-type .ebn-text-media__carousel-shell,
	.ebn-text-media--two-columns-type .ebn-text-media__carousel,
	.ebn-text-media--two-columns-type .ebn-text-media__slides,
	.ebn-text-media--two-columns-type .ebn-text-media__slide {
		height: 100%;
	}

	.ebn-text-media--two-columns-type.ebn-text-media--media-left {
		--_container-areas: "media text" "media ctas";
	}

	.ebn-text-media__nav-button {
		position: absolute;
		z-index: 3;
		top: 50%;
	}

	.ebn-text-media__nav-button--prev {
		left: 0;
		transform: translate(-50%, -50%);
	}

	.ebn-text-media__nav-button--next {
		right: 0;
		transform: translate(50%, -50%);
	}
}
