@charset "utf-8";

/* Estilo especial para enlaces de hoteles Prestige */
.prestige-hotel,
.prestige-hotel:hover,
.prestige-hotel:active,
.prestige-hotel:visited {
	color: #8F816D !important;
}

::selection {
	background-color: var(--title-black-color);
	color: var(--text-white);
}

body {
	padding: 0;
	margin: 0;
	background-color: #fafafa;
	font-family: "Urbanist", sans-serif;
	font-size: 1rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: normal;
	overflow-x: hidden;
}

body.no-scroll {
	overflow: hidden;
}

@font-face {
	font-family: "ArgestaHeadline";
	src: url("../../../fonts/ArgestaHeadline.eot");
	src: url("../../../fonts/ArgestaHeadline.eot?#iefix") format("embedded-opentype"),
		url("../../../fonts/ArgestaHeadline.woff") format("woff"),
		url("../../../fonts/ArgestaHeadline.woff2") format("woff2"),
		url("../../../fonts/ArgestaHeadline.ttf") format("truetype"),
		url("../../../fonts/ArgestaHeadline.svg") format("svg");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "ArgestaHeadline";
	src: url("../../../fonts/ArgestaHeadlineItalic.eot");
	src: url("../../../fonts/ArgestaHeadlineItalic.eot?#iefix") format("embedded-opentype"),
		url("../../../fonts/ArgestaHeadlineItalic.woff") format("woff"),
		url("../../../fonts/ArgestaHeadlineItalic.woff2") format("woff2"),
		url("../../../fonts/ArgestaHeadlineItalic.ttf") format("truetype"),
		url("../../../fonts/ArgestaHeadlineItalic.svg") format("svg");
	font-weight: normal;
	font-style: italic;
}

/* Fuente normal */
@font-face {
	font-family: 'Playfair';
	src: url('../../../fonts/ArgestaHeadline-Italic-VariableFont_opsz,wdth,wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
}

/* Fuente cursiva */
@font-face {
	font-family: 'Playfair';
	src: url('../../../fonts/ArgestaHeadline-VariableFont_opsz,wdth,wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* latin-ext */
@font-face {
	font-family: 'Urbanist';
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url(../../../fonts/urbanist.woff2) format('woff2');
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
	font-family: 'Urbanist';
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url(../../../fonts/urbanist2.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
	font-family: 'Urbanist';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(../../../fonts/urbanist3.woff2) format('woff2');
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
	font-family: 'Urbanist';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(../../../fonts/urbanist4.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--color-base-blue: #00305c;
	--color-base-blue-40: #00305c66;
	--color-base-blue-filter: brightness(0) saturate(100%) invert(15%) sepia(16%) saturate(7204%) hue-rotate(187deg) brightness(99%) contrast(106%);
	--color-base-beige: #e6e1db;
	--color-text: #6d6d6d;
	--color-border: #b0b0b0;
	--color-border-filter: brightness(0) saturate(100%) invert(85%) sepia(0%) saturate(1458%) hue-rotate(217deg) brightness(83%) contrast(92%);
	--color-light-blue-16: #b2e3ff21;
	--color-light-blue-32: #b2e3ff52;
	--color-light-blue-48: #b2e3ff7A;
	--color-light-blue: #b2e3ff;
	--color-light-blue-filter: brightness(0) saturate(100%) invert(83%) sepia(3%) saturate(6562%) hue-rotate(180deg) brightness(106%) contrast(101%);
	--title-black-color: #58524A;
	--text-white: #fafafa;

	--text-secondary-solid-80: rgb(0, 48, 92, 0.8);
	--text-secondary-solid-100: #00305c;
	--text-primary-solid-64: #79756F;
	--text-primary-solid-32: #BCBAB6;
	--surface-complement-opacity-48: rgb(243, 241, 231, 0.48);

	/* Layout de dos columnas compartido (hotel-list-header + introductionBox) */
	--two-col-left-width: 50%;
	--two-col-right-width: 50%;
	--two-col-right-padding: 184px;

	/* Espaciado global responsive */
	--space-between-section: 128px;
	--space-between-sections-small: 100px;
	--space-between-items: 40px;

	/* TamaÃ±os globales de tÃ­tulos */
	--title-size: 5rem;
	--title-line-height: 5.5rem;
	--title-size-small: 4rem;
	--title-small-line-height: 4.5rem;
	--title-size-item: 2.25rem;
	--title-item-line-height: 2.75rem;
}

a {
	color: var(--title-black-color);
	text-decoration: none;
}

a:hover {
	color: var(--title-black-color);
	text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title {
	text-wrap: balance;
}

img {
	max-width: 100%;
	height: auto;
}

.padding-t-0 {
	padding-top: 0 !important;
}

.padding-b-0 {
	padding-bottom: 0 !important;
}

.button,
button,
[type=button],
[type=reset],
[type=submit] {
	display: inline-block;
	padding: 10px 23px;
	outline: 0;
	border: 0;
	background-color: transparent;
	border-radius: 30px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 800;
	line-height: 1.125rem;
	letter-spacing: 0.5px;
	text-transform: none;
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.button:hover,
button:hover,
[type=button]:hover,
[type=reset]:hover,
[type=submit]:hover,
.button:focus,
button:focus,
[type=button]:focus,
[type=reset]:focus,
[type=submit]:focus {
	border-color: var(--title-black-color);
	background-color: var(--title-black-color);
	color: var(--text-white);
	text-decoration: none;
}




.buttons {
	display: flex;
	gap: 16px;
	margin-top: 48px;
	flex-wrap: wrap;
}

.buttons .viewDetailsBtn {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 27px;
	font-size: 0.875rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

.buttons .viewDetailsBtn:hover {
	color: var(--color-text);
	transition: all .5s ease;
}

@media(max-width: 992px) {

	body.rooms .buttons {
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
	}

	body.rooms .buttons .button {
		width: fit-content;
	}
}

@media(max-width: 429px) {
	body.rooms .buttons {
		align-items: center;
	}
}


#wrap {
	display: block;
	width: 100%;
	overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

:root {
	--container-width: 1170px;
	--container-padding: calc((100vw - var(--container-width)) / 2);
}

.wow {
	visibility: hidden;
}

.swiperCountDots .current-slide,
.swiperCountDots .total-slides {
	color: var(--color-base-blue)
}


.container {
	max-width: 1546px;
	padding: 0;
}

.grecaptcha-badge {
	display: none;
}

.bubbleButtonLink {
	cursor: pointer;
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 14px;
	color: var(--color-base-blue);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
	z-index: 1;
	width: fit-content;
}

/* Reset para cuando bubbleButtonLink se usa en <button> */
button.bubbleButtonLink {
	background: transparent;
	border: none;
	font-family: inherit;
	cursor: pointer;
}

.bubbleButtonLink:hover {
	transition: all .5s ease;
	color: var(--color-base-blue);
}

.bubbleButtonLink:after {
	content: "";
	width: 40px;
	height: 40px;
	background: var(--color-light-blue-32);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

.bubbleButtonLink:hover:after {
	width: calc(100% + 0px);
	background: var(--color-light-blue-48);
}

/* Sobrescritura para evitar estilos genéricos de button:focus */
.bubbleButtonLink:focus,
.bubbleButtonLink:hover {
	color: var(--color-base-blue);
	background-color: transparent;
	border-color: transparent;
}

#header {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: transparent;
	padding: 15px 30px;
	position: fixed;
	top: 0;
	z-index: 50;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#header:after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: transparent;
	-webkit-backdrop-filter: blur(0px);
	backdrop-filter: blur(0px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#header>.container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 100%;
}

#header .logo {
	width: 140px;
	height: 50px;
	margin: 0 0 0 80px;
	/* Espacio para el icono hamburguesa a la izquierda */
	z-index: 99;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

#header.headerBg .logo {
	width: 100px;
}

#header .leftNav {
	display: inline-block;
	width: auto;
}

/* Contenedor del icono hamburguesa (checkbox + label) */
#header .hamburger-toggle {
	position: absolute;
	top: 50%;
	left: 32px;
	transform: translateY(-50%);
	z-index: 100;
}

/* Estilos del icono hamburguesa en .hamburger-toggle */
#header .hamburger-toggle #nav-btn,
#header .hamburger-toggle #nav-btn+label {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0px solid #fafafa;
	border-radius: 100%;
	position: relative;
	z-index: 99;
	cursor: pointer;
}

#header .hamburger-toggle #nav-btn {
	position: absolute;
	opacity: 0;
	z-index: 100;
}

#header .hamburger-toggle #nav-btn+label span {
	display: block;
	width: 40px;
	height: 1px;
	margin-top: 8px;
	background-color: #fafafa;
	border-radius: 10px;
	position: relative;
	z-index: 99;
	cursor: pointer;
	/* Sincronizado con transición del menú nav (0.35s) */
	transition: .35s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .hamburger-toggle #nav-btn+label span::before,
#header .hamburger-toggle #nav-btn+label span::after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	background-color: #fafafa;
	border-radius: 10px;
	position: absolute;
	left: 0;
	/* Sincronizado con transición del menú nav (0.35s) */
	transition: .35s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .hamburger-toggle #nav-btn+label span::before {
	width: 24px;
	top: -9px;
	left: 0;
	right: inherit;
}

#header .hamburger-toggle #nav-btn+label span::after {
	width: 40px;
	bottom: -9px;
	display: none;
}

#header .hamburger-toggle #nav-btn:checked+label span,
#header .hamburger-toggle #nav-btn:hover+label span,
#header .hamburger-toggle #nav-btn:hover+label span::before,
#header .hamburger-toggle #nav-btn:hover+label span::after {
	width: 40px;
}

#header .hamburger-toggle #nav-btn:checked+label span {
	margin-top: 0;
	background-color: #79756F;
	border-radius: 10px;
	transform: rotate(45deg);
}

#header .hamburger-toggle #nav-btn:checked+label span::before,
#header .hamburger-toggle #nav-btn:checked+label span::after {
	width: 40px;
	max-width: 100%;
	background-color: #79756F;
	top: 0;
	transform: rotate(-90deg);
}

#header .hamburger-toggle #nav-btn:checked+label span::after {
	opacity: 0;
}

/* Estilos para variantes de header (black, headerBg) */
#header.black .hamburger-toggle #nav-btn+label span,
#header.headerBg .hamburger-toggle #nav-btn+label span {
	background-color: #79756F;
}

#header.black .hamburger-toggle #nav-btn+label span::before,
#header.black .hamburger-toggle #nav-btn+label span::after,
#header.headerBg .hamburger-toggle #nav-btn+label span::before,
#header.headerBg .hamburger-toggle #nav-btn+label span::after {
	background-color: #79756F;
}

/* Estilos para header dark */
#header.dark .hamburger-toggle #nav-btn+label span {
	background-color: #79756F;
}

#header.dark .hamburger-toggle #nav-btn+label span::before,
#header.dark .hamburger-toggle #nav-btn+label span::after {
	background-color: #79756F;
}

/* Contenedor del nav desplegable */
#header .leftNav .hamburger {
	position: relative;
	width: auto;
	display: block;
}

/* NOTA: Los estilos del icono hamburguesa (#nav-btn) están definidos arriba en .hamburger-toggle
   ya que ahora el checkbox y label están en ese contenedor separado. */

/* Menú desplegable - Se controla con JavaScript mediante clase .is-open */
#header .leftNav .hamburger nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 80px 0 32px 0;
	background: #fafafa;
	opacity: 0;
	visibility: hidden;
	z-index: 98;
	/* Transición sincronizada con icono hamburguesa (0.35s) */
	-webkit-transition: -webkit-opacity 0.35s, -webkit-visibility 0.35s;
	transition: opacity 0.35s, visibility 0.35s;
	overflow: hidden;
}

/* Estado abierto del menú - controlado por JavaScript */
#header .leftNav .hamburger nav.is-open {
	opacity: 1;
	visibility: visible;
}

#header .leftNav .hamburger nav .nav_middle {
	height: 100%;
	overflow: auto;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar {
	width: 14px;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar-track {
	background: transparent;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

#header .leftNav .hamburger nav .nav_middle::-webkit-scrollbar-thumb {
	min-height: 40px;
	border: 4px solid #fafafa;
	background: #e0e0e0;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	visibility: hidden;
}

#header .leftNav .hamburger nav .nav_middle:hover::-webkit-scrollbar-thumb {
	visibility: visible;
}

#header .leftNav .hamburger nav .nav_middle .container {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	/* Evita espacios verticales entre bloques */
	justify-content: space-between;
	height: 100%;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-name: fadeOutUp;
	animation-name: fadeOutUp;
	animation-delay: 0.5s;
}

#header .leftNav .hamburger nav .nav_middle .container.active {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	animation-delay: 0.5s;
}

#header .leftNav .hamburger nav .nav_middle ul.language {
	display: flex;
	align-items: center;
	gap: 7px;
	width: 100%;
	padding: 16px 16px;
	margin: 0;
	border-top: 1px solid rgb(115 98 73 / 8%);
	border-bottom: 1px solid rgb(115 98 73 / 8%);
	list-style-type: none;
	text-transform: uppercase;
}

#header .leftNav .hamburger nav .nav_middle ul.language li {
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.5rem;
}

#header .leftNav .hamburger nav .nav_middle ul.language li a {
	display: block;
	padding: 0 16px;
	background: transparent;
	border-radius: 24px;
	color: var(--text-primary-solid-64);
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle ul.language>li>a:hover {
	background: rgb(243 241 231 / 48%);
	color: var(--title-black-color);
	text-decoration: none;
}

#header .leftNav .hamburger nav .nav_middle ul.language>li.current>a {
	background: rgb(243 241 231 / 48%);
	color: var(--title-black-color);
	font-weight: 700;
	text-decoration: none;
}

#header .leftNav .hamburger nav .nav_middle .menu {
	width: calc(100% - 0px);
	padding: 16px 16px 16px 32px;
}

#header .leftNav .hamburger nav .nav_middle .corporate-menu-title+.menu {
	padding: 12px 16px 16px 50px;
}

#header .leftNav .hamburger nav .nav_middle .menu ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li {
	margin: 0 0 8px 0;
	font-size: 1.125rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li:last-child {
	margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li a {
	display: inline-block;
	color: var(--color-text);
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .menu ul li a:hover,
#header .leftNav .hamburger nav .nav_middle .menu ul li.current>a {
	color: var(--title-black-color);
	text-decoration: none;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.current>a {
	font-weight: 700;
}

#header .leftNav .hamburger nav .nav_middle .menu ul.sub-menu {
	margin-left: 20px;
}

#header .leftNav .hamburger nav .nav_middle .menu ul.sub-menu li {
	font-size: 2.552rem;
	line-height: 3.177rem;
}

/* ----------------------------------------------------------------------------
   Estilos del Submenú de Hoteles
   ---------------------------------------------------------------------------- */

/* Item con submenú: estructura base */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu {
	position: relative;
}

/* Trigger del submenú (enlace "Hoteles" con icono) */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu>a.js-submenu-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: fit-content;
	cursor: pointer;
}

/* Icono chevron: rotación con transición suave */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu-icon {
	transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
	flex-shrink: 0;
	margin-left: 16px;
	margin-top: 4px;
}

/* Icono rotado cuando el submenú está expandido */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu.is-expanded .submenu-icon {
	transform: rotate(180deg);
}

/* Contenedor del submenú: oculto por defecto */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	background: rgb(243 241 231 / 16%);
	margin-top: 0;
	/* Sin margen cuando está oculto para no ocupar espacio */
	border-radius: 8px;
	transition: max-height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),
		opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),
		margin-top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* Submenú visible cuando tiene clase .is-open */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu.is-open {
	max-height: 1000px;
	opacity: 1;
	padding: 0 0 12px 0;
	margin-top: 8px;
}

