.elementor-kit-1397{--e-global-color-primary:#EF7B1E;--e-global-color-secondary:#423F3A;--e-global-color-text:#222222;--e-global-color-accent:#9E5114;--e-global-color-13f4851a:#EDEAE5;--e-global-color-52235058:#DAD4CA;--e-global-color-21f8c9b7:#000;--e-global-color-47eea86e:#FFF;--e-global-color-6cb047a:#FFFFFF00;--e-global-color-6c07e57:#9E5114;--e-global-color-f78adba:#9E5114;--e-global-color-07d8490:#F9F8F7;--e-global-typography-primary-font-family:"Playfair_Display";--e-global-typography-primary-font-size:clamp(40px, calc(40px + (80 - 40) * ((100vw - 1180px) / (1920 - 1180))), 80px);--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:110%;--e-global-typography-secondary-font-family:"Playfair_Display";--e-global-typography-secondary-font-size:clamp(40px, calc(40px + (64 - 40) * ((100vw - 1180px) / (1920 - 1180))), 64px);--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:110%;--e-global-typography-text-font-family:"Mulish";--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:"Mulish";--e-global-typography-accent-font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 1180px) / (1920 - 1180))), 18px);--e-global-typography-accent-font-weight:500;--e-global-typography-accent-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-1397 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 );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-1397 a:hover{color:var( --e-global-color-accent );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 );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-1397 h1{font-size:3.5em;}.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-1397{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-1397 a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-1397 a:hover{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-1397{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-1397 a{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-1397 a:hover{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//***************************************/
/*********** sun-confort.com ***********/
/***************************************/

/*********** Tipografía ***********/
/* --- Mulish --- */
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,
.item-link ui-pressable > ui-text,
#footer-site .items-list-xs ui-pressable > ui-text,
.developed-mirai,
.pretitle,
.pretitle p,
.pretitle span,
.post-title-card {
    font-family: var(--font-family-site);
}
/* --- Playfair_Display --- */
h1,
h2,
h3,
h4,
.title-tertiary,
.title-tertiary-small,
.all-heros .cont-titles .primary-title,
.secondary-title,
.title-card {
    font-family: var(--font-family-heading);
}

/* --- styles --- */
.btn-site a,
.btn-site a span,
.btn-site.font-ms a,
.btn-site.font-ms a span,
.item-link a,
.item-link a span,
.item-link.font-ms a,
.item-link.font-ms a span,
.developed-mirai,
.item-link ui-pressable > ui-text {
    font-size: var(--font-size-ms); /*16px - 14px*/
}
.btn-site a,
.btn-site a span,
.item-link a,
.item-link a span,
.post-title-card {
    font-size: var(--font-size-body); /*18px - 16px*/
}
.title-tertiary-small,
.title-tertiary-small p,
.title-tertiary-small span,
.title-tertiary-small h2,
.title-tertiary-small h3,
.pretitle,
.pretitle p,
.pretitle span,
.title-card {
    font-size: var(--font-size-h3-s); /*24px - 20px*/
}
.title-tertiary,
.title-tertiary p,
.title-tertiary span,
.title-tertiary h2,
.title-tertiary h3 {
    font-size: var(--font-size-h3); /*40px - 24px*/
}
.secondary-title,
.secondary-title p,
.secondary-title span,
.secondary-title h1,
.secondary-title h2 {
    font-size: var(--font-size-secondary-heading); /*64px - 40px*/
}
.primary-title,
.primary-title p,
.primary-title span,
.primary-title h1,
.primary-title h2 {
    font-size: var(--font-size-primary-heading); /*80px - 40px*/
}

.title-tertiary,
.title-tertiary p,
.title-tertiary span,
.title-tertiary h2,
.title-tertiary h3,
.title-tertiary-small,
.title-tertiary-small p,
.title-tertiary-small span,
.title-tertiary-small h2,
.title-tertiary-small h3,
.developed-mirai,
.all-heros .cont-titles .primary-title,
.secondary-title,
.secondary-title p,
.secondary-title span,
.secondary-title h1,
.secondary-title h2,
.pretlite.low,
.pretlite.low p,
.pretlite.low span,
.title-card,
.post-title-card {
    font-weight: 400;
}
.item-link a,
.item-link a span,
.item-link ui-pressable > ui-text {
    font-weight: 500;
}
.btn-site a,
.btn-site a span,
.pretitle,
.pretitle p,
.pretitle span {
    font-weight: 600;
}
.developed-mirai.item-link a {
    font-weight: 900;
}

.btn-site a,
.developed-mirai,
.item-link ui-pressable > ui-text {
    line-height: 100%!important;
}
.title-tertiary,
.title-tertiary p,
.title-tertiary span,
.title-tertiary h2,
.title-tertiary h3,
.title-tertiary-small,
.title-tertiary-small p,
.title-tertiary-small span,
.title-tertiary-small h2,
.title-tertiary-small h3,
.item-link a,
.all-heros .cont-titles .primary-title,
.secondary-title,
.secondary-title p,
.secondary-title span,
.secondary-title h1,
.secondary-title h2,
.title-card,
.post-title-card {
    line-height: 110%!important;
}
.pretitle,
.pretitle p,
.pretitle span {
    line-height: 150%!important;
}

.developed-mirai.item-link a,
.pretitle.low {
    text-transform: lowercase;
}
.pretitle {
    text-transform: uppercase;
}

/* --- Headings --- */
.all-heros {
    position: relative;
}
#hero-home.all-heros .cont-titles {
    position: absolute;
    max-width: 980px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.cont-titles,
.cont-titles .e-con-inner,
.cont-titles > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.cont-titles.cont-left,
.cont-titles.cont-left .e-con-inner,
.cont-titles.cont-left > div {
    align-items: flex-start;
}
.cont-titles.cont-center,
.cont-titles.cont-center .e-con-inner,
.cont-titles.cont-center > div {
    align-items: center;
}
.all-heros .cont-titles,
.all-heros .cont-titles .e-con-inner,
.all-heros .cont-titles > div {
    gap: 24px;
}
.all-heros .cont-titles .pretitle,
.all-heros .cont-titles .primary-title,
.bg-opacity .cont-titles .primary-title,
.bg-opacity .cont-titles .secondary-title {
    color: var(--mirai-wp-white);
}
.cont-titles.ctext p,
.cont-titles.ctext span,
.cont-titles.ctext div,
.cont-titles.ctext h1,
.cont-titles.ctext h2,
.cont-titles.ctext h3,
.cont-titles.ctext svg,
.cont-titles.ctext svg path,
.cont-titles.ctext i::before {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}
.cont-titles.cwhite p,
.cont-titles.cwhite span,
.cont-titles.cwhite div,
.cont-titles.cwhite h1,
.cont-titles.cwhite h2,
.cont-titles.cwhite h3,
.cont-titles.cwhite svg,
.cont-titles.cwhite svg path,
.cont-titles.cwhite i::before {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}




/*********** Botones ***********/
.item-link {
    cursor: pointer;
}
.btn-site a,
#main .rooms-listing .room-item .room-box .room-content a,
#main .rooms-listing .room-item .room-box .room-content a:is(:hover, :focus-visible) {
    position: relative;
    padding: 21px 24px!important;
    cursor: pointer;
}
.btn-site.large a {
    padding: 21px 60px!important;
}
.btn-adv.btn-site a,
.cont-adv-club .btn-site a {
    padding: 17px 24px!important;
}
.btn-site,
.btn-site a,
.btn-site:is(:hover, :focus-visible),
.btn-site a:is(:hover, :focus-visible) {
    border-radius: 8px;
}
.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 ---*/
/*------ line bottom ------*/
.item-link.line-bottom a,
.item-link.line-bottom.item-hover {
    position: relative;
    width: max-content;
    background-color: transparent;
    padding: 0!important;
}
.item-link.w-100 a {
    width: 100%;
}
.item-link.w-100 a span {
    text-align: left!important;
}
.item-link.line-bottom a::before,
.item-link.line-bottom.item-hover::before {
    content: "";
    position: absolute;
    top: initial;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    opacity: 0;
    transition: all 0.35s ease!important;
}
.item-link.line-bottom a::after {
    right: 0;
}
.item-link.btn-i.line-bottom a:is(:hover, :focus-visible) {
    padding: 0 24px 0 0!important;
}
.item-link.line-bottom a:is(:hover, :focus-visible)::before,
.item-link.line-bottom a.elementor-item-active::before,
.item-link.line-bottom li.current_page_item a.elementor-item-active::before,
.item-link.line-bottom.item-hover:is(:hover, :focus-visible)::before {
    width: 100%;
    opacity: 1!important;
}

