.elementor-kit-3{--e-global-color-primary:#D43B4D;--e-global-color-secondary:#363636;--e-global-color-text:#000000;--e-global-color-accent:#363636;--e-global-color-3edc00e:#1E1E1E;--e-global-color-032558c:#000000;--e-global-color-3993a4e:#FFFFFF;--e-global-color-51865bb:#FFFFFF00;--e-global-color-4b740a2:#F4F4F4;--e-global-typography-primary-font-family:"Barlow";--e-global-typography-primary-font-size:clamp(40px, calc(40px + (50 - 40) * ((100vw - 1180px) / (1920 - 1180))), 50px);--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:110%;--e-global-typography-secondary-font-family:"Barlow";--e-global-typography-secondary-font-size:clamp(30px, calc(30px + (40 - 30) * ((100vw - 1180px) / (1920 - 1180))), 40px);--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:110%;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 1180px) / (1920 - 1180))), 18px);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:150%;--e-global-typography-accent-font-family:"Barlow";--e-global-typography-accent-font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 1180px) / (1920 - 1180))), 18px);--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:110%;--e-global-typography-0f3d731-font-family:"Barlow";--e-global-typography-0f3d731-font-size:clamp(22px, calc(22px + (25 - 22) * ((100vw - 1180px) / (1920 - 1180))), 25px);--e-global-typography-0f3d731-font-weight:400;--e-global-typography-0f3d731-line-height:110%;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-3 e-page-transition{background-color:#FFBC7D;}.elementor-kit-3 a{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-3 a:hover{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-3 h1{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-3 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-3 h3{font-family:var( --e-global-typography-0f3d731-font-family ), Sans-serif;font-size:var( --e-global-typography-0f3d731-font-size );font-weight:var( --e-global-typography-0f3d731-font-weight );line-height:var( --e-global-typography-0f3d731-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1200px){.elementor-kit-3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-3 a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-3 a:hover{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-3 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-3 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-3 h3{font-size:var( --e-global-typography-0f3d731-font-size );line-height:var( --e-global-typography-0f3d731-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-3 a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-3 a:hover{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-3 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-3 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-3 h3{font-size:var( --e-global-typography-0f3d731-font-size );line-height:var( --e-global-typography-0f3d731-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//***************************************/
/*********** hotelesbonanza.com ***********/
/***************************************/

/*********** Tipografía ***********/
/* --- Barlow --- */
h1,
h2,
h3,
h4,
.title-tertiary,
.title-tertiary-small,
.all-heros .cont-titles .primary-title,
.secondary-title,
.title-card,
p,
a,
span,
.btn-site a,
.btn-site a span,
.item-link a,
.item-link a span,
ui-finder > ui-button,
ui-pressable[data-role="login"] .login .login-text,
#footer .item-link ui-pressable > ui-text,
.developed-mirai,
.pretitle,
.pretitle p,
.pretitle span,
.post-title-card {
    font-family: var(--font-family-site);
}

/* --- styles --- */
.item-link.go-back a,
.item-link.go-back a span {
    font-size: var(--font-size-s)!important;
}
.item-link.link-s a,
.item-link.link-s a span,
.back-link a,
.back-link a span,
#footer .item-link ui-pressable > ui-text,
#developed-wrapper,
#developed-wrapper a {
    font-size: var(--font-size-ms)!important; /*16px - 14px*/
}
.btn-site a,
.btn-site a span,
.item-link a,
.item-link a span {
    font-size: var(--font-size-body)!important; /*18px - 16px*/
}

.item-link a,
.item-link a span,
.item-link a:is(:hover, :focus-visible),
.item-link a:is(:hover, :focus-visible) span,
.back-link a,
.back-link a span,
.back-link:is(:hover, :focus-visible) a,
.back-link:is(:hover, :focus-visible) span,
#header .logo-cont,
#header .logo-cont p,
#footer .item-link ui-pressable > ui-text {
    font-weight: 400;
}
#developed-wrapper a {
    font-weight: 600;
}

.item-link a,
.item-link a span,
.back-link a,
.back-link a span,
#footer .item-link ui-pressable > ui-text,
#developed-wrapper,
#developed-wrapper a {
    line-height: 110%!important;
}

.back-link a,
.back-link a span,
.back-link:is(:hover, :focus-visible) a,
.back-link:is(:hover, :focus-visible) span {
    text-transform: none!important;
}

#footer .mft-legal-footer #developed-wrapper a {
    text-transform: lowercase;
}
.item-link.trans-upper a,
.item-link.trans-upper a span {
    text-transform: uppercase;
}

.c-white,
.c-white h2,
.c-white h3,
.c-white p,
.c-white span,
.c-white i::before,
.c-white svg,
.c-white svg path {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}



/*********** Headings ***********/
/* --- Heading hidden -- */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}



/*********** Botones ***********/
.item-link a,
a.item-link {
    padding: 0;
    background-color: transparent;
    cursor: pointer;
}

.item-animated li {
    width: calc(100% + 5px);
}
.item-animated a {
    transform: translateX(5px);
}
.item-animated a .elementor-icon-list-icon {
    transition: all 0.35s ease;
}
.item-animated a:is(:hover, :focus-visible) .elementor-icon-list-icon {
    transform: translateX(-5px);
}

.btn-site a {
    position: relative;
    padding: 12px 24px!important;
    cursor: pointer;
}
.btn-site a,
.btn-site a span {
    text-align: center!important;
    line-height: 100%!important;
    text-decoration: none;
}
.btn-site a,
.btn-site a span,
.btn-site a svg,
.btn-site a svg path {
    transition: all 0.35s ease!important;
}

/*--- Estilos de botones ---*/
/*----- link underline -----*/
.underline a {
    border-bottom: 1px solid var(--mirai-wp-white);
}
.underline a:is(:hover, :focus-visible),
.underline .e-current a {
    border-bottom: 1px solid var(--mirai-wp-Primary);
}

/*----- btn line -----*/
.btn-site.btn-line,
.btn-site.btn-line a {
    background-color: var(--mirai-wp-white);
}
.btn-site.btn-line a {
    border: 1px solid var(--mirai-wp-Primary);
}
.btn-site.btn-line a,
.btn-site.btn-line a span,
.btn-site.btn-line a svg,
.btn-site.btn-line a svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}
.btn-site.btn-line a::before,
.btn-site.btn-line a::after {
	content: "";
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.btn-site.btn-line a::before {
	top: 0;
	left: 0;
	width: 0;
	height: 0;

	border-top: 1px solid var(--mirai-wp-Primary);
	border-right: 1px solid var(--mirai-wp-Primary);

	transition:
		width .25s ease-out,
		height .25s ease-out .25s;
}
.btn-site.btn-line a::after {
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;

	border-bottom: 1px solid var(--mirai-wp-Primary);
	border-left: 1px solid var(--mirai-wp-Primary);

	transition:
		width .25s ease-out .5s,
		height .25s ease-out .75s;
}
.btn-site.btn-line a:is(:hover, :focus-visible)::before,
.btn-site.btn-line a:is(:hover, :focus-visible)::after {
	width: 100%;
	height: 100%;
}

/*----- bg color -----*/
.btn-site.bg-color a,
.btn-site.bg-color a span,
.btn-site.bg-color a svg,
.btn-site.bg-color a svg path {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}

/*-------- bg primary --------*/
.btn-site.bg-color.bg-primary a {
    background-color: var(--mirai-wp-Primary);
    border: 1px solid var(--mirai-wp-Primary);
}
.btn-site.bg-color.bg-primary a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-secondary);
    border: 1px solid var(--mirai-wp-secondary);
}

/* --- Icon list --- */
.list-items,
.list-items p,
.list-items span,
.list-items a,
.list-items i::before,
.list-items svg,
.list-items svg path {
    color: var(--mirai-wp-text)!important;
    fill: var(--mirai-wp-text)!important;
    transition: all 0.35s ease!important;
    text-transform: none;
}
.list-items a:is(:hover, :focus-visible),
.list-items a:is(:hover, :focus-visible) p,
.list-items a:is(:hover, :focus-visible) span,
.list-items a:is(:hover, :focus-visible) i::before,
.list-items a:is(:hover, :focus-visible) svg,
.list-items a:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-Primary)!important;
    fill: var(--mirai-wp-Primary)!important;
}