/* Enlace "Ver todos" */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__view-all {
	display: block;
	padding: 8px 16px;
	margin-bottom: 8px;
	color: var(--title-black-color);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.5rem;
	text-decoration: none;
	border-bottom: 1px solid rgb(115 98 73 / 12%);
	transition: color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__view-all:hover {
	color: var(--text-primary-solid-100);
}

/* Grupo de zona (ej: Ibiza, Mallorca) */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__group {
	padding: 12px 16px 0 16px;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__group:first-of-type {
	padding-top: 8px;
}

/* Título de zona (ej: "Ibiza") */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__zone-title {
	display: block;
	margin-bottom: 8px;
	font-size: 0.875rem;
	color: var(--title-black-color);
	font-weight: 800;
	line-height: 1.5rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
}

/* Lista de hoteles dentro de cada zona */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__hotels {
	padding: 0;
	margin: 0 0 12px 0;
	list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__hotels:last-child {
	margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__hotels li {
	margin: 0 0 4px 0;
	font-size: 1rem;
	line-height: 1.5rem;
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__hotels li:last-child {
	margin-bottom: 0;
}

/* Enlaces de hoteles individuales */
#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__hotel-link {
	display: block;
	padding: 4px 0 4px 12px;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	font-size: 0.9375rem;
	line-height: 1.5rem;
	text-decoration: none;
	border-left: 2px solid transparent;
	transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .menu ul li.has-submenu .submenu__hotel-link:hover {
	color: var(--title-black-color);
	border-left-color: var(--text-primary-solid-64);
	padding-left: 16px;
}

/* ----------------------------------------------------------------------------
	Fin de Estilos del Submenú de Hoteles
   ---------------------------------------------------------------------------- */

#header .leftNav .hamburger nav .nav_middle .info {
	width: calc(100% - 0px);
}

#header .leftNav .hamburger nav .nav_middle .info .box {
	padding: 16px 16px;
	border-top: 1px solid rgb(115 98 73 / 8%);
}

#header .leftNav .hamburger nav .nav_middle .info .box:last-child {
	padding-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .info h4 {
	margin: 0 0 16px 0;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 800;
	line-height: 1.5rem;
	text-transform: uppercase;
}

#header .leftNav .hamburger nav .nav_middle .info ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

#header .leftNav .hamburger nav .nav_middle .info ul h5 {
	margin: 0 0 8px 0;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.5rem;
	text-decoration: underline;
	text-underline-offset: 7px;
}

#header .leftNav .hamburger nav .nav_middle .info ul li {
	margin-bottom: 16px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.5rem;
}

#header .leftNav .hamburger nav .nav_middle .info ul li:last-child {
	margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .info ul li a {
	display: inline-block;
	color: var(--text-primary-solid-64);
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .info ul li a:hover {
	color: var(--title-black-color);
	text-decoration: none;
}

#header .leftNav .hamburger nav .nav_middle .info ul.contact-phone li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

#header .leftNav .hamburger nav .nav_middle .info ul.contact-phone li img {
	max-width: 20px;
	filter: invert(47%) sepia(10%) saturate(232%) hue-rotate(357deg) brightness(95%) contrast(91%);
}

#header .leftNav .hamburger nav .nav_middle .info ul.social {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 12px;
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li {
	margin-bottom: 0;
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	filter: none;
	vertical-align: top;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .leftNav .hamburger nav .nav_middle .info ul.social li img {
	max-width: 24px;
	filter: invert(47%) sepia(10%) saturate(232%) hue-rotate(357deg) brightness(95%) contrast(91%);
}

/* ----------------------------------------------------------------------------
   Mejoras Responsive del Menú Hamburguesa
   ---------------------------------------------------------------------------- */

/* Overlay de fondo semi-transparente para desktop (>=992px) */
@media (min-width: 992px) {
	#header .leftNav .hamburger::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		z-index: 97;
		transition: opacity 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
			visibility 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
	}

	/* Overlay visible cuando el nav dentro tiene clase .is-open */
	#header .leftNav .hamburger:has(nav.is-open)::before {
		opacity: 1;
		visibility: visible;
	}
}

/* Desktop Pequeño: 992px - 1440px (ancho del menú: 50vw) */
@media (min-width: 992px) and (max-width: 1440px) {
	#header .leftNav .hamburger nav {
		width: 50vw;
		left: 0;
		box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
	}
}

/* Desktop Grande: >1440px (ancho del menú: 33vw) */
@media (min-width: 1441px) {
	#header .leftNav .hamburger nav {
		width: 33vw;
		left: 0;
		box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
	}
}

/* ----------------------------------------------------------------------------
   Fin de Mejoras Responsive del Menú Hamburguesa
   ---------------------------------------------------------------------------- */

#header .leftNav ul.mainMenu {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 18px 0;
	margin: 0;
	list-style-type: none;
}

#header .leftNav ul.mainMenu li {
	position: relative;
	padding: 0;
	font-size: 1rem;
	color: var(--text-white);
	font-weight: 400;
	line-height: 2.5rem;
	padding: 0 16px;
}

#header .leftNav ul.mainMenu li a {
	position: relative;
	display: block;
	color: var(--text-white);
	text-decoration: none;
	transition: all .5s ease;
}

#header .leftNav ul.mainMenu li a:hover {
	color: var(--text-white);
}

#header .leftNav ul.mainMenu li a:after {
	content: "";
	display: block;
	border-radius: 28px;
	background: var(--color-light-blue-48);
	width: 40px;
	height: 40px;
	transition: all .8s ease;
	opacity: 0;
	position: absolute;
	top: 0;
	left: -20px;
	z-index: -1;
}

#header .leftNav ul.mainMenu>li>a.has-opacity {
	color: var(--surface-complement-opacity-48);
}

#header .leftNav ul.mainMenu>li.current>a {
	font-weight: 700;
}

#header .leftNav ul.mainMenu>li.current>a:after {
	opacity: 1;
}

#header .leftNav ul.mainMenu li:hover>ul.sub-menu {
	transform: translateY(0em);
	opacity: 1;
	visibility: visible;
}

#header .leftNav ul.mainMenu li ul.sub-menu {
	padding: 10px 10px;
	margin: 0;
	list-style-type: none;
	width: auto;
	background-color: #fafafa;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	transform: translateY(0.5em);
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	transition: all .6s cubic-bezier(.3, 1, .3, 1);
}

#header .leftNav ul.mainMenu li ul.sub-menu li {
	position: relative;
	padding: 5px 10px;
	font-size: 0.844rem;
	color: #8A8A8A;
	font-weight: 400;
	line-height: 1.25rem;
	white-space: nowrap;
	text-transform: none;
}

#header .leftNav ul.mainMenu li ul.sub-menu li a {
	display: inline-block;
	color: #8A8A8A;
}

#header .leftNav ul.mainMenu li ul.sub-menu li a:after {
	background: #8A8A8A;
}

#header .leftNav ul.mainMenu li ul.sub-menu li a:hover:after {
	transform: scaleX(1);
	transform-origin: left;
}

#header .leftNav ul.mainMenu li ul.sub-menu :has(a:hover)>a {
	color: #8A8A8A;
}

#header .leftNav ul.mainMenu li ul.sub-menu li.current>a {
	color: var(--title-black-color);
	font-weight: 700;
	text-decoration: none;
}

#header .leftNav ul.mainMenu li ul li ul.sub-menu {
	margin-top: -5px;
	top: 0;
	left: 100%;
}

#header .leftNav ul.mainMenu>li>ul>li:hover>ul.sub-menu {
	opacity: 1;
	visibility: visible;
}

#header .rightNav {
	display: flex;
	grid-gap: 30px;
	width: auto;
	align-items: center;
	justify-content: flex-end;
}

#header .rightNav .languageMenu {
	position: relative;
	z-index: 1;
	text-transform: uppercase;
}

#header .rightNav .languageMenu label {
	display: flex;
	width: 100%;
	margin: 0;
	cursor: pointer;
}

#header .rightNav .languageMenu label a {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 8px;
	font-size: 0.875rem;
	color: var(--text-white);
	font-weight: 800;
	line-height: 1.5rem;
	letter-spacing: 0.5px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .rightNav .languageMenu label a img {
	filter: brightness(0) invert(1);
}

#header .rightNav .languageMenu label a:hover,
#header .rightNav .languageMenu label a.open {
	color: var(--text-white);
}

#header .rightNav .languageMenu ul {
	display: none;
	width: 100%;
	list-style-type: none;
	margin: 10px 0 0 0;
	padding: 8px 15px;
	background-color: #fafafa;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	border-radius: 5px;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}

#header .rightNav .languageMenu ul li:last-child {
	margin-bottom: 0;
}

#header .rightNav .languageMenu ul li a {
	display: block;
	padding: 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .rightNav .languageMenu ul li a:hover {
	color: var(--title-black-color);
	font-weight: 400;
}

#header .rightNav .languageMenu ul li.current>a {
	color: var(--title-black-color);
	font-weight: 700;
}

#header .rightNav .bookNowBtn {
	display: flex;
	padding: 10px 23px;
	background: var(--color-base-beige);
	border-radius: 30px;
	font-size: 0.875rem;
	color: var(--color-base-blue);
	border: 1px solid var(--color-base-blue);
	font-weight: bolder;
	line-height: 1.125rem;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	overflow: hidden;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header .rightNav .bookNowBtn:hover {
	background-color: var(--color-base-blue);
	color: var(--text-white);
	text-decoration: none;
}

#header ul.hotelMenu {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 25px 0 0 0;
	margin: 25px 0 -70px 0;
	list-style-type: none;
}

#header ul.hotelMenu li {
	padding: 0;
	font-size: 0.844rem;
	color: var(--text-white);
	font-weight: 800;
	line-height: 1.25rem;
	text-transform: uppercase;
}

#header ul.hotelMenu li a {
	position: relative;
	display: block;
	color: var(--text-white);
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#header ul.hotelMenu li a:after {
	content: '';
	width: 100%;
	height: 1px;
	background: #fafafa;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .40s cubic-bezier(0, 0, 0.57, 1);
}

#header ul.hotelMenu>li>a:hover:after,
#header ul.hotelMenu>li:hover>a:after,
#header ul.hotelMenu>li.current>a:after {
	transform: scaleX(1);
	transform-origin: left;
}

/*-------------- Sticky Header Start --------------*/
#header.headerTransform {
	transform: translateY(-101%);
}

#header.headerBg:after {
	background-color: rgb(243 241 231 / 80%);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

#header.black .logo img,
#header.headerBg .logo img {
	width: 100%;
	height: 90%;
	margin-top: 5%;
	filter: none;
}

#header.black .leftNav ul.mainMenu li a,
#header.headerBg .leftNav ul.mainMenu li a {
	color: var(--text-primary-solid-64);
}

#header.black .leftNav ul.mainMenu li a:hover,
#header.headerBg .leftNav ul.mainMenu li a:hover {
	color: var(--text-primary-solid-64);
}

#header.black .leftNav ul.mainMenu>li>a.has-opacity,
#header.headerBg .leftNav ul.mainMenu>li>a.has-opacity {
	color: var(--text-primary-solid-32);
}

#header.black .leftNav ul.mainMenu>li.current>a,
#header.headerBg .leftNav ul.mainMenu>li.current>a {
	color: var(--title-black-color);
}

#header.black .rightNav .languageMenu label a,
#header.headerBg .rightNav .languageMenu label a {
	color: var(--text-primary-solid-64);
}

#header.black .rightNav .languageMenu label a img,
#header.headerBg .rightNav .languageMenu label a img {
	filter: none;
}

#header.black .rightNav .languageMenu label a:hover,
#header.black .rightNav .languageMenu label a.open,
#header.headerBg .rightNav .languageMenu label a:hover,
#header.headerBg .rightNav .languageMenu label a.open {
	color: var(--text-primary-solid-64);
}

#header.black .rightNav .bookNowBtn,
#header.headerBg .rightNav .bookNowBtn {
	color: var(--color-base-blue);
}

#header.black .rightNav .bookNowBtn:hover,
#header.headerBg .rightNav .bookNowBtn:hover {
	background-color: var(--color-base-blue);
	border-color: var(--color-base-blue);
	color: var(--text-white);
}

/*-------------- Sticky Header End --------------*/
#neomask {
	width: 100%;
	justify-content: center;
	display: flex;
}

#searchForm {
	width: 100%;
	position: absolute;
	bottom: 70px;
	z-index: 2;
}

#searchForm .container {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 0;
}

#searchForm a.searchFormClose {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	grid-gap: 8px;
	width: 45px;
	margin: auto;
	color: var(--text-primary-solid-64);
	position: absolute;
	top: 40px;
	right: 0;
	left: 0;
	z-index: 1;
}

#searchForm a.searchFormClose span {
	background-color: rgb(115 98 73 / 8%);
	border-radius: 30px;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#searchForm a.searchFormClose:hover span {
	background-color: rgb(115, 98, 73, 0.64);
}

#searchForm a.searchFormClose span img {
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#searchForm a.searchFormClose:hover span img {
	filter: brightness(0) invert(1);
}

#searchForm .field {
	position: relative;
	width: 33.333333%;
	padding: 0 15px;
}

#searchForm .field.hotels {
	width: 270px;
}

#searchForm .field.dateinout {
	width: 276px;
}

#searchForm .field.guests {
	width: 276px;
}

#searchForm .field.search {
	width: auto;
	padding-right: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

#searchForm .field label {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--text-white);
}

#searchForm .field .form-control {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 40px;
	padding: 0;
	border: none;
	border-bottom: 1px solid #fafafa;
	background-color: transparent;
	border-radius: 0px;
	box-shadow: none;
	font-size: 16px;
	color: var(--text-white);
	font-weight: 300;
	letter-spacing: 1px;
}

#searchForm .field .form-control::placeholder {
	color: var(--text-white);
}

/* Ellipsis para inputs de hotel con texto largo */
#searchForm .field.hotels .form-control {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	line-height: 40px;
}

#searchForm .field button {
	background: var(--color-base-beige);
	color: var(--color-base-blue);
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
	border-color: transparent;
}

#searchForm .field button:hover {
	background-color: var(--color-base-blue);
	color: var(--text-white);
}

#searchForm .field .popups {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	min-width: 100%;
	margin-top: 10px;
	padding: 30px 30px;
	background-color: #fafafa;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	border-radius: 12px;
	position: absolute;
	bottom: 0px;
	left: 0%;
	transform: translateX(0%);
	z-index: 1;
}

#searchForm .field .popups[style*="display: block"] {
	display: flex !important;
}

#searchForm .field .popups .popupsCancel {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 32px;
	color: var(--text-primary-solid-64);
	position: absolute;
	top: 10px;
	right: 14px;
	z-index: 1;
}

#searchForm .field .popups .popupsCancel span {
	background-color: rgb(115 98 73 / 8%);
	border-radius: 30px;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#searchForm .field .popups .popupsCancel:hover span {
	background-color: rgb(115, 98, 73, 0.64);
}

#searchForm .field .popups .popupsCancel span img {
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#searchForm .field .popups .popupsCancel:hover span img {
	filter: brightness(0) invert(1);
}

#searchForm .field .popups .calendar {
	display: block;
	width: 544px;
}

#searchForm .field .popups .calendar .daterangepicker {
	display: block !important;
	width: 100%;
	margin: 0 auto;
	border: none;
	background-color: transparent;
	border-radius: 0;
	font-family: "Urbanist", sans-serif;
	position: static;
}

#searchForm .field .popups .calendar .daterangepicker:before,
#searchForm .field .popups .calendar .daterangepicker:after {
	display: none;
}

#searchForm .field .popups .calendar .daterangepicker .ranges {
	display: none;
}

#searchForm .field .popups .calendar .daterangepicker .drp-calendar.left {
	padding: 0;
	margin-right: 30px;
}