.item-link.twhite,
.item-link.twhite a,
.item-link.twhite a span,
.item-link.twhite a svg,
.item-link.twhite a svg path,
.item-link.twhite a i::before,
.item-link.twhite.item-hover,
.item-link.twhite.item-hover span,
.item-link.twhite.item-hover svg,
.item-link.twhite.item-hover svg path,
.item-link.twhite.item-hover i::before,
.item-link.twhite.item-hover ui-pressable > ui-text {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}
/*-------- line bottom primary light --------*/
.item-link.twhite.cprimaryl a:is(:hover, :focus-visible),
.item-link.twhite.cprimaryl a:is(:hover, :focus-visible) span,
.item-link.twhite.cprimaryl a:is(:hover, :focus-visible) svg,
.item-link.twhite.cprimaryl a:is(:hover, :focus-visible) svg path,
.item-link.twhite.cprimaryl a:is(:hover, :focus-visible) i::before,
.item-link.twhite.cprimaryl a.elementor-item-active,
.item-link.twhite.cprimaryl a.elementor-item-active span,
.item-link.twhite.cprimaryl a.elementor-item-active svg,
.item-link.twhite.cprimaryl a.elementor-item-active svg path,
.item-link.twhite.cprimaryl a.elementor-item-active i::before,
.item-link.twhite.cprimaryl li.current_page_item a.elementor-item-active,
.item-link.twhite.cprimaryl li.current_page_item a.elementor-item-active span,
.item-link.twhite.cprimaryl li.current_page_item a.elementor-item-active svg,
.item-link.twhite.cprimaryl li.current_page_item a.elementor-item-active svg path,
.item-link.twhite.cprimaryl li.current_page_item a.elementor-item-active i::before,
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible),
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible) span,
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible) svg,
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible) svg path,
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible) i::before,
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible) ui-pressable > ui-text {
    color: var(--mirai-wp-Primary-light);
    fill: var(--mirai-wp-Primary-light);
}
.item-link.line-bottom.cprimaryl a:is(:hover, :focus-visible)::before,
.item-link.line-bottom.cprimaryl a.elementor-item-active::before,
.item-link.line-bottom.cprimaryl li.current_page_item a.elementor-item-active::before,
.item-link.twhite.cprimaryl.item-hover:is(:hover, :focus-visible)::before {
    background-color: var(--mirai-wp-Primary-light);
}
/*-------- line bottom primary super dark --------*/
.item-link.ctext.cprimarysd a:is(:hover, :focus-visible),
.item-link.ctext.cprimarysd a:is(:hover, :focus-visible) span,
.item-link.ctext.cprimarysd a:is(:hover, :focus-visible) svg,
.item-link.ctext.cprimarysd a:is(:hover, :focus-visible) svg path,
.item-link.ctext.cprimarysd a:is(:hover, :focus-visible) i::before,
.item-link.ctext.cprimarysd a.elementor-item-active,
.item-link.ctext.cprimarysd a.elementor-item-active span,
.item-link.ctext.cprimarysd a.elementor-item-active svg,
.item-link.ctext.cprimarysd a.elementor-item-active svg path,
.item-link.ctext.cprimarysd a.elementor-item-active i::before,
.item-link.ctext.cprimarysd li.current_page_item a.elementor-item-active,
.item-link.ctext.cprimarysd li.current_page_item a.elementor-item-active span,
.item-link.ctext.cprimarysd li.current_page_item a.elementor-item-active svg,
.item-link.ctext.cprimarysd li.current_page_item a.elementor-item-active svg path,
.item-link.ctext.cprimarysd li.current_page_item a.elementor-item-active i::before,
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible),
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible) span,
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible) svg,
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible) svg path,
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible) i::before,
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible) ui-pressable > ui-text {
    color: var(--mirai-wp-Primary-super-dark)!important;
    fill: var(--mirai-wp-Primary-super-dark)!important;
}
.item-link.line-bottom.cprimarysd a:is(:hover, :focus-visible)::before,
.item-link.line-bottom.cprimarysd a.elementor-item-active::before,
.item-link.line-bottom.cprimarysd li.current_page_item a.elementor-item-active::before,
.item-link.ctext.cprimarysd.item-hover:is(:hover, :focus-visible)::before {
    background-color: var(--mirai-wp-Primary-super-dark)!important;
}
/*------ Botón con icono ------*/
.btn-site.btn-svg svg,
.btn-site.btn-svg i,
.item-link.btn-svg svg,
.item-link.btn-svg i {
    width: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
    height: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
    font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
}
/*------ button arrow ------*/
.btn-site.btn-i a {
    overflow: hidden;
}
.btn-site.large.btn-i a {
    padding: 21px calc(60px - calc(clamp(22px, calc(22px + (24 - 22) * ((100vw - 1180px) / (1920 - 1180))), 24px) / 2))!important;
}
.btn-site.btn-i a .elementor-button-content-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 calc(clamp(22px, calc(22px + (24 - 22) * ((100vw - 1180px) / (1920 - 1180))), 24px) / 2);
    transition: transform 0.35s ease;
}
.btn-site.btn-i a .elementor-button-text {
    position: relative;
}
.btn-site.btn-i a .elementor-button-text::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -24px;
    width: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
    height: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) translateX(-6px);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}
