/*
Theme Name: El Bufón de la Corte
Theme URI: https://hostingguests.nl/
Description: Child theme voor El Bufón de la Corte, gebaseerd op Hello Elementor.
Author: Hosting Guests
Author URI: https://hostingguests.nl/
Template: hello-elementor
Version: 1.16.6
Text Domain: el-bufon-de-la-corte
*/

/* ==========================================================================
   Central client settings
   ========================================================================== */

:root {
	--el-bufon-color-cta: #c8481d;
	--el-bufon-color-cta-hover: #b03f1a;
	--el-bufon-color-title: #2c3413;
	--el-bufon-color-title-invert: #f7f3e8;
	--el-bufon-color-body: #3a3a30;
	--el-bufon-color-body-invert: #c4c8b4;
	--el-bufon-color-white: #fff;
	--el-bufon-color-background: #faf7ef;
	--el-bufon-color-secondary: #c4c8b4;
	--el-bufon-color-secondary-hover: #686c43;
	--el-bufon-color-divider: #eae4d3;
	--el-bufon-color-value: #e0a93e;
	--el-bufon-color-review: #faae56;
}

/* Slow parallax for regular editorial images (never shortcode imagery). */
.el-bufon-image-parallax__frame {
	overflow: hidden;
}

.el-bufon-image-parallax__image {
	display: block;
	width: 100%;
	will-change: transform;
}

/* H2 line reveal */
.el-bufon-line-reveal__mask {
	display: inline-block;
	overflow: hidden;
	vertical-align: bottom;
}

.el-bufon-line-reveal__word {
	display: inline-block;
	will-change: transform;
}

.el-bufon-h1-reveal {
	will-change: opacity, transform;
}

.el-bufon-paragraph-reveal {
	will-change: opacity, transform;
}

/* Opt-in GSAP grow effect for inner Elementor containers. */
.gsap-grow-container {
	max-width: 100%;
	margin-inline: auto;
	will-change: width;
}

.gsap-shrink-container {
	max-width: 100%;
	margin-inline: auto;
	will-change: width;
}

@media (prefers-reduced-motion: reduce) {
	.el-bufon-image-parallax__image {
		transform: none !important;
	}

	.el-bufon-line-reveal__word {
		transform: none !important;
	}

	.el-bufon-h1-reveal {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.el-bufon-paragraph-reveal {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.gsap-grow-container {
		width: 100% !important;
	}

	.gsap-shrink-container {
		width: 100% !important;
	}
}

/* Reusable editorial content typography */
:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1009-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1009-font-size, 18px);
	font-weight: var(--e-global-typography-b1f1009-font-weight, 400);
	font-style: var(--e-global-typography-b1f1009-font-style, normal);
	line-height: var(--e-global-typography-b1f1009-line-height, 1.55);
	letter-spacing: var(--e-global-typography-b1f1009-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1009-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1009-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1009-word-spacing, normal);
}

:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h2,
:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h3,
:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h4,
:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h5 {
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h2 {
	font-family: var(--e-global-typography-b1f1002-font-family, "Fraunces"), serif;
	font-size: 32px;
	font-weight: var(--e-global-typography-b1f1002-font-weight, 600);
	font-style: var(--e-global-typography-b1f1002-font-style, normal);
	line-height: var(--e-global-typography-b1f1002-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1002-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1002-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1002-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1002-word-spacing, normal);
}

:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h3 {
	font-family: var(--e-global-typography-b1f1003-font-family, "Fraunces"), serif;
	font-size: 24px;
	font-weight: var(--e-global-typography-b1f1003-font-weight, 600);
	font-style: var(--e-global-typography-b1f1003-font-style, normal);
	line-height: var(--e-global-typography-b1f1003-line-height, 1.25);
	letter-spacing: var(--e-global-typography-b1f1003-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1003-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1003-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1003-word-spacing, normal);
}

:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h4 {
	font-family: var(--e-global-typography-b1f1004-font-family, "Fraunces"), serif;
	font-size: 18px;
	font-weight: var(--e-global-typography-b1f1004-font-weight, 600);
	font-style: var(--e-global-typography-b1f1004-font-style, normal);
	line-height: var(--e-global-typography-b1f1004-line-height, 1.3);
	letter-spacing: var(--e-global-typography-b1f1004-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1004-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1004-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1004-word-spacing, normal);
}

:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) h5 {
	font-family: var(--e-global-typography-b1f1005-font-family, "Fraunces"), serif;
	font-size: 16px;
	font-weight: var(--e-global-typography-b1f1005-font-weight, 600);
	font-style: var(--e-global-typography-b1f1005-font-style, normal);
	line-height: var(--e-global-typography-b1f1005-line-height, 1.35);
	letter-spacing: var(--e-global-typography-b1f1005-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1005-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1005-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1005-word-spacing, normal);
}

@media (max-width: 1024px) {
	:is(.el-bufon-article-content, .single-information .elementor-widget-theme-post-content) {
		font-size: var(--e-global-typography-b1f1009-font-size, 16px);
	}
}

/* Reusable carousel/listing navigation */

/* Locations archive list */
.el-bufon-locations-list {
	display: grid;
	gap: 0;
	width: 100%;
}

.el-bufon-locations-list__item {
	margin: 0;
	border: 0;
	border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	background: transparent;
	transition: border-color 160ms ease;
}

.el-bufon-locations-list__item:hover,
.el-bufon-locations-list__item:focus-within {
	border-bottom-color: var(--e-global-color-sec0002, var(--el-bufon-color-secondary-hover));
	background: transparent;
}

.el-bufon-locations-list__link {
	display: flex;
	min-height: 80px;
	align-items: center;
	gap: 24px;
	width: 100%;
	padding: 16px 0;
	background: transparent !important;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
	transform: none;
}

.el-bufon-locations-list__link:hover,
.el-bufon-locations-list__link:focus,
.el-bufon-locations-list__link:active {
	background: transparent !important;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
	transform: none;
}

.el-bufon-locations-list__link:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

.el-bufon-locations-list__media {
	position: relative;
	width: 72px;
	height: 48px;
	flex: 0 0 72px;
	margin: 0;
	overflow: hidden;
	border-radius: 5px;
	background: transparent;
}

.el-bufon-locations-list__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-locations-list__content {
	display: grid;
	min-width: 0;
	gap: 12px;
}

.el-bufon-locations-list__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
	transition: color 160ms ease;
}

.el-bufon-locations-list__item:hover .el-bufon-locations-list__title,
.el-bufon-locations-list__item:focus-within .el-bufon-locations-list__title {
	color: var(--e-global-color-sec0002, var(--el-bufon-color-secondary-hover));
}

.el-bufon-locations-list__description {
	margin: 0;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

@media (max-width: 767px) {
	.el-bufon-locations-list__link {
		gap: 16px;
	}
}

.el-bufon-carousel-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.el-bufon-carousel-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 50%;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none;
	color: var(--e-global-color-title01, var(--el-bufon-color-title)) !important;
	cursor: pointer;
	transition: none;
	-webkit-appearance: none;
	appearance: none;
}

.el-bufon-carousel-button:hover,
.el-bufon-carousel-button:focus,
.el-bufon-carousel-button:active {
	border-color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none;
	color: var(--e-global-color-title01, var(--el-bufon-color-title)) !important;
	transform: none;
}

.el-bufon-carousel-button:disabled,
.el-bufon-carousel-button[aria-disabled="true"] {
	border-color: color-mix(in srgb, var(--e-global-color-sec0001, var(--el-bufon-color-secondary)) 40%, transparent);
	background: transparent !important;
	background-color: transparent !important;
	color: var(--e-global-color-title01, var(--el-bufon-color-title)) !important;
	cursor: default;
	opacity: 1;
}

.el-bufon-carousel-button:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

.el-bufon-carousel-button__icon {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

/* Reusable carousel viewport and card-only edge gradients */
.el-bufon-carousel-frame {
	position: relative;
}

.el-bufon-carousel-gradient {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	display: none;
	pointer-events: none;
}

.el-bufon-carousel-gradient--left {
	background: linear-gradient(90deg, var(--e-global-color-backgr1, var(--el-bufon-color-background)) 0%, transparent 100%);
	border-radius: 0 15px 15px 0;
}

.el-bufon-carousel-gradient--right {
	background: linear-gradient(90deg, transparent 0%, var(--e-global-color-backgr1, var(--el-bufon-color-background)) 100%);
	border-radius: 15px 0 0 15px;
}

.el-bufon-carousel-track {
	display: flex;
	gap: 32px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
}

.el-bufon-carousel-track::-webkit-scrollbar {
	display: none;
}

.el-bufon-carousel-track > * {
	scroll-snap-align: start;
}

/* Reviews CCT carousel */
.el-bufon-reviews-carousel__card {
	display: flex;
	flex: 0 0 calc(44.4444% - 28.4444px);
	flex-direction: column;
	min-width: 0;
	padding: 24px;
	border-radius: 15px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-reviews-carousel__quote-icon {
	display: block;
	width: auto;
	height: 16px;
	margin-bottom: 24px;
	align-self: flex-start;
}

.el-bufon-reviews-carousel__quote {
	margin: 0;
	font-family: var(--e-global-typography-b1f1009-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1009-font-size, 18px);
	font-weight: var(--e-global-typography-b1f1009-font-weight, 400);
	font-style: var(--e-global-typography-b1f1009-font-style, normal);
	line-height: var(--e-global-typography-b1f1009-line-height, 1.55);
	letter-spacing: var(--e-global-typography-b1f1009-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1009-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1009-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1009-word-spacing, normal);
}

.el-bufon-reviews-carousel__quote p {
	margin: 0;
}

.el-bufon-reviews-carousel__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-top: auto;
	padding-top: 32px;
}

.el-bufon-reviews-carousel__guest {
	display: block;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1016-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1016-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1016-font-weight, 600);
	font-style: var(--e-global-typography-b1f1016-font-style, normal);
	line-height: var(--e-global-typography-b1f1016-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1016-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1016-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1016-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1016-word-spacing, normal);
}

.el-bufon-reviews-carousel__date {
	display: block;
	margin-top: 6px;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1013-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1013-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1013-font-weight, 500);
	font-style: var(--e-global-typography-b1f1013-font-style, normal);
	line-height: var(--e-global-typography-b1f1013-line-height, 1.3);
	letter-spacing: var(--e-global-typography-b1f1013-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1013-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1013-text-transform, uppercase);
	word-spacing: var(--e-global-typography-b1f1013-word-spacing, normal);
}

.el-bufon-reviews-carousel__platform-icon {
	display: block;
	width: auto;
	max-width: 72px;
	height: 20px;
	object-fit: contain;
}

.el-bufon-reviews-carousel > .el-bufon-carousel-nav {
	margin-top: 48px;
}

