.elementor-kit-1397{--e-global-color-primary:#2879AF;--e-global-color-secondary:#A1D1E7;--e-global-color-text:#202020;--e-global-color-accent:#3398CC;--e-global-color-13f4851a:#17598C;--e-global-color-52235058:#DEEFF7;--e-global-color-21f8c9b7:#000;--e-global-color-47eea86e:#FFF;--e-global-color-6cb047a:#FFFFFF00;--e-global-color-de74932:#FDD827;--e-global-color-2951326:#0D203E;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:clamp(36px, calc(36px + (80 - 36) * ((100vw - 1180px) / (1920 - 1180))), 80px);--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:110%;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:clamp(32px, calc(32px + (56 - 32) * ((100vw - 1180px) / (1920 - 1180))), 56px);--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:110%;--e-global-typography-text-font-family:"Poppins";--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:"Poppins";--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-line-height:110%;--e-global-typography-fcce242-font-family:"Poppins";--e-global-typography-fcce242-font-size:14px;--e-global-typography-fcce242-font-weight:500;--e-global-typography-fcce242-line-height:110%;--e-global-typography-013566d-font-family:"Poppins";--e-global-typography-013566d-font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 1180px) / (1920 - 1180))), 18px);--e-global-typography-013566d-font-weight:500;--e-global-typography-013566d-line-height:110%;--e-global-typography-962030d-font-family:"Poppins";--e-global-typography-962030d-font-size:clamp(22px, calc(22px + (24 - 22) * ((100vw - 1180px) / (1920 - 1180))), 24px);--e-global-typography-962030d-font-weight:400;--e-global-typography-962030d-text-transform:uppercase;--e-global-typography-962030d-line-height:110%;--e-global-typography-4d3a7db-font-family:"Poppins";--e-global-typography-4d3a7db-font-size:clamp(18px, calc(18px + (24 - 18) * ((100vw - 1180px) / (1920 - 1180))), 24px);--e-global-typography-4d3a7db-font-weight:700;--e-global-typography-4d3a7db-line-height:150%;--e-global-typography-adfa3ce-font-family:"Poppins";--e-global-typography-adfa3ce-font-size:clamp(22px, calc(22px + (28 - 22) * ((100vw - 1180px) / (1920 - 1180))), 28px);--e-global-typography-adfa3ce-font-weight:700;--e-global-typography-adfa3ce-line-height:110%;--e-global-typography-fe530e3-font-family:"Poppins";--e-global-typography-fe530e3-font-size:clamp(26px, calc(26px + (40 - 26) * ((100vw - 1180px) / (1920 - 1180))), 40px);--e-global-typography-fe530e3-font-weight:700;--e-global-typography-fe530e3-line-height:110%;--e-global-typography-cdb3973-font-family:"Poppins";--e-global-typography-cdb3973-font-size:14px;--e-global-typography-cdb3973-font-weight:400;--e-global-typography-cdb3973-line-height:150%;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 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-1397 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-1397 h3{font-family:var( --e-global-typography-fe530e3-font-family ), Sans-serif;font-size:var( --e-global-typography-fe530e3-font-size );font-weight:var( --e-global-typography-fe530e3-font-weight );line-height:var( --e-global-typography-fe530e3-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-1397{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-1397 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1397 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-1397 h3{font-size:var( --e-global-typography-fe530e3-font-size );line-height:var( --e-global-typography-fe530e3-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 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1397 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-1397 h3{font-size:var( --e-global-typography-fe530e3-font-size );line-height:var( --e-global-typography-fe530e3-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*--- medsur-hoteles.com ---*/

/* Tipografía */
/*-- Poppins --*/
p,
a,
span,
h1,
h2,
h3,
h4,
div,
section,
ui-finder > ui-button,
ui-pressable[data-role="login"] .login .login-text,
ui-pressable > ui-text,
.items-list-xs,
.items-list-xs a,
#footer-site .items-list-xs ui-pressable > ui-text {
    font-family: var(--font-family-site)!important;
}
/*--- styles ---*/
.items-list-xs,
.items-list-xs a,
.items-list-xs span,
.items-list-xs p,
.items-list-xs div,
#footer-site .items-list-xs ui-pressable > ui-text {
    font-size: 14px;
}
#header span.elementor-icon,
#pre-footer .detail-info-hotel.info-prefooter svg,
.text-info p,
.text-info span {
    font-size: var(--font-size-ms)!important; /*16px - 14px*/
}
#header div,
#header p,
#header a,
#header span,
#menus-hotels-ind div,
#menus-hotels-ind p,
#menus-hotels-ind a,
#menus-hotels-ind span,
#footer-site .nav-menu a,
.btn-site a,
.btn-site a span,
#pre-footer .detail-info-hotel.info-prefooter div,
#pre-footer .detail-info-hotel.info-prefooter p,
#pre-footer .detail-info-hotel.info-prefooter a,
#pre-footer .detail-info-hotel.info-prefooter span,
.title-small,
.title-small p,
.title-small span {
    font-size: var(--font-size-body)!important; /*18px - 16px*/
}
.heading-info p,
.heading-info span {
    font-size: var(--font-size-h3-s)!important; /*24px - 18px*/
}
.cont-titles .pretitle p,
.cont-titles .pretitle span,
.cont-titles .pretitle h1,
.cont-titles .pretitle h2,
.cont-titles .pretitle h3 {
    font-size: var(--font-size-pretitle)!important; /*24px - 22px*/
}
#header .menu-all-hotels,
#header .menu-all-hotels li,
#header .menu-all-hotels a,
#header .menu-all-hotels span,
.menu-all-hotels,
.menu-all-hotels li,
.menu-all-hotels a,
.menu-all-hotels span,
.menu-vert .e-n-menu-title > a > span,
.cont-text .text-l,
.cont-text .text-l p,
.cont-text .text-l h2,
.cont-text .text-l h3 {
    font-size: var(--font-size-h3-m)!important; /*28px - 22px*/
}
#footer-site .title-footer,
.cont-text .text-x,
.cont-text .text-x p,
.cont-titles .text-x,
.cont-titles .text-x p,
.cont-titles .text-x h3,
.cont-titles .text-x h2 {
    font-size: var(--font-size-h3-l)!important; /*40px - 26px*/
}
.cont-titles .secondary-title p,
.cont-titles .secondary-title span,
.cont-titles .secondary-title h2,
.cont-titles .secondary-title h3 {
    font-size: var(--font-size-secondary-heading)!important; /*56px - 32px*/
}
.all-heros .cont-titles .primary-title p,
.all-heros .cont-titles .primary-title span,
.all-heros .cont-titles .primary-title h1,
.all-heros .cont-titles .primary-title h2,
.all-heros .cont-titles .primary-title h3 {
    font-size: var(--font-size-h1)!important; /*88px - 36px*/
}

.mft-legal-footer #developed-wrapper {
    font-weight: 400!important;
}
.cont-titles .pretitle p,
.cont-titles .pretitle span,
.cont-titles .pretitle h1,
.cont-titles .pretitle h2,
.cont-titles .pretitle h3,
.text-info p,
.text-info span {
    font-weight: 400!important;
}
#header div,
#header p,
#header a,
#header span,
#menus-hotels-ind div,
#menus-hotels-ind p,
#menus-hotels-ind a,
#menus-hotels-ind span,
#footer-site a,
#footer-site span,
#footer-site p.items-list-xs,
.items-list-xs a,
.items-list-xs span,
.items-list-xs p,
.items-list-xs div,
#pre-footer .detail-info-hotel.info-prefooter div,
#pre-footer .detail-info-hotel.info-prefooter p,
#pre-footer .detail-info-hotel.info-prefooter a,
#pre-footer .detail-info-hotel.info-prefooter span {
    font-weight: 500!important;
}
.btn-site a,
.btn-site a span,
#header .btn-site a,
#header .btn-site a span,
#footer-site .btn-site a,
#footer-site .btn-site a span,
#footer-site .items-list-xs ui-pressable > ui-text,
.mft-legal-footer #developed-wrapper a {
    font-weight: 600!important;
}
#header .menu-all-hotels,
#header .menu-all-hotels li,
#header .menu-all-hotels a,
#header .menu-all-hotels span,
#menus-hotels-ind .title-small,
.menu-all-hotels,
.menu-all-hotels li,
.menu-all-hotels a,
.menu-all-hotels span,
.menu-vert .e-n-menu-title > a > span,
#footer-site .title-footer,
.cont-titles .primary-title p,
.cont-titles .primary-title span,
.cont-titles .primary-title h1,
.cont-titles .primary-title h2,
.cont-titles .primary-title h3,
.heading-info p,
.heading-info span,
.cont-text .text-x,
.cont-text .text-x p,
.cont-titles .text-x,
.cont-titles .text-x p,
.cont-titles .text-x h3,
.cont-titles .text-x h2,
.cont-text .text-l,
.cont-text .text-l p,
.cont-text .text-l h2,
.cont-text .text-l h3,
.title-small,
.title-small p,
.title-small span {
    font-weight: 700!important;
}