.btn-site.btn-i a:is(:hover, :focus-visible) .elementor-button-content-wrapper {
    transform: translateX(calc(clamp(-22px, calc(-22px + (24 - 22) * ((100vw - 1180px) / (1920 - 1180))), -24px) / 2));
}
.btn-site.btn-i a:is(:hover, :focus-visible) .elementor-button-text::after {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

/*--------- button arrow white ---------*/
.btn-site.btn-i.a-white a .elementor-button-text::after {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/arrow-white.svg");
}
/*--------- button arrow secondary ---------*/
.btn-site.btn-i.a-secondary a .elementor-button-text::after {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/arrow-secondary.svg");
}

/*------ bg white button ------*/
.btn-site.bg-transparent,
.btn-site.bg-transparent a {
    background-color: var(--mirai-wp-transparent);
}
.btn-site.bg-transparent a {
    border: 2px solid var(--mirai-wp-white);
}
.btn-site.bg-transparent.csecondary a,
.btn-site.bg-transparent.csecondary a span,
.btn-site.bg-transparent.csecondary a svg,
.btn-site.bg-transparent.csecondary a svg path,
#footer-site .btn-site.bg-transparent.csecondary a,
#footer-site .btn-site.bg-transparent.csecondary a span,
#footer-site .btn-site.bg-transparent.csecondary a svg,
#footer-site .btn-site.bg-transparent.csecondary a svg path {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}
.btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible),
.btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible) span,
.btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible) svg,
.btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible) svg path,
#footer-site .btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible),
#footer-site .btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible) span,
#footer-site .btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible) svg,
#footer-site .btn-site.bg-transparent.csecondary a:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-secondary);
    fill: var(--mirai-wp-secondary);
}
.btn-site.bg-transparent:is(:hover, :focus-visible),
.btn-site.bg-transparent a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-white);
}
/*------ bg text button ------*/
.btn-site.bg-transparent-text,
.btn-site.bg-transparent-text a {
    background-color: var(--mirai-wp-transparent);
}
.btn-site.bg-transparent-text a {
    border: 2px solid var(--mirai-wp-text);
}
.btn-site.bg-transparent-text a,
.btn-site.bg-transparent-text a span {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}
.btn-site.bg-transparent-text a svg,
.btn-site.bg-transparent-text a svg path,
.btn-site.bg-transparent-text a:is(:hover, :focus-visible) svg,
.btn-site.bg-transparent-text a:is(:hover, :focus-visible) svg path  {
    color: var(--mirai-wp-Primary);
    fill: var(--mirai-wp-Primary);
}
.btn-site.bg-transparent-text a:is(:hover, :focus-visible),
.btn-site.bg-transparent-text a:is(:hover, :focus-visible) span {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}
.btn-site.bg-transparent-text:is(:hover, :focus-visible),
.btn-site.bg-transparent-text a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-text);
}



/*********** Menús y Hovers ***********/
.menu-vert ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 18px;
}
.menu-vert a::after {
    display: none;
}

.menu-underline li {
    position: relative;
}
.menu-underline.hover-header::after,
.menu-underline li::after,
.cont-hover .item-underline::after {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    left: 0;
    bottom: -4px;
    transition: all 0.35s ease;
}
.menu-underline.hover-header:is(:hover, :focus-visible)::after,
.menu-underline li:is(:hover, :focus-visible)::after,
.menu-underline li:has(> :first-child.e-current)::after,
.menu-underline li:has(.e-active)::after,
.cont-hover:is(:hover, :focus-visible) .item-underline::after,
.cont-hover:has(.cont-menu .e-current) .item-underline::after {
    width: 100%;
}

/*--- colors ---*/
.ctext p,
.ctext a,
.ctext span,
.ctext li,
.ctext i::before,
.ctext svg,
.ctext 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-text)!important;
    fill: var(--mirai-wp-text)!important;
    transition: all 0.35s ease;
}
.menu-underline.hover-header::after
.menu-underline.ctext li::after {
    background-color: var(--mirai-wp-text);
}
/*--- colors hover ---*/
/*------ super dark ------*/
.csuperdark li:is(:hover, :focus-visible) > :first-child,
.csuperdark li:is(:hover, :focus-visible) > :first-child p,
.csuperdark li:is(:hover, :focus-visible) > :first-child a,
.csuperdark li:is(:hover, :focus-visible) > :first-child span,
.csuperdark li:is(:hover, :focus-visible) > :first-child i::before,
.csuperdark li:is(:hover, :focus-visible) > :first-child svg,
.csuperdark li:is(:hover, :focus-visible) > :first-child svg path,
.csuperdark li > :first-child.e-current,
.csuperdark li > :first-child.e-current p,
.csuperdark li > :first-child.e-current a,
.csuperdark li > :first-child.e-current span,
.csuperdark li > :first-child.e-current i::before,
.csuperdark li > :first-child.e-current svg,
.csuperdark li > :first-child.e-current svg path,
.csuperdark li:has(.e-active) > :first-child,
.csuperdark li:has(.e-active) > :first-child p,
.csuperdark li:has(.e-active) > :first-child a,
.csuperdark li:has(.e-active) > :first-child span,
.csuperdark li:has(.e-active) > :first-child i::before,
.csuperdark li:has(.e-active) > :first-child svg,
.csuperdark li:has(.e-active) > :first-child svg path,
.csuperdark.hover-header:is(:hover, :focus-visible) span,
.csuperdark.hover-header:is(:hover, :focus-visible) .mirai-club .login span svg,
.csuperdark.hover-header:is(:hover, :focus-visible) .mirai-club .login span 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-super-dark)!important;
    fill: var(--mirai-wp-Primary-super-dark)!important;
    transition: all 0.35s ease;
}
.menu-underline.csuperdark.hover-header:is(:hover, :focus-visible)::after,
.menu-underline.csuperdark li:is(:hover, :focus-visible)::after,
.menu-underline.csuperdark li:has(> :first-child.e-current)::after,
.menu-underline.csuperdark li:has(.e-active)::after,
.cont-hover:is(:hover, :focus-visible) .item-underline.csuperdark::after,
.cont-hover:has(.cont-menu .e-current) .item-underline.csuperdark::after {
    background-color: var(--mirai-wp-Primary-super-dark);
}