#searchForm .field .popups .calendar .daterangepicker .drp-calendar.right {
	padding: 0;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table {
	padding: 0;
	border: none;
	border-radius: 0px;
	background-color: transparent;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table table {
	border-spacing: 4px;
	border-collapse: inherit;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td {
	min-width: 32px;
	width: 32px;
	height: 32px;
	border: none;
	background-color: transparent;
	border-radius: 100%;
	font-size: 0.844rem;
	color: var(--title-black-color);
	line-height: normal;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th {
	color: var(--title-black-color);
	font-size: 0.75rem;
	font-weight: normal;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th.month {
	width: auto;
	font-size: 0.938rem;
	color: var(--text-secondary-solid-80);
	font-weight: 500;
	text-transform: uppercase;
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table .next span,
#searchForm .field .popups .calendar .daterangepicker .calendar-table .prev span {
	border-color: var(--text-secondary-solid-80);
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table .next:hover span,
#searchForm .field .popups .calendar .daterangepicker .calendar-table .prev:hover span {
	border-color: var(--text-white);
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table th.available:hover,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td.available:hover {
	background-color: var(--text-secondary-solid-80);
	color: var(--text-white);
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table td.off,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td.off.in-range,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td.off.start-date,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td.off.end-date {
	background-color: transparent;
	color: var(--text-primary-solid-32);
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table td.in-range {
	background-color: rgb(143 129 109 / 30%);
	border-color: transparent;
	color: var(--title-black-color);
}

#searchForm .field .popups .calendar .daterangepicker .calendar-table td.active,
#searchForm .field .popups .calendar .daterangepicker .calendar-table td.active:hover {
	background-color: var(--text-secondary-solid-80);
	color: var(--text-white);
}

#searchForm .field .popups .calendar .daterangepicker .drp-buttons {
	padding: 10px 0 0 0;
	border-color: rgb(0 0 0 / 20%);
}

#searchForm .field .popups .calendar .daterangepicker .drp-selected {
	font-size: 0.938rem;
	color: var(--title-black-color);
}

#searchForm .field .popups .calendar .daterangepicker .drp-buttons .btn {
	padding: 9px 30px;
	border-color: var(--text-primary-solid-64);
	background-color: transparent;
	box-shadow: none;
	font-size: 0.844rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.063rem;
}

#searchForm .field .popups .calendar .daterangepicker .drp-buttons .btn:hover {
	background-color: var(--text-primary-solid-64);
	color: var(--text-white);
}

/* ----------------------------------------------------------------------------
   Selector de Hoteles - #searchForm (estilo mega-dropdown)
   ---------------------------------------------------------------------------- */

#searchForm .field.hotels .popups {
	padding: 32px 32px 32px;
}

#searchForm .field .popups .hotelsbox {
	min-width: 720px;
}

/* Contenedor de columnas */
#searchForm .field .popups .hotelsbox__columns {
	display: flex;
	gap: 0;
}

/* Columna individual (zona) */
#searchForm .field .popups .hotelsbox__column {
	flex: 1;
	min-width: 120px;
	padding: 0 24px;
}

#searchForm .field .popups .hotelsbox__column:first-child {
	padding-left: 0;
}

#searchForm .field .popups .hotelsbox__column:last-child {
	padding-right: 0;
}

/* Separador visual entre columnas */
#searchForm .field .popups .hotelsbox__column:not(:last-child) {
	border-right: 1px solid rgba(115, 98, 73, 0.1);
}

/* Título de zona */
#searchForm .field .popups .hotelsbox .destination-title {
	display: block;
	margin-bottom: 4px;
	padding: 0;
	color: #736249;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	line-height: normal;
	cursor: default;
}

/* Opciones de hotel */
#searchForm .field .popups .hotelsbox .hotel-option {
	display: block;
	padding: 6px 0;
	margin: 0;
	cursor: pointer;
}

#searchForm .field .popups .hotelsbox .hotel-option:last-child {
	margin-bottom: 0;
}

/* Nombre del hotel */
#searchForm .field .popups .hotelsbox .hotel-name {
	display: block;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: #8a8a8a;
	transition: color 0.2s ease;
}

#searchForm .field .popups .hotelsbox .hotel-option:hover .hotel-name {
	color: #736249;
}

#searchForm .field .popups .hotelsbox .hotel-option.selected .hotel-name {
	color: #736249;
}

/* Responsive - Selector de Hoteles #searchForm */
@media (max-width: 992px) {
	#searchForm .field.hotels .popups {
		padding: 24px 20px;
	}

	#searchForm .field .popups .hotelsbox {
		min-width: auto;
		width: 100%;
	}

	#searchForm .field .popups .hotelsbox__columns {
		flex-direction: column;
		gap: 20px;
	}

	#searchForm .field .popups .hotelsbox__column {
		padding: 0;
		padding-bottom: 20px;
		border-bottom: 1px solid rgba(115, 98, 73, 0.1);
	}

	#searchForm .field .popups .hotelsbox__column:not(:last-child) {
		border-right: none;
	}

	#searchForm .field .popups .hotelsbox__column:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}
}

#slider {
	display: block;
	width: 100%;
	/*overflow: hidden;*/
	position: relative;
	z-index: 1;
}

#slider>.container {
	position: absolute;
	height: 100%;
	right: 0;
	left: 0;
}

#slider>.container .bookBtnBox {
	display: none;
	padding: 10px;
	width: 100%;
	background-color: rgb(115 98 73 / 32%);
	text-align: center;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 4;
}

#slider>.container .bookBtnBox:after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgb(115 98 73 / 32%);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#slider>.container .bookBtnBox .bookNowBtn {
	border-color: #F3F1E7;
	background-color: #F3F1E7;
	color: var(--title-black-color);
	text-transform: uppercase;
}

#slider,
#slider .home-slider-video,
#slider .inner-slider-video,
#slider .home-slider {
	width: 100vw;
	height: 100dvh;
}

#slider .home-slider-video:before,
#slider .inner-slider-video:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 35%);
	background: linear-gradient(180deg, rgb(0 0 0 / 35%) 0%, rgb(255 255 255 / 0%) 50%, rgb(0 0 0 / 35%) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#slider .inner-slider-video video,
#slider .home-slider-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#slider .inner-slider-video img,
#slider .home-slider-video img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#slider .home-slider .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#slider .home-slider .swiper-slide:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 35%);
	background: linear-gradient(180deg, rgb(0 0 0 / 35%) 0%, rgb(255 255 255 / 0%) 50%, rgb(0 0 0 / 35%) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#slider .home-slider .swiper-slide picture,
#slider .home-slider .swiper-slide picture img {
	width: 100%;
}

#slider .home-slider .swiperNav {
	display: flex;
	justify-content: space-between;
	gap: 0px;
	width: 100%;
	height: 100%;
	margin-top: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

#slider .home-slider .swiperNav [class*=swiper-button-] {
	width: 50%;
	height: 100%;
	background: none;
	border-radius: 0%;
}

#slider .home-slider .swiperNav .swiper-button-prev {
	cursor: url(../../../images/icons/swiper-prev-hero.svg) 40 40, auto;
}

#slider .home-slider .swiperNav .swiper-button-next {
	cursor: url(../../../images/icons/swiper-next-hero.svg) 40 40, auto;
}

#slider .home-slider .swiperCountDots {
	margin-top: 0;
	color: var(--text-white);
	position: absolute;
	bottom: 70px;
	right: 30px;
	left: auto;
}

#slider .home-slider .swiperCountDots [class*=swiper-button-] {
	display: none;
	width: 40px;
	height: 40px;
	background: #F3F1E7;
}

#slider .home-slider .swiperCountDots [class*=swiper-button-] img {
	width: 16px;
	filter: none;
}

#slider .home-slider .swiperCountDots .swiper-pagination .swiper-pagination-bullet {
	background: rgb(0 0 0 / 24%);
}

#slider .home-slider .swiperCountDots .swiper-pagination .swiper-pagination-bullet:hover,
#slider .home-slider .swiperCountDots .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #fafafa;
}

#caption {
	width: 50%;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	left: 0;
	right: 0;
	z-index: 2;
	overflow: hidden;
	margin: auto;
	text-align: center;
}

#caption .bubbleButtonLink,
#caption .bubbleButtonLink:focus,
#caption .bubbleButtonLink:hover {
	color: var(--text-white);
}

#caption .subtitle {
	display: block;
	margin: 0 0 20px 0;
	font-size: 1.125rem;
	color: var(--text-white);
	font-weight: 500;
	line-height: 1.75rem;
	text-align: center;
	letter-spacing: 2px;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
}

#caption .subtitle br {
	display: block;
}

#caption .title {
	display: block;
	margin: 0 0 20px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size-small);
	line-height: var(--title-small-line-height);
	color: var(--text-white);
	font-weight: 400;
	text-align: center;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
}

#caption .title br {
	display: block;
}

#caption .title strong {
	font-weight: 500;
	font-style: italic;
}

#caption .exploreLink {
	position: relative;
	display: inline-block;
	margin: 0 10px;
	padding: 10px 23px;
	font-size: 1.125rem;
	color: var(--text-white);
	font-weight: 400;
	line-height: 1.75rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
}

#caption .exploreLink:hover {
	color: var(--title-black-color);
	transition: all .5s ease;
}

#caption .exploreLink:after {
	content: "";
	width: 48px;
	height: 48px;
	background: rgb(243 241 231 / 48%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: -10px;
	z-index: -1;
	transition: all .5s ease;
}

#caption .exploreLink:hover:after {
	width: calc(100% + 20px);
	background: rgb(243 241 231 / 80%);
	transition: all .5s ease;
}

#middle {
	display: block;
	width: 100%;
	position: relative;
}

#benefitsSec {
	position: relative;
	padding-top: var(--space-between-section);
	padding-bottom: var(--space-between-section);
	overflow: hidden;
}

#benefitsSec .benefitsBox {
	width: min(100%, 1278px);
	display: flex;
	align-items: center;
	margin: 0 auto;
	padding-left: 16px;
	padding-right: 16px;
}

#benefitsSec .benefitsBox .content {
	width: 50%;
}

#benefitsSec .benefitsBox .content span.title:not(:is(.modalDesign *)) {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--color-base-blue);
	font-weight: 500;
}

#benefitsSec .benefitsBox .content span.title:not(:is(.modalDesign *)) strong {
	font-style: italic;
	font-weight: 400;
}

#benefitsSec .benefitsBox .content p:not(:is(.modalDesign *)) {
	width: 60%;
	margin: 0 0 40px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#benefitsSec .benefitsBox .content p:not(:is(.modalDesign *)):last-child {
	margin-bottom: 0;
}

#benefitsSec .benefitsBox .content p:not(:is(.modalDesign *)) strong {
	font-weight: 500;
}

#benefitsSec .benefitsBox .imageBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 50%;
	gap: 18px
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: calc(50% - 12px);
	position: relative;
	z-index: 0;
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon__layerText {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	inset: 1px 1px 0 0;
	display: flex;
	z-index: 5;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px;
	text-align: center;
	gap: 16px;
	background-color: #fafafa;
	color: var(--color-text);
	line-height: 1.25rem;
	transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1),
		visibility .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon__layerText .button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border-color: transparent;
	background-color: var(--color-light-blue-32);
	color: var(--color-base-blue);
	font-weight: 400;
	text-transform: uppercase;
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon__layerText .button:hover {
	border-color: transparent;
	background-color: var(--color-light-blue-48);
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon span.title {
	display: block;
	margin: 0 0 16px 0;
	font-size: 1.375rem;
	line-height: 2rem;
	color: var(--color-text);
	font-weight: 400;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
	position: relative;
	z-index: 3;
	text-align: center;
	font-family: "ArgestaHeadline", serif;
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon .icon {
	position: relative;
	z-index: 3;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
	filter: var(--color-base-blue-filter);

}

#benefitsSec .benefitsBox .imageBox .benefitsIcon .image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon:hover .image {
	opacity: 0.64;
}

#benefitsSec .benefitsBox .imageBox .benefitsIcon:hover .benefitsIcon__layerText {
	visibility: visible;
	opacity: 1;
}

/* ==========================================================================
	ZONES BLOCK - Variante del bloque benefits para mostrar zonas/destinos
   ========================================================================== */

#zonesSec {
	position: relative;
	padding-top: var(--space-between-sections-small);
	padding-bottom: var(--space-between-sections-small);
	overflow: hidden;
	background-color: #fff;
}

#zonesSec.bgBlue {
	background-color: var(--color-base-blue);
}

#zonesSec.bgBlue .benefitsBox .content span.title,
#zonesSec.bgBlue .benefitsBox .content span.title strong {
	color: var(--color-base-beige);
}

#zonesSec.bgBlue .benefitsBox .content p {
	color: var(--color-base-beige);
}

#zonesSec .benefitsBox {
	width: 100%;
	display: flex;
	align-items: center;
	padding-left: 160px;
	padding-right: 160px;
}

#zonesSec .benefitsBox .content {
	width: 50%;
	padding-left: 50px;
}

#zonesSec .benefitsBox .content span.title {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--color-base-blue);
	font-weight: 400;
}

#zonesSec .benefitsBox .content span.title strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 500;
}

#zonesSec .benefitsBox .content p {
	width: 60%;
	margin: 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#zonesSec .benefitsBox .imageBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 50%;
	gap: 8px;
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: calc(50% - 4px);
	aspect-ratio: 1/1;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone span.title {
	position: relative;
	z-index: 3;
	display: block;
	margin: 0;
	font-size: 1.375rem;
	line-height: 2rem;
	color: var(--text-white);
	font-weight: 500;
	text-align: center;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone .image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: transform .5s cubic-bezier(0.645, 0.045, 0.355, 1),
		filter .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
	transition: background .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone:hover .image {
	transform: scale(1.05);
	filter: brightness(0.85);
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone:hover::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.5) 100%);
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone .btn--zone-cta {
	position: relative;
	z-index: 3;
	display: inline-block;
	margin-top: 16px;
	padding: 12px 28px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--text-white);
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 40px;
	transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#zonesSec .benefitsBox .imageBox .benefitsIcon--zone:hover .btn--zone-cta {
	background-color: var(--text-white);
	color: var(--color-base-blue);
	border-color: var(--text-white);
}

/* ----------------------------------------------------------------------------
   Desktop Peque\00f1o (992px - 1920px)
   ---------------------------------------------------------------------------- */

@media (min-width: 992px) and (max-width: 1920px) {
	#zonesSec .benefitsBox {
		padding-left: 80px;
		padding-right: 80px;
	}

	#zonesSec .benefitsBox .content {
		padding-left: 30px;
	}

	#zonesSec .benefitsBox .content span.title {
		font-size: 3.75rem;
		margin-bottom: 48px;
	}

	#zonesSec .benefitsBox .content p {
		width: 80%;
	}

	#zonesSec .benefitsBox .imageBox .benefitsIcon--zone span.title {
		font-size: 1.25rem;
	}

	#zonesSec .benefitsBox .imageBox .benefitsIcon--zone .btn--zone-cta {
		padding: 10px 24px;
		font-size: 0.6875rem;
	}
}

/* ----------------------------------------------------------------------------
   Tablet y Movil (<992px)
   ---------------------------------------------------------------------------- */

@media (max-width: 991px) {
	#zonesSec .benefitsBox {
		flex-direction: column;
		padding-left: 24px;
		padding-right: 24px;
	}

	#zonesSec .benefitsBox .content {
		width: 100%;
		padding-left: 0;
		margin-bottom: 40px;
		text-align: center;
	}

	#zonesSec .benefitsBox .content span.title {
		font-size: 2.5rem;
		margin-bottom: 24px;
	}

	#zonesSec .benefitsBox .content p {
		width: 100%;
		font-size: 0.9375rem;
	}

	#zonesSec .benefitsBox .imageBox {
		width: 100%;
	}

	#zonesSec .benefitsBox .imageBox .benefitsIcon--zone span.title {
		font-size: 1.125rem;
	}

	#zonesSec .benefitsBox .imageBox .benefitsIcon--zone .btn--zone-cta {
		padding: 8px 20px;
		font-size: 0.625rem;
		margin-top: 12px;
	}
}

/* ----------------------------------------------------------------------------
   Movil (<576px)
   ---------------------------------------------------------------------------- */

@media (max-width: 575px) {
	#zonesSec .benefitsBox .content span.title {
		font-size: 2rem;
		margin-bottom: 16px;
	}

	#zonesSec .benefitsBox .content p {
		font-size: 0.875rem;
	}

	#zonesSec .benefitsBox .imageBox .benefitsIcon--zone span.title {
		font-size: 1rem;
	}

	#zonesSec .benefitsBox .imageBox .benefitsIcon--zone .btn--zone-cta {
		padding: 6px 16px;
		font-size: 0.5625rem;
		margin-top: 8px;
	}
}

#introductionSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
	overflow: hidden;
	--circleHalfWidth: 1230px;
	background-color: var(--color-base-beige);
}


#introductionSec .circleHalf {
	--p: 0;
	/* the percentage */
	--b: 1px;
	/* the thickness */
	--c: rgb(115 98 73 / 8%);
	/* the color */
	--w: var(--circleHalfWidth);
	/* the size*/
	width: var(--w);
	aspect-ratio: 1/1;
	position: relative;
	display: inline-grid;
	place-content: center;
	position: absolute;
	top: 0;
	left: var(--container-padding);
	z-index: -1;
	transform: rotate(-90deg);
}



