.acb-cover {
	--acb-cover-color: #d9bd98;
	background-color: var(--acb-cover-color);
	background-image: var(--acb-cover-image, none);
	background-position: center;
	background-size: cover;
	color: #050505;
	display: flex;
	justify-content: center;
	min-height: min(760px, calc(100svh - 90px));
	padding: clamp(70px, 9vw, 140px) 24px clamp(42px, 6vw, 80px);
}

.acb-cover--no-top-padding {
	padding-top: 0;
}

.acb-cover,
.acb-cover * {
	box-sizing: border-box;
}

.acb-cover__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 1180px;
	width: 100%;
}

.acb-cover__eyebrow,
.acb-cover__subtitle,
.acb-cover__booking > p {
	font-size: clamp(10px, 1vw, 13px);
	font-weight: 600;
	letter-spacing: .28em;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
}

.acb-cover__heading {
	text-align: center;
}

.acb-cover__heading p {
	font-size: clamp(29px, 4.2vw, 56px);
	line-height: 1.05;
	margin: 0;
}

.acb-cover__heading h1 {
	float: none;
	font-size: clamp(80px, 15vw, 190px);
	font-weight: 400;
	letter-spacing: .04em;
	line-height: .88;
	margin: .1em 0 0;
}

.acb-cover__subtitle {
	font-size: clamp(11px, 1.2vw, 16px);
	letter-spacing: .2em;
}

.acb-cover__footer {
	align-items: end;
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
	margin-top: clamp(50px, 8vw, 100px);
}

.acb-cover__copy {
	font-size: clamp(18px, 2.1vw, 27px);
	line-height: 1.12;
	max-width: 550px;
}

.acb-cover__copy p {
	margin: 0;
}

.acb-cover__booking {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Composición de la portada navideña. */
.acb-cover { width: 100%; min-height: min(100svh, 1000px); padding: clamp(35px, 4vw, 70px) 24px; overflow: hidden; }
.acb-cover.acb-cover--no-top-padding { padding-top: 0; }
body.home .acb-cover { padding-top: 180px; }
.acb-cover__inner { position: relative; max-width: 1800px; justify-content: flex-start; align-items: center; }
.acb-cover__eyebrow, .acb-cover__subtitle, .acb-cover__heading, .acb-cover__discover, .acb-cover__bottom { position: relative; z-index: 1; }
.acb-cover__eyebrow { padding: 0 50px; }
.acb-cover__heading { margin: 0 auto 24px; }
.acb-cover__heading { width: min(100%, 1400px); line-height: 0; float: none; }
.acb-cover__heading img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.acb-cover__heading p { font-size: clamp(32px, 5vw, 88px); }
.acb-cover__heading h1 { font-size: clamp(90px, 18vw, 300px); letter-spacing: .02em; }
.acb-cover__date { position: absolute; top: 0; font-size: 14px; letter-spacing: .2em; z-index: 2; }
.acb-cover__date--left { left: 0; }
.acb-cover__date--right { right: 0; }
.acb-cover__image { position: absolute; width: 27%; z-index: 0; pointer-events: none; }
.acb-cover__image img { display: block; width: 100%; height: auto; }
.acb-cover__image--left { left: 0; top: 2%; }
.acb-cover__image--right { right: 0; bottom: 8%; }
.acb-cover__discover { text-align: center; line-height: 1.1; }
.acb-cover__discover a { color: inherit; text-decoration: none; }
.acb-cover__discover span, .acb-cover__discover strong { display: block; }
.acb-cover__discover span { font-size: clamp(21px, 2vw, 36px); }
.acb-cover__discover strong { font-size: clamp(25px, 2.7vw, 48px); }
.acb-cover__cta { position: relative; z-index: 1; margin-top: 24px; text-align: center; }
.acb-cover__bottom { margin: clamp(65px, 8vw, 125px) 0 0; text-align: center; text-transform: uppercase; font-size: clamp(10px, 1.1vw, 18px); letter-spacing: .22em; }

@media (max-width: 700px) {
	body.home .acb-cover { padding-top: 120px; }
	.acb-cover {
		min-height: auto;
		padding-inline: 18px;
	}

	.acb-cover__heading h1 {
		font-size: clamp(61px, 20vw, 105px);
		letter-spacing: 0;
	}

	.acb-cover__footer {
		align-items: stretch;
		grid-template-columns: 1fr;
		text-align: center;
	}

	.acb-cover__copy {
		margin-inline: auto;
	}
	.acb-cover__inner { min-height: 620px; }
	.acb-cover__image { width: 42%; }
	.acb-cover__image--left { top: 45px; left: -12px; }
	.acb-cover__image--right { bottom: 72px; right: -12px; }
	.acb-cover__heading { margin: 130px 0px 0px 0px; }
	.acb-cover__bottom { margin-top: 150px; line-height: 1.6; }
}