/*********** Containers size ***********/
.min-content-size {
    min-width: max-content;
}
.max-content-size {
    max-width: max-content;
}
.min-max_content-size {
    min-width: max-content;
    max-width: max-content;
}
.size-cont-l {
    max-width: 1280px;
}
.size-cont-m {
    max-width: 1070px;
}
.size-cont-s {
    max-width: 410px;
}
.size-cont-xs {
    width: 100%;
    max-width: 350px;
}
.min-content-size.wauto,
.max-content-size.wauto,
.min-max_content-size.wauto,
.size-cont-l.wauto,
.size-cont-m.wauto,
.size-cont-s.wauto {
    width: auto;
}
.min-content-size.wfull,
.max-content-size.wfull,
.min-max_content-size.wfull,
.size-cont-l.wfull,
.size-cont-m.wfull,
.size-cont-s.wfull {
    width: auto;
}

.cont-img-full-vw {
    min-height: 71.3svh;
    max-height: 100%;
}
.cont-img-duo {
    min-height: 63.7svh;
    max-height: 100%;
}
.cont-img-small {
    min-height: 49svh;
    max-height: 100%;
}

.p-relative {
    position: relative;
}
.pa-inset {
    position: absolute;
    inset: 0;
}
.pa-center {
    position: absolute;
    left: 50%;
    bottom: -13svh;
    transform: translateX(-50%);
}

/* --- Paddings --- */
.padding-container {
    padding: clamp(24px, calc(24px + (48 - 24) * ((100vw - 1180px) / (1920 - 1180))), 48px);
}
.padding-conttb96 {
    padding-top: var(--mft-padding-l);
    padding-bottom: var(--mft-padding-l);
}
.padding-contlr96 {
    padding-left: var(--mft-padding-l24);
    padding-right: var(--mft-padding-l24);
}

/* --- Shadows --- */
.cont-shadow {
    box-shadow: 0px 4px 100px 0px #00000026;
}

/* --- Anchor --- */
.cont-anchor {
    position: absolute;
    top: -188px;
    left: 0;
    width: 100%;
    background-color: var(--mirai-wp-transparent);
    opacity: 0;
    pointer-events: none;
}



/*********** Forms ***********/
.form-site button,
.form-site button a {
    cursor: pointer;
}
.form-site input,
.form-site textarea,
.form-site select {
    padding-top: 20px !important;
}
.mft-acceptance-form {
    color: var(--mirai-wp-text);
    font-size: var(--font-size-ms); /*16px - 14px*/
    font-weight: 400;
    line-height: 150%!important;
}
.form-site .elementor-field::placeholder,
.form-site .elementor-field-group label:after {
    color: transparent !important;
}
.form-site .elementor-field-label {
    color: var(--mirai-wp-secondary);
}
.form-site .elementor-field-label span {
    color: var(--mirai-wp-Primary);
}
.form-site input:focus,
.form-site textarea:focus,
.form-site select:focus {
    border-color: var(--mirai-wp-Primary) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mirai-wp-Primary) 50%, transparent) !important;
}
.form-site label:not(.elementor-field-group-acceptance label) {
    position: absolute;
    top: 12px;
    left: 30px;
    z-index: 1;
    transition: all 0.3s ease;
    pointer-events: none;
}
.form-site .elementor-field-group:has(input:focus) label,
.form-site .elementor-field-group:has(textarea:focus) label,
.form-site .elementor-field-group:has(select:focus) label,
.form-site .elementor-field-group:has(input:not(:placeholder-shown)) label,
.form-site .elementor-field-group:has(textarea:not(:placeholder-shown)) label,
.form-site .elementor-field-group:has(select:valid) label {
    top: 5px;
    font-size: 12px !important;
}



/*********** Header ***********/
#header {
    min-width: 100%;
    box-shadow: 0px 12px 30px rgba(0, 0, 0, 0.07);
    z-index: 6;
    transition: all 0.35s ease;
}
#header.elementor-sticky--effects {
    z-index: 8;
}
body:has(#finder.finder-active) #header {
    box-shadow: none;
}

/* --cont-left-- */
/* ----- btn menú hamburguesa ----- */
#header .cont-left .menu-cont {
    min-width: 32px;
}
#header .cont-left .menu-cont .elementor-icon-box-icon {
    margin: 0;
}
#header .cont-left .menu-cont a,
#header .cont-left .menu-cont i {
    position: relative;
    width: 32px;
    height: 26px;
}
#header .cont-left .menu-cont a::before,
#header .cont-left .menu-cont a::after,
#header .cont-left .menu-cont i::before {
    position: absolute;
    content: "";
    left: 0;
    height: 2px;
    background-color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#header .cont-left .menu-cont a::before {
    top: 0;
    width: 16px;
}
#header .cont-left .menu-cont a::after {
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
}
#header .cont-left .menu-cont i::before {
    bottom: 0;
    width: 25px;
    transform: translateX(0);
}
#header .cont-left .menu-cont:is(:hover, :focus-visible) a::before,
#header .cont-left .menu-cont:is(:hover, :focus-visible) a::after,
#header .cont-left .menu-cont:is(:hover, :focus-visible) i::before {
    width: 100%;
    background-color: var(--mirai-wp-Primary-super-dark);
}

body.popup-menu-open #header .cont-left {
    pointer-events: visible;
}
body.popup-menu-open #header .cont-left .menu-cont a::before {
    width: 100%;
    top: calc(50% - 1px);
    left: 0;
    transform: rotate(45deg);
}
body.popup-menu-open #header .cont-left .menu-cont a::after {
    width: 100%;
    opacity: 0;
}
body.popup-menu-open #header .cont-left .menu-cont i::before {
    width: 100%;
    bottom: calc(50% - 1px);
    left: 0;
    transform: rotate(-45deg);
}
/* ----- divider ----- */
#header .cont-left .divider-menu {
    position: relative;
}
#header .cont-left .divider-menu::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: var(--mirai-wp-text);
}

/* --cont-right-- */
#header .cont-right {
    opacity: 1;
    transition: all 0.35s ease;
}
/* ----- 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/2240/world-text.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/2240/world-accent.svg");
}
#header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle + ul.wpml-ls-sub-menu {
    background-color: var(--mirai-wp-white);
    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:is(:hover, :focus-visible) a span {
    border-bottom: 1px solid var(--mirai-wp-Primary-super-dark);
}
.wpml-ls-legacy-dropdown-click:hover .wpml-ls-sub-menu {
    visibility: visible;
}
/*----- Club -----*/
#header .cont-right nav .club ui-pressable[data-role="login"] {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#header .cont-right nav .club  ui-pressable[data-role="login"] .login {
    flex-wrap: nowrap;
    gap: 8px;
}
#header .cont-right nav .club  ui-pressable[data-role="login"] .login-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .cont-right nav .club ui-pressable[data-role="login"] .login img,
#header .hover-header .mirai-club .login span svg
#header .hover-header:hover .mirai-club .login span svg {
    min-width: 16px;
    width: 16px;
    height: 16px;
    opacity: 1;
    transition: all 0.35s ease;
}