/* --- Icons hover --- */
.rrss-site a,
#footer .rrss-site a,
#hamburguer-menu .rrss-site a  {
    background-color: var(--mirai-wp-Primary);
    transition: all 0.35s ease;
}
.rrss-site a i,
.rrss-site a i::before,
.rrss-site a svg path,
#footer .rrss-site a i,
#footer .rrss-site a i::before,
#footer .rrss-site a svg path,
#hamburguer-menu .rrss-site a i,
#hamburguer-menu .rrss-site a i::before,
#hamburguer-menu .rrss-site a svg path {
    color: var(--mirai-wp-white)!important;
    fill: var(--mirai-wp-white)!important;
    font-size: 24px;
    width: 24px;
    height: 24px;
    transition: all 0.35s ease;
}
.rrss-site a:is(:hover, :focus-visible),
#footer .rrss-site a:is(:hover, :focus-visible),
#hamburguer-menu .rrss-site a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-white);
}
.rrss-site a:is(:hover, :focus-visible) i,
.rrss-site a:is(:hover, :focus-visible) i::before,
.rrss-site a:is(:hover, :focus-visible) svg path,
#footer .rrss-site a:is(:hover, :focus-visible) i,
#footer .rrss-site a:is(:hover, :focus-visible) i::before,
#footer .rrss-site a:is(:hover, :focus-visible) svg path,
#hamburguer-menu .rrss-site a:is(:hover, :focus-visible) i,
#hamburguer-menu .rrss-site a:is(:hover, :focus-visible) i::before,
#hamburguer-menu .rrss-site a:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-Primary)!important;
    fill: var(--mirai-wp-Primary)!important;
    font-size: 24px;
    width: 24px;
    height: 24px;
}

/* --- btn back --- */
.back-link,
.back-link * {
	margin: 0!important;
	padding: 0!important;
}
.back-link .elementor-icon-box-wrapper {
    gap: 10px;
}
.back-link,
.back-link p,
.back-link span,
.back-link a,
.back-link i::before,
.back-link svg,
.back-link svg path {
    color: var(--mirai-wp-text)!important;
    fill: var(--mirai-wp-text)!important;
    transition: all 0.35s ease!important;
    text-transform: none;
}
.back-link .elementor-icon-box-icon {
    transform: none;
    transition: all 0.35s ease!important;
}
.back-link:is(:hover, :focus-visible) .elementor-icon-box-icon {
    transform: translateX(-5px);
}
.back-link:is(:hover, :focus-visible) a,
.back-link:is(:hover, :focus-visible) p,
.back-link:is(:hover, :focus-visible) span,
.back-link:is(:hover, :focus-visible) i::before,
.back-link:is(:hover, :focus-visible) svg,
.back-link:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-Primary)!important;
    fill: var(--mirai-wp-Primary)!important;
}



/*********** Pop ups ***********/
/* --- Pop up menú and submenú --- */
.menu-wrapper,
.menu-wrapper p,
.menu-wrapper span,
.menu-wrapper a,
.menu-wrapper i::before,
.menu-wrapper svg,
.menu-wrapper svg path {
    color: var(--mirai-wp-white)!important;
    fill: var(--mirai-wp-white)!important;
    transition: all 0.35s ease!important;
    text-transform: none;
}
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible),
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) span,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) p,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) i::before,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) svg,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) svg path,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) + .e-n-menu-dropdown-icon i::before,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) + .e-n-menu-dropdown-icon svg,
.menu-wrapper .detail-hover li a:is(:hover, :focus-visible) + .e-n-menu-dropdown-icon svg path,
.menu-wrapper .detail-hover li .e-anchor:is(:hover, :focus-visible),
.menu-wrapper .detail-hover li .e-anchor:is(:hover, :focus-visible) span,
.menu-wrapper .detail-hover li .e-anchor:is(:hover, :focus-visible) p,
.menu-wrapper .detail-hover li .e-anchor:is(:hover, :focus-visible) i::before,
.menu-wrapper .detail-hover li .e-anchor:is(:hover, :focus-visible) svg,
.menu-wrapper .detail-hover li .e-anchor:is(:hover, :focus-visible) svg path,
.menu-wrapper .menu-site ul li:has(.e-active) > .e-anchor span,
.menu-wrapper .menu-site ul li:has(.e-active) > .e-anchor p,
.menu-wrapper .menu-site ul li:has(.e-active) > .e-anchor i::before,
.menu-wrapper .menu-site ul li:has(.e-active) > .e-anchor svg,
.menu-wrapper .menu-site ul li:has(.e-active) > .e-anchor svg path,
.menu-wrapper .menu-site ul li:has(.sub-menu-site .e-current) > .e-anchor span,
.menu-wrapper .menu-site ul li:has(.sub-menu-site .e-current) > .e-anchor p,
.menu-wrapper .menu-site ul li:has(.sub-menu-site .e-current) > .e-anchor i::before,
.menu-wrapper .menu-site ul li:has(.sub-menu-site .e-current) > .e-anchor svg,
.menu-wrapper .menu-site ul li:has(.sub-menu-site .e-current) > .e-anchor svg path,
.menu-wrapper .detail-hover .e-current a,
.menu-wrapper .detail-hover .e-current span,
.menu-wrapper .detail-hover .e-current p,
.menu-wrapper .detail-hover .e-current i::before,
.menu-wrapper .detail-hover .e-current svg,
.menu-wrapper .detail-hover .e-current svg path {
    color: var(--mirai-wp-Primary)!important;
    fill: var(--mirai-wp-Primary)!important;
}

.menu-wrapper {
    background-color: rgba(158, 158, 158, .75);
    backdrop-filter: blur(5px);
}
.popup-submenu .menu-wrapper {
    background-color: var(--mirai-wp-transparent);
    backdrop-filter: none;
}
.menu-wrapper .items-menu {
    padding-top: clamp(180px, calc(180px + (185 - 180) * ((100vw - 1180px) / (1920 - 1180))), 185px);
    transition: all 0.35s ease;
}
body:has(#header.elementor-sticky--effects) .menu-wrapper .items-menu {
    padding-top: clamp(110px, calc(110px + (112 - 110) * ((100vw - 1180px) / (1920 - 1180))), 112px);
}

.menu-wrapper .parts-items-menu {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
}

.menu-site ul li .e-n-menu-title-container {
	min-width: 0;
	white-space: normal;
}
.menu-site ul li .e-n-menu-title-text {
	display: block;
	max-width: 100%;
    text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

.menu-wrapper .items-menu .menu-site ul,
.menu-wrapper .items-menu .menu-site ul li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
}
.menu-wrapper .items-menu .menu-site.submenu-site ul,
.menu-wrapper .items-menu .menu-site.submenu-site ul li {
    justify-content: center;
    align-items: center;
}
.menu-wrapper .items-menu .menu-site ul li {
    gap: 0;
}
.menu-wrapper .items-menu .sub-menu-site ul {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}
.menu-wrapper .items-menu .menu-site ul li a,
.menu-wrapper .items-menu .menu-site ul li span {
    font-size: var(--font-size-l);
    font-weight: 600;
    line-height: 110%!important;
}
.menu-wrapper .items-menu .sub-menu-site ul li a,
.menu-wrapper .items-menu .sub-menu-site ul li span {
    font-size: var(--font-size-m);
    font-weight: 400;
}
.menu-wrapper .items-menu .menu-site li .e-n-menu-content {
    position: relative;
    width: auto;
    left: initial;
    right: initial;
    transition: all 0.35s ease;
}
.menu-wrapper .menu-site .e-n-menu-content .cont-sub-menu:has(.e-current),
.menu-wrapper .menu-site.submenu-open .e-n-menu-content .cont-sub-menu {
	display: flex !important;
}
.menu-wrapper .menu-site.submenu-open li .e-n-menu-dropdown-icon,
.menu-wrapper .menu-site.submenu-open li button {
    display: none!important;
}
.links-info ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 20px;
}

/* --- Pop up adv --- */
.popup-adv .dialog-widget-content {
    max-height: calc(100% - 50px)!important;
}

/* --- WiFi info popup states --- */
.dialog-type-lightbox.popup-wifi {
    z-index: 6;
}
.popup-wifi {
	position: relative;
}
.popup-wifi .animated {
    pointer-events: auto;
}