@media (max-width: 1024px) {
	.el-bufon-reviews-carousel__card {
		flex-basis: calc(44.4444% - 28.4444px);
	}

	.el-bufon-reviews-carousel > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 32px;
	}
}

/* Information table of contents */
.el-bufon-information-toc {
	width: 100%;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-information-toc__details,
.el-bufon-information-toc__list,
.el-bufon-information-toc__item {
	margin: 0;
	padding: 0;
}

.el-bufon-information-toc__summary {
	display: flex;
	min-height: 56px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	list-style: none;
	cursor: default;
}

.el-bufon-information-toc__summary::-webkit-details-marker {
	display: none;
}

.el-bufon-information-toc__summary::marker {
	display: none;
	content: "";
}

.el-bufon-information-toc__title {
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-information-toc__toggle {
	display: none;
	position: relative;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.el-bufon-information-toc__toggle::before,
.el-bufon-information-toc__toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 1.5px;
	background: currentcolor;
	content: "";
	transform: translate(-50%, -50%);
}

.el-bufon-information-toc__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.el-bufon-information-toc__details[open] .el-bufon-information-toc__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.el-bufon-information-toc__list {
	display: grid;
	gap: 0;
	list-style: none;
}

.el-bufon-information-toc__item {
	border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.el-bufon-information-toc__link {
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 56px;
	align-items: center;
	width: 100%;
	padding: 12px 0;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1015-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1015-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1015-font-weight, 600);
	font-style: var(--e-global-typography-b1f1015-font-style, normal);
	line-height: var(--e-global-typography-b1f1015-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1015-letter-spacing, normal);
	text-decoration: none;
	text-transform: var(--e-global-typography-b1f1015-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1015-word-spacing, normal);
	transition: color 160ms ease;
}

.el-bufon-information-toc__link::before {
	position: absolute;
	z-index: -1;
	inset: 0 0 0 -16px;
	background: color-mix(in srgb, var(--e-global-color-sec0001, var(--el-bufon-color-secondary)) 35%, transparent);
	content: "";
	opacity: 0;
	transition: opacity 160ms ease;
}

.el-bufon-information-toc__link:hover,
.el-bufon-information-toc__link:focus-visible,
.el-bufon-information-toc__link.is-active {
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	text-decoration: none;
}

.el-bufon-information-toc__link:hover::before,
.el-bufon-information-toc__link:focus-visible::before,
.el-bufon-information-toc__link.is-active::before {
	opacity: 1;
}

.el-bufon-information-toc__link:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 2px;
}

[data-el-bufon-toc-heading] {
	scroll-margin-top: 168px;
}

@media (max-width: 1024px) {
	.el-bufon-information-toc__summary {
		min-height: 48px;
		cursor: pointer;
	}

	.el-bufon-information-toc__summary:focus-visible {
		outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
		outline-offset: 2px;
	}

	.el-bufon-information-toc__toggle {
		display: block;
	}

	.el-bufon-information-toc__link {
		min-height: 48px;
	}

	[data-el-bufon-toc-heading] {
		scroll-margin-top: 96px;
	}
}

@media (max-width: 767px) {
	.el-bufon-carousel-gradient {
		display: none;
	}

	.el-bufon-reviews-carousel__card {
		flex-basis: 100%;
	}

	.el-bufon-reviews-carousel > .el-bufon-carousel-nav {
		margin-top: 16px;
	}
}

/* Reusable How it works carousel */
.el-bufon-how-it-works__track {
	gap: 32px;
	list-style: none;
}

.el-bufon-how-it-works__card {
	display: flex;
	flex: 0 0 calc(30.7692% - 29.5385px);
	flex-direction: column;
	min-width: 0;
	padding: 24px;
	border-radius: 5px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-how-it-works__number {
	display: block;
	margin-bottom: 24px;
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	font-family: var(--e-global-typography-b1f1002-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1002-font-size, 40px);
	font-weight: var(--e-global-typography-b1f1002-font-weight, 600);
	font-style: var(--e-global-typography-b1f1002-font-style, normal);
	line-height: var(--e-global-typography-b1f1002-line-height, 1.1);
	letter-spacing: var(--e-global-typography-b1f1002-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1002-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1002-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1002-word-spacing, normal);
}

.el-bufon-how-it-works__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-how-it-works__description {
	margin: 12px 0 0;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1009-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1009-font-size, 18px);
	font-weight: var(--e-global-typography-b1f1009-font-weight, 400);
	font-style: var(--e-global-typography-b1f1009-font-style, normal);
	line-height: var(--e-global-typography-b1f1009-line-height, 1.55);
	letter-spacing: var(--e-global-typography-b1f1009-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1009-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1009-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1009-word-spacing, normal);
}

.el-bufon-how-it-works > .el-bufon-carousel-nav {
	margin-top: 48px;
}

@media (max-width: 1024px) {
	.el-bufon-how-it-works__track {
		gap: 24px;
	}

	.el-bufon-how-it-works__card {
		flex-basis: calc(44.4444% - 21.3333px);
	}

	.el-bufon-how-it-works > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-how-it-works__track {
		gap: 16px;
	}

	.el-bufon-how-it-works__card {
		flex-basis: 100%;
		padding: 16px;
	}

	.el-bufon-how-it-works > .el-bufon-carousel-nav {
		margin-top: 16px;
	}
}

/* Packages post type carousel */
.el-bufon-packages-carousel__track {
	gap: 32px;
}

.el-bufon-packages-carousel__item {
	flex: 0 0 calc(44.4444% - 28.4444px);
	min-width: 0;
}

.el-bufon-package-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	align-items: stretch;
	min-height: 420px;
	overflow: hidden;
	border-radius: 5px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
}

.el-bufon-package-card:hover,
.el-bufon-package-card:focus,
.el-bufon-package-card:active {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
	transform: none;
}

.el-bufon-package-card:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

.el-bufon-package-card__media {
	position: relative;
	align-self: stretch;
	min-height: 0;
	overflow: hidden;
}

.el-bufon-package-card .el-bufon-package-card__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-package-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	padding: 24px;
}