/* Comportamiento de Header al abrirse Pop up */
body.popup-menu-open .preheader,
body.popup-menu-open #header {
    z-index: 999999;
}
body.popup-menu-open #header {
    backdrop-filter: none;
    box-shadow: none;
}
.preheader,
.preheader .cont-preheader {
    transition: all 0.35s ease;
}
body.popup-menu-open #preheader-site.preheader {
    background-color: var(--mirai-wp-bgcream-light);
    pointer-events: none;
}
.preheader .cont-preheader {
    opacity: 1;
}
body.popup-menu-open .preheader .cont-preheader {
    opacity: 0;
}

/* --cont-right-- */
#header .cont-right {
    opacity: 1;
    transition: all 0.35s ease;
}
body.popup-menu-open #header .cont-right {
    opacity: 0;
    pointer-events: none;
}



/*********** finder ***********/
#finder {
    position: absolute;
    width: auto;
    max-height: 84px;
    top: calc(100svh - 198px);
    bottom: auto;
    left: 50%;
    transform: translate(-50%);
    z-index: 7;
    pointer-events: auto;
    transition: width 0.35s ease, background-color 0.35s ease;
}
#finder.finder-active {
    position: fixed;
    width: 100%;
    top: var(--finder-fixed-top);
    bottom: auto;
    left: 0;
    transform: none;
    background-color: #fff;
    box-shadow: 0px 12px 30px rgba(0, 0, 0, 0.07);
}
#finder .finder-content {
    border-radius: 8px;
    box-shadow: 0px 10px 36px 0px #0000001A;
}
#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;
}



/*********** Footer ***********/
.mft-wrapper-footer,
.mft-wrapper-footer h2,
.mft-wrapper-footer p,
.mft-wrapper-footer span,
.mft-wrapper-footer a,
.mft-wrapper-footer i::before,
.mft-wrapper-footer svg,
.mft-wrapper-footer svg path,
.mft-wrapper-footer ui-pressable > ui-text {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
    transition: all 0.35s ease!important;
}

.cont-info-hotels .item-link .elementor-button-text {
    text-align: left;
}

/* dividing line between items */
.dividing-line-items .item-footer:not(:last-child):not(:only-child)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    right: -18px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
    opacity: 20%;
}
.menu-dividing li:not(:last-child):not(:only-child)::after {
    min-height: 14px;
}



/*********** Pop ups ***********/
#hamburguer-menu.popup-tpl {
    padding-top: 138px;
    overflow: auto;
}

/* --- Pop up menu --- */
body:has(header .elementor-sticky--effects) #hamburguer-menu.popup-tpl {
    padding-top: 104px;
}
#hamburguer-menu .popup-info-hotel {
    max-width: max-content;
}
#hamburguer-menu .video-popup {
    max-width: 560px;
}
#hamburguer-menu .video-popu,
#hamburguer-menu .video-popup .elementor-background-video-container,
#hamburguer-menu .video-popup video {
    min-height: 100%;
    transition: all 0.35s ease;
}
#hamburguer-menu .popup-menu-site {
    max-width: 510px;
}
#hamburguer-menu .popup-menu-site .menu-site {
    width: 100%;
}
#hamburguer-menu .popup-menu-site .menu-site ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
}
#hamburguer-menu .popup-menu-site .menu-site ul li {
    width: 100%;
    padding: var(--mft-padding-s);
    background-color: #fff;
}
.step-card,
#hamburguer-menu .e-n-menu-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: var(--mft-space-s2);
    width: 100%;
}
.step-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--mft-space-xxxs);
    padding: 0;
}
.step-card-number,
.step-card-title,
.step-card-text,
#hamburguer-menu .menu-site .icon-list-info span,
#hamburguer-menu .menu-site .icon-list-info svg,
#hamburguer-menu .menu-site .icon-list-info svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
li:is(:hover, :focus-visible) .step-card-number,
li:is(:hover, :focus-visible) .step-card-title,
li:is(:hover, :focus-visible) .step-card-text,
li:is(:hover, :focus-visible) svg,
li:is(:hover, :focus-visible) svg path,
.e-current .step-card-number,
.e-current .step-card-title,
.e-current .step-card-text,
.e-current svg,
.e-current svg path,
#hamburguer-menu .menu-site .icon-list-info ul li:is(:hover, :focus-visible) span,
#hamburguer-menu .menu-site .icon-list-info ul li:is(:hover, :focus-visible) svg,
#hamburguer-menu .menu-site .icon-list-info ul li:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-Primary);
    fill: var(--mirai-wp-Primary);
}
.step-card-number,
.step-card-title {
    font-family: var(--font-family-heading);
    font-weight: 400;
    line-height: 110%;
}
.step-card-text {
    font-family: var(--font-family-site);
    font-weight: 400;
    line-height: 150%;
}
.step-card-number {
    font-size: var(--font-size-secondary-heading); /*64px - 40px*/
}
.step-card-title {
    font-size: var(--font-size-pretitle); /*24px - 22px*/
}
.step-card-text {
    font-size: var(--font-size-body); /*18px - 16px*/
}
#hamburguer-menu .menu-site .e-n-menu-dropdown-icon {
    margin: 0;
}
#hamburguer-menu .menu-site .e-n-menu-dropdown-icon span {
    transition: all 0.35s ease;
}
#hamburguer-menu .menu-site .e-n-menu-dropdown-icon svg {
    width: var(--font-size-h3);
    height: var(--font-size-h3);
}
#hamburguer-menu .menu-site ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    transition: all 0.35s ease;
}
#hamburguer-menu .menu-site ul li .e-n-menu-content {
    position: relative;
    width: 100%;
    margin-top: 0;
    padding-top: 0;
    bottom: 0;
    left: 0;
    transition: all 0.35s ease;
}
#hamburguer-menu .menu-site ul li .e-n-menu-content.e-active {
    margin-top: var(--mft-padding-s);
    padding-top: var(--mft-padding-s);
    border-top: 1px solid var(--mirai-wp-text);
}
#hamburguer-menu .menu-site ul li .icon-list-info ul {
    gap: 8px;
}
#hamburguer-menu .menu-site ul li .icon-list-info li {
    padding: 0;
}
#hamburguer-menu .menu-site ul li .icon-list-info a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}
#hamburguer-menu .menu-site ul li .icon-list-info span {
    font-family: var(--font-family-site);
    font-size: var(--font-size-body); /*18px - 16px*/
    font-weight: 400;
    line-height: 150%;
    padding: 0;
}
#hamburguer-menu .menu-site ul li .icon-list-info svg {
    width: 8px;
    height: 8px;
    margin: 0;
}