.btn-site a,
.btn-site a span {
    line-height: 100%!important;
}
#header div,
#header p,
#header a,
#header span,
#header .menu-all-hotels,
#header .menu-all-hotels li,
#header .menu-all-hotels a,
#header .menu-all-hotels span,
#menus-hotels-ind div,
#menus-hotels-ind p,
#menus-hotels-ind a,
#menus-hotels-ind span,
.menu-all-hotels,
.menu-all-hotels li,
.menu-all-hotels a,
.menu-all-hotels span,
.items-list-xs,
.items-list-xs a,
#footer-site .items-list-xs ui-pressable > ui-text,
.cont-titles p,
.cont-titles span,
.cont-titles h1,
.cont-titles h2,
.cont-titles h3,
.heading-info p,
.heading-info span,
.text-info p,
.text-info span,
.cont-text .text-x,
.cont-text .text-x p,
.cont-titles .text-x,
.cont-titles .text-x p,
.cont-titles .text-x h3,
.cont-titles .text-x h2,
.cont-text .text-l,
.cont-text .text-l p,
.cont-text .text-l h2,
.cont-text .text-l h3,
.title-small,
.title-small p,
.title-small span {
    line-height: 110%!important;
}
#footer-site .detail-info-hotel .tag-vcard p,
#footer-site .detail-info-hotel .tag-vcard a,
#footer-site .detail-info-hotel .tag-vcard span,
#footer-site .detail-info-hotel .tag-vcard i::before,
#pre-footer .detail-info-hotel.info-prefooter div,
#pre-footer .detail-info-hotel.info-prefooter p,
#pre-footer .detail-info-hotel.info-prefooter a,
#pre-footer .detail-info-hotel.info-prefooter span {
    line-height: 150%!important;
}



/* Headings */
.all-heros {
    position: relative;
}
.all-heros .cont-titles {
    position: absolute;
    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;
}
.all-heros .cont-titles,
.all-heros .cont-titles .e-con-inner,
.all-heros .cont-titles > div {
    gap: 24px;
}
.cont-titles .pretitle {
    text-transform: uppercase;
}
.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 .pretitle,
.text-info,
.cont-text .text-x,
.cont-text .text-l,
.cont-text .text-l p,
.cont-text .text-l h2,
.cont-text .text-l h3 {
    color: var(--mirai-wp-Primary-super-dark);
}
.bg-opacity .cont-titles .pretitle {
    color: var(--mirai-wp-Primary-light);
}
.cont-titles .secondary-title,
.heading-info,
.title-small,
.title-small p,
.title-small span,
.cont-titles .text-x.title {
    color: var(--mirai-wp-Primary-dark);
}



/* Containers size */
.max-content-size {
    max-width: max-content;
}
.size-cont-m {
    width: 100%;
    max-width: 1280px;
}
.size-cont-s {
    width: 100%;
    max-width: 410px;
}

/* Container bg img */
.cont-img-full-vw {
    min-height: 70.2svh;
    max-height: 100%;
}
.cont-img-full,
.cont-img-full #map-wrapper {
    min-height: 59.7svh;
    max-height: 100%;
}
.cont-img-carousel {
    min-height: 55svh;
    max-height: 100%;
}

.cont-img-full #map-wrapper {
    border-radius: 16px;
}



/* Paddings */
.padding-section {
    padding-top: var(--mft-padding-l); /*80 --- 48*/
    padding-bottom: var(--mft-padding-l); /*80 --- 48*/
    padding-right: var(--mft-padding-s); /*32 --- 16*/
    padding-left: var(--mft-padding-s); /*32 --- 16*/
}
section:has(.cont-img-animated) {
    padding-bottom: 0;
    overflow: hidden;
}



/* Gaps */
.gap-section-x,
.gap-section-x > .e-con-inner,
.gap-section-x .cont-titles .e-con-inner,
.gap-section-x .cont-titles > div {
    gap: var(--mft-padding-l); /*80 --- 48*/
}
.gap-section,
.gap-section > .e-con-inner,
.gap-section .cont-titles .e-con-inner,
.gap-section .cont-titles > div {
    gap: var(--mft-space-ms); /*40 --- 24*/
}
.gap-cont-l,
.gap-cont-l > .e-con-inner,
.gap-cont-l .cont-titles .e-con-inner,
.gap-cont-l .cont-titles > div {
    gap: var(--mft-space-s); /*32 --- 24*/
}
.gap-cont,
.gap-cont > .e-con-inner,
.gap-cont .cont-titles .e-con-inner,
.gap-cont .cont-titles > div {
    gap: var(--mft-space-xs); /*24 --- 16*/
}
.gap-cont-s,
.gap-cont-s > .e-con-inner,
.gap-cont-s .cont-titles .e-con-inner,
.gap-cont-s .cont-titles > div {
    gap: var(--mft-space-xxs); /*16px - 14px*/
}



/* Menús y Hovers */
.menu-items p,
.menu-items a,
.menu-items span,
.menu-items li,
.menu-items i::before,
.menu-items svg,
.menu-items svg path {
    transition: all 0.35s ease;
}
.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: 2px;
    left: 0;
    bottom: -4px;
    transition: all 0.35s ease;
}
#menus-hotels-ind .menu-underline li {
    padding: 6px 0;
}
#menus-hotels-ind .menu-underline li::after {
    bottom: 0;
}
.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%;
}

#menus-hotels-ind .all-menus-ind {
    width: 100%;
    max-width: max-content;
}
#menus-hotels-ind .cont-title-menu {
    flex: 0 0 auto;
    width: max-content;
    min-width: max-content;
}

