/* =================================================================
   Emerald CTA Banner — portraits left/right, copy in the middle.
   Desktop: photo | content | photo
   Mobile:  content, then the two photos side by side.
   ================================================================= */

.emerald-cta-banner {
	--emerald-cta-photo-h: 560px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 1.2fr) minmax(0, 1fr);
	grid-template-areas: "left content right";
	align-items: end;
	column-gap: 8px;
	width: 100%;
	overflow: hidden;
	background-color: var(--emerald-background-color, #f8f8f8);
}

.emerald-cta-banner--no-left {
	grid-template-columns: minmax(240px, 1.2fr) minmax(0, 1fr);
	grid-template-areas: "content right";
}

.emerald-cta-banner--no-right {
	grid-template-columns: minmax(0, 1fr) minmax(240px, 1.2fr);
	grid-template-areas: "left content";
}

.emerald-cta-banner--no-left.emerald-cta-banner--no-right {
	grid-template-columns: 1fr;
	grid-template-areas: "content";
}

.emerald-cta-banner__photo--left {
	grid-area: left;
}

.emerald-cta-banner__photo--right {
	grid-area: right;
}

.emerald-cta-banner__content {
	grid-area: content;
	align-self: center;
	display: flex;
	justify-content: center;
	padding: 48px 24px;
}

.emerald-cta-banner__inner {
	width: 100%;
	max-width: 520px;
	text-align: center;
}

.emerald-cta-banner__photo {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-width: 0;
	line-height: 0;
}

.emerald-cta-banner__photo--left {
	justify-content: flex-start;
}

.emerald-cta-banner__photo--right {
	justify-content: flex-end;
}

.emerald-cta-banner__img {
	display: block !important;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--emerald-cta-photo-h);
	object-fit: contain;
	object-position: bottom center;
}

.emerald-cta-banner__title {
	margin: 0 0 16px;
	color: var(--emerald-heading-color, #1f2d2a);
	font-family: 'Manrope', sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.18;
}

.emerald-cta-banner__text {
	margin: 0 auto 28px;
	max-width: 34em;
	color: var(--emerald-text-color, #1f2d2a);
	font-family: 'Source Sans 3', sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.55;
}

.emerald-cta-banner__actions {
	display: flex;
	justify-content: center;
}

@media (max-width: 1024px) {
	.emerald-cta-banner,
	.emerald-cta-banner--no-left,
	.emerald-cta-banner--no-right,
	.emerald-cta-banner--no-left.emerald-cta-banner--no-right {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"content content"
			"left right";
		--emerald-cta-photo-h: 300px;
	}

	.emerald-cta-banner--no-left {
		grid-template-areas:
			"content content"
			"right right";
	}

	.emerald-cta-banner--no-right {
		grid-template-areas:
			"content content"
			"left left";
	}

	.emerald-cta-banner--no-left.emerald-cta-banner--no-right {
		grid-template-columns: 1fr;
		grid-template-areas: "content";
	}

	.emerald-cta-banner__content {
		align-self: stretch;
		padding: 40px 28px 16px;
	}

	.emerald-cta-banner__title {
		font-size: 32px;
	}

	.emerald-cta-banner__photo--left,
	.emerald-cta-banner__photo--right {
		justify-content: center;
	}

	.emerald-cta-banner__img {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.emerald-cta-banner {
		--emerald-cta-photo-h: 300px;
	}

	.emerald-cta-banner__content {
		padding: 36px 24px 12px;
	}

	.emerald-cta-banner__title {
		font-size: 28px;
	}

	.emerald-cta-banner__text {
		margin-bottom: 24px;
		font-size: 16px;
	}
}