/* --- Pop up bg --- */
.popup-advantages .cont-adv-club,
.popup-gallery-hotels .cont-gallery {
    background-color: #423F3ACC;
    backdrop-filter: blur(20px);
}

/* --- Pop up gallery --- */
.popup-gallery-hotels {
    --gallery-ui-space: calc(82px + var(--mft-padding-ms) + 48px);
}
.popup-gallery-hotels .cont-gallery .img-gallery {
    width: min(100%, 1100px, calc((100svh - var(--gallery-ui-space)) * 1100 / 700));
    aspect-ratio: 1100 / 700;
}
.popup-gallery-hotels .cont-gallery .carousel-site {
    padding-bottom: 48px;
}
.popup-gallery-hotels .cont-gallery .carousel-site .swiper-pagination {
    padding-bottom: 0;
}



/*********** Carousel ***********/
.carousel-site,
.carousel-site .e-n-carousel {
    height: 100%!important;
}

/*-- Dots --*/
.carousel-site .swiper {
    padding-bottom: 0!important;
}
.carousel-site .swiper-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding-bottom: 48px;
}
.carousel-site.p-left .swiper-pagination {
    padding-right: var(--mft-space-5xl);
}
.carousel-site.out96 {
    padding-bottom: var(--mft-space-4xl);
}
.carousel-site.out96 .swiper-pagination {
    padding-bottom: 0;
}
.carousel-site.dots-large .swiper-pagination-bullet {
    width: 16px!important;
    height: 4px!important;
    border-radius: 8px!important;
    margin: 0!important;
    opacity: 1!important;
    transition: all 0.35s ease;
}
.carousel-site .swiper-pagination-bullet {
    background-color: var(--mirai-wp-white)!important;
}
.carousel-site.dctext .swiper-pagination-bullet {
    background-color: var(--mirai-wp-text)!important;
}
.carousel-site .swiper-pagination-bullet:is(:hover, :focus-visible),
.carousel-site .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--mirai-wp-Primary)!important;
}
.carousel-site.dots-large .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 48px!important;
}

/* --- Dots and arrows dynamic --- */
.carousel-site.dynamic:has(.swiper-pagination span + span) {
    padding-bottom: 48px;
}
.carousel-site.dynamic .swiper-pagination {
    display: none;
    padding-bottom: 0;
    margin-top: 0;
}
.carousel-site.dynamic .swiper-pagination:has(span + span) {
    display: flex;
}

/* --- Carousel adv ---*/
.items-adv .elementor-icon-box-icon {
    justify-content: flex-start;
}

/* --- arrows --- */
.carousel-site .elementor-swiper-button {
    top: 50%!important;
    transform: translateY(-50%)!important;
    padding: 16px;
    border-radius: 50%;
    background-color: var(--mirai-wp-transparent);
    transition: all 0.35s ease;
}
.carousel-site .elementor-swiper-button:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary);
    box-shadow: 0px 0px 16px 0px #00000029;
    transition: all 0.35s ease;
}
.carousel-site .elementor-swiper-button.elementor-swiper-button-prev {
    left: 0!important;
}
.carousel-site .elementor-swiper-button.elementor-swiper-button-next {
    right: 0!important;
}
.carousel-site .elementor-swiper-button svg {
    width: 32px!important;
    height: 32px!important;
}
.carousel-site .elementor-swiper-button svg,
.carousel-site .elementor-swiper-button svg path {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
.carousel-site .elementor-swiper-button:is(:hover, :focus-visible) svg,
.carousel-site .elementor-swiper-button:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}



/*********** cards ***********/
.card-resort .card-img {
    position: relative;
    cursor: pointer;
    transition: all 0.35s ease;
}
.card-resort .card-img-info {
    position: absolute;
    inset: 0;
    background-color: var(--mirai-wp-Primary-super-dark);
    opacity: 0;
    transition: all 0.35s ease;
}
.card-resort .card-img:is(:hover, :focus-within) .card-img-info {
    opacity: 1;
}
.card-resort .card-img .cont-text-card {
    overflow: auto;
}