.popup-wifi .wifi-info {
	opacity: 1;
	visibility: visible;
	transition: opacity .35s ease, visibility .35s ease;
}
.popup-wifi .wifi-toggle {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	cursor: pointer;
	transition: opacity .35s ease, visibility .35s ease;
}
.popup-wifi .wifi-toggle img {
    filter: grayscale(100%) brightness(0.5) contrast(40%);
}
.popup-wifi.wifi-compact .animated {
    pointer-events: none;
}
.popup-wifi.wifi-compact .wifi-info,
.popup-wifi.wifi-compact .dialog-close-button {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.popup-wifi.wifi-compact .wifi-toggle {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}



/*********** Header ***********/
#header,
#header h2,
#header p,
#header span,
#header a,
#header i::before,
#header svg,
#header svg path,
#header .wpml-ls-legacy-dropdown-click a,
#header .wpml-ls-legacy-dropdown-click a span, 
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a, 
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a span {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
    transition: all 0.35s ease!important;
    text-transform: none;
}
#header .item-link.detail-hover a:is(:hover, :focus-visible),
#header .item-link.detail-hover a:is(:hover, :focus-visible) h2,
#header .item-link.detail-hover a:is(:hover, :focus-visible) p,
#header .item-link.detail-hover a:is(:hover, :focus-visible) span,
#header .item-link.detail-hover a:is(:hover, :focus-visible) i::before,
#header .item-link.detail-hover a:is(:hover, :focus-visible) svg path,
#header .wpml-ls-legacy-dropdown-click a:is(:hover, :focus-visible),
#header .wpml-ls-legacy-dropdown-click a:is(:hover, :focus-visible) span,
#header .wpml-ls-legacy-dropdown-click li a.wpml-ls-item-toggle:is(:hover, :focus-visible), 
#header .wpml-ls-legacy-dropdown-click li a.wpml-ls-item-toggle:is(:hover, :focus-visible) span, 
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a:is(:hover, :focus-visible), 
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a:is(:hover, :focus-visible) span  {
    color: var(--mirai-wp-Primary);
    fill: var(--mirai-wp-Primary);
}

#header {
    min-width: 100%;
    background-color: var(--mirai-wp-transparent);
    padding: var(--mft-padding-50) var(--mft-padding-l);
    box-shadow: 0 0 0 var(--mirai-wp-transparent);
    z-index: 6;
    transition: all 0.35s ease;
}
#header .items-header,
#header .items-header .cont-left,
#header .items-header .cont-right {
    transition: all 0.35s ease;
}

#header.elementor-sticky--effects {
    background-color: var(--mirai-wp-Primary-super-dark);
    padding: var(--mft-space-24) var(--mft-padding-l);
    box-shadow: 0px 12px 30px rgba(0, 0, 0, 0.07);
    z-index: 8;
}
#header.elementor-sticky--effects {
    z-index: 8;
}
body:has(#finder.finder-active) #header {
    box-shadow: none;
}

/* --- cont-left --- */
/* ----- logo ----- */
.logo-cont {
    gap: var(--mft-space-3xs);
    transition: all 0.35s ease;
}
#header.elementor-sticky--effects .logo-cont {
    gap: 0;
}

#header .logo-site {
    max-width: 270px;
    transition: all 0.35s ease;
}
#header.elementor-sticky--effects .logo-site {
    max-width: 150px;
}

#header .cont-left .divider-logo,
#header .title-logo {
    transition: all 0.35s ease;
}
#header.elementor-sticky--effects .divider-logo,
#header.elementor-sticky--effects .title-logo {
    display: none;
}

/* --- cont-right --- */
#header .useful-info {
    opacity: 1;
    transition: all 0.35s ease;
}
body.popup-site-open.popup-menu-site-open #header .useful-info {
    opacity: 0;
    pointer-events: none;
}

#header .list-horz ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--mft-space-24);
}
#header .list-horz,
#header .list-horz ul li span {
    transition: all 0.35s ease;
}

#header.elementor-sticky--effects .list-horz ul li span {
    padding: 0;
    margin: 0;
}

/* ----- lang ----- */
#header .wpml-elementor-ls {
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .wpml-ls-legacy-dropdown-click a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    padding: 0;
    transition: all 0.35s ease;
}
#header .wpml-ls-legacy-dropdown-click a,
#header .wpml-ls-legacy-dropdown-click a span {
    text-align: center;
}
#header .wpml-ls-legacy-dropdown-click a span {
    vertical-align: initial;
}
.wpml-ls-legacy-dropdown-click a,
.wpml-ls-legacy-dropdown-click a:is(:hover, :focus-visible), 
.wpml-ls-legacy-dropdown-click a:focus, 
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:is(:hover, :focus-visible)>a {
    background-color: transparent;
    border: none;
    transition: all 0.35s ease;
}
#header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul,
#header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul .wpml-ls-current-language,
#header .wpml-ls-legacy-dropdown-click,
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
    transition: all 0.35s ease;
}
#header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul li a.wpml-ls-item-toggle {
    position: relative;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 24px;
    padding-right: 12px;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
    display: none;
}
#header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul li a.wpml-ls-item-toggle::before {
    content: '';
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2310/world-white.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 0;
    transition: all 0.35s ease;
}
#header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul a.wpml-ls-item-toggle:is(:hover, :focus-visible)::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2310/world-primary.svg");
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
    background-color: var(--mirai-wp-Primary-super-dark);
    box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.12);
    transition: all 0.35s ease;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    border: none;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
    padding: 16px 12px;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li {
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a {
    padding: 12px 0;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li:first-child a {
    padding: 0 0 12px;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li:last-child a {
    padding: 12px 0 0;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li:only-child a {
    padding: 0;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a span {
    border-bottom: 1px solid var(--mirai-wp-transparent);
    transition: all 0.35s ease;
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a:is(:hover, :focus-visible) span {
    border-bottom: 1px solid var(--mirai-wp-Primary);
}
.wpml-ls-legacy-dropdown-click:hover .wpml-ls-sub-menu {
    visibility: visible;
}

/* ----- btn menú hamburguesa ----- */
#header .menu-cont {
    min-width: 48px;
}
#header .menu-cont .elementor-icon-box-icon {
    margin: 0;
}
#header .menu-cont a,
#header .menu-cont i {
    position: relative;
    width: 48px;
    height: 32px;
}
#header .menu-cont a::before,
#header .menu-cont a::after,
#header .menu-cont i::before {
    position: absolute;
    content: "";
    left: 0;
    height: 2px;
    background-color: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
#header .menu-cont a::before {
    top: 0;
    width: 23px;
}
#header .menu-cont a::after {
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
}
#header .menu-cont i::before {
    bottom: 0;
    width: 36px;
    transform: translateX(0);
}
#header .menu-cont:is(:hover, :focus-visible) a::before,
#header .menu-cont:is(:hover, :focus-visible) a::after,
#header .menu-cont:is(:hover, :focus-visible) i::before {
    width: 100%;
    background-color: var(--mirai-wp-Primary);
}

body.popup-site-open.popup-menu-site-open #header .menu-cont {
    pointer-events: visible;
}
body.popup-site-open.popup-menu-site-open #header .menu-cont a::before {
    width: 100%;
    top: calc(50% - 1px);
    left: 0;
    transform: rotate(45deg);
}
body.popup-site-open.popup-menu-site-open #header .menu-cont a::after {
    width: 100%;
    opacity: 0;
}
body.popup-site-open.popup-menu-site-open #header .menu-cont i::before {
    width: 100%;
    bottom: calc(50% - 1px);
    left: 0;
    transform: rotate(-45deg);
}

/* --- Comportamiento de Header al abrirse un Pop up --- */
body.popup-site-open.popup-menu-site-open #header {
    z-index: 999999;
}
body.popup-site-open.popup-menu-site-open #header {
    background-color: var(--mirai-wp-transparent);
    backdrop-filter: none;
    box-shadow: none;
}



/*********** Finder ***********/
#finder {
    position: absolute;
    width: auto;
    top: calc(85svh - 154px);
    bottom: auto;
    left: 50%;
    transform: translate(-50%);
    z-index: 7;
    pointer-events: auto;
    transition: width 0.35s ease, background-color 0.35s ease;
}
body.cat-home #finder {
    top: calc(100svh - 224px);
}
body.popup-site-open.popup-menu-site-open #finder {
    opacity: 0;
    pointer-events: none;
}

body.cat-home #finder.finder-active,
#finder.finder-active {
    position: fixed;
    width: 100%;
    padding: var(--mft-padding-12) var(--mft-padding-l);
    top: var(--finder-fixed-top);
    bottom: auto;
    left: 0;
    transform: none;
    background-color: var(--mirai-wp-black);
    box-shadow: 0px 12px 30px rgba(0, 0, 0, 0.07);
}
#finder .finder-content {
    border-radius: 8px;
    box-shadow: 0px 10px 36px 0px #0000001A;
    transition: all 0.35s ease;
}
#finder.finder-active .finder-content {
    box-shadow: none;
}

.cat-room-detail #finder,
.cat-offer-detail #finder {
    display: none;
}

body[data-mirai-modal="true"] #finder {
    z-index: 1;
}
#finder ui-finder > ui-button {
    text-decoration: none;
}

#finder ui-finder[data-role="finder"] ui-calendar[data-role="calendar"] {
    padding: 12px;
}
#finder ui-finder[data-role="finder"] ui-calendar[data-role="calendar"] > ui-scrollview {
    justify-content: center;
    gap: 12px;
}
#finder ui-finder[data-role="finder"] ui-calendar[data-role="calendar"] > ui-scrollview > ui-calendar-month {
    min-width: 200px;
    width: 100%;
}