#menus-hotels-ind .cont-title-menu .title-small {
    white-space: nowrap;
}
/*--- 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);
}
.ctitle p,
.ctitle a,
.ctitle span,
.ctitle li,
.ctitle i::before,
.ctitle svg,
.ctitle svg path {
    color: var(--mirai-wp-text-title)!important;
    fill: var(--mirai-wp-text-title)!important;
    transition: all 0.35s ease;
}
/*--- colors hover ---*/
/*------ primary ------*/
.cprimary li:is(:hover, :focus-visible) > :first-child,
.cprimary li:is(:hover, :focus-visible) > :first-child p,
.cprimary li:is(:hover, :focus-visible) > :first-child a,
.cprimary li:is(:hover, :focus-visible) > :first-child span,
.cprimary li:is(:hover, :focus-visible) > :first-child i::before,
.cprimary li:is(:hover, :focus-visible) > :first-child svg,
.cprimary li:is(:hover, :focus-visible) > :first-child svg path,
.cprimary li > :first-child.e-current,
.cprimary li > :first-child.e-current p,
.cprimary li > :first-child.e-current a,
.cprimary li > :first-child.e-current span,
.cprimary li > :first-child.e-current i::before,
.cprimary li > :first-child.e-current svg,
.cprimary li > :first-child.e-current svg path,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child p,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child a,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child span,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child i::before,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child svg,
.csuperdark .cprimary li:is(:hover, :focus-visible) > :first-child svg path,
.csuperdark .cprimary li > :first-child.e-current,
.csuperdark .cprimary li > :first-child.e-current p,
.csuperdark .cprimary li > :first-child.e-current a,
.csuperdark .cprimary li > :first-child.e-current span,
.csuperdark .cprimary li > :first-child.e-current i::before,
.csuperdark .cprimary li > :first-child.e-current svg,
.csuperdark .cprimary li > :first-child.e-current svg path {
    color: var(--mirai-wp-Primary)!important;
    fill: var(--mirai-wp-Primary)!important;
    transition: all 0.35s ease;
}
.menu-underline.cprimary.hover-header:is(:hover, :focus-visible)::after,
.menu-underline.cprimary li:is(:hover, :focus-visible)::after,
.menu-underline.cprimary li:has(> :first-child.e-current)::after {
    background-color: var(--mirai-wp-Primary);
}
/*------ 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,
.cont-hover:is(:hover, :focus-visible) .csuperdark,
.cont-hover:is(:hover, :focus-visible) .csuperdark p,
.cont-hover:is(:hover, :focus-visible) .csuperdark a,
.cont-hover:is(:hover, :focus-visible) .csuperdark span,
.cont-hover:is(:hover, :focus-visible) .csuperdark i::before,
.cont-hover:is(:hover, :focus-visible) .csuperdark svg,
.cont-hover:is(:hover, :focus-visible) .csuperdark svg path,
.cont-hover:has(.cont-menu .e-current) .csuperdark,
.cont-hover:has(.cont-menu .e-current) .csuperdark p,
.cont-hover:has(.cont-menu .e-current) .csuperdark a,
.cont-hover:has(.cont-menu .e-current) .csuperdark span,
.cont-hover:has(.cont-menu .e-current) .csuperdark i::before,
.cont-hover:has(.cont-menu .e-current) .csuperdark svg,
.cont-hover:has(.cont-menu .e-current) .csuperdark 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);
}
/*--- not after ---*/
.not-after li::after {
    display: none;
}
/*--- Menú vertical ---*/
.menu-vert.menu-underline li::after {
    display: none;
}
.menu-vert.gap-s ul {
    display: flex!important;
    flex-direction: column!important;
    justify-content: center!important;
    align-items: flex-start!important;
    gap: 16px!important;
    overflow: hidden;
}
.menu-vert nav ul li,
.menu-vert nav ul li .e-n-menu-content {
    position: relative!important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    left: 0!important;
    right: 0!important;
    width: 100%!important;
    margin: 0!important;
}
.menu-vert .submenu-popup ul {
    gap: 12px!important;
}

/* --- Menús individuales --- */
.menus-hotels,
.menus-hotels .all-menu,
.info-hotels,
.info-hotels .all-menu {
    display: none;
}
.cat-hotel-alone .menus-hotels,
.cat-hotel-alone .menus-hotels .menu-alone.all-menu,
.cat-hotel-alone .info-hotels,
.cat-hotel-alone .info-hotels .info-alone.all-menu {
    display: flex;
}
.cat-tropic-relax-park .menus-hotels,
.cat-tropic-relax-park .menus-hotels .menu-tropic-relax.all-menu,
.cat-tropic-relax-park .info-hotels,
.cat-tropic-relax-park .info-hotels .info-tropic-relax.all-menu {
    display: flex;
}
.cat-hotel-la-rapita .menus-hotels,
.cat-hotel-la-rapita .menus-hotels .menu-la-rapida.all-menu,
.cat-hotel-la-rapita .info-hotels,
.cat-hotel-la-rapita .info-hotels .info-la-rapida.all-menu {
    display: flex;
}
.cat-natura-park .menus-hotels,
.cat-natura-park .menus-hotels .menu-natura-park.all-menu,
.cat-natura-park .info-hotels,
.cat-natura-park .info-hotels .info-natura-park.all-menu {
    display: flex;
}


/* Breadcrumbs */
.breadcrumbs .eael-breadcrumbs__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
#breadcrumbs-tpl .breadcrumbs a {
    color: var(--e-global-color-text);
    transition: all 0.35s ease;
    line-height: 200%!important;
}
#breadcrumbs-tpl .breadcrumbs span {
    line-height: 200%!important;
}
#breadcrumbs-tpl .breadcrumbs a:is(:hover, :focus-visible) {
    color: var(--mirai-wp-Primary);
}
#breadcrumbs-tpl .breadcrumbs .eael-breadcrumb-separator {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 8px;
}
#breadcrumbs-tpl .breadcrumbs .eael-breadcrumb-separator svg {
    margin: 0;
}



/* 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;
    border-radius: 32px;
    cursor: pointer;
}
.btn-site a,
.btn-site a span {
    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;
}
/*--- Estilos de botones ---*/
/*------ Botón con icono ------*/
.btn-site.btn-svg a svg,
.btn-site.btn-svg a svg path {
    width: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
    height: clamp(14px, calc(14px + (16 - 14) * ((100vw - 1180px) / (1920 - 1180))), 16px);
}
/*------ button arrow ------*/
.btn-i a .elementor-button-text,
.offers-list .carousel-inner dd a {
    position: relative;
    width: max-content;
}
.btn-site.btn-i a .elementor-button-text::after,
.offers-list .carousel-inner dd a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: clamp(-22px, calc(-22px + (24 - 22) * ((100vw - 1180px) / (1920 - 1180))), -24px);
    transform: translateY(-50%);
    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;
    transition: all 0.35s ease;
}
.btn-site.btn-i a:is(:hover, :focus-visible) {
    padding: 21px clamp(46px, calc(46px + (48 - 46) * ((100vw - 1180px) / (1920 - 1180))), 48px) 21px 24px!important;
}
.btn-site.btn-i a:is(:hover, :focus-visible) .elementor-button-text::after,
.offers-list .carousel-inner dd a:is(:hover, :focus-visible)::after {
    opacity: 1;
    visibility: visible;
}
/*--------- 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/2119/arrow.svg");
}
/*--------- button arrow primary ---------*/
.offers-list .carousel-inner dd a::after {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2119/arrow-right-primary.svg");
}

/*------ line bottom ------*/
.btn-site.line-bottom a {
    position: relative;
    width: max-content;
    background-color: transparent;
    padding: 0!important;
}
.btn-site.line-bottom a::before,
.offers-list .carousel-inner dd a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 2px;
    transition: all 0.35s ease;
}
.btn-site.line-bottom a::after,
.offers-list .carousel-inner dd a::after {
    right: 0;
}
.btn-site.line-bottom a:is(:hover, :focus-visible) {
    padding: 0 24px 0 0!important;
}
/*------ bg white bottom ------*/
.btn-site.bg-white,
.btn-site.bg-white a {
    background-color: var(--mirai-wp-white);
}
.card-hotel .btn-site.bg-white .tag-vcard svg {
    margin-top: 0;
}
.btn-site.bg-white:is(:hover, :focus-visible),
.btn-site.bg-white a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-secondary);
}
/*------ bg secondary bottom ------*/
.btn-site.bg-btn.bg-secondary a {
    background-color: var(--mirai-wp-secondary);
}
.btn-site.bg-btn.bg-secondary a,
.btn-site.bg-btn.bg-secondary a span,
.btn-site.bg-btn.bg-secondary a svg,
.btn-site.bg-btn.bg-secondary a svg path {
    color: var(--mirai-wp-Primary-dark);
    fill: var(--mirai-wp-Primary-dark);
}
.btn-site.bg-btn.bg-secondary a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary);
}
.btn-site.bg-btn.bg-secondary a:is(:hover, :focus-visible),
.btn-site.bg-btn.bg-secondary a:is(:hover, :focus-visible) span,
.btn-site.bg-btn.bg-secondary a:is(:hover, :focus-visible) svg,
.btn-site.bg-btn.bg-secondary a:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}
/*------ bg primary bottom ------*/
.btn-site.bg-btn.bg-primary a,
#main .rooms-listing .room-item .room-box .room-content a  {
    background-color: var(--mirai-wp-Primary);
}
.btn-site.bg-btn.bg-primary a,
.btn-site.bg-btn.bg-primary a span,
.btn-site.bg-btn.bg-primary a svg,
.btn-site.bg-btn.bg-primary a svg path,
#main .rooms-listing .room-item .room-box .room-content a {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}
.btn-site.bg-btn.bg-primary a:is(:hover, :focus-visible),
#main .rooms-listing .room-item .room-box .room-content a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary-super-dark);
}