/*********** tabs ***********/
.cont-tabs {
    pointer-events: none;
}
.maps-tab .e-n-tabs-content {
    min-height: 71.3svh;
    max-height: 100%
}
.maps-tab .e-n-tabs-content > .item-tab {
    position: absolute;
    inset: 0;
}
.maps-tab .e-n-tabs-content > .item-tab:not(.e-active) {
    display: flex!important;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.maps-tab .e-n-tabs-content > .item-tab.e-active,
.maps-tab:has(.e-n-tabs-heading button[aria-selected="true"]) .e-n-tabs-content .item-tab.e-active {
    opacity: 1;
}
.maps-tab:has(.e-n-tabs-heading button:nth-child(1):is(:hover, :focus-visible)) .e-n-tabs-content > .item-tab:nth-child(1),
.maps-tab:has(.e-n-tabs-heading button:nth-child(2):is(:hover, :focus-visible)) .e-n-tabs-content > .item-tab:nth-child(2),
.maps-tab:has(.e-n-tabs-heading button:nth-child(3):is(:hover, :focus-visible)) .e-n-tabs-content > .item-tab:nth-child(3),
.maps-tab:has(.e-n-tabs-heading button:nth-child(4):is(:hover, :focus-visible)) .e-n-tabs-content > .item-tab:nth-child(4),
.maps-tab:has(.e-n-tabs-heading button:nth-child(5):is(:hover, :focus-visible)) .e-n-tabs-content > .item-tab:nth-child(5) {
    opacity: 1;
}
.maps-tab .e-n-tabs-heading {
    width: 100%;
    max-width: calc(1600px + calc(var(--mft-padding-m) * 2));
    margin: 0 auto;
    padding: 0 var(--mft-padding-m);
    pointer-events: auto;
}
.maps-tab .e-n-tabs-heading button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 1;
    gap: 16px;
    padding: var(--mft-padding-ms);
    background-color: var(--mirai-wp-secondary-light)!important;
    cursor: pointer;
    box-shadow: 0px 4px 100px 0px #00000026;
    transition: all 0.35s ease;
}
.maps-tab .e-n-tabs-heading button .e-n-tab-icon {
    padding: 16px;
    background-color: var(--mirai-wp-bgcream-light);
    border-radius: 50%;
    transition: all 0.35s ease;
}
.maps-tab .e-n-tabs-heading button .e-n-tab-icon svg {
    width: 24px;
    height: 24px;
}
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .e-n-tab-icon i:first-child, 
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .e-n-tab-icon svg:first-child,
.maps-tab [data-touch-mode=true] .e-n-tab-title[aria-selected=false]:is(:hover, :focus-visible) .e-n-tab-icon i:last-child, 
.maps-tab [data-touch-mode=true] .e-n-tab-title[aria-selected=false]:is(:hover, :focus-visible) .e-n-tab-icon svg:last-child {
    width: 24px!important;
    height: 24px!important;
    opacity: 1;
    transform: none;
}
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .e-n-tab-icon i:last-child, 
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .e-n-tab-icon svg:last-child {
    display: none;
}
.maps-tab .e-n-tabs-heading button .e-n-tab-icon svg,
.maps-tab .e-n-tabs-heading button .e-n-tab-icon svg path {
    fill: var(--mirai-wp-Primary-super-dark);
    transition: all 0.35s ease;
}
.maps-tab .e-n-tabs-heading button .hotel-card-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    text-align: left;
}
.maps-tab .e-n-tabs-heading button .hotel-name,
.maps-tab .e-n-tabs-heading button .hotel-location {
    text-align: left;
    font-weight: 400;
    color: var(--mirai-wp-text);
    line-height: 110%!important;
    transition: all 0.35s ease;
}
.maps-tab .e-n-tabs-heading button .hotel-name {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-h3-s);
}
.maps-tab .e-n-tabs-heading button .hotel-location {
    font-family: var(--font-family-site);
    font-size: var(--font-size-body);
}
.maps-tab .e-n-tabs-heading button:is(:hover, :focus-visible),
.maps-tab .e-n-tabs-heading button[aria-selected="true"] {
    background-color: var(--mirai-wp-Primary-super-dark)!important;
}
.maps-tab .e-n-tabs-heading button:is(:hover, :focus-visible) .e-n-tab-icon,
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .e-n-tab-icon {
    background-color: var(--mirai-wp-white);
}
.maps-tab .e-n-tabs-heading button:is(:hover, :focus-visible) .hotel-name,
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .hotel-name,
.maps-tab .e-n-tabs-heading button:is(:hover, :focus-visible) .hotel-location,
.maps-tab .e-n-tabs-heading button[aria-selected="true"] .hotel-location {
    color: var(--mirai-wp-white);
}



/*********** Bg animated ***********/
.bg-animated {
    --bg-progress: 0;
    --bg-start-width: 1600px;

    width: calc(
        var(--bg-start-width) + 
        ((100vw - var(--bg-start-width)) * var(--bg-progress))
    );

    max-width: 100vw;
    margin-inline: auto;
    will-change: width;
}



/*********** Scroll animated ***********/
.scroll-animated {
    --scroll-progress: 0;

    margin-top: calc(var(--mft-space-5xl) * -1);

    transform: translateY(
        calc(var(--mft-space-5xl) * var(--scroll-progress))
    );

    will-change: transform;
}



/*********** Table club ***********/
.membership-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.membership-table {
    width: 100%;
    min-width: 1100px;
    border-collapse: separate;
    border-spacing: 8px 8px;
}
.membership-table td {
    padding: 24px 16px;
    vertical-align: middle;
    text-align: center;
    background-color: #fff;
}
.membership-table td,
.membership-table td p {
    font-family: var(--font-family-site);
    font-size: var(--font-size-body);
    font-weight: 400;
    line-height: 150% !important;
    color: var(--mirai-wp-text);
}
.membership-table p {
    margin: 0;
}
.membership-table p + p {
    margin-top: 8px;
}

/* --- Header --- */
.membership-table tr:first-child td {
    background-color: var(--mirai-wp-Primary-super-dark);
    text-align: center;
}
.membership-table tr:first-child td,
.membership-table tr:first-child td strong,
.membership-table td[rowspan],
.membership-table td[rowspan] strong {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-h3-s);
    font-weight: 400;
    line-height: 110% !important;
    color: var(--mirai-wp-white);
}

/* --- Primera columna --- */
.membership-table td:first-child {
    min-width: 190px;
    text-align: center;
}

/* --- Niveles: Silver / Gold / Platinum --- */
.membership-table td[rowspan] {
    background-color: var(--mirai-wp-Primary-super-dark)!important;
    text-align: center;
}

/* --- Filas alternas --- */
.membership-table tr:not(:first-child):nth-child(even) td:not([rowspan]) {
    background-color: #EDEAE5;
}

/* --- Evitar espacios de los <br> del HTML --- */
.membership-table td[rowspan] br {
    display: none;
}



/*********** form club ***********/
/* --- edit form club page --- */
:root .section-form [data-mirai-component="signup"] [data-role="signup"]{
	--mirai-ui-content-border: transparent;
	--mirai-ui-content-light: #222222;
	--mirai-ui-base: #EDEAE5;
	--mirai-ui-input-background: #EDEAE5;
	--mirai-ui-font-bold: 'Playfair Display';
	--mirai-ui-font-size-headline-2: clamp(24px, calc(24px + (40 - 24) * ((100vw - 1180px) / (1920 - 1180))), 40px); 
	--mirai-ui-font-bold-weight: 400;
	--mirai-ui-content: #222222;
	--mirai-ui-font-size-paragraph: clamp(16px, calc(16px + (18 - 16) * ((100vw - 1180px) / (1920 - 1180))), 18px);
	--mirai-ui-font: 'Mulish';
}



@media (max-width: 1728px) {
    /*********** Bg animated 1728 ***********/
    .bg-animated {
        --bg-start-width: calc(100vw - (var(--mft-padding-m) * 2));
    }
}

@media (min-width: 1200px) {
    /*********** Pop ups ***********/
    #hamburguer-menu.popup-tpl {
        overflow: hidden;
        max-height: 100svh;
    }
    #hamburguer-menu.popup-tpl .popup-menu-site {
        overflow-y: auto;
    }
}

@media (min-width: 767px) {
    /*********** Carousel ***********/
    .carousel-site.only-tab-mob .swiper-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 16px;
        transition-duration: none!important;
        transform: none!important;
    }
    .carousel-site.only-tab-mob .swiper-pagination {
        display: none;
        padding-bottom: 0;
    }
}