/* --- btn adv --- */
#finder .cont-adv {
    transition: all 0.35s ease;
}
#finder .cont-adv .btn-adv {
    cursor: pointer;
}
#finder .cont-adv .btn-adv,
#finder .cont-adv .btn-adv a,
#finder .cont-adv .btn-adv span,
#finder .cont-adv .btn-adv i::before,
#finder .cont-adv .btn-adv svg path {
    line-height: 150%;
    font-weight: 400;
    text-transform: none;
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}
#finder .cont-adv .btn-adv::before {
	content: "";
	position: absolute;
	inset: -18px -22px;
	z-index: -1;

	background: radial-gradient(
		ellipse at center,
		rgba(0, 0, 0, 0.28) 0%,
		rgba(0, 0, 0, 0.18) 45%,
		rgba(0, 0, 0, 0.08) 70%,
		transparent 100%
	);

	filter: blur(10px);
}
#finder .cont-adv .btn-adv a,
#finder .cont-adv .btn-adv .text-deco {
    text-shadow: 0 0 15px rgba(0, 0, 0, .5);
}
#finder .cont-adv .btn-adv .text-deco {
    font-weight: 700;
    padding-bottom: 4px;
    border-bottom: 1px solid;
    border-color: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
#finder .cont-adv .btn-adv:is(:hover, :focus-visible) .text-deco {
    color: var(--mirai-wp-Primary);
    border-color: var(--mirai-wp-Primary);
}

#finder.finder-active .cont-adv {
    display: none;
}



/*********** Footer ***********/
#footer,
#footer h2,
#footer p,
#footer span,
#footer a,
#footer i::before,
#footer svg,
#footer svg path,
#footer ui-pressable > ui-text,
#footer .item-link ui-pressable > ui-text, 
.mft-legal-footer #developed-wrapper a {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
    transition: all 0.35s ease!important;
    text-transform: none;
}

#footer .item-link.detail-hover a:is(:hover, :focus-visible),
#footer .item-link.detail-hover a:is(:hover, :focus-visible) h2,
#footer .item-link.detail-hover a:is(:hover, :focus-visible) p,
#footer .item-link.detail-hover a:is(:hover, :focus-visible) span,
#footer .item-link.detail-hover a:is(:hover, :focus-visible) i::before,
#footer .item-link.detail-hover a:is(:hover, :focus-visible) svg path,
#footer .item-link.detail-hover .e-current a,
#footer .item-link.detail-hover .e-current a h2,
#footer .item-link.detail-hover .e-current a p,
#footer .item-link.detail-hover .e-current a span,
#footer .item-link.detail-hover .e-current a i::before,
#footer .item-link.detail-hover .e-current a svg path,
#footer .item-link.detail-hover .current-menu-item a,
#footer .item-link.detail-hover .current-menu-item a h2,
#footer .item-link.detail-hover .current-menu-item a p,
#footer .item-link.detail-hover .current-menu-item a span,
#footer .item-link.detail-hover .current-menu-item a i::before,
#footer .item-link.detail-hover .current-menu-item a svg path,
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible),
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible) h2,
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible) p,
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible) span,
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible) i::before,
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible) svg path,
#footer .cont-link.item-link.detail-hover:is(:hover, :focus-visible) ui-pressable > ui-text, 
.mft-legal-footer #developed-wrapper a:is(:hover, :focus-visible) {
    color: var(--mirai-wp-Primary);
    fill: var(--mirai-wp-Primary);
}

#footer .mirai-tracker ui-text,
#developed-wrapper {
    min-width: max-content;
}

#footer .menu-divider {
    max-width: 1px;
    height: 14px;
}
#footer .menu-divider .elementor-divider {
    padding: 0;
    margin: 0;
}

/* --- Post-footer --- */
.logos_oliva-hotels .elementor-widget-image {
	height: 100%;
}
.logos_oliva-hotels a,
.logos_oliva-hotels img {
	display: block;
	width: 100%;
    min-height: 125px;
	height: 100%;
	object-fit: contain;
    object-position: center;
}



/*********** characters  ***********/
h1,
h2,
h3 {
	max-width: var(--title-max-width); /* 45ch */
}
.title-full-width {
	max-width: none;
}
.text-medium-width h1,
.text-medium-width h2,
.text-medium-width h3 {
	max-width: var(--text-medium-max-width); /* 65ch */
}
.text-readable {
	max-width: var(--text-max-width); /* 85ch */
}



/*********** Containers size ***********/
.container-s {
    width: 100%;
    max-width: var(--width-s)!important;
}
.container-m {
    width: 100%;
    max-width: var(--width-m)!important;
}



/*********** Paddings ***********/
.mft-padding-section {
    padding: var(--mft-padding-ml) var(--mft-padding-l);
}
.mft-padding_section-top {
    padding: var(--mft-padding-ml) var(--mft-padding-l) calc(var(--mft-padding-ml) / 2);
}
.mft-padding_section-middle {
    padding: calc(var(--mft-padding-ml) / 2) var(--mft-padding-l);
}
.mft-padding_section-bottom {
    padding: calc(var(--mft-padding-ml) / 2) var(--mft-padding-l) var(--mft-padding-ml);
}

.mft-padding-container {
    padding: var(--mft-padding-ml);
}
.mft-padding_container-half {
    padding: calc(var(--mft-padding-ml) / 2);
}

.mft-ptb-section {
    padding-top: var(--mft-padding-ml);
    padding-bottom: var(--mft-padding-ml);
}
.mft-ptb_section-top  {
    padding-top: var(--mft-padding-ml);
    padding-bottom: calc(var(--mft-padding-ml) / 2);
}
.mft-ptb_section-middle {
    padding-top: calc(var(--mft-padding-ml) / 2);
    padding-bottom: calc(var(--mft-padding-ml) / 2);
}
.mft-ptb_section-bottom {
    padding-top: calc(var(--mft-padding-ml) / 2);
    padding-bottom: var(--mft-padding-ml);
}
.mft-prl-section {
    padding-right: var(--mft-padding-l);
    padding-left: var(--mft-padding-l);
}



/*********** Gaps ***********/
.gap-4xs {
    gap: var(--mft-space-4xs); /* 8px */
}
.gap-20 {
    gap: var(--mft-space-20); /* 20px */
}
.gap-2xl {
    gap: var(--mft-space-2xl); /*50 --- 35*/
}
.gap-3xl {
    gap: var(--mft-space-3xl); /*70 --- 50*/
}
.gap-4xl {
    gap: var(--mft-space-4xl); /*140 --- 60*/
}



/*********** Shadows ***********/
.cont-shadow {
    outline: 2px solid black;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.cont-shadow-soft {
    box-shadow:
	0 2px 6px rgba(0, 0, 0, 0.08),
	0 8px 20px rgba(0, 0, 0, 0.10);
}



/*********** Anchors ***********/
.anchor-section {
    transition: all 0.35s ease;
}
.anchor-section:is(:hover, :focus-visible) {
    transform: translateY(10px);
}

.cont-anchor {
    position: relative;
}
.anchor-hidden {
    position: absolute;
    width: 100%;
    height: 168px;
    top: -168px;
    opacity: 0;
    pointer-events: none;
    z-index: -1;
}

.cont-anchor .anchor-section i::before {
    background: radial-gradient(
		ellipse at center,
		rgba(0, 0, 0, 0.28) 0%,
		rgba(0, 0, 0, 0.18) 45%,
		rgba(0, 0, 0, 0.08) 70%,
		transparent 100%
	);
	filter: blur(10px);
    text-shadow: 0 0 15px rgba(0, 0, 0, .5);
}



/*********** heros pages ***********/
.all-heros {
	position: relative;
}

.all-heros::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 250px;
	pointer-events: none;
	z-index: 1;

	background: linear-gradient(
		to bottom,
		var(--hero-header-overlay) 0%,
		var(--hero-header-overlay) 12%,
		rgba(0, 0, 0, .58) 30%,
		rgba(0, 0, 0, .39) 48%,
		rgba(0, 0, 0, .22) 65%,
		rgba(0, 0, 0, .10) 78%,
		rgba(0, 0, 0, .035) 90%,
		rgba(0, 0, 0, .01) 97%,
		transparent 100%
	);
}

#hero-error.all-heros::before {
    height: 100svh;
    background-color: var(--mirai-wp-black);
    opacity: 0.4;
    z-index: 0;
}



/*********** Carousel site ***********/
.carousel-site,
.carousel-site .e-n-carousel {
    height: 100%!important;
}