.el-bufon-package-card__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-package-card__description {
	margin: 12px 0 0;
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-package-card__usps {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-package-card__usp {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.el-bufon-package-card__usp::before {
	flex: 0 0 auto;
	color: var(--e-global-color-value01, var(--el-bufon-color-value));
	content: "✓";
	font-weight: 600;
}

.el-bufon-package-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	margin-top: auto;
	padding: 12px 24px;
	border-radius: 5px;
	background: var(--e-global-color-pkgbtn1, #767b4c);
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
}

.el-bufon-packages-carousel > .el-bufon-carousel-nav {
	margin-top: 48px;
}

@media (max-width: 1024px) {
	.el-bufon-packages-carousel__track {
		gap: 24px;
	}

	.el-bufon-packages-carousel__item {
		flex-basis: calc(80% - 19.2px);
	}

	.el-bufon-packages-carousel > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-packages-carousel__track {
		gap: 0;
	}

	.el-bufon-packages-carousel__item {
		flex-basis: 100%;
	}

	.el-bufon-package-card {
		position: relative;
		display: block;
		min-height: 420px;
		background: var(--e-global-color-title01, var(--el-bufon-color-title));
	}

	.el-bufon-package-card::after {
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(180deg, rgb(0 0 0 / 5%) 20%, rgb(0 0 0 / 82%) 100%);
		content: "";
		pointer-events: none;
	}

	.el-bufon-package-card__media {
		position: absolute;
		inset: 0;
	}

	.el-bufon-package-card__content {
		min-height: 420px;
		justify-content: flex-end;
		padding: 16px;
	}

	.el-bufon-package-card__title {
		color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	}

	.el-bufon-package-card__description,
	.el-bufon-package-card__button {
		display: none;
	}

	.el-bufon-package-card__usps {
		color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
	}

	.el-bufon-packages-carousel > .el-bufon-carousel-nav {
		margin-top: 16px;
	}
}

/* Rooms post type carousel */
.el-bufon-rooms-carousel__track {
	gap: 32px;
}

.el-bufon-rooms-carousel__item {
	flex: 0 0 calc((100% - 128px) / 4.25);
	min-width: 0;
}

.el-bufon-room-card {
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border-radius: 5px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
}

.el-bufon-room-card:hover,
.el-bufon-room-card:focus,
.el-bufon-room-card:active {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
	transform: none;
}

.el-bufon-room-card:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

.el-bufon-room-card__media {
	position: relative;
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.el-bufon-room-card .el-bufon-room-card__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-room-card__content {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	padding: 24px;
}

.el-bufon-room-card__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-room-card__description,
.el-bufon-room-card__usps {
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-room-card__description {
	margin: 12px 0 0;
}

.el-bufon-room-card__usps {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.el-bufon-room-card__usp {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.el-bufon-room-card__usp::before {
	flex: 0 0 auto;
	color: var(--e-global-color-value01, var(--el-bufon-color-value));
	content: "✓";
	font-weight: 600;
}

.el-bufon-room-card__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.el-bufon-room-card__label {
	padding: 8px;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 999px;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1013-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1013-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1013-font-weight, 500);
	font-style: var(--e-global-typography-b1f1013-font-style, normal);
	line-height: var(--e-global-typography-b1f1013-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1013-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1013-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1013-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1013-word-spacing, normal);
}

.el-bufon-room-card__footer {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: auto;
	padding-top: 24px;
}

.el-bufon-room-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border-radius: 5px;
	background: var(--e-global-color-pkgbtn1, #767b4c);
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
}

.el-bufon-room-card__price {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-rooms-carousel > .el-bufon-carousel-nav {
	margin-top: 48px;
}

@media (max-width: 1024px) {
	.el-bufon-rooms-carousel__track {
		gap: 24px;
	}

	.el-bufon-rooms-carousel__item {
		flex-basis: calc((100% - 72px) / 3.25);
	}

	.el-bufon-rooms-carousel > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-rooms-carousel__track {
		gap: 0;
	}

	.el-bufon-rooms-carousel__item {
		flex-basis: 100%;
	}

	.el-bufon-room-card__content {
		padding: 16px;
	}

	.el-bufon-room-card__footer {
		flex-wrap: wrap;
	}

	.el-bufon-rooms-carousel > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 16px;
	}
}

/* Single room gallery, modal and lightbox */
html.el-bufon-modal-open,
body.el-bufon-modal-open {
	overflow: hidden;
}

.el-bufon-room-gallery__preview {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 8px;
	height: clamp(520px, 52vw, 760px);
	overflow: hidden;
	border-radius: 5px;
}

.el-bufon-room-gallery__preview-item {
	position: relative;
	grid-column: span 3;
	min-width: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	padding: 0;
	transform: none;
}

.el-bufon-room-gallery__preview-item:nth-child(n + 3) {
	grid-column: span 2;
}

.el-bufon-room-gallery__preview--count-1 .el-bufon-room-gallery__preview-item,
.el-bufon-room-gallery__preview--count-3 .el-bufon-room-gallery__preview-item:last-of-type {
	grid-column: 1 / -1;
}

.el-bufon-room-gallery__preview--count-1 .el-bufon-room-gallery__preview-item,
.el-bufon-room-gallery__preview--count-2 .el-bufon-room-gallery__preview-item {
	grid-row: 1 / -1;
}

.el-bufon-room-gallery__preview--count-4 .el-bufon-room-gallery__preview-item:nth-child(n + 3) {
	grid-column: span 3;
}

.el-bufon-room-gallery__preview-item:hover,
.el-bufon-room-gallery__preview-item:focus,
.el-bufon-room-gallery__preview-item:active {
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.el-bufon-room-gallery__preview-item:focus-visible {
	z-index: 2;
	outline: 3px solid var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	outline-offset: -5px;
}

.el-bufon-room-gallery .el-bufon-room-gallery__preview-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-room-gallery__open {
	position: absolute;
	right: 24px;
	bottom: 24px;
	z-index: 3;
	padding: 12px 24px;
	border: 1px solid var(--e-global-color-white01, var(--el-bufon-color-white));
	border-radius: 5px;
	background: rgb(44 52 19 / 75%);
	box-shadow: none;
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
	transform: none;
}

.el-bufon-room-gallery__open:hover,
.el-bufon-room-gallery__open:focus,
.el-bufon-room-gallery__open:active {
	border-color: var(--e-global-color-white01, var(--el-bufon-color-white));
	background: rgb(44 52 19 / 75%);
	box-shadow: none;
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	transform: none;
}

.el-bufon-room-gallery__open:focus-visible {
	outline: 2px solid var(--e-global-color-white01, var(--el-bufon-color-white));
	outline-offset: 3px;
}

.el-bufon-room-gallery-modal,
.el-bufon-room-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 32px;
	background: rgb(44 52 19 / 78%);
	opacity: 0;
	transition: opacity 160ms ease;
}

.el-bufon-room-gallery-modal[hidden],
.el-bufon-room-lightbox[hidden] {
	display: none;
}

.el-bufon-room-gallery-modal.is-open,
.el-bufon-room-lightbox.is-open {
	opacity: 1;
}

.el-bufon-room-gallery-modal__panel {
	display: flex;
	width: min(1200px, 100%);
	height: min(88dvh, 900px);
	flex-direction: column;
	overflow: hidden;
	border-radius: 5px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	box-shadow: 0 24px 70px rgb(0 0 0 / 28%);
}

.el-bufon-room-gallery-modal__header {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px;
	border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.el-bufon-room-gallery-modal__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1002-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1002-font-size, 40px);
	font-weight: var(--e-global-typography-b1f1002-font-weight, 600);
	line-height: var(--e-global-typography-b1f1002-line-height, 1.2);
}

.el-bufon-room-gallery__close,
.el-bufon-room-lightbox__close {
	display: inline-grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font: 400 30px/1 sans-serif;
	transform: none;
}

.el-bufon-room-gallery__close:hover,
.el-bufon-room-gallery__close:focus,
.el-bufon-room-gallery__close:active,
.el-bufon-room-lightbox__close:hover,
.el-bufon-room-lightbox__close:focus,
.el-bufon-room-lightbox__close:active {
	border-color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	background: transparent;
	box-shadow: none;
	color: inherit;
	transform: none;
}

.el-bufon-room-gallery__close:focus-visible,
.el-bufon-room-lightbox__close:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.el-bufon-room-gallery-modal__scroll {
	display: grid;
	min-height: 0;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 48px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 32px 24px 48px;
}

.el-bufon-room-gallery-modal__toc {
	position: sticky;
	top: 0;
	align-self: start;
}

.el-bufon-room-gallery-modal__toc ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.el-bufon-room-gallery-modal__toc a {
	display: block;
	padding: 10px 12px;
	border-left: 2px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	text-decoration: none;
}

.el-bufon-room-gallery-modal__toc a:hover,
.el-bufon-room-gallery-modal__toc a:focus-visible {
	border-left-color: var(--e-global-color-title01, var(--el-bufon-color-title));
	background: transparent;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-room-gallery-modal__sections {
	display: grid;
	gap: 56px;
	min-width: 0;
}

.el-bufon-room-gallery-modal__section {
	scroll-margin-top: 24px;
}

.el-bufon-room-gallery-modal__section-title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1003-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1003-font-size, 32px);
	font-weight: var(--e-global-typography-b1f1003-font-weight, 600);
	line-height: var(--e-global-typography-b1f1003-line-height, 1.2);
}

.el-bufon-room-gallery-modal__section-description,
.el-bufon-room-gallery-modal__caption {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
}

.el-bufon-room-gallery-modal__section-description {
	margin: 12px 0 0;
}

.el-bufon-room-gallery-modal__photos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 24px;
	margin-top: 24px;
}

.el-bufon-room-gallery-modal__figure {
	min-width: 0;
	margin: 0;
}

.el-bufon-room-gallery-modal__photo-button {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.el-bufon-room-gallery-modal__photo-button:hover,
.el-bufon-room-gallery-modal__photo-button:focus,
.el-bufon-room-gallery-modal__photo-button:active {
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.el-bufon-room-gallery-modal__photo-button:focus-visible {
	outline: 3px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

.el-bufon-room-gallery-modal .el-bufon-room-gallery-modal__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-room-gallery-modal__caption {
	margin-top: 8px;
}

.el-bufon-room-lightbox {
	z-index: 100010;
	grid-template-columns: 40px minmax(0, 1fr) 40px;
	gap: 24px;
	background: rgb(20 22 15 / 96%);
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-room-lightbox__close {
	position: absolute;
	top: 24px;
	right: 24px;
	border-color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-room-lightbox__figure {
	display: flex;
	min-width: 0;
	height: calc(100dvh - 96px);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}

.el-bufon-room-lightbox .el-bufon-room-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: calc(100% - 52px);
	width: auto;
	height: auto;
	object-fit: contain;
}

.el-bufon-room-lightbox__caption {
	max-width: 760px;
	color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	text-align: center;
}

.el-bufon-room-lightbox__counter {
	position: absolute;
	right: 24px;
	bottom: 24px;
	color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
	font-family: var(--e-global-typography-b1f1013-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1013-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1013-font-weight, 500);
}

.el-bufon-room-lightbox .el-bufon-carousel-button {
	border-color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

@media (max-width: 767px) {
	.el-bufon-room-gallery__preview {
		display: block;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.el-bufon-room-gallery__preview-item {
		display: none;
		width: 100%;
		height: 100%;
	}

	.el-bufon-room-gallery__preview-item:first-child {
		display: block;
	}

	.el-bufon-room-gallery__open {
		right: 16px;
		bottom: 16px;
	}

	.el-bufon-room-gallery-modal,
	.el-bufon-room-lightbox {
		padding: 0;
	}

	.el-bufon-room-gallery-modal__panel {
		width: 100%;
		height: 100dvh;
		border-radius: 0;
	}

	.el-bufon-room-gallery-modal__header {
		padding: 16px;
	}

	.el-bufon-room-gallery-modal__title {
		font-size: var(--e-global-typography-b1f1002-font-size, 32px);
	}

	.el-bufon-room-gallery-modal__scroll {
		display: block;
		padding: 0 16px 32px;
	}

	.el-bufon-room-gallery-modal__toc {
		z-index: 2;
		overflow-x: auto;
		padding: 12px 0;
		background: var(--e-global-color-d3844f6, #fffdf8);
	}

	.el-bufon-room-gallery-modal__toc ul {
		display: flex;
		width: max-content;
	}

	.el-bufon-room-gallery-modal__toc a {
		border: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
		border-radius: 999px;
		white-space: nowrap;
	}

	.el-bufon-room-gallery-modal__sections {
		gap: 40px;
		padding-top: 20px;
	}

	.el-bufon-room-gallery-modal__photos {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.el-bufon-room-lightbox {
		grid-template-columns: 40px minmax(0, 1fr) 40px;
		gap: 8px;
		padding: 64px 8px 48px;
	}

	.el-bufon-room-lightbox__close {
		top: 12px;
		right: 12px;
	}

	.el-bufon-room-lightbox__figure {
		height: calc(100dvh - 112px);
	}

	.el-bufon-room-lightbox__counter {
		right: 12px;
		bottom: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.el-bufon-room-gallery-modal,
	.el-bufon-room-lightbox {
		transition: none;
	}
}

/* Current room amenities */
.el-bufon-room-amenities {
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 100%;
	flex-direction: column;
}

.el-bufon-room-amenities__list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.el-bufon-room-amenities__item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	border-radius: 5px;
	background: transparent;
	color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
}

.el-bufon-room-amenities__item:hover,
.el-bufon-room-amenities__item:active {
	background: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-room-amenities__icon {
	display: inline-flex;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
}

.el-bufon-room-amenities__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
}

.el-bufon-room-amenities__title {
	color: inherit;
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-package-includes__item,
.el-bufon-package-includes__modal-item {
	align-items: flex-start;
}

.el-bufon-package-includes__content {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.el-bufon-package-includes__title,
.el-bufon-package-includes__description {
	display: block;
}

.el-bufon-package-includes__description {
	color: inherit;
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-package-includes__icon-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.el-bufon-room-amenities__footer {
	display: flex;
	align-items: flex-end;
	margin-top: auto;
	padding-top: 48px;
}

.el-bufon-room-amenities__toggle {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
	cursor: pointer;
	transform: none;
}

.el-bufon-room-amenities__toggle:hover,
.el-bufon-room-amenities__toggle:focus,
.el-bufon-room-amenities__toggle:active {
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	transform: none;
}

.el-bufon-room-amenities__toggle:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 4px;
}

.el-bufon-room-amenities__arrow {
	font-size: 24px;
	line-height: 1;
}

.el-bufon-amenities-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgb(44 52 19 / 72%);
	opacity: 0;
	transition: opacity 160ms ease;
}

.el-bufon-amenities-modal[hidden] {
	display: none;
}

.el-bufon-amenities-modal.is-open {
	opacity: 1;
}

.el-bufon-amenities-modal__panel {
	display: flex;
	width: min(480px, 100%);
	max-height: min(76dvh, 680px);
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
	padding: 24px;
	border-radius: 5px;
	background: var(--e-global-color-backgr1, var(--el-bufon-color-background));
	box-shadow: 0 24px 70px rgb(0 0 0 / 28%);
}

.el-bufon-amenities-modal__header {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 16px;
}

.el-bufon-amenities-modal__title,
.el-bufon-amenities-modal__item-title {
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-amenities-modal__title {
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-amenities-modal__close {
	display: inline-grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font: 400 30px/1 sans-serif;
	transform: none;
}

.el-bufon-amenities-modal__close:hover,
.el-bufon-amenities-modal__close:focus,
.el-bufon-amenities-modal__close:active {
	border-color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	background: transparent;
	box-shadow: none;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	transform: none;
}

.el-bufon-amenities-modal__close:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.el-bufon-amenities-modal__scroll {
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 4px;
}

.el-bufon-amenities-modal__list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.el-bufon-amenities-modal__item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	border-radius: 5px;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-amenities-modal__item:hover,
.el-bufon-amenities-modal__item:active {
	background: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

@media (max-width: 1024px) {
	.el-bufon-room-amenities__footer {
		padding-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-room-amenities__footer {
		padding-top: 24px;
	}

	.el-bufon-amenities-modal {
		padding: 16px;
	}

	.el-bufon-amenities-modal__panel {
		max-height: 84dvh;
	}
}

@media (prefers-reduced-motion: reduce) {
	.el-bufon-amenities-modal {
		transition: none;
	}
}

/* Shared facilities: reuses the room amenities component */
.el-bufon-shared-facilities__copy {
	display: grid;
	gap: 4px;
}

.el-bufon-shared-facilities__description {
	color: inherit;
	font-family: var(--e-global-typography-b1f1009-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1009-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1009-font-weight, 400);
	font-style: var(--e-global-typography-b1f1009-font-style, normal);
	line-height: var(--e-global-typography-b1f1009-line-height, 1.5);
	letter-spacing: var(--e-global-typography-b1f1009-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1009-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1009-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1009-word-spacing, normal);
}

.el-bufon-shared-facilities__icon-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Compact packages listing */
.el-bufon-packages-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.el-bufon-packages-list__item {
	margin: 0;
	border-bottom: 1px solid rgb(247 243 232 / 24%);
	border-bottom-color: color-mix(in srgb, var(--e-global-color-title02, var(--el-bufon-color-title-invert)) 24%, transparent);
}

.el-bufon-packages-list__item:hover,
.el-bufon-packages-list__item:focus-within {
	border-bottom-color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-packages-list__link {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 8px 0;
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	text-decoration: none;
	transform: none;
}

.el-bufon-packages-list__link:hover,
.el-bufon-packages-list__link:focus,
.el-bufon-packages-list__link:active {
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	text-decoration: none;
	transform: none;
}

.el-bufon-packages-list__link:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.el-bufon-packages-list__media {
	position: relative;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	overflow: hidden;
	border-radius: 5px;
}

.el-bufon-packages-list .el-bufon-packages-list__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-packages-list__title {
	color: inherit;
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

/* Package not-included list: visual match without image or link behaviour. */
.el-bufon-package-not-included__item {
	display: flex;
	min-height: 64px;
	align-items: center;
	padding: 8px 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-package-not-included__item:hover,
.el-bufon-package-not-included__item:focus-within {
	border-bottom-color: rgb(247 243 232 / 24%);
	border-bottom-color: color-mix(in srgb, var(--e-global-color-title02, var(--el-bufon-color-title-invert)) 24%, transparent);
}

.el-bufon-package-not-included__title {
	color: inherit;
}

/* Current room FAQ accordion */
.el-bufon-room-faq {
	display: grid;
	gap: 0;
}

.el-bufon-room-faq__item {
	margin: 0;
	border: 0;
	border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.el-bufon-room-faq__question {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	cursor: pointer;
	list-style: none;
}

.el-bufon-room-faq__question::-webkit-details-marker {
	display: none;
}

.el-bufon-room-faq__question::marker {
	display: none;
	content: "";
}

.el-bufon-room-faq__question:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

.el-bufon-room-faq__question-text {
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-room-faq__icon {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 50%;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-room-faq__icon::before,
.el-bufon-room-faq__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 1.5px;
	background: currentcolor;
	content: "";
	transform: translate(-50%, -50%);
}

.el-bufon-room-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.el-bufon-room-faq__item[open] .el-bufon-room-faq__icon::after {
	display: none;
}

.el-bufon-room-faq__answer {
	padding: 24px 64px 24px 0;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1009-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1009-font-size, 18px);
	font-weight: var(--e-global-typography-b1f1009-font-weight, 400);
	font-style: var(--e-global-typography-b1f1009-font-style, normal);
	line-height: var(--e-global-typography-b1f1009-line-height, 1.55);
	letter-spacing: var(--e-global-typography-b1f1009-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1009-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1009-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1009-word-spacing, normal);
}

.el-bufon-room-faq__answer > :first-child {
	margin-top: 0;
}

.el-bufon-room-faq__answer > :last-child {
	margin-bottom: 0;
}

/* Package programme accordion: extends the room FAQ component. */
.el-bufon-package-program__heading {
	display: flex;
	min-width: 0;
	align-items: baseline;
	gap: 16px;
}

.el-bufon-package-program__day {
	flex: 0 0 auto;
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
}

.el-bufon-package-program__title {
	min-width: 0;
}

/* Package price options: full-width grid until the current breakpoint overflows. */
.el-bufon-package-prices {
	width: 100%;
}

.el-bufon-package-prices__track {
	gap: 32px;
}

.el-bufon-package-prices__card {
	display: flex;
	box-sizing: border-box;
	min-width: 0;
	min-height: 100%;
	flex: 0 0 calc((100% - 96px) / 3.25);
	flex-direction: column;
	overflow: hidden;
	padding: 24px;
	border-radius: 5px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	background-color: var(--e-global-color-d3844f6, #fffdf8);
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-package-prices--count-1 .el-bufon-package-prices__card {
	flex-basis: 100%;
}

.el-bufon-package-prices--count-2 .el-bufon-package-prices__card {
	flex-basis: calc((100% - 32px) / 2);
}

.el-bufon-package-prices--count-3 .el-bufon-package-prices__card {
	flex-basis: calc((100% - 64px) / 3);
}

.el-bufon-package-prices__label {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-package-prices__value {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 16px 0 0;
	flex-wrap: wrap;
}

.el-bufon-package-prices__amount {
	color: var(--e-global-color-value01, var(--el-bufon-color-value));
	font-family: var(--e-global-typography-b1f1004-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1004-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1004-font-weight, 600);
	line-height: var(--e-global-typography-b1f1004-line-height, 1.2);
}

.el-bufon-package-prices__suffix,
.el-bufon-package-prices__description {
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-package-prices__suffix {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-package-prices__description {
	margin: 12px 0 0;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-package-prices > .el-bufon-carousel-nav {
	margin-top: 48px;
}

/* Package optional extras carousel. */
.el-bufon-package-extras {
	width: 100%;
}

.el-bufon-package-extras__track {
	gap: 32px;
}

.el-bufon-package-extras__card {
	display: flex;
	box-sizing: border-box;
	min-width: 0;
	height: auto;
	flex: 0 0 calc((100% - 96px) / 3.25);
	flex-direction: column;
	overflow: hidden;
	border-radius: 5px;
	background: var(--e-global-color-d3844f6, #fffdf8);
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-package-extras--count-1 .el-bufon-package-extras__card {
	flex-basis: 100%;
}

.el-bufon-package-extras--count-2 .el-bufon-package-extras__card {
	flex-basis: calc((100% - 32px) / 2);
}

.el-bufon-package-extras--count-3 .el-bufon-package-extras__card {
	flex-basis: calc((100% - 64px) / 3);
}

.el-bufon-package-extras__media {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.el-bufon-package-extras .el-bufon-package-extras__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-package-extras__content {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 24px;
}

.el-bufon-package-extras__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-package-extras__description,
.el-bufon-package-extras__price-label {
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
	font-style: var(--e-global-typography-b1f1010-font-style, normal);
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1010-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
}

.el-bufon-package-extras__description {
	margin: 12px 0 0;
}

.el-bufon-package-extras__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: auto 0 0;
	padding-top: 24px;
	flex-wrap: wrap;
}

.el-bufon-package-extras__amount {
	color: var(--e-global-color-value01, var(--el-bufon-color-value));
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: 600;
	line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
}

.el-bufon-package-extras > .el-bufon-carousel-nav {
	margin-top: 48px;
}

.el-bufon-package-extras--count-1 > .el-bufon-carousel-nav,
.el-bufon-package-extras--count-2 > .el-bufon-carousel-nav,
.el-bufon-package-extras--count-3 > .el-bufon-carousel-nav {
	display: none;
}

@media (max-width: 1024px) {
	.el-bufon-package-extras__track {
		gap: 24px;
	}

	.el-bufon-package-extras__card,
	.el-bufon-package-extras--count-3 .el-bufon-package-extras__card,
	.el-bufon-package-extras--count-4 .el-bufon-package-extras__card {
		flex-basis: calc((100% - 48px) / 2.25);
	}

	.el-bufon-package-extras--count-1 .el-bufon-package-extras__card {
		flex-basis: 100%;
	}

	.el-bufon-package-extras--count-2 .el-bufon-package-extras__card {
		flex-basis: calc((100% - 24px) / 2);
	}

	.el-bufon-package-extras > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 32px;
	}

	.el-bufon-package-extras--count-3 > .el-bufon-carousel-nav:not([hidden]) {
		display: flex;
	}
}

@media (max-width: 767px) {
	.el-bufon-package-extras__track {
		gap: 16px;
	}

	.el-bufon-package-extras__card,
	.el-bufon-package-extras--count-1 .el-bufon-package-extras__card,
	.el-bufon-package-extras--count-2 .el-bufon-package-extras__card,
	.el-bufon-package-extras--count-3 .el-bufon-package-extras__card,
	.el-bufon-package-extras--count-4 .el-bufon-package-extras__card {
		flex-basis: 100%;
	}

	.el-bufon-package-extras__content {
		padding: 16px;
	}

	.el-bufon-package-extras > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 16px;
	}

	.el-bufon-package-extras--count-2 > .el-bufon-carousel-nav:not([hidden]),
	.el-bufon-package-extras--count-3 > .el-bufon-carousel-nav:not([hidden]) {
		display: flex;
	}
}

/* No desktop navigation while all price cards fit at their full-width ratio. */
.el-bufon-package-prices--count-1 > .el-bufon-carousel-nav,
.el-bufon-package-prices--count-2 > .el-bufon-carousel-nav,
.el-bufon-package-prices--count-3 > .el-bufon-carousel-nav {
	display: none;
}

@media (max-width: 1024px) {
	.el-bufon-package-prices__track {
		gap: 24px;
	}

	.el-bufon-package-prices__card,
	.el-bufon-package-prices--count-3 .el-bufon-package-prices__card,
	.el-bufon-package-prices--count-4 .el-bufon-package-prices__card {
		flex-basis: calc((100% - 48px) / 2.25);
	}

	.el-bufon-package-prices--count-1 .el-bufon-package-prices__card {
		flex-basis: 100%;
	}

	.el-bufon-package-prices--count-2 .el-bufon-package-prices__card {
		flex-basis: calc((100% - 24px) / 2);
	}

	.el-bufon-package-prices > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 32px;
	}

	/* Three cards overflow on tablet, so navigation becomes available. */
	.el-bufon-package-prices--count-3 > .el-bufon-carousel-nav:not([hidden]) {
		display: flex;
	}
}

@media (max-width: 767px) {
	.el-bufon-package-prices__track {
		gap: 16px;
	}

	.el-bufon-package-prices__card,
	.el-bufon-package-prices--count-1 .el-bufon-package-prices__card,
	.el-bufon-package-prices--count-2 .el-bufon-package-prices__card,
	.el-bufon-package-prices--count-3 .el-bufon-package-prices__card,
	.el-bufon-package-prices--count-4 .el-bufon-package-prices__card {
		flex-basis: 100%;
		padding: 16px;
	}

	.el-bufon-package-prices > .el-bufon-carousel-nav {
		justify-content: center;
		margin-top: 16px;
	}

	/* Two or more cards overflow on mobile; a single card never gets navigation. */
	.el-bufon-package-prices--count-2 > .el-bufon-carousel-nav:not([hidden]),
	.el-bufon-package-prices--count-3 > .el-bufon-carousel-nav:not([hidden]) {
		display: flex;
	}
}

@media (max-width: 767px) {
	.el-bufon-package-program__heading {
		align-items: flex-start;
		gap: 8px;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.el-bufon-room-faq__question {
		gap: 16px;
	}

	.el-bufon-room-faq__answer {
		padding-right: 0;
	}
}

/* Standalone FAQ variant for archive pages */
.el-bufon-archive-faq .el-bufon-room-faq__item {
	border-bottom-color: rgb(247 243 232 / 24%);
	border-bottom-color: color-mix(in srgb, var(--e-global-color-title02, var(--el-bufon-color-title-invert)) 24%, transparent);
}

.el-bufon-archive-faq .el-bufon-room-faq__item[open] {
	border-bottom-color: rgb(247 243 232 / 80%);
	border-bottom-color: color-mix(in srgb, var(--e-global-color-title02, var(--el-bufon-color-title-invert)) 80%, transparent);
}

.el-bufon-archive-faq .el-bufon-room-faq__question,
.el-bufon-archive-faq .el-bufon-room-faq__question-text {
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-archive-faq .el-bufon-room-faq__question:focus-visible {
	outline-color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-archive-faq .el-bufon-room-faq__answer {
	color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
}

.el-bufon-archive-faq .el-bufon-room-faq__icon {
	border-color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	background: transparent;
	color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
}

.el-bufon-archive-faq .el-bufon-room-faq__item[open] .el-bufon-room-faq__icon {
	border-color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	background: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

/* Categorised FAQ page */
.el-bufon-faq-page {
	width: 100%;
}

.el-bufon-faq-page__tabs {
	display: flex;
	height: 56px;
	align-items: stretch;
	gap: 32px;
	overflow-x: auto;
	border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	scrollbar-width: none;
}

.el-bufon-faq-page__tabs::-webkit-scrollbar {
	display: none;
}

.el-bufon-faq-page__tab {
	position: relative;
	display: inline-flex;
	min-width: max-content;
	align-items: center;
	border: 0;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1015-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1015-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1015-font-weight, 600);
	font-style: var(--e-global-typography-b1f1015-font-style, normal);
	line-height: var(--e-global-typography-b1f1015-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1015-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1015-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1015-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1015-word-spacing, normal);
}

.el-bufon-faq-page__tab::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	content: "";
	opacity: 0;
}

.el-bufon-faq-page__tab:hover,
.el-bufon-faq-page__tab:focus-visible {
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-faq-page__tab:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: -2px;
}

.el-bufon-faq-page__tab[aria-current="location"]::after {
	opacity: 1;
}

.el-bufon-faq-page__sections {
	display: grid;
	gap: 64px;
	padding-top: 48px;
}

.el-bufon-faq-page__section {
	display: grid;
	gap: 24px;
	scroll-margin-top: 112px;
}

.el-bufon-faq-page__title {
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1003-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1003-font-size, 32px);
	font-weight: var(--e-global-typography-b1f1003-font-weight, 600);
	font-style: var(--e-global-typography-b1f1003-font-style, normal);
	line-height: var(--e-global-typography-b1f1003-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1003-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1003-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1003-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1003-word-spacing, normal);
}

@media (max-width: 1024px) {
	.el-bufon-faq-page__tabs {
		gap: 24px;
	}

	.el-bufon-faq-page__sections {
		gap: 48px;
		padding-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-faq-page__tabs {
		gap: 20px;
	}

	.el-bufon-faq-page__sections {
		gap: 40px;
		padding-top: 24px;
	}

	.el-bufon-faq-page__section {
		gap: 16px;
		scroll-margin-top: 96px;
	}
}

/* Paginated packages overview grid */
.el-bufon-packages-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.el-bufon-packages-grid__item {
	min-width: 0;
}

.el-bufon-packages-grid__item .el-bufon-package-card {
	height: 100%;
}

.el-bufon-packages-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 48px;
}

.el-bufon-packages-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 50%;
	background: transparent;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	line-height: 1;
	text-decoration: none;
	transform: none;
}

.el-bufon-packages-pagination .page-numbers:hover,
.el-bufon-packages-pagination .page-numbers:focus,
.el-bufon-packages-pagination .page-numbers:active {
	border-color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	background: transparent;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	text-decoration: none;
	transform: none;
}

.el-bufon-packages-pagination .page-numbers.current {
	background: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-packages-pagination .page-numbers.dots {
	border-color: transparent;
}

.el-bufon-packages-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.el-bufon-packages-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.el-bufon-packages-pagination {
		justify-content: center;
		margin-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-packages-grid {
		gap: 16px;
	}

	.el-bufon-packages-pagination {
		margin-top: 24px;
	}
}

/* Paginated rooms overview grid */
.el-bufon-rooms-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.el-bufon-rooms-grid__item {
	min-width: 0;
}

.el-bufon-rooms-grid__item .el-bufon-room-card {
	height: 100%;
}

.el-bufon-rooms-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 48px;
}

.el-bufon-rooms-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border: 1px solid var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	border-radius: 50%;
	background: transparent;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	line-height: 1;
	text-decoration: none;
	transform: none;
}

.el-bufon-rooms-pagination .page-numbers:hover,
.el-bufon-rooms-pagination .page-numbers:focus,
.el-bufon-rooms-pagination .page-numbers:active {
	border-color: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	background: transparent;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	text-decoration: none;
	transform: none;
}

.el-bufon-rooms-pagination .page-numbers.current {
	background: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-rooms-pagination .page-numbers.dots {
	border-color: transparent;
}

.el-bufon-rooms-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.el-bufon-rooms-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.el-bufon-rooms-pagination {
		justify-content: center;
		margin-top: 32px;
	}
}

@media (max-width: 767px) {
	.el-bufon-rooms-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.el-bufon-rooms-pagination {
		margin-top: 24px;
	}
}

.client-setting {
	color: inherit;
}

a.client-setting {
	transition: color 180ms ease;
}

a.client-setting:hover,
a.client-setting:focus-visible {
	color: var(--el-bufon-color-cta-hover);
}

.client-review-stars,
.client-review-summary__stars {
	display: inline-flex;
	gap: 0.08em;
	color: var(--el-bufon-color-review);
	font-family: Arial, sans-serif;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}

.client-review-star {
	display: inline-block;
	position: relative;
}

.client-review-star--half {
	background: linear-gradient(90deg, var(--el-bufon-color-review) 50%, var(--el-bufon-color-divider) 50%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.client-review-star--empty {
	color: var(--el-bufon-color-divider);
}

.client-review-summary {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4em;
	color: var(--el-bufon-color-body);
	font-family: "Mulish", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
}

.client-review-summary__rating {
	color: var(--el-bufon-color-value);
	font-weight: 600;
}

.client-review-summary__primary,
.client-review-summary__reviews {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

.client-review-summary__count {
	font-variant-numeric: tabular-nums;
}

.client-review-summary__platform {
	color: inherit;
	text-decoration: none;
}

a.client-review-summary__platform:hover,
a.client-review-summary__platform:focus-visible {
	color: var(--el-bufon-color-cta);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.client-review-summary__separator {
	color: var(--el-bufon-color-divider);
}

/* ==========================================================================
   Custom site header
   ========================================================================== */

:root {
	--el-bufon-header-main-height: 80px;
	--el-bufon-header-bottom-height: 56px;
	--el-bufon-header-inline-padding: clamp(20px, 4vw, 64px);
}

.el-bufon-header {
	position: relative;
	z-index: 1000;
	width: 100%;
}

.el-bufon-header__main {
	position: sticky;
	top: 0;
	z-index: 1002;
	height: var(--el-bufon-header-main-height);
	background: var(--e-global-color-backgr1, var(--el-bufon-color-background));
	border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.admin-bar .el-bufon-header__main {
	top: 32px;
}

.el-bufon-header__inner {
	display: flex;
	align-items: center;
	width: min(100%, var(--el-bufon-content-width, 1440px));
	height: 100%;
	margin-inline: auto;
	padding-inline: var(--el-bufon-header-inline-padding);
}

.el-bufon-header__brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	max-width: min(240px, 32vw);
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	text-decoration: none;
}

.el-bufon-header__brand:hover,
.el-bufon-header__brand:focus-visible {
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
}

.el-bufon-header__logo {
	display: block;
	width: auto;
	max-width: 100%;
	height: 64px;
	object-fit: contain;
}

.el-bufon-header__brand-text {
	font-family: var(--e-global-typography-b1f1004-font-family, "Fraunces", serif);
	font-size: 1.25rem;
	font-weight: var(--e-global-typography-b1f1004-font-weight, 600);
	line-height: 1.1;
}

.el-bufon-header__desktop-actions {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2vw, 32px);
	margin-left: auto;
}

/* TranslatePress language switcher in the custom header */
.el-bufon-header__language-switcher {
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	min-width: 0;
}

.el-bufon-header__language-switcher .trp-shortcode-switcher__wrapper {
	--bg: var(--e-global-color-backgr1, var(--el-bufon-color-background)) !important;
	--bg-hover: transparent !important;
	--text: var(--e-global-color-body001, var(--el-bufon-color-body)) !important;
	--text-hover: var(--e-global-color-cta0001, var(--el-bufon-color-cta)) !important;
	--border: 0 !important;
	--border-color: var(--e-global-color-divide1, var(--el-bufon-color-divider)) !important;
	--border-radius: 5px !important;
	--font-size: var(--e-global-typography-b1f1015-font-size, 12px) !important;
}

.el-bufon-header__language-switcher .trp-shortcode-switcher {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.el-bufon-header__language-switcher .trp-shortcode-overlay.is-open,
.el-bufon-header__language-switcher .trp-shortcode-overlay[aria-expanded="true"] {
	border: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	background: var(--e-global-color-backgr1, var(--el-bufon-color-background));
	box-shadow: 0 12px 32px rgb(44 52 19 / 12%);
}

.el-bufon-header__language-switcher .trp-current-language-item__wrapper {
	padding-right: 0;
}

.el-bufon-header__language-switcher .trp-language-item {
	min-height: 44px;
	gap: 6px;
	padding: 12px 8px;
	background: transparent !important;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
	transform: none;
}

.el-bufon-header__language-switcher .trp-language-item-name {
	color: inherit;
	font-family: var(--e-global-typography-b1f1015-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1015-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1015-font-weight, 600);
	font-style: var(--e-global-typography-b1f1015-font-style, normal);
	line-height: var(--e-global-typography-b1f1015-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1015-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1015-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1015-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1015-word-spacing, normal);
}

.el-bufon-header__language-switcher .trp-language-item:hover,
.el-bufon-header__language-switcher .trp-language-item:focus-visible {
	background: transparent !important;
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	transform: none;
}

.el-bufon-header__language-switcher .trp-language-item:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: -2px;
}

.el-bufon-header__language-switcher .trp-switcher-dropdown-list {
	border-top: 1px solid transparent;
}

.el-bufon-header__language-switcher .is-open .trp-switcher-dropdown-list,
.el-bufon-header__language-switcher [aria-expanded="true"] .trp-switcher-dropdown-list {
	border-top-color: var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.el-bufon-header__language-switcher .trp-shortcode-arrow {
	width: 16px;
	height: 16px;
	color: currentcolor;
	transition: none;
}

.el-bufon-header__language-switcher .trp-flag-image {
	width: 18px !important;
}

/* TranslatePress legacy shortcode fallback. */
.el-bufon-header__language-switcher .trp_language_switcher_shortcode,
.el-bufon-header__language-switcher .trp-language-switcher-container {
	width: auto;
	min-width: 0;
	height: auto;
}

.el-bufon-header__language-switcher .trp-language-switcher-container > div {
	box-sizing: border-box;
	padding: 0;
	border: 0;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
}

.el-bufon-header__language-switcher .trp-language-switcher-container > div > a {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 12px 32px 12px 10px;
	background: transparent !important;
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1015-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1015-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1015-font-weight, 600);
	line-height: var(--e-global-typography-b1f1015-line-height, 1.4);
	text-transform: var(--e-global-typography-b1f1015-text-transform, none);
	text-decoration: none;
	transform: none;
}

.el-bufon-header__language-switcher .trp-language-switcher-container > div > a:hover,
.el-bufon-header__language-switcher .trp-language-switcher-container > div > a:focus-visible {
	background: transparent !important;
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	transform: none;
}

.el-bufon-header__language-switcher .trp-ls-shortcode-current-language {
	position: relative;
	overflow: visible;
}

.el-bufon-header__language-switcher .trp-ls-shortcode-current-language::after {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentcolor;
	border-bottom: 1.5px solid currentcolor;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	content: "";
	pointer-events: none;
	transform: translateY(-65%) rotate(45deg);
	transform-origin: center;
}

.el-bufon-header__language-switcher .trp-language-switcher-container:hover .trp-ls-shortcode-current-language::after,
.el-bufon-header__language-switcher .trp-language-switcher-container:focus-within .trp-ls-shortcode-current-language::after {
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
}

.el-bufon-header__language-switcher .trp-language-switcher-container > .trp-ls-shortcode-language {
	border: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider)) !important;
	border-radius: 5px;
	background: var(--e-global-color-backgr1, var(--el-bufon-color-background)) !important;
	background-image: none !important;
	box-shadow: 0 12px 32px rgb(44 52 19 / 12%) !important;
}

.el-bufon-header__language-switcher .trp-ls-shortcode-language > a {
	width: 100%;
	background: var(--e-global-color-backgr1, var(--el-bufon-color-background)) !important;
}

.el-bufon-header__language-switcher .trp-ls-shortcode-language > a + a {
	border-top: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.el-bufon-header__language-switcher .trp-language-switcher-container > .trp-ls-shortcode-language > a:hover,
.el-bufon-header__language-switcher .trp-language-switcher-container > .trp-ls-shortcode-language > a:focus-visible {
	background: color-mix(in srgb, var(--e-global-color-sec0001, var(--el-bufon-color-secondary)) 24%, transparent) !important;
}

.el-bufon-header__language-switcher .trp-language-switcher-container:focus-within .trp-ls-shortcode-language {
	visibility: visible;
	display: inline-block !important;
	position: absolute;
	top: 0;
	left: 0;
	height: auto;
	max-height: 250px;
	overflow-y: auto;
}

@supports not (background: color-mix(in srgb, white 50%, transparent)) {
	.el-bufon-header__language-switcher .trp-language-switcher-container > .trp-ls-shortcode-language > a:hover,
	.el-bufon-header__language-switcher .trp-language-switcher-container > .trp-ls-shortcode-language > a:focus-visible {
		background: var(--e-global-color-backgr1, var(--el-bufon-color-background)) !important;
	}
}

.el-bufon-nav__list,
.el-bufon-nav__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.el-bufon-nav--main > .el-bufon-nav__list,
.el-bufon-nav--bottom > .el-bufon-nav__list {
	display: flex;
	align-items: center;
}

.el-bufon-nav--main > .el-bufon-nav__list {
	gap: 16px;
}

.el-bufon-nav a {
	font-family: var(--e-global-typography-b1f1015-font-family, "Mulish", sans-serif);
	font-size: var(--e-global-typography-b1f1015-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1015-font-weight, 600);
	font-style: var(--e-global-typography-b1f1015-font-style, normal);
	line-height: var(--e-global-typography-b1f1015-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1015-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1015-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1015-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1015-word-spacing, normal);
}

.el-bufon-nav--main a {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
}

.el-bufon-nav--main a:hover,
.el-bufon-nav--main a:focus-visible,
.el-bufon-nav--main .current-menu-item > a,
.el-bufon-nav--main .current-menu-ancestor > a {
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
}

.el-bufon-nav .menu-item-has-children {
	position: relative;
}

.el-bufon-nav .sub-menu {
	position: absolute;
	top: calc(100% + 16px);
	left: 0;
	min-width: 220px;
	padding: 12px;
	background: var(--e-global-color-backgr1, var(--el-bufon-color-background));
	border: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	box-shadow: 0 16px 40px rgb(44 52 19 / 12%);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.el-bufon-nav .sub-menu a {
	display: block;
	padding: 10px 12px;
}

.el-bufon-nav .menu-item-has-children:hover > .sub-menu,
.el-bufon-nav .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.el-bufon-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 24px;
	background: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	border-radius: 5px;
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish", sans-serif);
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
	transition: none;
}

.el-bufon-header__cta:hover,
.el-bufon-header__cta:focus-visible {
	background: var(--e-global-color-cta0002, var(--el-bufon-color-cta-hover));
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	transform: none;
}

.el-bufon-header__whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	border-radius: 50%;
	transition: color 180ms ease, background-color 180ms ease;
}

.el-bufon-header__whatsapp:hover,
.el-bufon-header__whatsapp:focus-visible {
	background: var(--e-global-color-sec0001, var(--el-bufon-color-secondary));
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

.el-bufon-header__whatsapp img {
	display: block;
	width: auto;
	height: 28px;
}

.el-bufon-header__bottom {
	position: sticky;
	top: var(--el-bufon-header-main-height);
	z-index: 1001;
	height: var(--el-bufon-header-bottom-height);
	background: var(--e-global-color-body001, var(--el-bufon-color-body));
	transition: transform 240ms ease, visibility 240ms ease;
	will-change: transform;
}

.el-bufon-header__bottom.is-hidden {
	visibility: hidden;
	transform: translateY(-100%);
}

.admin-bar .el-bufon-header__bottom {
	top: calc(var(--el-bufon-header-main-height) + 32px);
}

.el-bufon-nav--bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.el-bufon-nav--bottom > .el-bufon-nav__list {
	justify-content: center;
	gap: 16px;
}

.el-bufon-nav--bottom a {
	color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
}

.el-bufon-nav--bottom a:hover,
.el-bufon-nav--bottom a:focus-visible,
.el-bufon-nav--bottom .current-menu-item > a,
.el-bufon-nav--bottom .current-menu-ancestor > a {
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-header__menu-toggle,
.el-bufon-mobile-menu__close {
	display: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	background: transparent !important;
	background-color: transparent !important;
	border: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title)) !important;
	cursor: pointer;
	transition: none;
}

.el-bufon-header__menu-toggle:hover,
.el-bufon-header__menu-toggle:focus,
.el-bufon-header__menu-toggle:focus-visible,
.el-bufon-header__menu-toggle:active,
.el-bufon-mobile-menu__close:hover,
.el-bufon-mobile-menu__close:focus,
.el-bufon-mobile-menu__close:focus-visible,
.el-bufon-mobile-menu__close:active {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--e-global-color-title01, var(--el-bufon-color-title)) !important;
	transform: none;
}

.el-bufon-header__menu-toggle:focus-visible,
.el-bufon-mobile-menu__close:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 2px;
}

.el-bufon-header__menu-toggle {
	margin-left: auto;
}

.el-bufon-header__menu-toggle-lines,
.el-bufon-header__menu-toggle-lines::before,
.el-bufon-header__menu-toggle-lines::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentcolor;
	content: "";
}

.el-bufon-header__menu-toggle-lines {
	position: relative;
}

.el-bufon-header__menu-toggle-lines::before,
.el-bufon-header__menu-toggle-lines::after {
	position: absolute;
	left: 0;
}

.el-bufon-header__menu-toggle-lines::before {
	top: -7px;
}

.el-bufon-header__menu-toggle-lines::after {
	top: 7px;
}

.el-bufon-mobile-menu {
	display: none;
}

body.el-bufon-menu-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.admin-bar .el-bufon-header__main {
		top: 32px;
	}

	.el-bufon-header__desktop-actions,
	.el-bufon-header__bottom {
		display: none;
	}

	.el-bufon-header__menu-toggle,
	.el-bufon-mobile-menu__close {
		display: inline-flex;
	}

	.el-bufon-header__brand {
		max-width: min(220px, 60vw);
	}

	.el-bufon-mobile-menu {
		position: fixed;
		inset: 0;
		height: 100vh;
		height: 100dvh;
		max-height: 100dvh;
		z-index: 2000;
		display: block;
		visibility: hidden;
		opacity: 0;
		transition: opacity 220ms ease, visibility 220ms ease;
	}

	.el-bufon-mobile-menu:not([hidden]) {
		visibility: visible;
		opacity: 1;
	}

	.el-bufon-mobile-menu__overlay {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		background: color-mix(in srgb, var(--e-global-color-title01, var(--el-bufon-color-title)) 50%, transparent) !important;
		border: 0;
		transition: none;
	}

	.el-bufon-mobile-menu__overlay:hover,
	.el-bufon-mobile-menu__overlay:focus,
	.el-bufon-mobile-menu__overlay:focus-visible,
	.el-bufon-mobile-menu__overlay:active {
		background: color-mix(in srgb, var(--e-global-color-title01, var(--el-bufon-color-title)) 50%, transparent) !important;
		outline: 0;
		transform: none;
	}

	.el-bufon-mobile-menu__panel {
		position: relative;
		display: flex;
		flex-direction: column;
		width: min(88vw, 440px);
		height: 100vh;
		height: 100dvh;
		max-height: 100dvh;
		margin-left: auto;
		padding: 20px clamp(24px, 6vw, 40px) max(32px, env(safe-area-inset-bottom));
		background: var(--e-global-color-backgr1, var(--el-bufon-color-background));
		box-shadow: -18px 0 50px rgb(44 52 19 / 16%);
		transform: translateX(100%);
		transition: transform 260ms ease;
		overflow: hidden;
	}

	.admin-bar .el-bufon-mobile-menu {
		top: 32px;
		height: calc(100dvh - 32px);
		max-height: calc(100dvh - 32px);
	}

	.admin-bar .el-bufon-mobile-menu__panel {
		height: calc(100dvh - 32px);
		max-height: calc(100dvh - 32px);
	}

	.el-bufon-mobile-menu:not([hidden]) .el-bufon-mobile-menu__panel {
		transform: translateX(0);
	}

	.el-bufon-mobile-menu__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 64px;
		padding-bottom: 16px;
		border-bottom: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	}

	.el-bufon-mobile-menu__header .el-bufon-header__logo {
		height: 64px;
	}

	.el-bufon-mobile-menu__close {
		position: relative;
		flex: 0 0 auto;
	}

	.el-bufon-mobile-menu__close::before,
	.el-bufon-mobile-menu__close::after {
		position: absolute;
		width: 24px;
		height: 2px;
		background: currentcolor;
		content: "";
	}

	.el-bufon-mobile-menu__close::before {
		transform: rotate(45deg);
	}

	.el-bufon-mobile-menu__close::after {
		transform: rotate(-45deg);
	}

	.el-bufon-mobile-menu__content {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		gap: 28px;
		min-height: 0;
		padding: 28px 0 156px;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.el-bufon-nav--mobile > .el-bufon-nav__list {
		display: grid;
		gap: 4px;
	}

	.el-bufon-nav--mobile a {
		display: block;
		padding: 11px 0;
		color: var(--e-global-color-body001, var(--el-bufon-color-body));
	}

	.el-bufon-nav--mobile-secondary {
		padding-top: 24px;
		border-top: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	}

	.el-bufon-nav--mobile-secondary a {
		color: var(--e-global-color-sec0002, var(--el-bufon-color-secondary-hover));
	}

	.el-bufon-nav--mobile .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 0 18px;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.el-bufon-mobile-menu__actions {
		position: absolute;
		right: clamp(24px, 6vw, 40px);
		bottom: max(24px, env(safe-area-inset-bottom));
		left: clamp(24px, 6vw, 40px);
		z-index: 2;
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 12px;
		margin-top: 0;
		padding-top: 20px;
		background: var(--e-global-color-backgr1, var(--el-bufon-color-background));
	}

	.el-bufon-header__language-switcher--mobile {
		display: block;
		width: 100%;
		padding-top: 24px;
		border-top: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	}

	/* In the mobile menu, languages are always shown as a simple list. */
	.el-bufon-header__language-switcher--mobile .trp_language_switcher_shortcode,
	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container {
		display: block;
		width: 100%;
		margin: 0;
	}

	.el-bufon-header__language-switcher--mobile .trp-ls-shortcode-current-language {
		display: none !important;
	}

	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language {
		position: static !important;
		display: grid !important;
		visibility: visible !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		border: 0 !important;
		border-radius: 0;
		background: transparent !important;
		box-shadow: none !important;
	}

	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language > a {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 44px;
		padding: 11px 0;
		margin: 0;
		border: 0;
		background: transparent !important;
		color: var(--e-global-color-body001, var(--el-bufon-color-body));
		box-shadow: none !important;
		transform: none !important;
		transition: color 160ms ease;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
		-webkit-user-select: none;
		user-select: none;
	}

	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language > a + a {
		border-top: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	}

	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language > a.trp-ls-shortcode-disabled-language {
		color: var(--e-global-color-title01, var(--el-bufon-color-title));
		font-weight: 700;
	}

	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language > a:not(.trp-ls-shortcode-disabled-language):hover,
	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language > a:not(.trp-ls-shortcode-disabled-language):focus-visible,
	.el-bufon-header__language-switcher--mobile .trp-language-switcher-container > .trp-ls-shortcode-language > a:not(.trp-ls-shortcode-disabled-language):active {
		background: transparent !important;
		color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
		box-shadow: none !important;
		transform: none !important;
	}

	.el-bufon-header__language-switcher--mobile .trp-flag-image {
		flex: 0 0 auto;
	}

	.el-bufon-mobile-menu__registration {
		grid-column: 1 / -1;
		margin: 0;
		color: var(--e-global-color-body001, var(--el-bufon-color-body));
		font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
		font-size: var(--e-global-typography-b1f1010-font-size, 16px);
		font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
		font-style: var(--e-global-typography-b1f1010-font-style, normal);
		line-height: var(--e-global-typography-b1f1010-line-height, 1.4);
		letter-spacing: var(--e-global-typography-b1f1010-letter-spacing, normal);
		text-decoration: var(--e-global-typography-b1f1010-text-decoration, none);
		text-transform: var(--e-global-typography-b1f1010-text-transform, none);
		word-spacing: var(--e-global-typography-b1f1010-word-spacing, normal);
	}

	.el-bufon-mobile-menu__actions .el-bufon-header__cta {
		width: 100%;
	}

	.el-bufon-mobile-menu__actions .el-bufon-header__whatsapp {
		border: 1px solid var(--e-global-color-divide1, var(--el-bufon-color-divider));
	}
}

@media (prefers-reduced-motion: reduce) {
	.el-bufon-header__bottom {
		transition: none;
	}
}

@media (max-width: 782px) {
	.admin-bar .el-bufon-header__main {
		top: 46px;
	}

	.admin-bar .el-bufon-mobile-menu {
		top: 46px;
		height: calc(100dvh - 46px);
		max-height: calc(100dvh - 46px);
	}

	.admin-bar .el-bufon-mobile-menu__panel {
		height: calc(100dvh - 46px);
		max-height: calc(100dvh - 46px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.el-bufon-header *,
	.el-bufon-mobile-menu * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   Custom site footer
   ========================================================================== */

.el-bufon-footer-topbar {
	position: relative;
	z-index: 1;
	height: 104px;
	background: var(--e-global-color-divide1, var(--el-bufon-color-divider));
}

.el-bufon-footer-topbar__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, var(--el-bufon-content-width, 1440px));
	height: 100%;
	margin-inline: auto;
	padding-inline: 32px;
}

.el-bufon-footer-topbar__title {
	position: relative;
	z-index: 2;
	margin: 0;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1007-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1007-font-size, 24px);
	font-weight: var(--e-global-typography-b1f1007-font-weight, 600);
	font-style: var(--e-global-typography-b1f1007-font-style, normal);
	line-height: var(--e-global-typography-b1f1007-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1007-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1007-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1007-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1007-word-spacing, normal);
}

.el-bufon-footer-topbar__host {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 201px;
	height: 134px;
	object-fit: contain;
	transform: translateX(-50%);
}

.el-bufon-footer-topbar .el-bufon-footer__cta {
	position: relative;
	z-index: 2;
	margin-top: 0;
}

.el-bufon-footer {
	background: var(--e-global-color-title01, var(--el-bufon-color-title));
	color: var(--e-global-color-body002, var(--el-bufon-color-body-invert));
}

.el-bufon-footer__inner {
	width: min(100%, var(--el-bufon-content-width, 1440px));
	margin-inline: auto;
	padding: 64px 32px 0;
}

.el-bufon-footer__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr .9fr 1.15fr;
	gap: clamp(40px, 6vw, 112px);
}

.el-bufon-footer :where(ul) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.el-bufon-footer a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.el-bufon-footer a:hover,
.el-bufon-footer a:focus-visible {
	color: var(--e-global-color-review1, var(--el-bufon-color-review));
}

.el-bufon-footer a:focus-visible,
.el-bufon-footer button:focus-visible {
	outline: 2px solid var(--e-global-color-review1, var(--el-bufon-color-review));
	outline-offset: 4px;
}

.el-bufon-footer__title {
	max-width: 260px;
	margin: 0 0 26px;
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	font-family: var(--e-global-typography-b1f1002-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1002-font-size, 40px);
	font-weight: var(--e-global-typography-b1f1002-font-weight, 600);
	line-height: var(--e-global-typography-b1f1002-line-height, 1.15);
}

.el-bufon-footer__stay-menu {
	display: grid;
	gap: 14px;
}

.el-bufon-footer__stay-menu a {
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
	font-family: var(--e-global-typography-b1f1005-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1005-font-size, 18px);
	font-weight: var(--e-global-typography-b1f1005-font-weight, 600);
}

.el-bufon-footer__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 24px;
	padding: 12px 24px;
	border-radius: 5px;
	background: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	color: var(--e-global-color-white01, var(--el-bufon-color-white)) !important;
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
	transition: none;
}

.el-bufon-footer a.el-bufon-footer__cta {
	transition: none;
}

.el-bufon-footer__cta:hover,
.el-bufon-footer__cta:focus-visible {
	background: var(--e-global-color-cta0002, var(--el-bufon-color-cta-hover));
}

.el-bufon-footer__column-heading {
	margin: 0 0 20px;
}

.el-bufon-footer__accordion-button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	border: 0;
	background: transparent !important;
	background-color: transparent !important;
	color: var(--e-global-color-body002, var(--el-bufon-color-body-invert)) !important;
	font-family: var(--e-global-typography-b1f1013-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1013-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1013-font-weight, 500);
	letter-spacing: .12em;
	line-height: 1.3;
	text-transform: uppercase;
	cursor: default;
}

.el-bufon-footer__accordion-button:hover,
.el-bufon-footer__accordion-button:focus,
.el-bufon-footer__accordion-button:focus-visible,
.el-bufon-footer__accordion-button:active,
.el-bufon-footer__accordion-button[aria-expanded="true"],
.el-bufon-footer__accordion-button[aria-expanded="false"],
.el-bufon-footer__accordion-button:disabled {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--e-global-color-body002, var(--el-bufon-color-body-invert)) !important;
	box-shadow: none !important;
	opacity: 1;
}

.el-bufon-footer__accordion-button > span {
	display: none;
}

.el-bufon-footer__menu {
	display: grid;
	gap: 14px;
}

.el-bufon-footer__menu a,
.el-bufon-footer__contact,
.el-bufon-footer__contact a {
	font-family: var(--e-global-typography-b1f1016-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1016-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1016-font-weight, 600);
	line-height: var(--e-global-typography-b1f1016-line-height, 1.5);
}

.el-bufon-footer__contact {
	display: grid;
	gap: 8px;
	font-style: normal;
}

.el-bufon-footer__contact strong {
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

.el-bufon-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 20px;
}

.el-bufon-footer__platform-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.el-bufon-footer__platform-icon {
	display: block;
	max-width: 20px;
	max-height: 20px;
	width: auto;
	height: 20px;
	object-fit: contain;
}

.el-bufon-footer__platform-icon--social {
	height: 20px;
}

.el-bufon-footer__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	min-height: 120px;
	padding-top: 32px;
}

.el-bufon-footer__reviews,
.el-bufon-footer__legal-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 22px;
	font-family: var(--e-global-typography-b1f1013-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1013-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1013-font-weight, 500);
}

.el-bufon-footer__review-stars {
	font-size: 18px;
}

.el-bufon-footer__credit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 26px 0;
	border-top: 1px solid color-mix(in srgb, var(--e-global-color-body002, var(--el-bufon-color-body-invert)) 25%, transparent);
	font-family: var(--e-global-typography-b1f1010-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1010-font-size, 16px);
	font-weight: var(--e-global-typography-b1f1010-font-weight, 400);
}

.el-bufon-footer__platforms {
	display: flex;
	align-items: center;
	gap: 22px;
}

.el-bufon-footer__credit a {
	color: var(--e-global-color-title02, var(--el-bufon-color-title-invert));
}

@media (max-width: 1024px) {
	.el-bufon-footer-topbar__inner {
		padding-inline: 24px;
	}

	.el-bufon-footer__inner {
		padding: 48px 24px 0;
	}

	.el-bufon-footer__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.el-bufon-footer__stay {
		padding-bottom: 36px;
	}

	.el-bufon-footer__title {
		font-size: 32px;
	}

	.el-bufon-footer__accordion {
		border-top: 1px solid color-mix(in srgb, var(--e-global-color-body002, var(--el-bufon-color-body-invert)) 25%, transparent);
	}

	.el-bufon-footer__column-heading {
		margin: 0;
	}

	.el-bufon-footer__accordion-button {
		min-height: 64px;
		cursor: pointer;
	}

	.el-bufon-footer__accordion-button > span {
		display: block;
		width: 10px;
		height: 10px;
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: rotate(45deg) translate(-2px, -2px);
		transition: transform 180ms ease;
	}

	.el-bufon-footer__accordion-button[aria-expanded="true"] > span {
		transform: rotate(225deg) translate(-1px, -1px);
	}

	.el-bufon-footer__accordion-panel {
		padding: 0 0 28px;
	}

	.el-bufon-footer__accordion-panel[hidden] {
		display: none;
	}

	.el-bufon-footer__meta {
		align-items: flex-start;
		flex-direction: column;
		min-height: 0;
		padding: 36px 0;
	}

	.el-bufon-footer__legal-menu {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.el-bufon-footer__credit {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
	}
}

@media (max-width: 600px) {
	.el-bufon-footer-topbar__inner {
		gap: 16px;
		padding-inline: 20px;
	}

	.el-bufon-footer-topbar__host {
		display: none;
	}
}

@media (max-width: 600px) {
	.el-bufon-footer__inner {
		padding-inline: 20px;
	}

	.el-bufon-footer__reviews {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}
}

/* --------------------------------------------------------------
   Spain destination content repeater
   -------------------------------------------------------------- */

.el-bufon-spain-content {
	display: grid;
	gap: 96px;
	width: 100%;
}

.el-bufon-spain-content__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas: "copy media";
	align-items: center;
	gap: 64px;
}

.el-bufon-spain-content__item.is-reversed {
	grid-template-areas: "media copy";
}

.el-bufon-spain-content__copy {
	grid-area: copy;
}

.el-bufon-spain-content__media {
	grid-area: media;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 5px;
	aspect-ratio: 3 / 2;
}

.el-bufon-spain-content__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.el-bufon-spain-content__title {
	margin: 0 0 16px;
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
	font-family: var(--e-global-typography-b1f1002-font-family, "Fraunces"), serif;
	font-size: var(--e-global-typography-b1f1002-font-size, 40px);
	font-weight: var(--e-global-typography-b1f1002-font-weight, 600);
	font-style: var(--e-global-typography-b1f1002-font-style, normal);
	line-height: var(--e-global-typography-b1f1002-line-height, 1.15);
	letter-spacing: var(--e-global-typography-b1f1002-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1002-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1002-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1002-word-spacing, normal);
}

.el-bufon-spain-content__text,
.el-bufon-spain-content__text p {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	font-family: var(--e-global-typography-b1f1009-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1009-font-size, 18px);
	font-weight: var(--e-global-typography-b1f1009-font-weight, 400);
	font-style: var(--e-global-typography-b1f1009-font-style, normal);
	line-height: var(--e-global-typography-b1f1009-line-height, 1.55);
	letter-spacing: var(--e-global-typography-b1f1009-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1009-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1009-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1009-word-spacing, normal);
}

.el-bufon-spain-content__text p {
	margin: 0;
}

/* Package content blocks extend the Spain alternating-content component. */
.el-bufon-package-content__item.has-no-media {
	display: block;
}

.el-bufon-package-content__item.has-no-media .el-bufon-package-content__copy {
	width: 100%;
}

.el-bufon-package-content__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 24px;
	padding: 12px 24px;
	border: 0;
	border-radius: 5px;
	background: var(--e-global-color-pkgbtn1, #767b4c);
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	font-family: var(--e-global-typography-b1f1012-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1012-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1012-font-weight, 500);
	font-style: var(--e-global-typography-b1f1012-font-style, normal);
	line-height: var(--e-global-typography-b1f1012-line-height, 1.2);
	letter-spacing: var(--e-global-typography-b1f1012-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1012-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1012-text-transform, none);
	word-spacing: var(--e-global-typography-b1f1012-word-spacing, normal);
	box-shadow: none;
	transform: none;
}

.el-bufon-package-content__button:hover,
.el-bufon-package-content__button:focus,
.el-bufon-package-content__button:active {
	background: var(--e-global-color-pkgbtn1, #767b4c);
	color: var(--e-global-color-white01, var(--el-bufon-color-white));
	text-decoration: none;
	box-shadow: none;
	transform: none;
}

.el-bufon-package-content__button:focus-visible {
	outline: 2px solid var(--e-global-color-title01, var(--el-bufon-color-title));
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.el-bufon-spain-content {
		gap: 48px;
	}

	.el-bufon-spain-content__item,
	.el-bufon-spain-content__item.is-reversed {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"copy"
			"media";
		gap: 16px;
	}

	.el-bufon-spain-content__title {
		font-size: var(--e-global-typography-b1f1002-font-size, 32px);
	}

	.el-bufon-spain-content__text,
	.el-bufon-spain-content__text p {
		font-size: var(--e-global-typography-b1f1009-font-size, 16px);
	}
}
/* ==========================================================================
   Rank Math breadcrumbs
   ========================================================================== */

.el-bufon-breadcrumbs,
.el-bufon-breadcrumbs .elementor-shortcode,
.el-bufon-breadcrumbs .rank-math-breadcrumb {
	width: 100%;
}

.el-bufon-breadcrumbs .rank-math-breadcrumb {
	padding: 12px 0;
	color: var(--e-global-color-sec0002, var(--el-bufon-color-secondary-hover));
	font-family: var(--e-global-typography-b1f1013-font-family, "Mulish"), sans-serif;
	font-size: var(--e-global-typography-b1f1013-font-size, 12px);
	font-weight: var(--e-global-typography-b1f1013-font-weight, 500);
	font-style: var(--e-global-typography-b1f1013-font-style, normal);
	line-height: var(--e-global-typography-b1f1013-line-height, 1.4);
	letter-spacing: var(--e-global-typography-b1f1013-letter-spacing, normal);
	text-decoration: var(--e-global-typography-b1f1013-text-decoration, none);
	text-transform: var(--e-global-typography-b1f1013-text-transform, uppercase);
	word-spacing: var(--e-global-typography-b1f1013-word-spacing, normal);
}

.el-bufon-breadcrumbs .rank-math-breadcrumb p {
	margin: 0;
}

.el-bufon-breadcrumbs .rank-math-breadcrumb a {
	color: var(--e-global-color-body001, var(--el-bufon-color-body));
	text-decoration: none;
	transition: color 160ms ease;
}

.el-bufon-breadcrumbs .rank-math-breadcrumb a:hover,
.el-bufon-breadcrumbs .rank-math-breadcrumb a:focus-visible {
	background: transparent;
	color: var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	text-decoration: none;
	transform: none;
}

.el-bufon-breadcrumbs .rank-math-breadcrumb a:focus-visible {
	border-radius: 2px;
	outline: 2px solid var(--e-global-color-cta0001, var(--el-bufon-color-cta));
	outline-offset: 3px;
}

.el-bufon-breadcrumbs .rank-math-breadcrumb .last,
.el-bufon-breadcrumbs .rank-math-breadcrumb [aria-current="page"] {
	color: var(--e-global-color-title01, var(--el-bufon-color-title));
}

@media (max-width: 767px) {
	.el-bufon-breadcrumbs .rank-math-breadcrumb {
		padding: 10px 0;
	}
}

/* ==========================================================================
   Spain destination CTA USPs
   ========================================================================== */

.el-bufon-spain-cta-usps {
	display: grid;
	gap: 14px;
	padding: 0;
	color: inherit;
	list-style: none;
}

.el-bufon-spain-cta-usps__item {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	line-height: 1.5;
}

.el-bufon-spain-cta-usps__icon {
	color: #f3c34f;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
}

.el-bufon-spain-cta-usps__text {
	color: inherit;
}

@media (max-width: 767px) {
	.el-bufon-spain-cta-usps {
		gap: 10px;
		margin: 20px 0;
	}
}