/* Icons site */
/*-- RRSS --*/ 
#footer-site .rrss-site a,
#footer-site .rrss-site a i::before,
#footer-site .rrss-site a svg,
#footer-site .rrss-site a svg path {
    transition: all 0.35s ease;
}
#footer-site .rrss-site a {
    background-color: var(--mirai-wp-Primary);
}
#footer-site .rrss-site a i::before,
#footer-site .rrss-site a svg,
#footer-site .rrss-site a svg path {
    color: var(--mirai-wp-Primary-light);
    fill: var(--mirai-wp-Primary-light);
}
#footer-site .rrss-site a:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary-super-dark);
}


    
/* Carousel */
/*-- Dots --*/
.carousel-site .swiper-pointer-events {
    padding: 0!important;
}
.carousel-site .swiper {
    padding-bottom: 0!important;
}
.carousel-site .swiper-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding-bottom: 48px;
}
.carousel-site .swiper-pagination-bullet {
    width: 8px!important;
    height: 8px!important;
    border-radius: 50%!important;
    margin: 0!important;
    opacity: 1!important;
    transition: all 0.35s ease;
}
.carousel-site .swiper-pagination-bullet {
    background-color: #E4E4E4!important;
}
.carousel-site .swiper-pagination-bullet:is(:hover, :focus-visible),
.carousel-site .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #3398CC!important;
}
/*---- Dots not desk ----*/
.carousel-site.not-desk .swiper-pagination {
    display: none;
    padding-bottom: 0;
    margin-top: 48px;
}
/*-- arrows --*/
.carousel-site .elementor-swiper-button {
    top: 50%!important;
    transform: translateY(-50%)!important;
    padding: 16px;
    border-radius: 50%;
    background-color: var(--mirai-wp-white);
    box-shadow: 0px 0px 16px 0px #00000029;
    transition: all 0.35s ease;
}
.carousel-site .elementor-swiper-button.elementor-swiper-button-prev {
    left: -96px!important;
}
.carousel-site .elementor-swiper-button.elementor-swiper-button-next {
    right: -96px!important;
}
.carousel-site .elementor-swiper-button svg {
    width: 24px!important;
    height: 24px!important;
}
.carousel-site .elementor-swiper-button svg,
.carousel-site .elementor-swiper-button svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
/*-- Arrows carousel full --*/
.carousel-site.full-width .elementor-swiper-button.elementor-swiper-button-prev {
    left: 40px!important;
}
.carousel-site.full-width .elementor-swiper-button.elementor-swiper-button-next {
    right: 40px!important;
}
/*-- Arrows carousel full-section --*/
.carousel-site.full-section .elementor-swiper-button.elementor-swiper-button-prev {
    left: 0!important;
}
.carousel-site.full-section .elementor-swiper-button.elementor-swiper-button-next {
    right: 0!important;
}
/*-- Arrows hover --*/
.carousel-site .elementor-swiper-button:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary);
}
.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-white);
    fill: var(--mirai-wp-white);
}
/*********** Dots and arrows dynamic ************/
.carousel-site.dynamic:not(:has(.swiper-pagination span + span)) .swiper-wrapper {
    transform: translate3d(0, 0, 0) !important;
}
.carousel-site.dynamic:not(:has(.swiper-pagination span + span)) .swiper-slide-duplicate {
    display: none !important;
}
.carousel-site.dynamic:has(.swiper-pagination span + span) {
    padding-bottom: 64px;
}
.carousel-site.dynamic .swiper-pagination {
    display: none;
    padding-bottom: 17px;
    margin-top: 0;
}
.carousel-site.dynamic .swiper-pagination:has(span + span) {
    display: flex;
}
.carousel-site.dynamic .elementor-swiper-button {
    display: none;
    width: max-content;
    top: initial!important;
    bottom: 0!important;
    padding: 12px;
}
.carousel-site.dynamic .elementor-swiper-button svg {
    width: 18px!important;
    height: 18px!important;
}
.carousel-site.dynamic .elementor-swiper-button-prev {
    left: calc(50% - var(--carousel-arrow-offset)) !important;
    transform: translateX(-50%) !important;
}
.carousel-site.dynamic .elementor-swiper-button-next {
    left: calc(50% + var(--carousel-arrow-offset)) !important;
    right: auto !important;
    transform: translateX(-50%) !important;
}
.carousel-site.dynamic:has(.swiper-pagination span + span) .elementor-swiper-button {
    display: flex;
}

/*------ Carousel Ola ------*/
.carousel-site.carousel-ola .swiper {
    width: calc(100% + 24vw);
    margin-left: -20vw;
}
.carousel-site.carousel-ola .swiper {
    overflow: hidden;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 260' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M0 20 C120 -6 240 44 360 18 C500 -8 620 42 760 18 C860 2 940 28 1000 16 L1000 228 C900 254 780 202 640 228 C500 254 380 202 240 228 C120 246 40 232 0 240 Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 260' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M0 20 C120 -6 240 44 360 18 C500 -8 620 42 760 18 C860 2 940 28 1000 16 L1000 228 C900 254 780 202 640 228 C500 254 380 202 240 228 C120 246 40 232 0 240 Z'/%3E%3C/svg%3E");

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.carousel-site.carousel-ola .swiper-wrapper {
    transition-timing-function: linear !important;
}

/*------ Carousel plugin ofertas ------*/
.offers-list .offers-slide .slide .no-offers {
    text-align: center;
    font-size: var(--font-size-h3-m)!important; /*28px - 22px*/
}
.offers-list .offers-slide .slide .no-offers:before {
    font-size: var(--font-size-h3-l)!important; /*40px - 26px*/
}
.offers-list .carousel-inner {
    padding: 0 80px!important;
}
.offers-list .carousel-inner dl,
.offers-list .carousel-inner dt,
.offers-list .carousel-inner dd,
.offers-list .carousel-inner span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    min-height: 0!important;
    margin: 0!important;
    text-align: center;
}
.offers-list .carousel-inner dt {
    color: var(--mirai-wp-Primary-dark);
    font-size: 24px!important;
    font-weight: 700;
}
.offers-list .carousel-inner dd span {
    color: var(--mirai-wp-text)!important;
    font-size: var(--font-size-body)!important;
    font-weight: 400!important;
}
.offers-list .carousel-inner dd a,
.offers-list .carousel-inner dd a:is(:hover, :focus-visible) {
    position: relative;
    color: var(--mirai-wp-Primary)!important;
    font-size: var(--mft-space-xxs)!important;
    font-weight: 600!important;
    border: none!important;
    background-color: transparent!important;
    transition: all 0.35s ease;
}
.offers-list .carousel-inner dd a {
    padding: 4px 0!important;
}
.offers-list .carousel-inner dd a:is(:hover, :focus-visible) {
    padding: 4px 22px 4px 0!important;
}
.offers-list .carousel-inner dd a::before {
    bottom: 0;
    background-color: var(--mirai-wp-Primary);
}
.offers-list .carousel-inner dd a::after {
    width: clamp(12px, calc(12px + (14 - 12) * ((100vw - 1180px) / (1920 - 1180))), 14px);
    height: clamp(12px, calc(12px + (14 - 12) * ((100vw - 1180px) / (1920 - 1180))), 14px);
}
.offers-list .carousel-inner img {
    min-height: 300px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    margin: 0!important;
}
.offers-list a.carousel-control {
    top: 50%!important;
    transform: translateY(-50%)!important;
    padding: 16px;
    border-radius: 50%;
    background-color: var(--mirai-wp-white);
    box-shadow: 0px 0px 16px 0px #00000029;
    opacity: 1!important;
    transition: all 0.35s ease;
}
.offers-list a.carousel-control.left {
    left: 0!important;
}
.offers-list a.carousel-control.right {
    right: 0!important;
}
.offers-list a.carousel-control,
.offers-list a.carousel-control::before {
    width: 24px!important;
    font-size: 24px!important;
}
.offers-list a.carousel-control::before {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
.offers-list a.carousel-control:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary);
}
.offers-list a.carousel-control:is(:hover, :focus-visible)::before {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}

/*------ Carousel services ------*/
.cont-img-services {
    position: relative;
    min-height: 52svh;
    max-height: 100%;
}
.cont-img-services .img-absolute {
    position: absolute;
    top: -24px;
    left: 0;
    right: 0;
}
.cont-img-services .img-absolute.right {
    left: initial;
}
.cont-img-services .img-absolute img {
    width: auto;
    min-height: 52svh;
    max-height: 52svh;
}
.cont-img-services .img-absolute.full-height img {
    min-height: calc(52svh + 24px);
    max-height: calc(52svh + 24px);
}
.carousel-services .carousel-site .swiper {
    padding-right: 150px !important;
}