#introductionSec.in-viewport .circleHalf {
	animation-name: circleHalfDrawDecorLine;
	animation-duration: 3s;
	animation-fill-mode: both;
	animation-delay: 0s;
	animation-timing-function: ease-out;
}

#introductionSec .introductionBox {
	display: flex;
	align-items: center;
}

#introductionSec .introductionBox .image {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: var(--two-col-left-width);
}

#introductionSec .introductionBox .image .swiperNav [class*=swiper-button-] {
	width: 80px;
	height: 80px;
	background-color: transparent;
	border: 1px solid var(--color-base-blue);
}

#introductionSec .introductionBox .image .swiperNav [class*=swiper-button-] img {
	width: 33px;
}

#introductionSec .introductionBox .image .swiperNav [class*=swiper-button-]:hover {
	background-color: var(--color-base-blue);
}

#introductionSec .introductionBox .image .swiperNav [class*=swiper-button-].swiper-button-disabled {
	opacity: 1;
	border-color: var(--color-border);
}

#introductionSec .introductionBox .image .swiperNav [class*=swiper-button-].swiper-button-disabled img {
	filter: var(--color-border-filter);
}

#introductionSec .introductionBox .image .swiperNav .swiper-button-prev {
	margin-left: -110px;
}

#introductionSec .introductionBox .image .swiperNav .swiper-button-next {
	margin-right: -110px;
}

#introductionSec .introductionBox .introduction-slider .swiper-slide img {
	width: 100%;
}

#introductionSec .introductionBox .content {
	width: var(--two-col-right-width);
	padding-left: var(--two-col-right-padding);
}

#introductionSec .introductionBox .content span.title:not(:is(.modalDesign *)) {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 10px 6px;
	font-size: 0.75rem;
	color: var(--color-base-blue);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.625rem;
	letter-spacing: 0.5px;
}

#introductionSec .introductionBox .content h1:not(:is(.modalDesign *)) {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--color-base-blue);
	font-weight: 500;
}

#introductionSec .introductionBox .content h1:not(:is(.modalDesign *)) strong {
	font-style: italic;
	font-weight: 400;
}

#introductionSec .introductionBox .content h2:not(:is(.modalDesign *)),
#introductionSec .introductionBox .content p:not(:is(.modalDesign *)) {
	width: 70%;
	margin: 0 0 30px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#introductionSec .introductionBox .content p:not(:is(.modalDesign *)):last-child {
	margin-bottom: 0;
}

#introductionSec .introductionBox .content p:not(:is(.modalDesign *)) strong {
	font-weight: 800;
}

#roomSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 0px;
	background-color: rgb(115, 98, 73, 0.02);
	overflow: hidden;
}

#roomSec .contentBox {
	display: flex;
	width: 100%;
	margin-bottom: 96px;
}

#roomSec .contentBox .titleBox {
	width: 50%;
}

#roomSec .contentBox .titleBox h2.h2 {
	display: block;
	margin: 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#roomSec .contentBox .titleBox h2.h2 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}

#roomSec .contentBox .content {
	width: 42%;
	padding-left: 170px;
}

#roomSec .contentBox .content p {
	margin: 0 0 40px 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#roomSec .contentBox .content p:last-child {
	margin-bottom: 0;
}

#roomSec .contentBox .content p strong {
	font-weight: 500;
}

#roomSec .contentBox .content .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 27px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#roomSec .contentBox .content .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#roomSec .contentBox .content .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#roomSec .contentBox .content .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#roomSec .imageBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

#roomSec .imageBox .roomImgBox {
	position: relative;
	width: 44%;
	display: inline-block;
	margin-bottom: 128px;
}

#roomSec .imageBox .roomImgBox picture {
	width: 100%;
	display: inline-block;
}

#roomSec .imageBox .roomImgBox:before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: rgb(115 98 73 / 52%);
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#roomSec .imageBox .roomImgBox:hover:before {
	opacity: 1;
}

#roomSec .imageBox .roomImgBox picture img {
	width: 100%;
	height: auto;
}

#roomSec .imageBox .roomImgBox .info {
	width: 100%;
	height: 100%;
	padding: 30px;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 1;
}

#roomSec .imageBox .roomImgBox .info h3.h3 {
	display: block;
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--text-white);
	font-weight: 400;
	line-height: 2.875rem;
	text-align: center;
	text-wrap: balance;
}

#roomSec .imageBox .roomImgBox .info .linkBox {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 32px;
	width: 100%;
	flex-wrap: wrap;
}

#roomSec .imageBox .roomImgBox .info .booknow {
	display: inline-block;
	padding: 10px 23px;
	border: 1px solid #fafafa;
	background: transparent;
	border-radius: 40px;
	font-size: 0.875rem;
	color: var(--text-white);
	font-weight: 800;
	line-height: 1.125rem;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#roomSec .imageBox .roomImgBox .info .booknow:hover {
	border-color: #F3F1E7;
	background-color: #F3F1E7;
	color: var(--title-black-color);
}

#roomSec .imageBox .roomImgBox .info .viewroom {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-white);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#roomSec .imageBox .roomImgBox .info .viewroom:hover {
	color: var(--title-black-color);
	transition: all .5s ease;
}

#roomSec .imageBox .roomImgBox .info .viewroom:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(243 241 231 / 48%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#roomSec .imageBox .roomImgBox .info .viewroom:hover:after {
	width: calc(100% + 0px);
	background: rgb(243 241 231 / 80%);
	transition: all .5s ease;
}

@media (max-width: 992px) {
	#roomSec .imageBox .roomImgBox:before {
		display: none;
	}
}

#facilitiesSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
	overflow: hidden;
}

#facilitiesSec .contentBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin-bottom: 100px;
}

#facilitiesSec .contentBox h2.h2 {
	display: block;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#facilitiesSec .contentBox h2.h2 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}

#facilitiesSec .contentBox p {
	width: 45%;
	margin: 64px 0 0 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
	text-align: center;
}

#facilitiesSec .contentBox p:last-child {
	margin-bottom: 0;
}

#facilitiesSec .contentBox .content p strong {
	font-weight: 500;
}

#facilitiesSec .contentBox .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#facilitiesSec .contentBox .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#facilitiesSec .contentBox .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#facilitiesSec .contentBox .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#facilitiesSec .facilitiGridBox {
	position: relative;
	display: inline-block;
	width: calc(100% + (var(--container-padding)*2));
	margin-left: calc(0px - var(--container-padding));
	padding: 0 var(--container-padding);
	padding-top: 30px;
	--circleHalfWidth: 1230px;
}



#facilitiesSec .facilitiGridBox .facilitiDescription p:first-child {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

#facilitiesSec .facilitiGridBox .facilitiDescription p:not(:first-child) {
	display: none;
}


#facilitiesSec .circleHalf {
	--p: 0;
	/* the percentage */
	--b: 1px;
	/* the thickness */
	--c: rgb(115 98 73 / 8%);
	/* the color */
	--w: var(--circleHalfWidth);
	/* the size*/
	width: var(--w);
	aspect-ratio: 1/1;
	position: relative;
	display: inline-grid;
	place-content: center;
	position: absolute;
	top: 0;
	left: var(--container-padding);
	z-index: -1;
	transform: rotate(-90deg);
}

#facilitiesSec .circleHalf:before,
#facilitiesSec .circleHalf:after {
	content: "";
	position: absolute;
	border-radius: 50%;
}

#facilitiesSec .circleHalf:before {
	inset: 0;
	background: radial-gradient(farthest-side, var(--c) 98%, #0000) top/var(--b) var(--b) no-repeat, conic-gradient(var(--c) calc(var(--p)*1%), #0000 0);
	-webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - var(--b)), #000 calc(100% - var(--b)));
	mask: radial-gradient(farthest-side, #0000 calc(100% - var(--b)), #000 calc(100% - var(--b)));
}

#facilitiesSec .circleHalf:after {
	inset: calc(50% - var(--b)/2);
	background: var(--c);
	transform: rotate(calc(var(--p)*3.6deg - 90deg)) translate(calc(var(--w)/2 - 50%));
}

#facilitiesSec.in-viewport .circleHalf {
	animation-name: circleHalfDrawDecorLine;
	animation-duration: 3s;
	animation-fill-mode: both;
	animation-delay: 0s;
	animation-timing-function: ease-out;
}

#facilitiesSec .facilitiGridBox .row {
	--bs-gutter-x: 1.875rem;
	grid-row-gap: 48px !important;
	justify-content: center;
}

#facilitiesSec .facilitiGridBox .item picture {
	width: 100%;
	display: inline-block;
}

#facilitiesSec .facilitiGridBox .item picture img {
	width: 100%;
	height: auto;
}

#facilitiesSec .facilitiGridBox .item h3.h3 {
	display: block;
	margin: 32px 0 8px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 1.625rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.25rem;
}

#facilitiesSec .facilitiGridBox .item p {
	margin: 0 32px 32px 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#facilitiesSec .facilitiGridBox .item .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#facilitiesSec .facilitiGridBox .item .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#facilitiesSec .facilitiGridBox .item .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#facilitiesSec .facilitiGridBox .item .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#facilitiesSec .facilities {
	position: relative;
	display: none;
}

#facilitiesSec .facilities-slider {
	overflow: visible;
	padding: 56px 30px 0 30px;
	margin-top: 0;
}

#facilitiesSec .facilities-slider .swiper-slide {
	margin-top: 0px;
	margin-bottom: 0px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#facilitiesSec .facilities-slider .swiper-slide picture {
	width: 100%;
	display: inline-block;
}

#facilitiesSec .facilities-slider .swiper-slide picture img {
	width: 100%;
	height: auto;
}

#facilitiesSec .facilities-slider .swiper-slide h3.h3 {
	display: block;
	margin: 16px 0 8px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 1.625rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.25rem;
}

#facilitiesSec .facilities-slider .swiper-slide p {
	margin: 0 0 30px 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#facilitiesSec .facilities-slider .swiper-slide .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#facilitiesSec .facilities-slider .swiper-slide .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#facilitiesSec .facilities-slider .swiper-slide .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#facilitiesSec .facilities-slider .swiper-slide .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#facilitiesSec .swiperNav {
	margin-top: 0;
	margin-bottom: 16px;
}

#othersSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 0;
	background-color: rgb(115, 98, 73, 0.02);
	overflow: hidden;
}

#othersSec .h3 {
	display: block;
	margin: 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
	text-align: center;
	position: relative;
	z-index: 2;
	max-width: 1200px;
	margin: 0 auto;
	text-wrap: pretty;
}

#othersSec .h3 br {
	display: block;
}

#othersSec .h3 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}

#othersSec .image {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 0;
	position: relative;
}

#othersSec .image img {
	width: 100%;
	height: auto;
}

#othersSec .image .desktop {
	display: block;
}

#othersSec .image .mobile {
	display: none;
}

#othersSec .info {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: center;
	width: 40%;
	margin: auto auto;
	text-align: center;
	padding-block: 64px;
}

#othersSec .info p {
	display: block;
	margin: 0 0 30px 0;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.625rem;
}

#othersSec .info .discoverhotel {
	position: relative;
	display: inline-block;
	margin: 40px 0 0 0;
	padding: 10px 15px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#othersSec .info .discoverhotel:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#othersSec .info .discoverhotel:after {
	content: "";
	width: 40px;
	height: 40px;
	border-radius: 40px;
	background: rgb(115 98 73 / 8%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#othersSec .info .discoverhotel:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#ourGallerySec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
	overflow: hidden;
}

#ourGallerySec .gallery {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 0 30px;
}

#ourGallerySec .gallery .content {
	order: 2;
	width: 50%;
	padding: 0 10%;
	align-self: center;
	text-align: center;
}

#ourGallerySec .gallery .content .h2 {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#ourGallerySec .gallery .content .h2 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}

#ourGallerySec .gallery .content p {
	margin: 0 0 20px 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#ourGallerySec .gallery .content p:last-child {
	margin-bottom: 0;
}

#ourGallerySec .gallery .content p strong {
	font-weight: 500;
}

#ourGallerySec .gallery .content .viewgallery {
	position: relative;
	display: inline-block;
	margin: 44px 0 0 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#ourGallerySec .gallery .content .viewgallery:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#ourGallerySec .gallery .content .viewgallery:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#ourGallerySec .gallery .content .viewgallery:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#ourGallerySec .gallery .image1 {
	order: 1;
	width: 25%;
}

#ourGallerySec .gallery .image1 img {
	width: 100%;
	height: auto;
}

#ourGallerySec .gallery .image2 {
	order: 3;
	width: 25%;
}

#ourGallerySec .gallery .image2 img {
	width: 100%;
	height: auto;
}

#beBlueSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
	overflow: hidden;
}

#beBlueSec .beBlueRow {
	display: flex;
	justify-content: space-between;
	gap: 60px;
	flex-direction: row;
}

#beBlueSec.reverse .beBlueRow {
	flex-direction: row-reverse;
}

#beBlueSec .beBlueRow>div {
	width: 100%;
}


#beBlueSec .image {

	position: relative;
	align-self: center;
}

#beBlueSec .image .be-blue-logo {
	width: 60%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

#beBlueSec .image img {
	width: 100%;
}

#beBlueSec .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

#beBlueSec .beBlueRow:not(.reverse) .content>* {
	padding-left: 8%;
}

#beBlueSec .content .belogo {
	display: flex;
	gap: 16px;
	width: 100%;
	margin: 0 0 8px 0;
}

#beBlueSec .content h2.h2 {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	font-weight: 400;
	color: var(--color-base-blue);
}

#beBlueSec .content h2.h2 strong {
	font-weight: 400;
	font-style: italic;
}

#beBlueSec .content p {
	margin: 0 0 20px 0;
	width: 92%;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#beBlueSec .content p:last-child {
	margin-bottom: 0px;
}

#beBlueSec .content .content p strong {
	font-weight: 500;
}

@media (max-width: 991px) {

	#beBlueSec .beBlueRow,
	#beBlueSec.reverse .beBlueRow {
		flex-direction: column;
	}

	#beBlueSec .beBlueRow>div {
		width: 100%;
	}
}

/*----------------- Hotel Location Section -----------------*/
#hotelLocationSec {
	position: relative;
	padding-top: var(--space-between-section);
	padding-bottom: var(--space-between-section);
	overflow: hidden;
}

#hotelLocationSec .locationBox {
	display: flex;
	justify-content: space-between;
	gap: 60px;
	flex-direction: row;

}

#hotelLocationSec .locationBox>div {
	width: 100%;
}

#hotelLocationSec .locationBox .image p {
	margin: 0;
	padding: 0;
	line-height: 0;
}

#hotelLocationSec .locationBox .image iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 638 / 588;
	border: none;
}

#hotelLocationSec .locationBox .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

#hotelLocationSec .locationBox .content>* {
	padding-left: 8%;
	/* Contraresta el width 92% del P del bloque zig zag */
}

@media (max-width: 991px) {
	#hotelLocationSec .locationBox .content>* {
		padding-left: 0;
	}
}

#hotelLocationSec .locationBox .content h2.h2 {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--color-base-blue);
	font-weight: 400;
}

#hotelLocationSec .locationBox .content h2.h2 strong {
	font-style: italic;
	font-weight: 400;
}

#hotelLocationSec .locationBox .content p {
	margin: 0 0 20px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#hotelLocationSec .locationBox .content p:last-child {
	margin-bottom: 0px;
}

#hotelLocationSec .locationBox .content .moreinfo {
	position: relative;
	display: inline-block;
	margin: 12px 0 0 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#hotelLocationSec .locationBox .content .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#hotelLocationSec .locationBox .content .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#hotelLocationSec .locationBox .content .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

@media (max-width: 991px) {
	#hotelLocationSec .locationBox {
		flex-direction: column;
		gap: 24px;
	}

	#hotelLocationSec .locationBox>div {
		width: 100%;
	}

	#hotelLocationSec .locationBox .image iframe {
		aspect-ratio: 1 / 1;
	}

	#hotelLocationSec .locationBox .content {
		order: 0;
	}

	#hotelLocationSec .locationBox .content h2.h2 {
		margin: 0 0 32px 0;
	}

	#hotelLocationSec .locationBox .content p {
		width: 100%;
	}
}

#followUsSec {
	position: relative;
	padding-top: 120px;
	padding-bottom: 120px;
	overflow: hidden;
}

#followUsSec:before {
	content: "";
	width: 100%;
	height: 54%;
	background-color: rgb(115, 98, 73, 0.02);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#followUsSec .topContent {
	width: 100%;
	margin: 0 auto 64px auto;
	text-align: center;
}

#followUsSec .topContent .title {
	display: block;
	margin: 0 0 8px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#followUsSec .topContent .title strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}

#followUsSec .topContent .subtitle {
	display: block;
	margin: 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
	line-height: 2.75rem;
}

#followUsSec .followus {
	position: relative;
}

#followUsSec .followus-slider .swiper-slide .image {
	display: block;
}

#followUsSec .followus-slider .swiper-slide .image img {
	width: 100%;
	height: auto;
}

#followUsSec .moreinfo {
	position: relative;
	display: block;
	width: 227px;
	margin: 64px auto 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#followUsSec .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#followUsSec .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#followUsSec .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#newsletterSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
	overflow: hidden;
}

#newsletterSec .newsletter {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10%;
	padding: 0 10rem;
}

#newsletterSec .newsletter:before {
	content: '';
	width: 378px;
	height: 378px;
	background: url(../../../images/dummy/newsletter-star.svg) left top no-repeat;
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
}

#newsletterSec .content {
	width: 40%;
}

#newsletterSec .content h3.h3 {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#newsletterSec .content h3.h3 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}

#newsletterSec .content p {
	margin: 20px 0 0 0px;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 500;
	line-height: 1.25rem;
}

#newsletterSec .newsform {
	width: 50%;
	padding-top: 56px;
}

#newsletterSec .newsform .form-group {
	position: relative;
	display: flex;
	grid-gap: 32px;
	margin-top: 32px;
	margin-bottom: 0;
}

#newsletterSec .newsform .form-group:first-child {
	margin-top: 0;
}

#newsletterSec .newsform .form-group .form-control {
	width: 33.33%;
	height: 40px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #9B9893;
	background-color: transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 0.875rem;
	color: var(--title-black-color);
	font-weight: 500;
}

#newsletterSec .newsform .form-group .form-control::placeholder {
	color: #BCBAB6;
	font-style: italic;
}

#newsletterSec .newsform .form-group label.checkbox {
	position: relative;
	margin: 0;
	padding-left: 25px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.5rem;
	user-select: none;
}

#newsletterSec .newsform .form-group label input {
	appearance: none;
	width: 16px;
	height: 16px;
	outline: 0;
	border: 1px solid #9B9893;
	background-color: transparent;
	border-radius: 0;
	vertical-align: text-top;
	position: absolute;
	top: 4px;
	left: 0;
	cursor: pointer;
}

#newsletterSec .newsform .form-group label input:checked:before {
	content: '';
	display: block;
	width: 6px;
	height: 10px;
	border: 2px solid var(--text-primary-solid-64);
	border-top: 0;
	border-left: 0;
	transform: rotate(45deg);
	position: relative;
	top: 0;
	left: 4px;
}

#newsletterSec .newsform .form-group label strong {
	font-weight: 700;
}

#newsletterSec .newsform .form-group label a {
	position: relative;
	color: var(--text-primary-solid-64);
	font-weight: 700;
	text-decoration: underline;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#newsletterSec .newsform .form-group label a:hover {
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#newsletterSec .newsform .form-group .subscribeBtn {
	position: relative;
	display: inline-block;
	margin: 8px 0 0 0;
	padding: 10px 23px;
	border: none;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#newsletterSec .newsform .form-group .subscribeBtn:hover {
	background: transparent;
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#newsletterSec .newsform .form-group .subscribeBtn:after {
	content: "";
	width: 40px;
	height: 40px;
	border-radius: 40px;
	background: rgb(115 98 73 / 8%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#newsletterSec .newsform .form-group .subscribeBtn:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#newsletterSec .newsform .newsletter__msg {
	margin-top: 32px;
}

#speakSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
	background-color: rgb(115, 98, 73, 0.02);
	overflow: hidden;
}

#speakSec .contentBox {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#speakSec .contentBox h3.h3 {
	gap: 40px;
	margin: 0 0 54px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
	text-align: center;
}

#speakSec .contentBox h3.h3 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
}


#speakSec .contentBox p {
	width: 50%;
	margin: 0 0 54px 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
	text-align: center;
}

#speakSec .contentBox p:last-child {
	margin-bottom: 0;
}

#speakSec .contentBox .content p strong {
	font-weight: 500;
}

#speakSec .contentBox .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#speakSec .contentBox .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#speakSec .contentBox .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#speakSec .contentBox .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

/*----------------- Modal Design -----------------*/
.modal-backdrop {
	background-color: #cdc7be;
}

.modal-backdrop.show {
	opacity: 0.60;
}

.modalDesign::-webkit-scrollbar {
	width: 14px;
}

.modalDesign::-webkit-scrollbar-track {
	background: transparent;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.modalDesign::-webkit-scrollbar-thumb {
	min-height: 40px;
	border: 4px solid rgb(222 218 212);
	background: #cdc7be;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	visibility: hidden;
}

.modalDesign:hover::-webkit-scrollbar-thumb {
	visibility: visible;
}

.modalDesign .modal-content {
	background-color: #fafafa;
	border: none;
	border-radius: 0px;
}

.modalDesign .modal-body {
	padding: 64px;
	padding-right: 94px;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.modalDesign .modal-body button:focus {
	background-color: transparent;
}

.modalDesign .close {
	display: flex;
	align-items: center;
	gap: 8px;
	float: right;
	margin: -32px -68px 0 0;
	padding: 0;
	outline: 0;
	border: none;
	color: var(--color-text);
	font-weight: 400;
	opacity: 1;
}

.modalDesign .close:hover {
	background-color: transparent;
}

.modalDesign .close span {
	background-color: var(--color-light-blue-32);
	border-radius: 30px;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.modalDesign .close:hover span {
	background-color: var(--color-base-blue);
}

.modalDesign .close span img {
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.modalDesign .close:hover span img {
	filter: brightness(0) invert(1);
}

/* Modal Header - Estructura alternativa con título y close separados */
.modalDesign .modal-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 48px 48px 0 48px;
	border-bottom: none;
	background-color: #fafafa;
}

.modalDesign .modal-header+.modal-body {
	padding-top: 24px;
}

.modalDesign .modal-header .modal-title {
	margin: 0;
	padding-right: 24px;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.875rem;
	text-wrap: balance;
}

.modalDesign .modal-header .modal-title strong {
	font-weight: 500;
	font-style: italic;
}

.modalDesign .modal-header .close {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	float: none;
	outline: 0;
	border: none;
	background: transparent;
	color: var(--text-primary-solid-64);
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.5px;
	opacity: 1;
	transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1);
	flex-shrink: 0;
}

.modalDesign .modal-header .close:hover {
	background-color: transparent;
	color: var(--color-base-blue);
}

.modalDesign .modal-header .close span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: var(--color-light-blue-32);
	border-radius: 50%;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.modalDesign .modal-header .close:hover span {
	background-color: var(--color-base-blue);
}

.modalDesign .modal-header .close span img {
	width: 16px;
	height: 16px;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.modalDesign .modal-header .close:hover span img {
	filter: brightness(0) invert(1);
}

/* Escala tipográfica del modal - Coherente con el proyecto */
.modalDesign .modal-body .modalTitle,
.modalDesign .modal-body h1 {
	margin: 0 0 16px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--color-base-blue);
	font-weight: 400;
	line-height: 2.875rem;
	display: block;
	text-wrap: balance;
}

.modalDesign .modal-body .modalTitle strong,
.modalDesign .modal-body h1 strong {
	font-weight: 500;
	font-style: italic;
}

.modalDesign .modal-body h2 {
	margin: 0 0 16px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 1.6rem;
	color: var(--color-base-blue);
	font-weight: 400;
	text-wrap: balance;
}

.modalDesign .modal-body h3 {
	margin: 0 0 8px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 1.35rem;
	color: var(--color-base-blue);
	font-weight: 400;
}

.modalDesign .modal-body h3 strong {
	font-weight: 500;
	font-style: italic;
}

.modalDesign .modal-body h4 {
	margin: 0 0 8px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 1.375rem;
	color: var(--text-secondary-solid-80);
	font-weight: 400;
	line-height: 1.875rem;
	text-wrap: balance;
}

.modalDesign .modal-body h5 {
	margin: 0 0 8px 0;
	font-family: inherit;
	font-size: 1.125rem;
	color: var(--title-black-color);
	font-weight: 600;
	line-height: 1.625rem;
	text-wrap: balance;
}

.modalDesign .modal-body h6 {
	margin: 0 0 8px 0;
	font-family: inherit;
	font-size: 1rem;
	color: var(--title-black-color);
	font-weight: 600;
	line-height: 1.5rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-wrap: balance;
}

.modalDesign .modal-body p {
	margin: 0 0 16px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

.modalDesign .modal-body p:last-child {
	margin-bottom: 0;
}

.modalDesign .modal-body p strong {
	font-weight: 700;
}

/* Enlaces - Estilo coherente con el proyecto */
.modalDesign .modal-body a {
	color: var(--color-base-blue);
	text-decoration: none;
	transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.modalDesign .modal-body a:hover {
	color: var(--title-black-color);
	text-decoration: underline;
}

/* Enlaces con efecto burbuja (estilo bubbleButtonLink del proyecto) */
.modalDesign .modal-body .bubbleButtonLink,
.modalDesign .modal-body .moreinfo {
	position: relative;
	display: inline-block;
	margin: 16px 0 0 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--color-base-blue);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all .5s ease;
	z-index: 1;
}

.modalDesign .modal-body .bubbleButtonLink:hover,
.modalDesign .modal-body .moreinfo:hover {
	color: var(--color-base-blue);
	text-decoration: none;
}

.modalDesign .modal-body .bubbleButtonLink:after,
.modalDesign .modal-body .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: var(--color-light-blue-32);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

.modalDesign .modal-body .bubbleButtonLink:hover:after,
.modalDesign .modal-body .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: var(--color-light-blue-48);
}

/* Botón sólido para acciones principales */
.modalDesign .modal-body .button {
	display: inline-block;
	margin: 16px 0 0 0;
	padding: 12px 28px;
	border: 1px solid var(--color-base-blue);
	background-color: transparent;
	border-radius: 30px;
	font-size: 0.875rem;
	color: var(--color-base-blue);
	font-weight: 600;
	line-height: 1.25rem;
	letter-spacing: 0.5px;
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.modalDesign .modal-body .button:hover {
	background-color: var(--color-base-blue);
	color: var(--text-white);
	text-decoration: none;
}

/* Listas */
.modalDesign .modal-body ul {
	padding: 0;
	margin: 0 0 16px 0;
	list-style-type: none;
}

.modalDesign .modal-body ul:last-child {
	margin-bottom: 0;
}

.modalDesign .modal-body ul li {
	position: relative;
	padding-left: 20px;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

.modalDesign .modal-body ul li:before {
	content: "";
	width: 6px;
	height: 6px;
	background-color: var(--color-base-blue);
	border-radius: 50%;
	position: absolute;
	top: 11px;
	left: 4px;
}

.modalDesign .modal-body ul.featureIcons {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	row-gap: 24px;
	column-gap: 32px;
	padding: 0;
	margin: 32px 0 24px 0;
	list-style-type: none;
}

.modalDesign .modal-body ul.featureIcons li {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	padding: 0;
	font-size: 0.844rem;
	color: var(--text-primary-solid-64);
	font-weight: 300;
	line-height: 1.25rem;
}

.modalDesign .modal-body ul.featureIcons li:before {
	display: none;
}

.modalDesign .modal-body ul.featureIcons li .featureIcons__background {
	width: 48px;
	height: 48px;
	background: var(--color-light-blue-48);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.modalDesign .modal-body ul.featureIcons li img {
	display: inline-block;
	width: 28px;
	height: 28px;
	object-fit: contain;
	filter: var(--color-base-blue-filter);
}

/* Separador decorativo opcional */
.modalDesign .modal-body hr {
	border: none;
	border-top: 1px solid var(--color-border);
	margin: 24px 0;
	opacity: 0.3;
}

/* Animación de entrada del modal */
.modalDesign.fade .modal-dialog {
	transform: translateY(-30px) scale(0.95);
	opacity: 0;
	transition: transform .4s cubic-bezier(0.645, 0.045, 0.355, 1),
		opacity .3s ease;
}

.modalDesign.show .modal-dialog {
	transform: translateY(0) scale(1);
	opacity: 1;
}

/*----------------- Inner Pages -----------------*/
#header.dark .logo img {
	width: 100%;
	height: auto;
	filter: none;
}

#header.dark .leftNav ul.mainMenu li a {
	color: var(--text-primary-solid-64);
}

#header.dark .leftNav ul.mainMenu li a:hover {
	color: var(--text-primary-solid-64);
}

#header.dark .leftNav ul.mainMenu li a:after {
	background: rgb(115 98 73 / 8%);
}

#header.dark .leftNav ul.mainMenu>li>a.has-opacity {
	color: var(--text-primary-solid-32);
}

#header.dark .leftNav ul.mainMenu>li.current>a {
	color: var(--title-black-color);
}

#header.dark .rightNav .languageMenu label a {
	color: var(--text-primary-solid-64);
}

#header.dark .rightNav .languageMenu label a img {
	filter: none;
}

#header.dark .rightNav .languageMenu label a:hover,
#header.dark .rightNav .languageMenu label a.open {
	color: var(--text-primary-solid-64);
}

#header.dark .rightNav .bookNowBtn {
	border-color: #79756F;
	color: var(--text-primary-solid-64);
}

#header.dark .rightNav .bookNowBtn:hover {
	background-color: #79756F;
	color: var(--text-white);
}

#innerBanner {
	display: block;
	width: 100%;
	/* overflow: hidden; */
	position: relative;
	z-index: 1;
}

#innerBanner>.container {
	position: absolute;
	height: 100%;
	right: 0;
	left: 0;
}

#innerBanner>.container .bookBtnBox {
	display: none;
	padding: 10px;
	width: 100%;
	text-align: center;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 4;
}

#innerBanner>.container .bookBtnBox:after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgb(243 241 231 / 80%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

#innerBanner>.container .bookBtnBox .bookNowBtn {
	border-color: #F3F1E7;
	background-color: #F3F1E7;
	color: var(--color-base-blue);
	border: 1px solid var(--color-base-blue);
	text-transform: uppercase;
}

#innerBanner,
#innerBanner .inner-slider-video,
#innerBanner .inner-slider {
	width: 100vw;
	height: 80dvh;
	margin-top: 0;
	padding-top: 0;
}

#innerBanner.fullscreenSlider,
#innerBanner.fullscreenSlider .inner-slider-video,
#innerBanner.fullscreenSlider .inner-slider {
	height: 100dvh;
}

#innerBanner .inner-slider-video:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 35%);
	background: linear-gradient(180deg, rgb(0 0 0 / 35%) 0%, rgb(255 255 255 / 0%) 50%, rgb(0 0 0 / 35%) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#innerBanner .inner-slider-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#innerBanner .inner-slider .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#innerBanner .inner-slider .swiper-slide:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 35%);
	background: linear-gradient(180deg, rgb(0 0 0 / 35%) 0%, rgb(255 255 255 / 0%) 50%, rgb(0 0 0 / 35%) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#innerBanner .inner-slider .swiper-slide picture,
#innerBanner .inner-slider .swiper-slide picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#innerBanner .inner-slider .swiperNav {
	display: flex;
	justify-content: space-between;
	gap: 0px;
	width: 100%;
	height: 100%;
	margin-top: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transform: none;
}

#innerBanner .inner-slider .swiperNav [class*=swiper-button-] {
	width: 50%;
	height: 100%;
	background: none;
	border-radius: 0%;
}

#innerBanner .inner-slider .swiperNav [class*=swiper-button-] img {
	display: none;
}

#innerBanner .inner-slider .swiperNav .swiper-button-prev {
	cursor: url(../../../images/dummy/swiper-prev-hero.svg) 40 40, auto;
}

#innerBanner .inner-slider .swiperNav .swiper-button-next {
	cursor: url(../../../images/dummy/swiper-next-hero.svg) 40 40, auto;
}

#innerBanner .inner-slider .swiperCountDots {
	margin-top: 0;
	color: var(--text-white);
	position: absolute;
	bottom: 70px;
	right: 30px;
	left: auto;
}



#innerBanner .inner-slider .swiperCountDots .swiper-pagination .swiper-pagination-bullet {
	background: rgb(0 0 0 / 24%);
}

#innerBanner .inner-slider .swiperCountDots .swiper-pagination .swiper-pagination-bullet:hover,
#innerBanner .inner-slider .swiperCountDots .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #fafafa;
}

#breadCrumb {
	display: block;
	width: 100%;
	padding: 40px 0;
}

body:has(.intro-no-text) #breadCrumb {
	background-color: var(--color-base-beige);
}

body.contact #breadCrumb {
	background-color: var(--color-base-blue);
	padding-bottom: 0;
	margin-bottom: -1px;
}

body.contact #breadCrumb ol>li a.active {
	color: var(--text-white)
}

body.contact #breadCrumb ol>li a {
	color: var(--color-base-beige)
}

body.contact #breadCrumb ol>li:after {
	background-color: var(--color-base-beige);
}

body.contact #breadCrumb ol>li a {
	color: var(--color-base-beige);
}

#breadCrumb ol {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style-type: none;
}

#breadCrumb ol>li {
	font-size: 0.844rem;
	color: var(--title-black-color);
	font-weight: 700;
	line-height: 1.25rem;
}

#breadCrumb ol>li:after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 1px;
	margin: 0 10px;
	background-color: var(--color-text);
	vertical-align: middle;
}

#breadCrumb ol>li:last-child:after {
	display: none;
}

#breadCrumb ol>li a {
	color: var(--color-text);
	font-weight: 400;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
	font-size: 14px;
	line-height: 24px;
}

#breadCrumb ol>li a:hover,
#breadCrumb ol>li a.active {
	color: var(--title-black-color);
	text-decoration: none;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px;
}

/*---------------------- Rooms Page -----------------------*/
#listSec {
	position: relative;
	padding-block: var(--space-between-section);
	overflow: hidden;
}

#listSec .contentBox {
	display: flex;
	width: 100%;
	margin-bottom: 94px;
}

#listSec .contentBox .titleBox {
	width: 50%;
}

#listSec .contentBox .titleBox .h2 {
	display: block;
	margin: 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--color-base-blue);
	font-weight: 400;
}

#listSec .contentBox .titleBox .h2 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#listSec .contentBox .content {
	width: 42%;
	padding-left: 170px;
}

#listSec .contentBox .content p {
	margin: 0 0 40px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#listSec .contentBox .content p:last-child {
	margin-bottom: 0;
}

#listSec .contentBox .content p strong {
	font-weight: 500;
}

#listSec .roomsBox .rooms {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: var(--space-between-items);
}

#listSec .roomsBox .rooms:last-child {
	margin-bottom: 0px;
}

#listSec .roomsBox .rooms .image {
	position: relative;
	width: 55%;
	opacity: 0;
	transform: scaleX(1.07) scaleY(1.07);
	transition-property: transform, opacity;
	transition-duration: 1000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-delay: 700ms;
	/* Añade un delay de 500ms */
}

#listSec .roomsBox .rooms .image.in-viewport {
	opacity: 1;
	transform: scaleX(1) scaleY(1);
}

#listSec .roomsBox .rooms .image .rooms-slider video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#listSec .roomsBox .rooms .image .rooms-slider img {
	width: 100%;
	height: auto;
}


#listSec .roomsBox .rooms .content {
	width: 45%;
	padding: 0 104px 0 64px;
}

#listSec .roomsBox .rooms .content .h2:not(:is(.modalDesign *)),
#listSec .roomsBox .rooms .content .h3:not(:is(.modalDesign *)) {
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size-small);
	line-height: var(--title-small-line-height);
	color: var(--color-base-blue);
	font-weight: 400;
}

#listSec .roomsBox .rooms .content .h2:not(:is(.modalDesign *)) strong,
#listSec .roomsBox .rooms .content .h3:not(:is(.modalDesign *)) strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#listSec .roomsBox .rooms .content p:not(:is(.modalDesign *)) {
	margin: 0 0 16px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#listSec .roomsBox .rooms .content p:not(:is(.modalDesign *)):last-child {
	margin-bottom: 0;
}

#listSec .roomsBox .rooms .content p:not(:is(.modalDesign *)) strong {
	font-weight: bold;
}

#listSec .roomsBox .rooms .content ul:not(:is(.modalDesign *)) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	padding: 0;
	margin: 0 0 48px 0;
	list-style-type: none;
}

#listSec .roomsBox .rooms .content ul:not(:is(.modalDesign *)) li {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.5rem;
}

#listSec .roomsBox .rooms .content ul:not(:is(.modalDesign *)) li .featureIcons__background {
	width: 48px;
	height: 48px;
	background: var(--color-light-blue-48);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}


#listSec .roomsBox .rooms .content ul:not(:is(.modalDesign *)) li img {
	display: inline-block;
	width: 28px;
	height: 28px;
	object-fit: contain;
	filter: var(--color-base-blue-filter);
}

#listSec .roomsBox .rooms .content .seeAvallability {
	border: 1px solid var(--color-base-blue);
	background: transparent;
	color: var(--color-base-blue);
}

#listSec .roomsBox .rooms .content .seeAvallability:hover {
	color: #fff;
	background: var(--color-base-blue);
}

.btn-booking {
	border: 1px solid var(--color-base-blue);
	background: transparent;
	color: var(--color-base-blue);
}

.btn-booking:hover {
	color: #fff;
	background: var(--color-base-blue);
}



.viewDetailsBtn:after {
	content: "";
	width: 40px;
	height: 40px;
	background: var(--color-base-beige);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

.buttons .viewDetailsBtn:hover:after {
	width: calc(100% + 0px);
	background: var(--color-base-beige);
	transition: all .5s ease;
}

#bookFormOverlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6;
	width: 100vw;
	height: 100vh;
	background-color: #cdc7be;
	opacity: 0.60;
}

#bookForm {
	display: none;
	width: 100%;
	background-color: #fafafa;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	position: fixed;
	top: 0;
	z-index: 60;
}

#bookForm .logo {
	display: none;
	width: 145px;
	margin: 15px auto;
	position: absolute;
	right: 0;
	left: 0;
	z-index: 2;
}

#bookForm .logo img {
	width: 100%;
	height: auto;
}

#bookForm .container {
	display: flex;
	align-items: flex-end;
	width: 70%;
}

#bookForm a.bookFormClose {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	z-index: 1;
}

#bookForm a.bookFormClose span {
	background-color: var(--color-light-blue-48);
	border-radius: 30px;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#bookForm a.bookFormClose:hover span {
	background-color: var(--color-base-blue)
}

#bookForm a.bookFormClose span img {
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#bookForm a.bookFormClose:hover span img {
	filter: brightness(0) invert(1);
}

#bookForm .field {
	position: relative;
	width: 33.333333%;
	padding: 23px 16px 24px 16px;
}


#bookForm .field label {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--title-black-color);
}

#bookForm .field .form-control {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 40px;
	padding: 0;
	border: none;
	border-bottom: 1px solid var(--text-primary-solid-64);
	background-color: transparent;
	border-radius: 0px;
	box-shadow: none;
	font-size: 1.125rem;
	color: var(--title-black-color);
}

#bookForm .field .form-control::placeholder {
	color: var(--text-primary-solid-64);
	font-style: italic;
}

/* Ellipsis para inputs de hotel con texto largo */
#bookForm .field.hotels .form-control {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	line-height: 40px;
}

#bookForm .field.search {
	display: flex;
	align-items: flex-end;
	justify-content: center;

}

#bookForm .field.search button {
	border: 1px solid var(--color-base-blue);
	background: var(--color-base-beige);
	color: var(--color-base-blue);
}

#bookForm .field.search button:hover {
	color: #fff;
	background: var(--color-base-blue);
}

#bookForm .field .popups {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	min-width: 100%;
	padding: 30px 30px;
	background-color: #fafafa;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	border-radius: 12px;
	position: absolute;
	top: 100%;
	left: -30px;
	z-index: 1;
}

#bookForm .field .popups[style*="display: block"] {
	display: flex !important;
}

#bookForm .field .popups .popupsCancel {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 32px;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
}

#bookForm .field .popups .popupsCancel span {
	background-color: rgb(115 98 73 / 8%);
	border-radius: 30px;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#bookForm .field .popups .popupsCancel:hover span {
	background-color: rgb(115, 98, 73, 0.64);
}

#bookForm .field .popups .popupsCancel span img {
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#bookForm .field .popups .popupsCancel:hover span img {
	filter: brightness(0) invert(1);
}

#bookForm .field .popups .calendar {
	display: block;
	width: 544px;
}

#bookForm .field .popups .calendar .daterangepicker {
	display: block !important;
	width: 100%;
	margin: 0 auto;
	border: none;
	background-color: transparent;
	border-radius: 0;
	font-family: "Urbanist", sans-serif;
	position: static;
}

#bookForm .field .popups .calendar .daterangepicker:before,
#bookForm .field .popups .calendar .daterangepicker:after {
	display: none;
}

#bookForm .field .popups .calendar .daterangepicker .ranges {
	display: none;
}

#bookForm .field .popups .calendar .daterangepicker .drp-calendar.left {
	padding: 0;
	margin-right: 30px;
}

#bookForm .field .popups .calendar .daterangepicker .drp-calendar.right {
	padding: 0;
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table {
	padding: 0;
	border: none;
	border-radius: 0px;
	background-color: transparent;
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table table {
	border-spacing: 4px;
	border-collapse: inherit;
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table th,
#bookForm .field .popups .calendar .daterangepicker .calendar-table td {
	min-width: 32px;
	width: 32px;
	height: 32px;
	border: none;
	background-color: transparent;
	border-radius: 100%;
	font-size: 0.844rem;
	color: var(--title-black-color);
	line-height: normal;
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table th {
	color: var(--title-black-color);
	font-size: 0.75rem;
	font-weight: normal;
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table th.month {
	width: auto;
	font-size: 0.938rem;
	color: var(--text-secondary-solid-80);
	font-weight: 500;
	text-transform: uppercase;
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table .next span,
#bookForm .field .popups .calendar .daterangepicker .calendar-table .prev span {
	border-color: var(--text-secondary-solid-80);
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table .next:hover span,
#bookForm .field .popups .calendar .daterangepicker .calendar-table .prev:hover span {
	border-color: var(--text-white);
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table th.available:hover,
#bookForm .field .popups .calendar .daterangepicker .calendar-table td.available:hover {
	background-color: var(--text-secondary-solid-80);
	color: var(--text-white);
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table td.off,
#bookForm .field .popups .calendar .daterangepicker .calendar-table td.off.in-range,
#bookForm .field .popups .calendar .daterangepicker .calendar-table td.off.start-date,
#bookForm .field .popups .calendar .daterangepicker .calendar-table td.off.end-date {
	background-color: transparent;
	color: var(--text-primary-solid-32);
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table td.in-range {
	background-color: rgb(143 129 109 / 30%);
	border-color: transparent;
	color: var(--title-black-color);
}

#bookForm .field .popups .calendar .daterangepicker .calendar-table td.active,
#bookForm .field .popups .calendar .daterangepicker .calendar-table td.active:hover {
	background-color: var(--text-secondary-solid-80);
	color: var(--text-white);
}

#bookForm .field .popups .calendar .daterangepicker .drp-buttons {
	padding: 10px 0 0 0;
	border-color: rgb(0 0 0 / 20%);
}

#bookForm .field .popups .calendar .daterangepicker .drp-selected {
	font-size: 0.938rem;
	color: var(--title-black-color);
}

#bookForm .field .popups .calendar .daterangepicker .drp-buttons .btn {
	padding: 9px 30px;
	border-color: var(--text-primary-solid-64);
	background-color: transparent;
	box-shadow: none;
	font-size: 0.844rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.063rem;
}

#bookForm .field .popups .calendar .daterangepicker .drp-buttons .btn:hover {
	background-color: var(--text-primary-solid-64);
	color: var(--text-white);
}

#bookForm .field .popups .roomsbox {
	width: 260px;
	max-height: 237px;
	padding-right: 7px;
	overflow-y: auto;
}

#bookForm .field .popups .roomsbox::-webkit-scrollbar {
	width: 2px;
}

#bookForm .field .popups .roomsbox::-webkit-scrollbar-track {
	background: rgb(0 0 0 / 10%);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

#bookForm .field .popups .roomsbox::-webkit-scrollbar-thumb {
	min-height: 40px;
	background: rgb(0 0 0 / 30%);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

#bookForm .field .popups .roomsbox .room {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid rgb(0 0 0 / 20%);
}

#bookForm .field .popups .roomsbox .room:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

#bookForm .field .popups .roomsbox .room label {
	width: 100%;
	font-size: 0.875rem;
	color: var(--title-black-color);
	line-height: normal;
}

#bookForm .field .popups .roomsbox .room label:has(~ .delete-room) {
	width: 50%;
}

#bookForm .field .popups .roomsbox .room .delete-room {
	width: auto;
	margin-left: auto;
	font-size: 0.875rem;
	color: var(--title-black-color);
	line-height: normal;
}

#bookForm .field .popups .roomsbox .room .delete-room:hover {
	color: var(--text-secondary-solid-80);
}

#bookForm .field .popups .roomsbox .room .guest {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin-top: 10px;
}

#bookForm .field .popups .roomsbox .room .name {
	font-size: 1rem;
	color: var(--title-black-color);
	line-height: normal;
}

#bookForm .field .popups .roomsbox .room .number-input {
	display: flex;
	align-items: center;
}

#bookForm .field .popups .roomsbox .room .number-input .form-control {
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: none;
	background-color: transparent;
	background-image: none;
	border-radius: 100%;
	font-size: 1rem;
	color: var(--title-black-color);
	text-align: center;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}

#bookForm .field .popups .roomsbox .room .number-input .form-control::-webkit-inner-spin-button,
#bookForm .field .popups .roomsbox .room .number-input .form-control::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

#bookForm .field .popups .roomsbox .room .number-input button {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	padding: 0;
	outline: 0;
	border: 1px solid var(--title-black-color);
	background-color: transparent;
	border-radius: 100%;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

#bookForm .field .popups .roomsbox .room .number-input button:before,
#bookForm .field .popups .roomsbox .room .number-input button:after {
	position: absolute;
	content: '';
	display: inline-block;
	width: .7rem;
	height: 2px;
	background-color: var(--title-black-color);
	transform: translate(-50%, -50%);
}

#bookForm .field .popups .roomsbox .room .number-input button.plus:after {
	transform: translate(-50%, -50%) rotate(90deg);
}

#bookForm .field .popups .roomsbox .room .number-input button:hover {
	color: var(--title-black-color);
}

/* ----------------------------------------------------------------------------
   Selector de Hoteles - #bookForm (estilo mega-dropdown)
   ---------------------------------------------------------------------------- */

#bookForm .field.hotels .popups {
	padding: 28px 32px 32px;
}

#bookForm .field .popups .hotelsbox {
	min-width: 720px;
}

/* Contenedor de columnas */
#bookForm .field .popups .hotelsbox__columns {
	display: flex;
	gap: 0;
}

/* Columna individual (zona) */
#bookForm .field .popups .hotelsbox__column {
	flex: 1;
	min-width: 120px;
	padding: 0 24px;
}

#bookForm .field .popups .hotelsbox__column:first-child {
	padding-left: 0;
}

#bookForm .field .popups .hotelsbox__column:last-child {
	padding-right: 0;
}

/* Separador visual entre columnas */
#bookForm .field .popups .hotelsbox__column:not(:last-child) {
	border-right: 1px solid rgba(115, 98, 73, 0.1);
}

/* Título de zona */
#bookForm .field .popups .hotelsbox .destination-title {
	display: block;
	margin-bottom: 4px;
	padding: 0;
	color: #736249;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	line-height: normal;
	cursor: default;
}

/* Opciones de hotel */
#bookForm .field .popups .hotelsbox .hotel-option {
	display: block;
	padding: 6px 0;
	margin: 0;
	cursor: pointer;
}

#bookForm .field .popups .hotelsbox .hotel-option:last-child {
	margin-bottom: 0;
}