@media (max-width: 1200px) {
    /*********** Heros 1200 ***********/
    #hero-page.all-heros .cont-titles.cont-left.tm-center {
        align-items: center;
    }
    /*.all-heros .cont-img-small {
        min-height: auto;
        height: 30.7svh;
        max-height: 450px;
    }*/



    /*********** Menús y Hovers 1200 ***********/
    .menu-vert ul {
        align-items: center;
    }



    /*********** Footer 1200 ***********/
    .links-contact {
        display: inline-grid;
        justify-items: stretch;
    }
    .links-contact  .cont-info-hotels.wauto {
        width: 100%;
    }
    .cont-info-hotels .item-link .elementor-button-text {
        text-align: center;
    }



    /*********** finder 1200 ***********/ 
    body:has(#hero-page.all-heros) #finder {
        top: calc(100svh - 40svh);
    }
    body:has(#hero-page.all-heros) #finder.finder-active {
        top: var(--finder-fixed-top);
    }



    /*********** Pop ups 1200 ***********/
    /* --- Pop up menu --- */
    .step-card,
    #hamburguer-menu .e-n-menu-title {
        justify-content: center;
    }



    /*********** Carousel 1200 ***********/
    .carousel-site.only-tab-mob  {
        padding-bottom: 24px;
    }



    /*********** cards 1200 ***********/
    .card-resort .card-img .info-hover,
    .card-resort .card-img .cont-text-card {
        display: none;
    }
    .card-resort .card-img-info {
        background-color: var(--mirai-wp-transparent);
        opacity: 1;
    }
    .card-resort .card-img.cont-img-small,
    .card-resort .card-img-hotel.cont-img-small {
        min-height: auto;
        height: 26.7svh;
        max-height: 320px;
    }
}

@media (max-width: 767px) {
    /*********** Headings 767 ***********/
    .all-heros .cont-titles,
    .all-heros .cont-titles .e-con-inner,
    .all-heros .cont-titles > div {
        align-items: center;
        gap: 4px;
    }



    /*********** Heros 767 ***********/
    /*.all-heros .cont-img-full-vw {
        min-height: auto;
        height: 65svh;
        max-height: 450px;
    }*/



    /*********** Botones 767 ***********/
    .btn-site,
    .btn-site a {
        width: 100%!important;
    }
    .btn-adv.btn-site.btn-i a {
        padding: 8px!important;
    }
    .btn-adv.btn-site.btn-i a .elementor-button-content-wrapper {
        gap: 0 !important;
        margin: 0;
    }
    .btn-adv.btn-site,
    .btn-adv.btn-site a,
    .btn-adv.btn-site a span {
        font-size: 0;
    }
    .btn-adv.btn-site.btn-svg svg,
    .btn-adv.btn-site.btn-svg i {
        width: 16px;
        height: 16px;
        font-size: 16px;
    }
    .btn-adv.btn-site.btn-i a .elementor-button-text::after {
        display: none;
    }
    .btn-adv.btn-site.btn-i a:is(:hover, :focus-visible) .elementor-button-content-wrapper {
        transform: none;
    }



    
    /*********** Containers size 767 ***********/
    .cont-img-duo {
        min-height: 47.9svh;
        max-height: 100%;
    }



    /*********** Header 767 ***********/
    #header .cont-left,
    #header .cont-right {
        max-width: max-content;
    }
    /*-- cont-right --*/
    /*--- 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 a.wpml-ls-item-toggle,
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle 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-text)!important;
    }
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:is(:hover, :focus-visible),
    #header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:is(:hover, :focus-visible) span {
        color: var(--mirai-wp-Primary-super-dark)!important;
    }
    #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:is(:hover, :focus-visible) a span {
        border-bottom: 1px solid var(--mirai-wp-Primary-super-dark);
    }
    #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/2240/world-text.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/2240/world-accent.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-white);
        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;
    }
    /*----- Club -----*/
    #header .cont-right nav .club {
        margin-left: 0;
        padding: 12px;
    }
    .menu-underline.csuperdark.hover-header.club::after {
        display: none;
    }



    /*********** finder 767 ***********/
    #finder {
        max-height: 58px;
        top: calc(100svh - 172px);
    }    
    body:has(#hero-page.all-heros) #finder {
        max-height: 58px;
        top: calc(100svh - 58px);
    }
    body:has(#hero-page.all-heros) #finder.finder-active {
        top: var(--finder-fixed-top);
    }
    #finder ui-finder-compact[data-role="finder-compact"] {
        min-width: calc(100vw - calc(var(--mft-padding-m) * 2));
        border: none;
    }



    /*********** Footer 767 ***********/
    #footer-site .menu-legal nav ul,
    #footer-site .menu-legal nav ul li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    #footer-site .menu-legal nav ul {
        gap: 18px;
    }
    #footer-site .menu-legal nav ul li a {
        margin: 0;
    }
    #footer-site .menu-legal nav ul > li:not(:last-child)::after {
        display: none;
    }



    /*********** Pop ups 767 ***********/
    /* --- Pop up menu --- */
    .step-card,
    #hamburguer-menu .e-n-menu-title {
        justify-content: flex-start;
    }



    /*********** Carousel 767 ***********/
    /* --- Carousel adv ---*/
    .items-adv .elementor-icon-box-icon {
        justify-content: center;
    }
    /* --- Carousel only-tab-mob ---*/
    .carousel-site.only-tab-mob .swiper-pagination {
        padding-bottom: 0;
    }



    /*********** tabs 767 ***********/
    .maps-tab .e-n-tabs-content {
        min-height: 400px;
        max-height: 100%
    }
    .cont-map .cont-img-full-vw {
        min-height: 400px;
    }



    /*********** Table club 767 ***********/
    .membership-table td:first-child {
        min-width: 0;
    }
}

@media (max-height: 640px) {
    /*********** finder h640 ***********/
    #finder {
        top: calc(100svh - 84px);
    }



    /*********** Carousel h640 ***********/
    /*-- Dots --*/
    .all-heros .carousel-site .swiper-pagination {
        padding-bottom: 118px;
    }
}

@media (max-height: 450px) {
     /*********** finder h450 ***********/ 
    body:has(#hero-page.all-heros.only-titles) #finder {
        max-height: 58px;
        top: calc(100svh - 58px);
    }



    /* Carousel h450 */
    /*-- Dots --*/
    .all-heros .carousel-site .swiper-pagination {
        display: none;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Playfair_Display';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Regular-1.woff2') format('woff2'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Regular.woff') format('woff'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Playfair_Display';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Medium-1.woff2') format('woff2'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Medium.woff') format('woff'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Playfair_Display';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Italic-1.woff2') format('woff2'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Italic.woff') format('woff'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Italic.ttf') format('truetype');
}
@font-face {
	font-family: 'Playfair_Display';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Bold-1.woff2') format('woff2'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Bold.woff') format('woff'),
		url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2240/PlayfairDisplay-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */