/**
 * Casa Terra Hero (inc/elementor/widgets/hero.php), Figma Home "V1 Hero · Courtyard and
 * availability" (7:389): the courtyard photo under a 32% earth overlay, the credit top right,
 * the title block bottom left and the booking bar (assets/css/parts/booking.css) under it.
 * Ported from the Canopy Hero "home" layout.
 */

.ct-hero {
	display: flex;
	flex-direction: column;
	min-height: var(--ct-hero-h, 880px);
	padding-top: var(--ct-pad-t, 24px);
	padding-bottom: var(--ct-pad-b, 40px);
	background: var(--ct-c-earth);
	overflow: hidden;
}

.ct-hero__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: var(--ct-c-earth);
}

.ct-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--ct-hero-overlay, transparent);
	opacity: var(--ct-hero-overlay-o, 0);
	pointer-events: none;
}

.ct-hero .ct-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.ct-hero .ct-hero__img--phone {
	display: none;
}

/* Credit at the top, the copy and the bar pushed to the bottom. */
.ct-hero__stage {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: flex-end;
}

.ct-hero .ct-hero__credit {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	color: var(--ct-hero-text, var(--ct-c-paper));
	text-align: right;
}

.ct-hero__copy {
	max-width: 900px;
	color: var(--ct-hero-text, var(--ct-c-paper));
}

.ct-hero .ct-hero__title {
	color: var(--ct-hero-text, var(--ct-c-paper));
}

.ct-hero__text {
	max-width: 640px;
	margin-top: 16px;
	color: var(--ct-hero-text, var(--ct-c-paper));
}

.ct-hero__more {
	margin-top: 12px;
}

.ct-hero .ct-hero__link {
	color: var(--ct-hero-text, var(--ct-c-paper));
	font-weight: 400;
}

.ct-hero__booking {
	position: relative;
	margin-top: 48px;
}

/* ------------------------------------------------------------------ */
/* Tablet                                                             */
/* ------------------------------------------------------------------ */

@media (max-width: 1024px) {
	.ct-hero {
		padding-bottom: var(--ct-pad-b, 32px);
	}

	.ct-hero__copy {
		max-width: 640px;
	}

	.ct-hero__text {
		max-width: 600px;
	}

	.ct-hero__booking {
		margin-top: 32px;
	}
}

/* ------------------------------------------------------------------ */
/* Phone                                                              */
/* ------------------------------------------------------------------ */

@media (max-width: 767px) {
	.ct-hero {
		min-height: var(--ct-hero-h, 928px);
		padding-bottom: var(--ct-pad-b, 24px);
	}

	.ct-hero .ct-hero__img--phone {
		display: block;
	}

	.ct-hero .ct-hero__img--wide {
		display: none;
	}

	.ct-hero__text {
		margin-top: 12px;
	}

	.ct-hero__more {
		margin-top: 4px;
	}

	.ct-hero__booking {
		margin-top: 12px;
	}

	/* As in the design, the header's fixed button replaces the bar's on phones. */
	.ct-hero--no-phone-button .ct-bookbar__submit {
		display: none;
	}
}