/*------ Carousel text-img ------*/
.cont-img-text {
    min-height: 47.2svh;
    max-height: 100%;
}
.carousel-site.arrow-dots-column .swiper-pagination {
    padding-bottom: 82px;
    left: calc(50% + 24px);
    top: initial;
    transform: none;
}
.carousel-site.arrow-dots-column .elementor-swiper-button-prev,
.carousel-site.arrow-dots-column .elementor-swiper-button-next {
    top: initial!important;
    bottom: 0!important;
}
.carousel-site.arrow-dots-column .elementor-swiper-button-prev {
    left: calc(50% + 14px) !important;
    transform: translateX(0) !important;
}
.carousel-site.arrow-dots-column .elementor-swiper-button-next {
    left: calc(50% + 94px) !important;
    right: auto !important;
    transform: translateX(0) !important;
}



/* IMG */
.cont-img-circle {
    min-width: 132px;
    max-width: 132px;
    min-height: 132px;
    max-height: 132px;
    border-radius: 50%;
}
/*--- IMG animated ---*/
.cont-img-animated {
  position: relative;
  width: 47.17vw;
  max-width: 900px;
  max-height: 236px;
  aspect-ratio: 1314 / 350;
}
.cont-img-animated.margin-bottom {
  margin-bottom: var(--mft-padding-l);
}
.img-animated {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: translateY(120%);
  opacity: 0;
  will-change: transform, opacity;
}
.img-animated img {
  width: 47.17vw;
  max-width: 900px;
  max-height: 236px;
  aspect-ratio: 1314 / 350;
}
.cont-img-animated.is-visible .img-animated {
  animation: imageBounceUp 1s ease-out forwards;
}

@keyframes imageBounceUp {
  0% {
    transform: translateY(120%);
    opacity: 0;
  }

  55% {
    transform: translateY(-12%);
    opacity: 1;
  }

  70% {
    transform: translateY(6%);
  }

  85% {
    transform: translateY(-3%);
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}



/* Cards Hotels */
.card-hotel .card-hotel_img {
    width: 100%;
    aspect-ratio: 446 / 356;
    max-height: 356px;
}
.card-hotel .card-hotel_img .card-hotel_location .tag-vcard p,
.card-hotel .card-hotel_img .card-hotel_location .tag-vcard span {
    font-size: var(--font-size-ms);
    font-weight: 400;
}
.card-hotel .card-hotel_img .card-hotel_location .tag-vcard svg {
    font-size: 12px;
}

.card-hotel .card-hotel_info {
    flex: 1;
    padding: var(--mft-padding-m) var(--mft-space-xs);
}
.card-hotel .card-hotel_info .card-hotel_title p,
.card-hotel .card-hotel_info .card-hotel_title span,
.card-hotel .card-hotel_info .card-hotel_title h3 {
    font-size: var(--font-size-h3-m);
    font-weight: 700;
    line-height: 110%!important;
    color: var(--mirai-wp-text);
}
.card-hotel .card-hotel_location,
.card-hotel .card-hotel_location p,
.card-hotel .card-hotel_location span,
.card-hotel .card-hotel_location svg,
.card-hotel .card-hotel_location svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}
.card-hotel .card-hotel_location .tag-vcard p,
.card-hotel .card-hotel_location .tag-vcard span {
    font-size: var(--font-size-body);
    font-weight: 500;
}
.card-hotel .card-hotel_location .tag-vcard svg {
    font-size: var(--font-size-ms);
}
.card-hotel .tag-vcard svg {
    margin-top: clamp(4px, calc(4px + (6 - 4) * ((100vw - 1180px) / (1920 - 1180))), 6px);
}
.card-hotel .card-hotel_text,
.card-hotel .card-hotel_text div,
.card-hotel .card-hotel_text p,
.card-hotel .card-hotel_text span {
    font-size: var(--font-size-body);
    font-weight: 400;
    line-height: 150%!important;
    color: var(--mirai-wp-text);
}



/* Schedule of activities */
.schedule-wrap {
    position: relative;
    max-width: 1280px;
    overflow-x: auto;
    margin: 0 auto;
}
.schedule {
    --time-col: 120px;
    --row-h: 48px;

    width: 100%;
    min-width: calc(var(--time-col) + (150px * var(--days-count, 7)));

    display: grid;
    grid-template-columns: var(--time-col) repeat(var(--days-count, 7), 1fr);
    grid-auto-rows: var(--row-h);

    position: relative;
    border: 4px solid #fff;
    border-radius: 16px;
    overflow: visible;
    isolation: isolate;

    color: var(--mirai-wp-Primary-super-dark);

    background: linear-gradient(#b8e4f5 1px, transparent 1px) 0 0 / 100% var(--row-h), linear-gradient(90deg, transparent calc(100% - 2px), var(--mirai-wp-secondary) 2px) var(--time-col) 0 / calc((100% - var(--time-col)) / var(--days-count, 7)) 100%, #f7fdff;
}
.time-head {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    left: 0;
    z-index: 20;
    background-color: #fff;
    border-right: 2px solid #fff;
}
.day-head {
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #DEEFF7;
    border-left: 1px solid #3398CC;
    text-align: center;
    font-size: var(--font-size-pretitle);
    font-weight: 700;
    line-height: 1;
    padding: 8px 4px;
}
.day-head.day-head-first {
    border-left: none;
}
.time-label {
    grid-column: 1;
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    padding: 8px;
    background-color: #9bd1e8;
    color: var(--mirai-wp-Primary-super-dark);
    font-size: var(--font-size-pretitle);
    font-weight: 700;
    border-top: 4px solid #fff;
    z-index: 20;
}
.time-head::after,
.time-label::after {
    content: "";
    position: absolute;
    top: 0;
    right: -2px;
    width: 2px;
    height: 100%;
    background-color: #fff;
    z-index: 21;
}
.event {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    margin: 4px;
    padding: 4px;
    border: 4px solid var(--mirai-wp-secondary);
    border-radius: 16px;
    background: linear-gradient(180deg, #FFFFFF 0%, #DEEFF7 100%);
    line-height: 1.1;
    box-shadow: 0 2px 0 rgba(0,0,0,.05);
    z-index: 2;
}
.event.short {
    flex-direction: row;
    flex-wrap: nowrap;
}
.event strong {
    display: block;
    font-size: var(--font-size-body);
}
.event span {
    display: block;
    font-size: var(--font-size-s);
    line-height: 1;
}
.event.wide {
    position: relative;
    overflow: hidden;
    display: block;
}
.event.wide .event-inner {
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: max-content;
    max-width: calc(100% - 16px);
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    transform: translateY(-50%);
}
.event.wide.short .event-inner {
    flex-direction: row;
    gap: 16px;
}
.event.wide .event-inner strong,
.event.wide.short .event-inner span,
.event.short .event-inner span {
    margin: 0 8px;
}



/* Forms */
.mft-form-style a {
    color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
.mft-form-style a:is(:hover, :focus-visible) {
    color: var(--mirai-wp-Primary);
}



/* Header */
#header,
#header .drop-items,
#menus-hotels-ind {
    min-width: 100%;
    box-shadow: 0px 12px 30px rgba(0, 0, 0, 0.07);
    transition: all 0.35s ease;
}
header:has(.menus-hotels) #header {
    box-shadow: none;
}
#header .drop-items {
    background-color: transparent;
}
/* --cont-left-- */
/* ----- btn menú hamburguesa ----- */
#header .cont-left .menu-cont {
    min-width: 48px;
}
#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: 48px;
    height: 40px;
}
#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: 4px;
    background-color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#header .cont-left .menu-cont a::before {
    top: 0;
    width: 23px;
}
#header .cont-left .menu-cont a::after {
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
}
#header .cont-left .menu-cont i::before {
    bottom: 0;
    width: 36px;
    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 .menu-cont {
    pointer-events: visible;
}
body.popup-menu-open #header .cont-left .menu-cont a::before {
    width: 100%;
    top: calc(50% - 2px);
    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% - 2px);
    left: 0;
    transform: rotate(-45deg);
}
/* --cont-right-- */
/*----- Club -----*/
#header .cont-right nav .club {
    margin-left: 12px;
}
#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"]::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 14px;
    background-color: var(--mirai-wp-divider-dark);
}