/* Nombre del hotel */
#bookForm .field .popups .hotelsbox .hotel-name {
	display: block;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: #8a8a8a;
	transition: color 0.2s ease;
}

#bookForm .field .popups .hotelsbox .hotel-option:hover .hotel-name {
	color: #736249;
}

#bookForm .field .popups .hotelsbox .hotel-option.selected .hotel-name {
	color: #736249;
}

/* Responsive - Selector de Hoteles #bookForm */
@media (max-width: 992px) {
	#bookForm .field.hotels .popups {
		padding: 24px 20px;
	}

	#bookForm .field .popups .hotelsbox {
		min-width: auto;
		width: 100%;
	}

	#bookForm .field .popups .hotelsbox__columns {
		flex-direction: column;
		gap: 20px;
	}

	#bookForm .field .popups .hotelsbox__column {
		padding: 0;
		padding-bottom: 20px;
		border-bottom: 1px solid rgba(115, 98, 73, 0.1);
	}

	#bookForm .field .popups .hotelsbox__column:not(:last-child) {
		border-right: none;
	}

	#bookForm .field .popups .hotelsbox__column:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}
}





#bookForm .field.bookBtn {
	width: auto;
	white-space: nowrap;
}

#bookForm .field.bookBtn .bookButton {
	display: inline-block;
	padding: 10px 23px;
	outline: 0;
	border: 1px solid var(--title-black-color);
	background-color: var(--title-black-color);
	border-radius: 30px;
	font-size: 0.875rem;
	color: var(--text-white);
	font-weight: 800;
	line-height: 1.125rem;
	letter-spacing: 0.5px;
	text-transform: none;
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#bookForm .field.bookBtn .bookButton:hover {
	border: 1px solid var(--title-black-color);
	background-color: transparent;
	color: var(--title-black-color);
}

#interestedInSec {
	position: relative;
	padding-top: 112px;
	padding-bottom: 0px;
	overflow: hidden;
}

#interestedInSec .contentBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin-bottom: 70px;
}

#interestedInSec .contentBox .h4 {
	display: block;
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 3.125rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 3.75rem;
}

#interestedInSec .contentBox .h4 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#interestedInSec .contentBox p {
	width: 45%;
	margin: 0 0 32px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
	text-align: center;
}

#interestedInSec .contentBox p:last-child {
	margin-bottom: 0;
}

#interestedInSec .contentBox .content p strong {
	font-weight: 500;
}

#interestedInSec .contentBox .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#interestedInSec .contentBox .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#interestedInSec .contentBox .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#interestedInSec .contentBox .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#interestedInSec .interestedIn {
	position: relative;
	width: calc(100% - (var(--container-padding)*2));
	margin: 30px var(--container-padding) 118px var(--container-padding);
	--circleHalfWidth: 1230px;
}


#interestedInSec .interestedIn .circleHalf {
	--p: 0;
	/* the percentage */
	--b: 1px;
	/* the thickness */
	--c: var(--color-base-beige);
	/* the color */
	--w: var(--circleHalfWidth);
	/* the size*/
	width: var(--w);
	aspect-ratio: 1/1;
	position: relative;
	display: inline-grid;
	place-content: center;
	position: absolute;
	top: 0;
	left: var(--container-padding);
	z-index: -1;
	transform: rotate(-90deg);
}

#interestedInSec .interestedIn .circleHalf:before,
#interestedInSec .interestedIn .circleHalf:after {
	content: "";
	position: absolute;
	border-radius: 50%;
}

#interestedInSec .interestedIn .circleHalf:before {
	inset: 0;
	background: radial-gradient(farthest-side, var(--c) 98%, #0000) top/var(--b) var(--b) no-repeat, conic-gradient(var(--c) calc(var(--p)*1%), #0000 0);
	-webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - var(--b)), #000 calc(100% - var(--b)));
	mask: radial-gradient(farthest-side, #0000 calc(100% - var(--b)), #000 calc(100% - var(--b)));
}

#interestedInSec .interestedIn .circleHalf:after {
	inset: calc(50% - var(--b)/2);
	background: var(--c);
	transform: rotate(calc(var(--p)*3.6deg - 90deg)) translate(calc(var(--w)/2 - 50%));
}

#interestedInSec.in-viewport .interestedIn .circleHalf {
	animation-name: circleHalfDrawDecorLine2;
	animation-duration: 3s;
	animation-fill-mode: both;
	animation-delay: 0s;
	animation-timing-function: ease-out;
}

#interestedInSec .interestedIn-slider .swiper-slide {
	margin-top: 0px;
	margin-bottom: 0px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#interestedInSec .interestedIn-slider .swiper-slide picture img {
	width: 100%;
	height: 344px;
}

#interestedInSec .interestedIn-slider .swiper-slide span.title {
	display: block;
	margin: 32px 0 0 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 1.625rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.25rem;
}

#interestedInSec .interestedIn-slider .swiper-slide .moreinfo {
	position: relative;
	display: inline-block;
	margin: 32px 0 0 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#interestedInSec .interestedIn-slider .swiper-slide .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#interestedInSec .interestedIn-slider .swiper-slide .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#interestedInSec .interestedIn-slider .swiper-slide .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

/*---------------------- My Insotel Page -----------------------*/
#myInsotelForm {
	position: relative;
	display: inline-block;
	padding-top: 128px;
	padding-bottom: 108px;
}

#myInsotelForm .myInsotelBox {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10%;
	padding: 0 22rem;
}

#myInsotelForm .content {
	width: 100%;
}

#myInsotelForm .content h3.h3 {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.875rem;
	text-align: center;
}

#myInsotelForm .content p {
	margin: 20px 0 0 0px;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 500;
	line-height: 1.25rem;
}

#myInsotelForm .myInsotelform {
	width: 71%;
	margin: auto;
}

#myInsotelForm .myInsotelform .form-group {
	position: relative;
	display: flex;
	grid-gap: 32px;
	margin-top: 32px;
	margin-bottom: 0;
}

#myInsotelForm .myInsotelform .form-group:first-child {
	margin-top: 0;
}

#myInsotelForm .myInsotelform .form-group .form-control {
	width: 50%;
	height: 40px;
	padding: 0 0 16px 0;
	border: 0;
	border-bottom: 1px solid #9B9893;
	background-color: transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 0.875rem;
	color: var(--title-black-color);
	font-weight: 500;
}

#myInsotelForm .myInsotelform .form-group .form-control::placeholder {
	color: #BCBAB6;
	font-style: italic;
}

#myInsotelForm .myInsotelform .form-group textarea.form-control {
	width: 100%;
	height: 120px;
}

#myInsotelForm .myInsotelform .form-group label.checkbox {
	position: relative;
	margin: 0;
	padding-left: 25px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.5rem;
	user-select: none;
}

#myInsotelForm .myInsotelform .form-group label input {
	appearance: none;
	width: 16px;
	height: 16px;
	outline: 0;
	border: 1px solid #9B9893;
	background-color: transparent;
	border-radius: 0;
	vertical-align: text-top;
	position: absolute;
	top: 4px;
	left: 0;
	cursor: pointer;
}

#myInsotelForm .myInsotelform .form-group label input:checked:before {
	content: '';
	display: block;
	width: 6px;
	height: 10px;
	border: 2px solid var(--text-primary-solid-64);
	border-top: 0;
	border-left: 0;
	transform: rotate(45deg);
	position: relative;
	top: 0;
	left: 4px;
}

#myInsotelForm .myInsotelform .form-group label strong {
	font-weight: 700;
}

#myInsotelForm .myInsotelform .form-group label a {
	position: relative;
	color: var(--text-primary-solid-64);
	font-weight: 700;
	text-decoration: underline;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#myInsotelForm .myInsotelform .form-group label a:hover {
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#myInsotelForm .myInsotelform .form-group .sendBtn {
	position: relative;
	display: inline-block;
	margin: 32px 0 0 0;
	padding: 10px 23px;
	border: none;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#myInsotelForm .myInsotelform .form-group .sendBtn:hover {
	background: transparent;
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#myInsotelForm .myInsotelform .form-group .sendBtn:after {
	content: "";
	width: 40px;
	height: 40px;
	border-radius: 40px;
	background: rgb(115 98 73 / 8%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#myInsotelForm .myInsotelform .form-group .sendBtn:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#myInsotelForm .myInsotelform .my-insotel__msg {
	margin-top: 32px;
}

/*---------------------- Default Page -----------------------*/
#sedRhoncusSec {
	position: relative;
	padding: var(--space-between-section) 0;
	overflow: hidden;
}

#sedRhoncusSec .content {
	width: 100%;
	padding-left: 150px;
	padding-right: 150px;
	text-align: center;
}

#sedRhoncusSec .content h1.h1:not(:is(.modalDesign *)) {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--color-base-blue);
	font-weight: 400;
}

#sedRhoncusSec .content h1.h1:not(:is(.modalDesign *)) strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#sedRhoncusSec .content p:not(:is(.modalDesign *)) {
	margin: 0 0 24px 0;
	padding: 0 22%;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#sedRhoncusSec .content p:not(:is(.modalDesign *)):last-child {
	margin-bottom: 0;
}

#sedRhoncusSec .content p a {
	color: var(--color-base-blue);
	text-decoration: underline;

}

#sedRhoncusSec.intro-no-text {
	background-color: var(--color-base-beige);
	padding-bottom: 0;
}

#sedRhoncusSec.intro-no-text .content h1.h1:not(:is(.modalDesign *)) {
	margin-bottom: 0;
}

#sedRhoncusSec .sedSliderSec {
	margin: 0 0 44px 0;
	margin-top: 96px;
	opacity: 0;
	transform: scaleX(1.07) scaleY(1.07);
	transition-property: transform, opacity;
	transition-duration: 1000ms;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

#sedRhoncusSec .sedSliderSec.in-viewport {
	opacity: 1;
	transform: scaleX(1) scaleY(1);
}

#sedRhoncusSec .sedSliderSec .center-slider .swiper-wrapper {
	align-items: center;
}

#sedRhoncusSec .sedSliderSec .center-slider .swiper-slide {
	margin: 56px 0;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#sedRhoncusSec .sedSliderSec .center-slider .swiper-slide-active {
	margin: 0;
}

#sedRhoncusSec .sedSliderSec .center-slider picture {
	display: flex;
	justify-content: center;
	align-items: center;
}

#sedRhoncusSec .sedSliderSec .center-slider img {
	width: 100%;
	height: auto;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#sedRhoncusSec .sedSliderSec .center-slider .swiper-slide-active img {
	max-width: calc(100% + 140px);
	width: calc(100% + 140px);
}

#sedRhoncusSec .sedSliderSec .center-slider p {
	margin: 0 -70px;
	margin-top: 24px;
	padding: 0 32px;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	font-style: italic;
	line-height: 1.75rem;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-name: fadeOut;
	animation-name: fadeOut;
	animation-delay: 0s;
}

#sedRhoncusSec .sedSliderSec .center-slider .swiper-slide-active p {
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
	animation-delay: 0.7s;
}

#sedRhoncusSec .sedSliderSec .swiperNav {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

#sedRhoncusSec .sedSliderSec .swiperNav .swiper-button-prev {
	margin-left: -110px;
}

#sedRhoncusSec .sedSliderSec .swiperNav .swiper-button-next {
	margin-right: -110px;
}

#sedRhoncusSec .sedSliderSec .swiperCountDots {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
}

#vivamusSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 128px;
}

#vivamusSec .vivamusBoxSec {
	display: inline-block;
	width: 100%;
}

#vivamusSec .vivamusBoxSec .titleBox {
	display: block;
	width: 80%;
	margin: 0 auto;
}

#vivamusSec .vivamusBoxSec .titleBox h3.h3 {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.875rem;
	text-align: center;
}

#vivamusSec .contentBox {
	position: relative;
	display: flex;
	width: 80%;
	margin: auto;
	grid-gap: 35px;
}

#vivamusSec .contentBox p {
	margin: 0 0 16px 0;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#vivamusSec .contentBox p:last-child {
	margin-bottom: 0;
}

#vivamusSec .contentBox p strong {
	font-weight: 700;
}

#vivamusSec .contentBox ul {
	padding: 0;
	margin: 0 0 16px 0;
	list-style-type: none;
}

#vivamusSec .contentBox ul:last-child {
	margin-bottom: 0;
}

#vivamusSec .contentBox ul li {
	position: relative;
	padding-left: 20px;
	font-size: 1rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.75rem;
}

#vivamusSec .contentBox ul li:before {
	content: ".";
	font-size: 32px;
	line-height: 0px;
	position: absolute;
	top: 4px;
	left: 8px;
}

#vivamusSec .contentBox .contentLink {
	margin-top: 40px;
	width: 100%;
	display: inline-block;
}

#vivamusSec .contentBox .contentLink .booklink {
	display: inline-block;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 800;
	line-height: 1.25rem;
	background-color: transparent;
	border: 1px solid #79756F;
	padding: 10px 28px 10px 29px;
	border-radius: 30px;
	margin-right: 16px;
	transition: all 0.3s ease-in-out;
}

#vivamusSec .contentBox .contentLink .booklink:hover {
	color: var(--text-white);
	background-color: var(--color-light-blue-48);
}

#vivamusSec .contentBox .contentLink .viewMenu {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.875rem;
	color: var(--text-secondary-solid-100);
	font-weight: 500;
	line-height: 1.25rem;
	text-transform: uppercase;
	background-color: var(--color-light-blue-32);
	padding: 12px 28px 11px 29px;
	border-radius: 30px;
	margin-right: 14px;
	transition: all 0.3s ease-in-out;
}

#vivamusSec .contentBox .contentLink .viewMenu:hover {
	border-color: transparent;
	color: var(--text-white);
	background-color: var(--color-light-blue-48);
}

#vivamusSec .contentBox .contentLtBox {
	padding-right: 35px;
}

#vivamusSec .contentBox .contentLtBox--66 {
	width: 66%;
	border-right: 1px solid #9B9893;
}

#vivamusSec .contentBox .contentRtBox {
	width: 34%;
}

#pirateSec {
	position: relative;
	overflow: hidden;
	background-color: var(--color-base-beige);
	padding: var(--space-between-section) 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-between-items)
}

#pirateSec .pirateBox:nth-child(even) {
	background-image: none;
}

#pirateSec .pirateBox .container {
	display: flex;
	justify-content: space-between;
	gap: 60px;
	flex-direction: row;
	align-items: center;
}

#pirateSec .pirateBox:nth-child(even) .container {
	flex-direction: row-reverse;
}

#pirateSec .pirateBox .image {
	position: relative;
	display: flex;
	width: 100%;
	aspect-ratio: 355 / 327;
}


#pirateSec .pirateBox .image picture {
	width: 100%;

}

#pirateSec .pirateBox .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;

}

#pirateSec .pirateBox .content {
	width: 100%;
}

#pirateSec .pirateBox .content p {
	width: 92%;
}

#pirateSec .pirateBox .content span.title:not(:is(.modalDesign *)) {
	display: block;
	margin: 0 0 8px 0;
	font-size: 0.75rem;
	color: var(--color-text);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.625rem;
	letter-spacing: 0.5px;
}

#pirateSec .pirateBox .content h3:not(:is(.modalDesign *)) {
	display: block;
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size-small);
	line-height: var(--title-small-line-height);
	color: var(--color-base-blue);
	font-weight: 400;
}

#pirateSec .pirateBox .content h3:not(:is(.modalDesign *)) strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#pirateSec .pirateBox .content p:not(:is(.modalDesign *)) {
	margin: 0 0 16px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}


#pirateSec .pirateBox .content p:not(:is(.modalDesign *)):last-child {
	margin-bottom: 0;
}

#pirateSec .pirateBox .content p:not(:is(.modalDesign *)) strong {
	font-weight: 500;
}

#pirateSec .pirateBox .content .button {
	margin-top: 16px;
}

#pirateSec .pirateBox:nth-child(odd) .content>*:not(:is(.modalDesign *)) {
	padding-left: 8%;
}

#pirateSec .pirateBox:nth-child(odd) .content p:not(:is(.modalDesign *)) {
	width: 92%;
}

/* Corrección alineación de listas en items odd */
#pirateSec .pirateBox:nth-child(odd) .content ul:not(:is(.modalDesign *)) {
	padding-left: 16px;
	margin-left: 8%;
	list-style-position: outside;
	width: 92%;
}