/* --- arrows --- */
.carousel-site .elementor-swiper-button {
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 100%;
    max-width: 80px;
    padding: 0;
    transition: all 0.35s ease;
}
.carousel-site .elementor-swiper-button.elementor-swiper-button-prev {
    justify-content: flex-start;
    left: 0!important;
}
.carousel-site .elementor-swiper-button.elementor-swiper-button-next {
    justify-content: flex-end;
    right: 0!important;
}
.carousel-site.img-full .elementor-swiper-button.elementor-swiper-button-prev {
    justify-content: flex-start;
    left: 15px!important;
}
.carousel-site.img-full .elementor-swiper-button.elementor-swiper-button-next {
    justify-content: flex-end;
    right: 15px!important;
}

.carousel-site.arrows-animated > .elementor-widget-container {
    padding: 0 80px;
}
.carousel-site.arrows-animated .elementor-swiper-button i {
    position: relative;
}
.carousel-site.arrows-animated .elementor-swiper-button i::before {
    color: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
.carousel-site.arrows-animated.ctext .elementor-swiper-button i::before {
    color: var(--mirai-wp-text);
}
.carousel-site.arrows-animated .elementor-swiper-button i::after {
    content: "";
    position: absolute;
    top: 50%!important;
    transform: translateY(-50%)!important;
    width: 60px;
    height: 2px;
    background-color: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
.carousel-site.arrows-animated.ctext .elementor-swiper-button i::after {
    background-color: var(--mirai-wp-text);
}
.carousel-site.arrows-animated .elementor-swiper-button.elementor-swiper-button-prev i::after {
    left: 9px;
}
.carousel-site.arrows-animated .elementor-swiper-button.elementor-swiper-button-next i::after {
    right: 9px;
}
.carousel-site.arrows-animated .elementor-swiper-button:is(:hover, :focus-visible) i::before {
    color: var(--mirai-wp-Primary);
}
.carousel-site.arrows-animated .elementor-swiper-button:is(:hover, :focus-visible) i::after {
    width: 40px;
    background-color: var(--mirai-wp-Primary);
}

/*-- Dots --*/
.carousel-site .swiper {
    padding-bottom: 28px!important;
}
.carousel-site.dots-hidden .swiper {
    padding: 0!important;
}
.carousel-site .swiper-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding-bottom: 0;
}
.carousel-site .swiper-pagination-bullet {
    width: 8px!important;
    height: 8px!important;
    margin: 0!important;
    opacity: 0.7!important;
    transition: all 0.35s ease;
}
.carousel-site .swiper-pagination-bullet {
    background-color: var(--mirai-wp-white)!important;
}
.carousel-site .swiper-pagination-bullet:is(:hover, :focus-visible),
.carousel-site .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1!important;
    background-color: var(--mirai-wp-Primary)!important;
}

/* --- Carousel full with image --- */
.carousel-site.arrows-animated.img-full > .elementor-widget-container {
    padding: 0;
}



/*********** Offers Mashup ***********/
.offers-hotels,
.offers-hotels .mirai-mashup-offers {
	width: 100%;
	max-width: 550px !important;
}
.offers-hotels .mirai-mashup-offers .carousel-inner {
	padding: 0 !important;
}
.offers-hotels .offers-mashup .item {
	position: relative;
	min-height: 350px;
}
.offers-hotels .offers-mashup .item.active {
	display: flex;
}
.offers-hotels .offers-mashup img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	margin: 0 !important;
	z-index: -1;
}
.offers-hotels .offers-mashup dl {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
    gap: 20px;
    min-height: 350px;
	margin: 0 !important;
    padding: 20px;
}
.offers-hotels .offers-mashup dt,
.offers-hotels .offers-mashup dd {
    gap: 28px;
    min-height: 0;
    text-align: center;
    color: var(--mirai-wp-white);
    font-size: var(--font-size-body);
    font-weight: bold;
    text-shadow: 1px 0px 10px rgba(0, 0, 0, .5);
}
.offers-hotels .offers-mashup dd a {
    position: relative;
    padding: 12px 24px!important;
    background-color: var(--mirai-wp-white);
    border: 1px solid var(--mirai-wp-Primary);
    color: var(--mirai-wp-text);
    font-size: var(--font-size-ms);
    text-transform: uppercase;
    font-weight: 600;
    line-height: 100%!important;
    text-shadow: none;
    cursor: pointer;
}
.offers-hotels .offers-mashup dd a::before,
.offers-hotels .offers-mashup dd a::after {
	content: "";
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.offers-hotels .offers-mashup dd a::before {
	top: 0;
	left: 0;
	width: 0;
	height: 0;

	border-top: 1px solid var(--mirai-wp-Primary);
	border-right: 1px solid var(--mirai-wp-Primary);

	transition:
		width .25s ease-out,
		height .25s ease-out .25s;
}
.offers-hotels .offers-mashup dd a::after {
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;

	border-bottom: 1px solid var(--mirai-wp-Primary);
	border-left: 1px solid var(--mirai-wp-Primary);

	transition:
		width .25s ease-out .5s,
		height .25s ease-out .75s;
}
.offers-hotels .offers-mashup dd a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-white);
    border: 1px solid var(--mirai-wp-Primary);
    color: var(--mirai-wp-text);
}
.offers-hotels .offers-mashup dd a:is(:hover, :focus-visible)::before,
.offers-hotels .offers-mashup dd a:is(:hover, :focus-visible)::after {
	width: 100%;
	height: 100%;
}

.offers-hotels .offers-mashup .carousel-control {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 10px;
    background-color: var(--mirai-wp-Primary-super-dark);
}
.offers-hotels .offers-mashup .carousel-control::before {
    position: relative;
    float: none;
    display: flex;
    color: var(--mirai-wp-white);
    font-size: var(--font-size-m);
}
.offers-hotels .offers-mashup .carousel-control.left {
    left: 20px;
}
.offers-hotels .offers-mashup .carousel-control.right {
    right: 20px;
}



/*********** cards links animated ***********/
/* --- grid cards --- */
.grid-cards {
    gap: var(--mft-space-20);
}
.image-link-card {
    position: relative;
    height: 54.9vh;
    padding: var(--mft-padding-32) var(--mft-padding-12);
    transition: all 0.35s ease;
}
.image-link-card.card-s {
    height: 35vh;
}
.image-link-card::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0) 52%,
        rgba(0, 0, 0, 0.08) 65%,
        rgba(0, 0, 0, 0.22) 78%,
        rgba(0, 0, 0, 0.38) 90%,
        rgba(0, 0, 0, 0.5) 100%
    );
}
.image-link-card::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    background-color: var(--mirai-wp-Primary-super-dark);
    opacity: 0;
    transition: all 0.35s ease;
}
.image-link-card:is(:hover, :focus-visible)::after {
    opacity: 0.5;
}
.image-link-card.after-hidden::after {
    display: none;
}
.image-link-card.img-animated {
    position: relative;
    overflow: hidden;
}
.image-link-card.img-animated .card-img-animated {
    position: absolute;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    inset: 0;
    transform: scale(1);
    z-index: -1;
    transition: all .5s ease-out;
}
.image-link-card.img-animated .card-img-animated img {
    width: 100%;
    height: 100%;
}
.image-link-card.img-animated:is(:hover, :focus-visible) .card-img-animated {
    transform: scale(1.3);
}

.image-link-card .link-card-title,
.image-link-card .link-card-title h2,
.image-link-card .link-card-title h3 {
    position: relative;
    color: var(--mirai-wp-white);
    font-size: var(--font-size-tertiary-heading);
    font-weight: 400;
    line-height: 110%!important;
    text-transform: none;
    z-index: 2;
}
.image-link-card .link-card-title::before {
	position: absolute;
	content: "";
	left: 0;
	bottom: -10px;
	width: 100%;
	height: 2px;
	border-radius: 25px;
	background-color: var(--mirai-wp-Primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.35s ease;
}

.image-link-card:is(:hover, :focus-visible) .link-card-title::before {
	transform: scaleX(1);
}

/* --- grid cshadow --- */
.grid-cards-shadow {
    gap: var(--mft-space-24);
}
.image-link-card-shadow {
    position: relative;
    height: 39vh;
    padding: var(--mft-padding-32) var(--mft-padding-12);
    transition: all 0.35s ease;
}
.image-link-card-shadow:hover {
    box-shadow: 3px 3px 11px #00000080;
}



/*********** Image cards ***********/
.image-card {
    height: 54.9vh;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.image-card-title {
    padding: var(--mft-padding-24);
    background: rgba(0, 0, 0, .3);
    backdrop-filter: blur(2px);
}
.image-card-title p {
    font-size: var(--font-size-pretitle);
    color: var(--mirai-wp-white);
    font-weight: 400;
    line-height: 110%!important;;
}



/*********** Iframe restaurant booking ***********/
.booking-fallback-link {
	display: block;
	width: fit-content;
	margin-inline: auto;
}



/*********** Tabs ***********/
.tabs-full .e-n-tabs-heading {
    padding-left: 24px;
    padding-right: 24px;
}
.bg-titles-transp button {
    background-color: var(--mirai-wp-transparent)!important;
}



/*********** Map ***********/
#map-section #map-wrapper {
    height: 100%;
}



/*********** Rooms and Offers ***********/
/***  General style ***/
.cat-rooms #main .elementor-section.elementor-section-boxed > .elementor-container,
.cat-room-detail #main .elementor-section.elementor-section-boxed > .elementor-container,
.cat-offers #main .elementor-section.elementor-section-boxed > .elementor-container,
.cat-offer-detail #main .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

#main .rooms-listing-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--mft-space-3xl);
	padding: calc(var(--mft-padding-ml) / 2) 0 var(--mft-padding-ml);
}
#main .rooms-listing-wrapper h2 {
	display: none;
}

/* ITEM LINKS */
#main .rooms-detail-wrapper .back a,
#main .rooms-detail-wrapper .detail-description .go-to-calendar,
#main .rooms-detail-wrapper .offer-list .offer-list-wrapper .all-offers a,
#main .offers-detail-wrapper .back a {
	color: var(--mirai-wp-text)!important;
	font-family: var(--font-family-site)!important;
	font-size: var(--font-size-body)!important;
	font-weight: 400!important;
	text-decoration: none;

	transition: color 0.35s ease;
}
#main .rooms-detail-wrapper .back a:is(:hover, :focus-visible),
#main .rooms-detail-wrapper .go-to-calendar:is(:hover, :focus-visible),
#main .rooms-detail-wrapper .offer-list .offer-list-wrapper .all-offers a:is(:hover, :focus-visible),
#main .offers-detail-wrapper .back a:is(:hover, :focus-visible) {
	color: var(--mirai-wp-Primary)!important;
}

/* --- DETAIL PAGES --- */
/* INTRO */
#main .rooms-detail-wrapper .detail-description, 
#main .offers-detail-wrapper .detail-description {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 100%;
	padding: 0;

    text-align: center;
}

#main .rooms-detail-wrapper .detail-description .back,
#main .offers-detail-wrapper .detail-description .back {
	align-self: flex-start;
	text-align: left;
}
/* WRAPPER */
#main .rooms-detail-wrapper,
#main .offers-detail-wrapper {
	display: flex;
	flex-direction: column;

	width: 100%;
	max-width: 100%;
	padding: var(--mft-padding-ml) var(--mft-padding-l);
	margin: 0;

	box-sizing: border-box;
}
#main .rooms-detail-wrapper,
#main .rooms-detail-wrapper *,
#main .offers-detail-wrapper,
#main .offers-detail-wrapper * {
	box-sizing: border-box;
}

/* TITLE */
#main .rooms-detail-wrapper .detail-description > h2,
#main .offers-detail-wrapper .detail-description > h2 {
	position: relative;

	width: 100%;
	max-width: var(--title-max-width);

	margin: 0;
	padding: 0 0 calc(var(--mft-space-20) * 2);

	color: var(--mirai-wp-text);
	font-family: var(--font-family-site);
	font-size: var(--font-size-secondary-heading);
	font-weight: 400;
	line-height: 110%;

	word-break: normal;
	overflow-wrap: break-word;
}
#main .rooms-detail-wrapper .detail-description > h2::after,
#main .offers-detail-wrapper .detail-description > h2::after {
	content: "";

	position: absolute;
	left: 50%;
	bottom: var(--mft-space-20);
    transform: translateX(-50%);

	width: 35px;
	height: 3px;

	background-color: var(--mirai-wp-Primary);
}

/* DESCRIPTION */
#main .rooms-detail-wrapper .detail-description .room-description,
#main .offers-detail-wrapper .detail-description p {
	width: 100%;
	max-width: var(--text-max-width);

	margin: 0;
	padding: 0;

	color: var(--mirai-wp-text);
	font-family: var(--font-family-site);
	font-size: var(--font-size-body);
	font-weight: 400;
	line-height: 150%;
}
#main .rooms-detail-wrapper .detail-description .room-description p {
	margin: 0;
}
#main .offers-detail-wrapper .detail-description .title-discount {
    margin-bottom: var(--mft-space-20);
}
#main .offers-detail-wrapper .detail-description span {
    margin-bottom: var(--mft-space-4xs);
}
#main .offers-detail-wrapper .detail-description p {
    margin: var(--mft-space-20) 0;
}

/* SERVICES */
#main .rooms-detail-wrapper .detail-rooms-intro > .detail-rooms-services
#main .offers-detail-wrapper .detail-offer-intro > .detail-offer-services {
	width: 100%;

	margin: var(--mft-space-3xl) 0 0;
	padding: 0;
}
#main .offers-detail-wrapper .detail-offer-intro .detail-offer-services {
    text-align: left;
}
#main .rooms-detail-wrapper .detail-rooms-services > h3,
#main .offers-detail-wrapper .detail-offer-services > h3 {
	width: 100%;
	max-width: var(--title-max-width);

	margin: 0 0 var(--mft-space-2xl);
	padding: 0;

	color: var(--mirai-wp-text);
	font-family: var(--font-family-site);
	font-size: var(--font-size-tertiary-heading);
	font-weight: 400;
	line-height: 110%;
}
#main .offers-detail-wrapper .detail-offer-services > h3 {
    margin: 0 0 var(--mft-space-20);
}

/* SERVICES LIST */
#main .rooms-detail-wrapper .detail-rooms-services .detail-room-list,
#main .offers-detail-wrapper .detail-offer-services .detail-offer-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--mft-space-20);

	width: 100%;
	margin: 0;
	padding: 0;
}
/* SERVICE */
#main .rooms-detail-wrapper .detail-rooms-services .detail-room-list .item-service,
#main .offers-detail-wrapper .detail-offer-services .detail-offer-list .item-service {
	position: relative;

	width: 100%;
	margin: 0;
	padding: 0 0 0 25px;

	color: var(--mirai-wp-text);
	font-family: var(--font-family-site);
	font-size: var(--font-size-body);
	font-weight: 400;
	line-height: 150%;

	list-style: none;
}

/* RESET LEGACY .ROW PSEUDO-ELEMENTS */
#main .rooms-detail-wrapper .detail-rooms-services .detail-room-list::before,
#main .rooms-detail-wrapper .detail-rooms-services .detail-room-list::after,
#main .offers-detail-wrapper .detail-offer-services .detail-offer-list::before,
#main .offers-detail-wrapper .detail-offer-services .detail-offer-list::after {
	content: none;
	display: none;
}

/* SERVICE ICON */
#main .rooms-detail-wrapper .detail-rooms-services .detail-room-list .item-service::before,
#main .offers-detail-wrapper .detail-offer-services .detail-offer-list .item-service::before {
	content: "\e983";

	position: absolute;
	top: 0;
	left: 0;

	margin: 0;

	color: var(--mirai-wp-Primary);
	font-family: "mirai-icofonts";
	font-weight: normal;
}
/*** End general styles ***/

/* ROOM CARD */
#main .rooms-listing-wrapper .room-box {
	display: grid;
	grid-template-rows: auto 1fr;

	width: 100%;
	min-height: 65vh;
	padding: 0;
	margin: 0;

    background-color: var(--mirai-wp-transparent);
}

/* Reset legacy floats */
#main .rooms-listing-wrapper .room-box .room-name,
#main .rooms-listing-wrapper .room-box .room-intro,
#main .rooms-listing-wrapper .room-box .room-image {
	float: none;
}

/* ODD ROOMS - Text left / Image right */
#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) {
	grid-template-columns: 41.5% 58.5%;
}
#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) .room-name {
	grid-column: 1;
	grid-row: 1;
}
#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) .room-intro {
	grid-column: 1;
	grid-row: 2;
}
#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) .room-image {
	grid-column: 2;
	grid-row: 1 / -1;
}

/* EVEN ROOMS - Image left / Text right */
#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) {
	grid-template-columns: 58.5% 41.5%;
}
#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) .room-name {
	grid-column: 2;
	grid-row: 1;
}
#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) .room-intro {
	grid-column: 2;
	grid-row: 2;
}
#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) .room-image {
	grid-column: 1;
	grid-row: 1 / -1;
}

/* ROOM TITLE + CONTENT */
#main .rooms-listing-wrapper .room-box .room-name,
#main .rooms-listing-wrapper .room-box .room-intro {
	width: 100%;
	padding-left: var(--mft-padding-ml);
	padding-right: var(--mft-padding-ml);
}
#main .rooms-listing-wrapper .room-box .room-name {
	position: relative;

	padding-top: var(--mft-padding-ml);
	padding-bottom: calc(var(--mft-space-20) * 2);

	color: var(--mirai-wp-text);
	font-family: var(--font-family-site);
	font-size: var(--font-size-secondary-heading);
	font-weight: 400;
	line-height: 110%;

	transition: color 0.35s ease;
}
#main .rooms-listing-wrapper .room-box .room-name:is(:hover, :focus-within) {
	color: var(--mirai-wp-Primary);
}
#main .rooms-listing-wrapper .room-box .room-name::after {
	content: "";

	position: absolute;
	width: 35px;
	height: 3px;
	left: var(--mft-padding-ml);
	bottom: var(--mft-space-20);

	background-color: var(--mirai-wp-Primary);
}

/* ROOM INTRO */
#main .rooms-listing-wrapper .room-box .room-intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--mft-space-2xl);

	padding-bottom: var(--mft-padding-ml);
}
#main .rooms-listing-wrapper .room-box .room-intro p,
#main .rooms-listing-wrapper .room-box .room-intro a {
	margin: 0;
}
#main .rooms-listing-wrapper .room-box .room-intro ul {
	width: 100%;
}

/* ROOM BUTTON */
#main .room-intro a {
	padding: 12px 24px;

	color: var(--mirai-wp-white);
	fill: var(--mirai-wp-white);

	background-color: var(--mirai-wp-Primary);
	border: 1px solid var(--mirai-wp-Primary);

	transition:
		background-color 0.35s ease,
		border-color 0.35s ease;
}
#main .room-intro a:is(:hover, :focus-visible) {
	background-color: var(--mirai-wp-secondary);
	border-color: var(--mirai-wp-secondary);
}

/* ROOM IMAGE */
#main .room-image {
	position: relative;

	width: 100%;
	min-height: 65vh;

	overflow: hidden;

	outline: 2px solid black;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
#main .price-box {
	display: none;
}
#main .room-image > a {
	position: absolute;
	inset: 0;

	display: block;
	width: 100%;
	height: 100%;
}
#main .room-image > a img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transform: scale(1);
	transition: transform 0.5s ease-out;
}
#main .room-image > a:is(:hover, :focus-visible) img {
	transform: scale(1.3);
}

/* --- ROOM DETAIL --- */
/* ROOM INTRO */
#main .rooms-detail-wrapper .detail-rooms-intro {
	display: flex;
	flex-direction: column;

	width: 100%;
	margin: 0 auto;
}

/* ROOM PRICE */
#main .rooms-detail-wrapper .detail-description .box-price {
	margin: 0 0 var(--mft-space-20);

	color: var(--mirai-wp-text);
	font-family: var(--font-family-site);
	font-size: var(--font-size-body);
	font-weight: 600;
	line-height: 150%;
}

/* BACK + OFFERS WEIGHT */
#main .rooms-detail-wrapper .detail-description .go-to-calendar { 
    margin: var(--mft-space-2xl) 0 0;
}

#main .rooms-detail-wrapper .offer-list .offer-list-wrapper .all-offers a::after {
    transform: rotate(180deg);
}

#main .rooms-detail-wrapper .back a,
#main .rooms-detail-wrapper .offer-list .offer-list-wrapper .all-offers a {
	font-weight: 600!important;
}

/* ROOM GALLERY */
#main .rooms-detail-wrapper .room-gallery {
	width: 100%;

	margin: var(--mft-space-3xl) 0 0;
	padding: 0;
}

#main .rooms-detail-wrapper .room-gallery .galleria,
#main .rooms-detail-wrapper .room-gallery .only-one-photo,
#main .rooms-detail-wrapper .room-gallery .no-photo {
	width: 100%;
}

/* -- Offers rooms detail and offers page --*/
#main .offers-listing-wrapper {
    padding: calc(var(--mft-padding-ml) / 2) var(--mft-padding-l) var(--mft-padding-ml);
}
#main .offers-listing-wrapper > h2 {
    display: none;
}

#main .rooms-detail-wrapper .offer-list-wrapper,
#main .rooms-detail-wrapper .offers-listing .offer,
#main .offers-listing-wrapper .offers-listing .offer {
    padding: 0;
}
#main .rooms-detail-wrapper .offers-listing-wrapper,
#main .offers-listing-wrapper .offers-listing-wrapper {
	width: 100%;
}
#main .rooms-detail-wrapper .offers-listing-wrapper h2,
#main .offers-listing-wrapper .offers-listing-wrapper h2 {
	margin: 0;
	text-align: center;
}
#main .rooms-detail-wrapper .offers-listing,
#main .offers-listing-wrapper .offers-listing {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--mft-space-2xl);

	width: 100%;
	margin: 0;
	padding: 0;

	overflow: visible;
}
#main .rooms-detail-wrapper .offers-listing .offer,
#main .offers-listing-wrapper .offers-listing .offer {
	flex: 0 1 calc((100% - (var(--mft-space-2xl) * 2)) / 3);

	width: 100%;
	max-width: calc((100% - (var(--mft-space-2xl) * 2)) / 3);
	height: clamp(350px, 35vh, 400px);

	margin: 0;
	padding: 0;

	float: none;
	list-style: none;
}
#main .rooms-detail-wrapper .offers-listing .offer-box,
#main .offers-listing-wrapper .offers-listing .offer-box {
	position: relative;

	display: block;
	width: 100%;
	height: 100%;

	overflow: hidden;

	color: var(--mirai-wp-text);
	text-decoration: none;
}
#main .rooms-detail-wrapper .offers-listing .offer img,
#main .offers-listing-wrapper .offers-listing .offer img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}
#main .rooms-detail-wrapper .offers-listing .offer-text,
#main .offers-listing-wrapper .offers-listing .offer-text {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;

	display: flex;
	flex-direction: column;
	gap: var(--mft-space-4xs);

	width: 100%;
	padding: var(--mft-space-20);

	color: var(--mirai-wp-text);
	background-color: rgba(255, 255, 255, 0.85);

	word-break: normal;
	overflow-wrap: break-word;

	transition: color 0.35s ease;
}
#main .rooms-detail-wrapper .offers-listing .offer-name,
#main .offers-listing-wrapper .offers-listing .offer-name {
	margin: 0;

	color: inherit;
	font-family: var(--font-family-site);
	font-size: var(--font-size-pretitle);
	font-weight: 400;
	line-height: 110%;
}
#main .rooms-detail-wrapper .offers-listing .offer-discount,
#main .offers-listing-wrapper .offers-listing .offer-discount {
	margin: 0;

	color: inherit;
	font-family: var(--font-family-site);
	font-size: var(--font-size-body);
	font-weight: 600;
	line-height: 150%;
}
#main .rooms-detail-wrapper .offers-listing .offer-discount span,
#main .offers-listing-wrapper .offers-listing .offer-discount span {
	margin: 0;

	font-size: inherit;
}
#main .rooms-detail-wrapper .offers-listing .offer-box:is(:hover, :focus-visible) .offer-text,
#main .offers-listing-wrapper .offers-listing .offer-box:is(:hover, :focus-visible) .offer-text {
	color: var(--mirai-wp-Primary);
}



/* Gallery pages */
header.elementor-slideshow__header {
    display: none;
}
.cat-gallery .dialog-type-buttons .dialog-widget-content a.dialog-close-button,
.cat-gallery .dialog-type-buttons .dialog-widget-content a.dialog-close-button:hover {
    font-size: clamp(16px, 1.25vw, 24px);
    text-decoration: none;
}



@media (max-width: 1200px) {
    /*********** Pop ups 1200 ***********/
    /* --- Pop up menú and submenú --- */
    .popup-menu-site,
    .popup-submenu {
        background-color: var(--mirai-wp-secondary)!important;
    }



    /*********** Header 1200 ***********/
    /* --- Comportamiento de Header al abrirse un Pop up --- */
    body.popup-site-open.popup-menu-site-open #header {
        background-color: var(--mirai-wp-secondary);
    }



    /*********** Paddings 1200 ***********/
    .mft-padding-container,
    .mft-padding_container-half {
        padding: var(--mft-padding-l);
    }
    .mft-padding-container.pt-free_tm {
        padding-top: 0;
    }
    .mft-padding-container.ptrl-free_tm {
        padding-top: 0;
        padding-right: 0;
        padding-left: 0;
    }



    /*********** Carousel site 1200 ***********/
    /* --- arrows --- */
    .carousel-site .elementor-swiper-button {
        max-width: 40px;
    }
    .carousel-site.arrows-animated > .elementor-widget-container {
        padding: 0 40px;
    }
    .carousel-site.arrows-animated .elementor-swiper-button i::after {
        width: 20px;
    }
    .carousel-site.arrows-animated .elementor-swiper-button:is(:hover, :focus-visible) i::after {
        width: 15px;
    }



    /*********** cards links animated 1200 ***********/
    .image-link-card {
        height: 35vh;
    }
    .image-link-card::before {
        background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0) 36%,
            rgba(0, 0, 0, 0.08) 49%,
            rgba(0, 0, 0, 0.22) 62%,
            rgba(0, 0, 0, 0.38) 74%,
            rgba(0, 0, 0, 0.5) 100%
        );
    }



    /*********** Image cards 1200 ***********/
    .image-card {
        height: 34.9vh;
    }



    /*********** Rooms and Offers 1200 ***********/
	#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box),
	#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) {
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto;
		min-height: 0;
	}

	#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) .room-name,
	#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) .room-name {
		grid-column: 1;
		grid-row: 1;
	}

	#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) .room-intro,
	#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) .room-intro {
		grid-column: 1;
		grid-row: 2;
	}

	#main .rooms-listing-wrapper .room-box:nth-child(odd of .room-box) .room-image,
	#main .rooms-listing-wrapper .room-box:nth-child(even of .room-box) .room-image {
		grid-column: 1;
		grid-row: 3;

		width: 100%;
		min-height: 40vh;
	}

    #main .rooms-listing-wrapper .room-box .room-name,
    #main .rooms-listing-wrapper .room-box .room-intro {
        padding-left: var(--mft-padding-l);
        padding-right: var(--mft-padding-l);
    }
    #main .rooms-listing-wrapper .room-box .room-name {
        padding-top: 0;
    }
    #main .rooms-listing-wrapper .room-box .room-intro {
        padding-bottom: var(--mft-padding-l);
    }

    #main .rooms-listing-wrapper .room-box .room-name::after {
        left: var(--mft-padding-l);
    }

    /* --- ROOM DETAIL --- */
    #main .rooms-detail-wrapper {
		padding-right: var(--mft-padding-l);
		padding-left: var(--mft-padding-l);
	}

	#main .rooms-detail-wrapper .detail-rooms-services .detail-room-list,
    #main .offers-detail-wrapper .detail-offer-services .detail-offer-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#main .rooms-detail-wrapper .offers-listing .offer,
    #main .offers-listing-wrapper .offers-listing .offer {
		flex-basis: calc((100% - var(--mft-space-2xl)) / 2);
		max-width: calc((100% - var(--mft-space-2xl)) / 2);
	}

    .cat-room-detail #calendar-wrapper ui-scrollview,
    .cat-offer-detail #calendar-wrapper ui-scrollview {
        justify-content: center;
        align-items: center;
        gap: 20px;
    }
    .cat-room-detail #calendar-wrapper ui-calendar-month,
    .cat-offer-detail #calendar-wrapper ui-calendar-month {
        width: 40%;
    }
}

@media (max-width: 767px) {
    /*********** Botones 767 ***********/
    .btn-site,
    .btn-site a {
        width: 100%;
    }



    /*********** Pop ups 767 ***********/
    /* --- Pop up menú --- */
    .menu-wrapper .items-menu {
        padding-top: 140px;
    }
    body:has(#header.elementor-sticky--effects) .menu-wrapper .items-menu {
        padding-top: 108px;
    }
    .menu-wrapper .items-menu .sub-menu-site ul {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }
    .menu-wrapper .items-menu .sub-menu-site.sub-menu-hotels ul {
        justify-content: center;
    }
    .links-info ul {
        justify-content: flex-start;
    }



    /*********** Header 767 ***********/
    #header .items-header {
        gap: 0;
    }
    #header.elementor-sticky--effects {
        gap: var(--mft-space-24);
    }

    /* --- cont-left --- */
    /* ----- logo ----- */
    #header .logo-cont {
        position: absolute;
        min-width: calc(100vw - (var(--mft-padding-l) * 2));
        top: 70px;
        left: 0;
        right: 0;
    }
    #header.elementor-sticky--effects .logo-cont,
    body.popup-site-open.popup-menu-site-open #header .logo-cont {
        position: initial;
        min-width: 0;
        max-width: 150px;

        animation: logo-state-change .65s ease;
    }
    @keyframes logo-state-change {
        0% {
            opacity: 1;
        }

        20% {
            opacity: 0;
        }

        70% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    #header.elementor-sticky--effects .divider-logo,
    #header.elementor-sticky--effects .title-logo,
    body.popup-site-open.popup-menu-site-open #header .divider-logo,
    body.popup-site-open.popup-menu-site-open #header .title-logo,
    body.popup-site-open.popup-menu-site-open #header .useful-info {
        display: none;
    }

    /* ----- cont-right ----- */
    #header .cont-right .useful-info {
        width: 100%;
        transition: all 0.35s ease;
    }
    /*#header .list-horz ul {
        gap: var(--mft-space-3xs);
    }*/
    #header .cont-right .useful-info .list-horz a span {
        font-size: 0!important;
    }
    #header .list-horz ul .elementor-icon-list-text {
        padding-inline-start: 0;
    }
    #header.elementor-sticky--effects .cont-right .useful-info {
        width: auto;
    }
    #header.elementor-sticky--effects .useful-info .list-horz {
        display: none;
    }
    
    /* ----- lang ----- */
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul {
        width: 40px;
        height: 40px;
        cursor: pointer;
    }
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul li a.wpml-ls-item-toggle {
        padding: 12px 12px 0;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
        padding: 12px;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li a {
        padding: 6px 0;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li:first-child a {
        padding: 0 0 6px;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li:last-child a {
        padding: 6px 0 0;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li:only-child a {
        padding: 0;
    }
    #header .wpml-ls-legacy-dropdown-click ul li a span {
        border-bottom: 1px solid var(--mirai-wp-transparent);
        transition: all 0.35s ease;
    }
    #header .wpml-ls-legacy-dropdown-click ul li a:is(:hover, :focus-visible)  span {
        border-bottom: 1px solid var(--mirai-wp-Primary);
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
        background-color: transparent;
        box-shadow: none;
    }
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul::before {
        content: '';
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 16px;
        height: 16px;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2310/world-white.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        border: 0;
        -webkit-transition: all 0.35s ease;
        transition: all 0.35s ease;
    }
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul:is(:hover, :focus-visible)::before {
       background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2310/world-primary.svg");
    }
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul li a.wpml-ls-item-toggle::before {
        display: none;
    }
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul .wpml-ls-current-language {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 40px;
        left: 50%;
        transform: translateX(-50%);
        visibility: hidden;
        background-color: var(--mirai-wp-Primary-super-dark);
        box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.12);
        transition: all 0.35s ease;
    }
    #header .wpml-ls-legacy-dropdown-click a {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: transparent;
        padding: 0;
        transition: all 0.35s ease;
        -webkit-transition: all 0.35s ease;
    }
    #header .wpml-ls-legacy-dropdown-click a,
    #header .wpml-ls-legacy-dropdown-click a span {
        text-align: center;
    }
    #header .wpml-ls-legacy-dropdown-click a span {
        vertical-align: initial;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
        position: relative;
        visibility: inherit!important;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu li {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #header .wpml-elementor-ls .wpml-ls-legacy-dropdown-click > ul:hover .wpml-ls-current-language {
        visibility: visible;
    }



    /*********** Footer 767 ***********/
    #footer .nav-menu nav ul,
    #footer .menu-legal nav ul,
    #footer .nav-menu nav ul li,
    #footer .menu-legal nav ul li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    #footer .menu-legal nav ul li a {
        margin: 0;
    }
    #footer .menu-legal nav ul > li:not(:last-child)::after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background-color: var(--mirai-wp-divider-dark);
    }

    /* --- Post-footer --- */
    .logos_oliva-hotels a,
    .logos_oliva-hotels img {
        min-height: 106px;
    }



    /*********** Anchors 767 ***********/
    .anchor-hidden {
        height: 152px;
        top: -152px;
    }



    /*********** Rooms and Offers 767 ***********/
    /* --- ROOM DETAIL --- */
    #main .rooms-detail-wrapper .detail-rooms-services .detail-room-list,
    #main .offers-listing-wrapper .offers-listing-wrapper .offers-listing,
    #main .offers-detail-wrapper .detail-offer-services .detail-offer-list {
		grid-template-columns: 1fr;
	}

	#main .rooms-detail-wrapper .offers-listing .offer,
    #main .offers-listing-wrapper .offers-listing .offer {
		flex-basis: 100%;
		max-width: 100%;
		height: clamp(320px, 55vh, 400px);
	}
}

@media (max-height: 640px) {
    /*********** finder h640 ***********/ 
    #finder,
    body.cat-home #finder {
        top: calc(100svh - 100px);
    }

    /* --- btn adv --- */
    #finder.finder-active .cont-adv {
        display: none;
    }



    /*********** Anchors h640 ***********/ 
    .anchor-section {
        padding-bottom: 90px;
    }



    /*********** heros pages 640 ***********/
    #hero-page.all-heros {
        min-height: 100svh;
    }
}/* End custom CSS */