#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;
}
/* ----- 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: 28px;
    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/2119/world.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/2119/world-hover.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;
}

/* Comportamiento de Header al abrirse Pop up */
body.popup-menu-open #header {
    z-index: 999999;
}
body.popup-menu-open #header {
    background-color: transparent;
    backdrop-filter: none;
    box-shadow: none;
}



/* finder */
#finder {
    position: fixed;
    width: auto;
    bottom: 114px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
    pointer-events: auto;
    transition: all 0.35s ease;
}
body:has(#main .all-heros.page-int) header #finder {
    bottom: calc(15svh + 114px);
}
#finder.finder-active,
body:has(#main .all-heros.page-int) header #finder.finder-active {
    bottom: 12px;
}
#finder .finder-content {
    border-radius: 99px;
    box-shadow: 0px 10px 36px 0px #0000001A;
}

.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 */
#footer-site,
#footer-site a,
#footer-site i::before,
#footer-site svg,
#footer-site svg path,
#footer-site ui-pressable > ui-text {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
#footer-site a:is(:hover, :focus-visible),
#footer-site a:is(:hover, :focus-visible) i::before,
#footer-site a:is(:hover, :focus-visible) svg,
#footer-site a:is(:hover, :focus-visible) svg path,
#footer-site li.current_page_item a,
#footer-site li.current_page_item i:before,
#footer-site li.current_page_item svg,
#footer-site li.current_page_item svg path,
#footer-site ui-pressable > ui-text:is(:hover, :focus-visible),
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) div,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) p,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) a,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) span,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) i::before,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) svg,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible) svg path,
#footer-site .item-link:is(:hover, :focus-visible) div,
#footer-site .item-link:is(:hover, :focus-visible) p,
#footer-site .item-link:is(:hover, :focus-visible) a,
#footer-site .item-link:is(:hover, :focus-visible) i:before,
#footer-site .item-link:is(:hover, :focus-visible) svg,
#footer-site .item-link:is(:hover, :focus-visible) svg path {
    color: var(--mirai-wp-secondary);
    fill: var(--mirai-wp-secondary);
}
#pre-footer .detail-info-hotel.info-prefooter div,
#pre-footer .detail-info-hotel.info-prefooter p,
#pre-footer .detail-info-hotel.info-prefooter a,
#pre-footer .detail-info-hotel.info-prefooter span,
#pre-footer .detail-info-hotel.info-prefooter i::before,
#pre-footer .detail-info-hotel.info-prefooter svg,
#pre-footer .detail-info-hotel.info-prefooter svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}

#footer-site .nav-menu a,
#footer-site .detail-info-hotel .tag-vcard {
    position: relative;
    width: auto;
    max-width: max-content;
}
#footer-site .detail-info-hotel .tag-vcard svg {
    margin-top: clamp(4px, calc(4px + (6 - 4) * ((100vw - 1180px) / (1920 - 1180))), 6px);
}

#pre-footer .detail-info-hotel.info-prefooter {
    position: relative;
    cursor: pointer;
}
#pre-footer .detail-info-hotel.info-prefooter::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -4px;
    background-color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#pre-footer .detail-info-hotel.info-prefooter:is(:hover, :focus-visible)::after {
    width: 100%;
}
#footer-site .detail-info-hotel.hover-item .tag-vcard {
    cursor: pointer;
}
#footer-site .nav-menu a::after,
#footer-site .detail-info-hotel.hover-item .tag-vcard::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -4px;
    background-color: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
#footer-site .nav-menu a:is(:hover, :focus-visible)::after,
#footer-site .nav-menu li.current_page_item a::after,
#footer-site .detail-info-hotel.hover-item .tag-vcard:is(:hover, :focus-visible)::after {
    width: 100%;
    background-color: var(--mirai-wp-secondary);
}
#footer-site .menu-divider {
    max-width: 1px;
    height: 14px;
}
#footer-site .menu-divider .elementor-divider {
    padding: 0;
    margin: 0;
}
#footer-site .hotel-link .hotel-name {
    color: var(--mirai-wp-secondary);
    transition: all 0.35s ease;
}
#footer-site .detail-info-hotel .tag-vcard div,
#footer-site .detail-info-hotel .tag-vcard p,
#footer-site .detail-info-hotel .tag-vcard span,
#footer-site .detail-info-hotel .tag-vcard i::before,
#footer-site .detail-info-hotel .tag-vcard svg,
#footer-site .detail-info-hotel .tag-vcard svg path {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
    transition: all 0.35s ease;
}
#footer-site .hotel-link:is(:hover, :focus-visible) .hotel-name,
.cat-natura-park #footer-site .hotel-link.natura-park .hotel-name,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .hotel-name,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .hotel-name,
.cat-hotel-alone #footer-site .hotel-link.alone .hotel-name {
    color: var(--mirai-wp-Primary);
}
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard,
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard div,
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard p,
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard span,
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard i::before,
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard svg,
#footer-site .hotel-link:is(:hover, :focus-visible) .tag-vcard svg path,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard div,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard p,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard span,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard i::before,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard svg,
.cat-natura-park #footer-site .hotel-link.natura-park .tag-vcard svg path,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard div,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard p,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard span,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard i::before,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard svg,
.cat-hotel-la-rapita #footer-site .hotel-link.la-rapida .tag-vcard svg path,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard div,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard p,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard span,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard i::before,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard svg,
.cat-tropic-relax-park #footer-site .hotel-link.tropic-relax .tag-vcard svg path,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard div,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard p,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard span,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard i::before,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard svg,
.cat-hotel-alone #footer-site .hotel-link.alone .tag-vcard svg path {
    color: var(--mirai-wp-secondary);
    fill: var(--mirai-wp-secondary);
}



/* Rooms 1 and offers 4 pages */
.cat-rooms #main,
#main .rooms-listing-wrapper,
.cat-room-detail #main,
#main .rooms-detail-wrapper,
.cat-offers #main,
#main .offers-listing-wrapper,
.cat-offer-detail #main,
#main .offers-detail-wrapper {
    background-color: var(--mirai-wp-white);
}
#main .rooms-listing-wrapper {
    padding: var(--mft-padding-l) calc(var(--mft-padding-s) - 15px) 0;
}
#main .rooms-detail-wrapper .room,
#main .offers-listing-wrapper,
#main .offers-detail-wrapper {
    padding: var(--mft-padding-l) calc(var(--mft-padding-s) - 15px);
}
.cat-rooms #main .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100%;
}
#main .rooms-listing-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 100%;
}
#main .rooms-detail-wrapper .room .back a::before,
#main .offers-detail-wrapper .back a::before {
    content: "";
    width: var(--font-size-ms);
    height: var(--font-size-ms);
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2119/arrow-neft.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#main .rooms-detail-wrapper .room .back a,
#main .rooms-detail-wrapper .room .back a::before,
#main .rooms-detail-wrapper .room .go-to-offers-page a,
#main .offers-detail-wrapper .back a,
#main .offers-detail-wrapper .back a::before {
    font-size: var(--font-size-body);
    line-height: 110%;
    font-weight: 500;
}
#main .rooms-detail-wrapper .room .back a,
#main .rooms-detail-wrapper .room .back a::before,
#main .rooms-detail-wrapper .room .go-to-offers-page a,
#main .offers-detail-wrapper .back a,
#main .offers-detail-wrapper .back a::before {
    color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#main .rooms-detail-wrapper .room .back a:is(:hover, :focus-visible)::before,
#main .offers-detail-wrapper .back a:is(:hover, :focus-visible)::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2119/arrow-left-hover.svg");
}
#main .rooms-listing-wrapper h3:is(:hover, :focus-visible) a,
#main .rooms-detail-wrapper .room .back a:is(:hover, :focus-visible),
#main .rooms-detail-wrapper .room .back a:is(:hover, :focus-visible)::before,
#main .rooms-detail-wrapper .room .go-to-offers-page a:is(:hover, :focus-visible),
#main .offers-detail-wrapper .back a:is(:hover, :focus-visible),
#main .offers-detail-wrapper .back a:is(:hover, :focus-visible)::before {
    color: var(--mirai-wp-Primary-super-dark);
}
#main .offers-listing-wrapper.no-offers p {
    text-align: center;
} 

#main .offers-listing-wrapper h2,
#main .rooms-listing-wrapper h2 {
    display: none;
}
#main .offers-listing-wrapper.no-offers p,
#main .rooms-listing-wrapper .common-features,
#main .rooms-listing-wrapper .common-features h2,
#main .rooms-listing-wrapper .common-features ul,
#main .offers-listing-wrapper h2,
#main .offers-detail-wrapper .detail-description h2,
#main .offers-detail-wrapper .detail-description h3,
#main .offers-detail-wrapper .detail-description p {
    margin: 0;
    padding: 0;
}
#main .rooms-listing-wrapper .common-features,
#main .offers-listing-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--mft-space-m);
}
#main .room-price {
    display: none;
}

#main .rooms-listing {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--mft-padding-l);
}
#main  .rooms-listing .room-item {
    margin-bottom: 0;
}
#main  .rooms-listing .room-item img {
    min-height: 620px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
}
#main  .rooms-listing .room-item .room-detail,
#main  .rooms-listing .room-item .room-content,
#main .offers-detail-wrapper .detail-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--mft-space-ms);
}
#main  .rooms-listing .room-item .room-detail,
#main  .rooms-listing .room-item .room-content {
    margin: 0;
    padding: 0 48px 0 0;
    border-bottom: none;
}
#main  .rooms-listing .room-item.odd .room-detail,
#main  .rooms-listing .room-item.odd .room-content {
    padding: 0 0 0 48px;
}
#main  .rooms-listing .room-item .room-detail,
#main  .rooms-listing .room-item.odd .room-detail {
    padding-bottom: calc(var(--mft-space-ms) / 2);
}
#main  .rooms-listing .room-item .room-content,
#main  .rooms-listing .room-item.odd .room-content {
    padding-top: calc(var(--mft-space-ms) / 2);
}
#main  .rooms-listing .room-item .room-box .room-detail ul,
#main  .rooms-listing .room-item .room-box .room-content ul,
#main  .rooms-listing .room-item .room-box .room-content p,
#main  .rooms-listing .room-item .room-box .room-content a {
    margin: 0;
}
#main  .rooms-listing .room-item .room-box .room-detail ul,
#main  .rooms-listing .room-item .room-box .room-content ul,
#main  .rooms-listing .room-item .room-box .room-content p {
    padding: 0;
}
#main  .rooms-listing .room-item .room-box .room-content ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 40px;
    width: 100%;
}
#main  .rooms-listing .room-item .room-box .room-content ul li {
    width: auto;
    margin-bottom: 0;
}

#main .offers-listing-wrapper h3,
#main .rooms-detail-wrapper .room .offers-listing h3,
#main .rooms-listing-wrapper h3 a {
    font-size: var(--font-size-h3-s);
    font-weight: 700;
    line-height: 110% !important;
    color: var(--mirai-wp-Primary-dark);
    transition: all 0.35s ease;
}
#main .rooms-listing-wrapper h3 a {
    font-size: var(--font-size-secondary-heading);
}
#main .rooms-listing-wrapper h3 a:is(:hover, :focus-visible)::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2119/arrow-left-hover.svg");
}
#main .offers-listing-wrapper .offer-text span {
    font-size: var(--font-size-body);
    color: var(--mirai-wp-Primary-super-dark);
}
#main .offers-listing-wrapper .offers-listing,
#main .rooms-detail-wrapper .room .room-box-offers .offers-listing {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px 40px;
    width: 100%;
}
#main .offers-listing-wrapper .offers-listing .offer,
#main .rooms-detail-wrapper .room .room-box-offers .offers-listing .offer {
    padding: 0;
}
#main .rooms-detail-wrapper .room .offers-listing p,
#main .rooms-detail-wrapper .room .offers-listing span,
#main .offers-listing-wrapper p,
#main .offers-listing-wrapper span {
    color: var(--mirai-wp-text);
    margin-right: 0;
}
#main .offers-listing-wrapper p {
    margin-top: var(--mft-space-xs);
}

/* Detail Rooms and offers pages */
#main .rooms-detail-wrapper .room .room-box-common-services,
#main .rooms-detail-wrapper .room .room-box-offers,
#main .rooms-detail-wrapper .room #calendar-wrapper {
    margin: 0;
    padding-top: var(--mft-space-4xl);
    padding-bottom: 0;
}
#main .offers-detail-wrapper .detail-description h2 {
    color: var(--mirai-wp-Primary-dark);
    font-size: var(--font-size-secondary-heading); /*56px - 32px*/
    font-weight: 700;
    line-height: 110%;
}
#main .offers-detail-wrapper .detail-description h3 {
    color: var(--e-global-color-13f4851a);
    font-size: var(--font-size-h3-s);
    font-weight: 600;
    line-height: 110%;
}
#main .rooms-detail-wrapper .room .go-to-offers-page a {
    margin: var(--mft-space-m) 0 0;
}
#main .rooms-detail-wrapper .room .elementor-swiper-button {
    padding: 16px;
    border-radius: 50%;
    background-color: #ffffffa6;
    box-shadow: 0px 0px 16px 0px #00000029;
    transition: all 0.35s ease;
}
#main .rooms-detail-wrapper .room .elementor-swiper-button i::before {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#main .rooms-detail-wrapper .room .elementor-swiper-button:is(:hover, :focus-visible) {
    background-color: var(--mirai-wp-Primary);
}
#main .rooms-detail-wrapper .room .elementor-swiper-button:is(:hover, :focus-visible) i::before {
    color: var(--mirai-wp-white);
    fill: var(--mirai-wp-white);
}

#main .offers-detail-wrapper .detail-description .detail-offer-list {
    padding-left: 0;
}

#main .offers-detail-wrapper #calendar-wrapper ui-calendar ui-scrollview {
    justify-content: center;
}



/* Contact page */
#contact-hotels .detail-info-hotel.info-prefooter div,
#contact-hotels .detail-info-hotel.info-prefooter p,
#contact-hotels .detail-info-hotel.info-prefooter a,
#contact-hotels .detail-info-hotel.info-prefooter span,
#contact-hotels .detail-info-hotel.info-prefooter i::before,
#contact-hotels .detail-info-hotel.info-prefooter svg,
#contact-hotels .detail-info-hotel.info-prefooter svg path {
    color: var(--mirai-wp-text);
    fill: var(--mirai-wp-text);
}
#contact-hotels .detail-info-hotel.info-prefooter svg {
    font-size: var(--font-size-ms); /*16px - 14px*/
}
#contact-hotels .detail-info-hotel.info-prefooter div,
#contact-hotels .detail-info-hotel.info-prefooter p,
#contact-hotels .detail-info-hotel.info-prefooter a,
#contact-hotels .detail-info-hotel.info-prefooter span {
    font-size: var(--font-size-body); /*18px - 16px*/
    font-weight: 500;
    line-height: 150%!important;
}

#contact-hotels .detail-info-hotel.info-prefooter {
    position: relative;
    cursor: pointer;
}
#contact-hotels .detail-info-hotel.info-prefooter::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -4px;
    background-color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#contact-hotels .detail-info-hotel.info-prefooter:is(:hover, :focus-visible)::after {
    width: 100%;
}



/* Legal pages */
#legal-section a {
    color: var(--mirai-wp-text);
    transition: all 0.35s ease;
}
#legal-section a:is(:hover, :focus-visible) {
    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;
}
.cat-gallery img {
    border-radius: 16px!important;
}