#pirateSec .pirateBox:nth-child(odd) .content ul:not(:is(.modalDesign *)) li {
	padding-left: 0;
	margin-left: 0;
}

@media (max-width: 991px) {
	#pirateSec .pirateBox:nth-child(odd) .content>*:not(:is(.modalDesign *)) {
		padding-left: 0;
	}

	#pirateSec .pirateBox:nth-child(odd) .content p:not(:is(.modalDesign *)) {
		width: 100%;
	}

	#pirateSec .pirateBox:nth-child(odd) .content ul:not(:is(.modalDesign *)) {
		margin-left: 0;
		width: 100%;
	}
}

/*---------------------- Contact Page -----------------------*/
#contactSec {
	position: relative;
	padding-block: var(--space-between-sections-small);
	background-color: var(--color-base-beige);
	overflow: hidden;
}

#contactSec.bgBlue {
	background-color: var(--color-base-blue);
}

#contactSec .contactBox {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 5%;
}

#contactSec .content {
	width: 47%;
}

#contactSec .content h1.h1:not(:is(.modalDesign *)) {
	display: block;
	margin: 0 0 64px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#contactSec.bgBlue .content h1.h1:not(:is(.modalDesign *)) {
	color: var(--color-base-beige)
}

#contactSec .content h1.h1:not(:is(.modalDesign *)) strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#contactSec.bgBlue .content h1.h1:not(:is(.modalDesign *)) strong {
	color: var(--color-base-beige)
}

#contactSec .content h2.h2:not(:is(.modalDesign *)) {
	margin: 16px 0 0 0px;
	font-size: 1.125rem;
	color: var(--color-text);
	font-weight: 700;
	line-height: 1.75rem;
}

#contactSec.bgBlue .content h2.h2:not(:is(.modalDesign *)) {
	color: var(--color-base-beige)
}

#contactSec .content p:not(:is(.modalDesign *)) {
	margin: 0 0 16px 0;
	width: 80%;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#contactSec.bgBlue .content p:not(:is(.modalDesign *)) {
	color: var(--color-base-beige)
}

#contactSec .content .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
	margin-top: 16px;
	cursor: pointer;
}

#contactSec .content .moreinfo:hover {
	color: var(--color-text);
	transition: all .5s ease;
}

#contactSec .content .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: var(--color-base-beige);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#contactSec .content .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: var(--color-base-beige);
	transition: all .5s ease;
}

#contactSec .content .socialBox {
	display: inline-block;
	width: 100%;
	margin-top: 40px;
}

/* Fuerza las burbujas a caer en dos lineas en el segundo listado */
#contactSec .content .socialBox+.socialBox {
	padding-right: 20%;
}

#contactSec.bgBlue .bubbleButtonLink,
#contactSec.bgBlue .bubbleButtonLink:focus,
#contactSec.bgBlue .bubbleButtonLink:hover {
	color: var(--text-white);
}

#contactSec .content .socialBox p:not(:is(.modalDesign *)) {
	margin: 0 0 16px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 500;
	line-height: 1.25rem;
}

#contactSec.bgBlue .content .socialBox p:not(:is(.modalDesign *)) {
	color: var(--color-base-beige)
}

#contactSec .content .socialBox p:not(:is(.modalDesign *)) strong {
	font-weight: 700;
}

#contactSec .content .socialBox a.exploreLink {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 12px 16px 0;
	padding: 10px 23px;
	background-color: var(--color-light-blue-32);
	border-radius: 30px;
	font-size: 0.875rem;
	color: var(--color-text);
	font-weight: 500;
	line-height: 1.25rem;
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

#contactSec.bgBlue .content .socialBox a.exploreLink {
	background-color: var(--color-light-blue-32);
	color: var(--text-white)
}

#contactSec .content .socialBox a.exploreLink:hover {
	border-color: transparent;
	background-color: var(--color-base-blue);
	color: var(--text-white);
}

#contactSec.bgBlue .content .socialBox a.exploreLink:hover {
	background-color: var(--color-light-blue-48);
	color: var(--text-white);
}

#contactSec .content .exploreLink__socialIcon {
	width: 16px;
	filter: var(--color-base-blue-filter);
	transition: filter 0.3s ease-in-out;

}

#contactSec.bgBlue .content .exploreLink__socialIcon {
	filter: brightness(0) invert(1);
}

#contactSec .content .socialBox a.exploreLink:hover .exploreLink__socialIcon {
	filter: var(--color-base-blue-filter)
}

#contactSec.bgBlue .content .socialBox a.exploreLink:hover .exploreLink__socialIcon {
	filter: brightness(0) invert(1);
}

#contactSec .contactform {
	width: 48%;
	border-left: 1px solid var(--color-light-blue-32);
	padding-left: 64px;
	padding-right: 40px;
	align-content: center;
}

#contactSec.bgBlue .contactform {
	border-color: var(--color-light-blue-32);
}

#contactSec .contactform h3.h3 {
	display: block;
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.875rem;
}

#contactSec .contactform h3.h3 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#contactSec .contactform .form-group {
	position: relative;
	display: flex;
	grid-gap: 32px;
	margin-top: 32px;
	margin-bottom: 0;
}

#contactSec .contactform .form-group:first-child {
	margin-top: 0;
}

#contactSec .contactform .form-group .form-control {
	width: 50%;
	height: 40px;
	padding: 0 0 16px 0;
	border: 0;
	border-bottom: 1px solid #9B9893;
	background-color: transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 0.875rem;
	color: var(--title-black-color);
	font-weight: 500;
}

#contactSec.bgBlue .contactform .form-group .form-control {
	color: var(--color-base-beige);
	border-bottom-color: var(--color-base-beige)
}

#contactSec .contactform .form-group .form-control::placeholder {
	color: #BCBAB6;
	font-style: italic;
}

#contactSec.bgBlue .contactform .form-group .form-control::placeholder {
	color: var(--color-base-beige);
}

#contactSec .contactform .form-group textarea.form-control {
	width: 100%;
	height: 120px;
}

#contactSec .contactform .form-group label.checkbox {
	position: relative;
	margin: 0;
	padding-left: 25px;
	font-size: 0.875rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.5rem;
	user-select: none;
}

#contactSec.bgBlue .contactform .form-group label.checkbox {
	color: var(--color-base-beige)
}

#contactSec .contactform .form-group label input {
	appearance: none;
	width: 16px;
	height: 16px;
	outline: 0;
	border: 1px solid #9B9893;
	background-color: transparent;
	border-radius: 0;
	vertical-align: text-top;
	position: absolute;
	top: 4px;
	left: 0;
	cursor: pointer;
}

#contactSec.bgBlue .contactform .form-group label input {
	border-color: var(--color-base-beige);
}

#contactSec .contactform .form-group label input:checked:before {
	content: '';
	display: block;
	width: 6px;
	height: 10px;
	border: 2px solid var(--text-primary-solid-64);
	border-top: 0;
	border-left: 0;
	transform: rotate(45deg);
	position: relative;
	top: 0;
	left: 4px;
}

#contactSec.bgBlue .contactform .form-group label input:checked:before {
	border-color: var(--color-base-beige)
}

#contactSec .contactform .form-group label strong {
	font-weight: 700;
}

#contactSec .contactform .form-group label a {
	position: relative;
	color: var(--color-text);
	font-weight: 700;
	text-decoration: underline;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#contactSec.bgBlue .contactform .form-group label a {
	color: var(--color-base-beige);
}

#contactSec .contactform .form-group label a:hover {
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#contactSec .contactform .form-group .sendBtn {
	position: relative;
	display: inline-block;
	margin: 32px 0 0 0;
	padding: 10px 23px;
	border: 1px solid var(--color-base-blue);
	border-radius: 30px;
	font-size: 0.875rem;
	color: var(--color-base-blue);
	font-weight: 700;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#contactSec.bgBlue .contactform .form-group .sendBtn {
	background-color: var(--color-base-beige);
	color: var(--color-base-blue);
}

#contactSec .contactform .form-group .sendBtn:hover {
	background: var(--color-base-blue);
	color: #fafafa
}

#contactSec.bgBlue .contactform .form-group .sendBtn:hover {
	background-color: var(--text-white);
	color: var(--color-base-blue);
}

#contactSec .contactform .form-group .sendBtn:hover:after {
	width: calc(100% + 0px);
	background: var(--color-base-beige);
	transition: all .5s ease;
}

#contactSec .contactform .contact__msg {
	margin-top: 32px;
}

#contactSec .informationSec {
	width: 80%;
	background-color: rgb(115 98 73 / 8%);
	padding: 64px;
	margin: 128px auto 0 auto;
}

#contactSec.bgBlue .informationSec {
	background-color: var(--color-light-blue-32);
}

#contactSec .informationSec h3.h3 {
	display: block;
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--title-black-color);
	font-weight: 400;
	line-height: 2.875rem;
	text-align: center;
}

#contactSec.bgBlue .informationSec h3.h3 {
	color: var(--color-base-beige)
}

#contactSec .informationBox {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

#contactSec .informationBox:after {
	content: '';
	position: absolute;
	width: 1px;
	height: 100%;
	background-color: #9B9893;
}

#contactSec.bgBlue .informationBox:after {
	background-color: var(--color-base-beige);
}

#contactSec .informationBox .contentBox {
	width: 100%;
	display: flex;
	text-align: center;
	flex-direction: column;
	align-items: center;
}

#contactSec .informationBox .contentBox picture {
	margin: 0px 0 16px 0px;
}

#contactSec .informationBox .contentBox img {
	filter: brightness(0) invert(1);
}

#contactSec.bgBlue .informationBox .contentBox a {
	color: var(--color-base-beige);
}

#contactSec .informationBox .contentBox p {
	margin: 0px 0 12px 0px;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 500;
	line-height: 1.25rem;
}

#contactSec .informationBox .contentBox p strong {
	font-weight: 700;
}

#contactSec .informationBox .contentBox a.phoneLink {
	margin: 0px 0 44px 0px;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 500;
	line-height: 1.25rem;
}

#contactSec .informationBox .contentBox a.phoneLink:hover {
	color: var(--color-text);
}

#contactSec .informationBox .contentBox>span {
	margin: 0px 0 32px 0px;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 500;
	line-height: 1.25rem;
}

#contactSec .informationBox .contentBox .googleLink {
	margin-bottom: 16px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.875rem;
	color: var(--text-secondary-solid-100);
	font-weight: 500;
	line-height: 1.25rem;
	text-transform: uppercase;
	background-color: var(--color-light-blue-32);
	padding: 12px 28px 11px 29px;
	border-radius: 30px;
	margin-right: 14px;
	transition: all 0.3s ease-in-out;
}

#contactSec.bgBlue .informationBox .contentBox .googleLink {
	background-color: var(--color-light-blue-32);
	color: var(--text-white);
}

#contactSec .informationBox .contentBox .googleLink:hover {
	border-color: transparent;
	color: var(--text-white);
	background-color: var(--color-light-blue-48);
}

#contactSec.bgBlue .informationBox .contentBox .googleLink:hover {
	background-color: var(--color-light-blue-48);
	color: var(--text-white);
}

.swiperNav {
	z-index: 10;
}

/* REESCRITURA DE ESTILOS PHOTOSWIPE */
button.pswp__button {
	padding: 0 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 50px !important;
	height: 50px !important;
	margin: 8px !important;
}


button.pswp__button .pswp__icn,
button.pswp__button--arrow--next .pswp__icn {
	width: 40px !important;
	height: 40px !important;
	top: auto !important;
	left: auto !important;
	bottom: auto !important;
	right: auto !important;
	margin: 0 !important;
}

button.pswp__button--arrow--prev .pswp__icn {
	left: 19% !important;
}

button.pswp__button--arrow--next .pswp__icn {
	right: 19% !important;
}

/* GALLERY COLLECTION */
#galleryCollectionSec {
	position: relative;
	padding-top: 128px;
	padding-bottom: 0;
	background-color: #fafafa;
	overflow: hidden;
}

#galleryCollectionSec .contentBox {
	display: flex;
	width: 100%;
	margin-bottom: 96px;
}

#galleryCollectionSec .contentBox .titleBox {
	width: 50%;
}

#galleryCollectionSec .contentBox .titleBox .h2 {
	display: block;
	margin: 0;
	font-family: "ArgestaHeadline", serif;
	font-size: var(--title-size);
	line-height: var(--title-line-height);
	color: var(--title-black-color);
	font-weight: 400;
}

#galleryCollectionSec .contentBox .titleBox .h2 strong {
	font-family: "ArgestaHeadline", serif;
	font-style: italic;
	color: var(--color-base-blue);
	font-weight: 400;
}

#galleryCollectionSec .contentBox .content {
	width: 42%;
	padding-left: 170px;
}

#galleryCollectionSec .contentBox .content p {
	margin: 0 0 40px 0;
	font-size: 1rem;
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.75rem;
}

#galleryCollectionSec .contentBox .content p:last-child {
	margin-bottom: 0;
}

#galleryCollectionSec .contentBox .content p strong {
	font-weight: 500;
}

#galleryCollectionSec .contentBox .content .moreinfo {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 27px;
	font-size: 0.875rem;
	color: var(--text-primary-solid-64);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#galleryCollectionSec .contentBox .content .moreinfo:hover {
	color: var(--text-primary-solid-64);
	transition: all .5s ease;
}

#galleryCollectionSec .contentBox .content .moreinfo:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(115 98 73 / 8%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#galleryCollectionSec .contentBox .content .moreinfo:hover:after {
	width: calc(100% + 0px);
	background: rgb(115 98 73 / 8%);
	transition: all .5s ease;
}

#galleryCollectionSec .imageBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

#galleryCollectionSec .imageBox .roomImgBox {
	position: relative;
	width: 44%;
	display: inline-block;
	margin-bottom: 128px;
}

#galleryCollectionSec .imageBox .roomImgBox picture {
	width: 100%;
	display: inline-block;
}

#galleryCollectionSec .imageBox .roomImgBox:before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: rgb(115 98 73 / 52%);
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#galleryCollectionSec .imageBox .roomImgBox:hover:before {
	opacity: 1;
}

#galleryCollectionSec .imageBox .roomImgBox picture img {
	width: 100%;
	height: auto;
}

#galleryCollectionSec .imageBox .roomImgBox .info {
	width: 100%;
	height: 100%;
	padding: 30px;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 1;
}

#galleryCollectionSec .imageBox .roomImgBox .info h3.h3 {
	display: block;
	margin: 0 0 32px 0;
	font-family: "ArgestaHeadline", serif;
	font-size: 2.25rem;
	color: var(--text-white);
	font-weight: 400;
	line-height: 2.875rem;
	text-align: center;
	text-wrap: balance;
}

#galleryCollectionSec .imageBox .roomImgBox .info .linkBox {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 32px;
	width: 100%;
	flex-wrap: wrap;
}

#galleryCollectionSec .imageBox .roomImgBox .info .booknow {
	display: inline-block;
	padding: 10px 23px;
	border: 1px solid #fafafa;
	background: transparent;
	border-radius: 40px;
	font-size: 0.875rem;
	color: var(--text-white);
	font-weight: 800;
	line-height: 1.125rem;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#galleryCollectionSec .imageBox .roomImgBox .info .booknow:hover {
	border-color: #F3F1E7;
	background-color: #F3F1E7;
	color: var(--title-black-color);
}

#galleryCollectionSec .imageBox .roomImgBox .info .viewroom {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px 23px;
	font-size: 0.875rem;
	color: var(--text-white);
	font-weight: 400;
	line-height: 1.25rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all .5s ease;
}

#galleryCollectionSec .imageBox .roomImgBox .info .viewroom:hover {
	color: var(--title-black-color);
	transition: all .5s ease;
}

#galleryCollectionSec .imageBox .roomImgBox .info .viewroom:after {
	content: "";
	width: 40px;
	height: 40px;
	background: rgb(243 241 231 / 48%);
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .5s ease;
}

#galleryCollectionSec .imageBox .roomImgBox .info .viewroom:hover:after {
	width: calc(100% + 0px);
	background: rgb(243 241 231 / 80%);
	transition: all .5s ease;
}

@media (max-width: 992px) {
	#galleryCollectionSec .imageBox .roomImgBox:before {
		display: none;
	}
}