@media (max-width: 1200px) {
    /* Containers size 1200 */
    .size-cont-s {
        max-width: 100%;
    }


    /* Menús y Hovers */
    .all-menus-ind .e-n-menu-heading {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .all-menus-ind .e-n-menu-heading::-webkit-scrollbar {
        display: none;
    }
    .all-menus-ind .e-n-menu-item {
        flex: 0 0 auto;
    }



    /* Carousel 1200 */
    /*-- Dots --*/
    /*---- Dots not desk ----*/
    .carousel-site.not-desk .swiper-pagination {
        display: flex;
    }
    /*-- arrows --*/
    /*---- Arrows bottom ----*/
    .carousel-site.arrow-bottom .elementor-swiper-button {
        padding: 12px;
    }
    .carousel-site.arrow-bottom .elementor-swiper-button svg {
        width: 18px!important;
        height: 18px!important;
    }
    .carousel-site.arrow-bottom .elementor-swiper-button {
        top: initial!important;
        bottom: -64px!important;
    }
    .carousel-site.arrow-bottom .elementor-swiper-button-prev,
    .carousel-site.full-section.arrow-bottom .elementor-swiper-button.elementor-swiper-button-prev {
        left: calc(50% - var(--carousel-arrow-offset)) !important;
        transform: translateX(-50%) !important;
    }
    .carousel-site.arrow-bottom .elementor-swiper-button-next,
    .carousel-site.full-section.arrow-bottom .elementor-swiper-button.elementor-swiper-button-next {
        left: calc(50% + var(--carousel-arrow-offset)) !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
    /*------ Carousel Ola ------*/
    .carousel-site.carousel-ola .swiper {
        width: 170%;
        margin-left: -22%;
    }
    /*-- Arrows carousel full --*/
    .carousel-site.full-width .elementor-swiper-button.elementor-swiper-button-prev {
        left: 24px!important;
    }
    .carousel-site.full-width .elementor-swiper-button.elementor-swiper-button-next {
        right: 24px!important;
    }

    /*------ Carousel plugin ofertas 1200 ------*/
    .offers-list .carousel-inner {
        padding: 0 0 64px 0 !important;
    }
    .offers-list a.carousel-control {
        top: initial!important;
        bottom: 0!important;
        padding: 12px;
    }
    .offers-list a.carousel-control.left {
        left: calc(50% - 33px) !important;
        transform: translateX(-50%) !important;
    }
    .offers-list a.carousel-control.right {
        left: calc(50% + 33px) !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
    .offers-list a.carousel-control,
    .offers-list a.carousel-control::before {
        width: 18px!important;
        font-size: 18px!important;
    }

    /*------ Carousel services ------*/
    .carousel-services .carousel-site .swiper {
        padding-right: 0!important;
    }

    /*------ Carousel text-img 1200 ------*/
    .carousel-site.arrow-dots-column .swiper-pagination {
        padding-bottom: 82px;
        left: 8px;
    }
    .carousel-site.arrow-dots-column .elementor-swiper-button-prev {
        left: 0!important;
    }
    .carousel-site.arrow-dots-column .elementor-swiper-button-next {
        left: 78px!important;
    }



    /* Rooms and offers pages 1200 */
    #main .rooms-listing .room-item .room-box,
    #main .rooms-listing .room-item .room-box .room-detail,
    #main .rooms-listing .room-item .room-box .room-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: var(--mft-space-m);
        margin: 0;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
    #main .rooms-listing .room-item img {
        min-height: 450px;
        max-height: 450px;
    }
    #main .rooms-listing .room-item .room-box .room-detail ul,
    #main .rooms-listing .room-item .room-box .room-content p,
    #main .rooms-listing .room-item .room-box .room-content a {
        margin: 0;
    }
    #main .rooms-listing .room-item .room-box .room-detail ul,
    #main .rooms-listing .room-item .room-box .room-content p {
        padding: 0;
    }
    #main .rooms-listing-wrapper .common-features ul li {
        width: calc(50% - 20px);
    }
}

@media (max-width: 767px) {
    /* Botones 767 */
    .btn-site,
    .btn-site a {
        width: 100%;
    }
    .card-hotel_location.btn-site,
    .card-hotel_location.btn-site a {
        width: auto;
    }



    /* Containers size 767 */
    .max-content-size {
        min-width: 100%;
        max-width: 100%;
    }

    /* Container bg img 767 */
    .cont-img-full.img-middle {
        min-height: 44.5svh;
    }



    /* Carousel 767 */
    /*-- Dots --*/
    .carousel-site .swiper-pagination {
        padding-bottom: 122px;
    }
    /*------ Carousel Ola ------*/
    .carousel-site.carousel-ola {
        overflow: hidden;
    }
    .carousel-site.carousel-ola .swiper {
        width: 125%;
        margin-left: -12%;
    }



    /* IMG 767 */
    .cont-img-circle {
        min-width: 100px;
        max-width: 100px;
        min-height: 100px;
        max-height: 100px;
    }
    /*--- IMG animated ---*/
    .cont-img-animated {
        width: 100%;
    }
    .img-animated img {
        width: 100%;
    }
    .cont-img-animated.no-padding {
        width: calc(100% - calc(2 * var(--mft-padding-s)));
    }
    .img-animated.no-padding img {
        width: calc(100% - calc(2 * var(--mft-padding-s)));
    }



    /* Cards Hotels 767 */
    .card-hotel .card-hotel_img {
        aspect-ratio: 312 / 198;
    }



    /* Schedule of activities 767 */
    .schedule {
        --time-col: 74px;
    }



    /* Header 767 */
    /* --cont-left-- */
    /* ----- btn menú hamburguesa ----- */
    #header .cont-left .menu-cont {
        min-width: 32px;
    }
    #header .cont-left .menu-cont a,
    #header .cont-left .menu-cont i {
        width: 32px;
        height: 26px;
    }
    #header .cont-left .menu-cont a::before {
        width: 16px;
    }
    #header .cont-left .menu-cont a::after {
        width: 32px;
    }
    #header .cont-left .menu-cont i::before {
        width: 25px;
    }
    /*-- 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: 18px;
        height: 18px;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/2119/world.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/2119/world-hover.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;
        margin-right: -12px;
        padding: 11px;
    }
    .menu-underline.csuperdark.hover-header.club::after {
        display: none;
    }



    /* Finder 768 */
    #finder,
    #finder.finder-active,
    body:has(#main .all-heros.page-int) header #finder,
    body:has(#main .all-heros.page-int) header #finder.finder-active {
        bottom: 0;
    }
    #finder ui-finder-compact[data-role="finder-compact"] {
        min-width: 100vw;
        padding: 8px;
    }
    #finder ui-finder-compact[data-role="finder-compact"] ui-pressable[data-role="pressable"] {
        justify-content: center;
        align-items: center;
        flex: 1;
    }
    #finder ui-pressable[class$="_calendar"] {
        flex: 3;
    }
    #finder ui-button {
        font-size: 16px;
        margin: 0;
    }



    /* Footer 767 */
    #footer-site .nav-menu nav ul,
    #footer-site .menu-legal nav ul,
    #footer-site .nav-menu nav ul li,
    #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 li a {
        margin: 0;
    }
    #footer-site .menu-legal nav ul > li:not(:last-child)::after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background-color: #FFFFFF33;
    }



    /* Rooms and offers pages 767 */
    #main .rooms-listing-wrapper .common-features ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        width: calc(100% - calc(var( --mft-space-xs) - 15px));
    }
    #main .rooms-listing-wrapper .common-features ul li {
        width: auto;
        padding: 0;
        padding-bottom: 4px;
        float: none;
    }
    #main .rooms-listing-wrapper .common-features ul li:last-child {
        padding-bottom: 0;
    }
    #main .rooms-listing-wrapper .rooms-listing .room-item {
        border-bottom: none;
    }
    #main .rooms-listing .room-item img {
        min-height: 320px;
        max-height: 320px;
    }

    /* Detail Rooms and offers pages 767 */
    #main .rooms-detail-wrapper .room .elementor-main-swiper {
        max-height: 320px;
    }
}

@media (max-height: 600px) {
    /* Carousel h600 */
    /*-- Dots --*/
    .carousel-site .swiper-pagination {
        padding-bottom: 118px;
    }



    /* Heading h600 */
    .all-heros.page-int .cont-titles {
        margin-top: 60px;
    }



    /* finder h600 */
    #finder,
    #finder.finder-active,
    body:has(#main .all-heros.page-int) header #finder,
    body:has(#main .all-heros.page-int) header #finder.finder-active {
        bottom: 0;
    }
}

@media (max-height: 450px) {
    /* Carousel h450 */
    /*-- Dots --*/
    .carousel-site .swiper-pagination {
        display: none;
    }
}/* End custom CSS */