.elementor-1543 .elementor-element.elementor-element-71005ae{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:var(--mft-space-4xs);--padding-bottom:var(--mft-space-4xs);--padding-left:var(--mft-space-xs);--padding-right:var(--mft-space-xs);}.elementor-1543 .elementor-element.elementor-element-8d4b079{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1543 .elementor-element.elementor-element-6bb606a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1543 .elementor-element.elementor-element-b4c89c0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1543 .elementor-element.elementor-element-d452fe1 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-10d6331 > .elementor-widget-container{margin:2px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-10d6331 .elementor-heading-title{font-family:"Abadi Condensed Light Regular";font-size:20px;font-weight:400;text-transform:uppercase;line-height:normal;color:var( --e-global-color-47eea86e );}.elementor-1543 .elementor-element.elementor-element-9092ce3 img{width:100%;max-width:clamp(150px, calc(150px + (450 - 150) * ((100vw - 768px) / (1920 - 768))), 450px);}.elementor-1543 .elementor-element.elementor-element-d8b91da{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1543 .elementor-element.elementor-element-48207a1 > .elementor-widget-container{padding:0px 16px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-48207a1.elementor-element{--align-self:center;}.elementor-1543 .elementor-element.elementor-element-cff9286 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-cff9286.elementor-element{--align-self:center;}[data-elementor-device-mode="mobile"] .elementor-1543 .elementor-element.elementor-element-cff9286 .login-text{display:none;}.elementor-1543 .elementor-element.elementor-element-cff9286 .login, .elementor-1543 .elementor-element.elementor-element-cff9286 .account{display:flex;flex-direction:row;line-height:1;align-items:center;gap:10px;}.elementor-1543 .elementor-element.elementor-element-cff9286{--mirai-session-icon-color:var( --e-global-color-47eea86e );--mirai-session-color:var( --e-global-color-47eea86e );}.elementor-1543 .elementor-element.elementor-element-cff9286 .login-icon i{color:var( --e-global-color-47eea86e );transition:var( --e-global-color-47eea86e );font-size:17px;}.elementor-1543 .elementor-element.elementor-element-cff9286 .login-icon svg{fill:var( --e-global-color-47eea86e );transition:var( --e-global-color-47eea86e );width:17px;height:17px;}.elementor-1543 .elementor-element.elementor-element-cff9286 .login-text, .elementor-1543 .elementor-element.elementor-element-cff9286 .account-text{color:var( --e-global-color-47eea86e );transition:var( --e-global-color-47eea86e );font-size:17px;}.elementor-1543 .elementor-element.elementor-element-0852df4 > .elementor-widget-container{margin:0px 0px 0px 20px;}.elementor-1543 .elementor-element.elementor-element-0852df4.elementor-element{--align-self:stretch;}.elementor-1543 .elementor-element.elementor-element-0852df4 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1543 .elementor-element.elementor-element-0852df4 .elementor-button{font-family:"Abadi Condensed Light Regular";font-size:17;font-weight:400;text-transform:uppercase;line-height:1em;}.elementor-1543 .elementor-element.elementor-element-7bb3228{--display:flex;--position:fixed;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;bottom:25px;--z-index:2;}body:not(.rtl) .elementor-1543 .elementor-element.elementor-element-7bb3228{left:0px;}body.rtl .elementor-1543 .elementor-element.elementor-element-7bb3228{right:0px;}.elementor-1543 .elementor-element.elementor-element-35780a8.elementor-element{--align-self:center;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-1543 .elementor-element.elementor-element-9092ce3 > .elementor-widget-container{margin:0px 0px 0px 20px;}.elementor-1543 .elementor-element.elementor-element-48207a1 > .elementor-widget-container{padding:0px 8px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-0852df4 .elementor-button{font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / (1920 - 360))), 18px);}}@media(min-width:768px){.elementor-1543 .elementor-element.elementor-element-6bb606a{--width:50%;}.elementor-1543 .elementor-element.elementor-element-b4c89c0{--width:20%;}.elementor-1543 .elementor-element.elementor-element-d8b91da{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1543 .elementor-element.elementor-element-6bb606a{--width:45%;}.elementor-1543 .elementor-element.elementor-element-d8b91da{--width:55%;}}@media(max-width:767px){.elementor-1543 .elementor-element.elementor-element-6bb606a{--width:61%;--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-1543 .elementor-element.elementor-element-b4c89c0{--width:auto;}.elementor-1543 .elementor-element.elementor-element-9092ce3 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-9092ce3 img{width:100%;}.elementor-1543 .elementor-element.elementor-element-d8b91da{--width:39%;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1543 .elementor-element.elementor-element-48207a1 > .elementor-widget-container{padding:0px 5px 0px 0px;}.elementor-1543 .elementor-element.elementor-element-0852df4 > .elementor-widget-container{margin:0px 10px 0px 12px;}}/* Start custom CSS for button, class: .elementor-element-a311bab *//* Oculta el botón pero lo mantiene accesible para el teclado */
.ocultar-para-lectores {
    position: absolute;
    top: -1000px;
    left: -1000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 99999;
}

/* Muestra el botón cuando el usuario pulsa TAB */
.ocultar-para-lectores:focus, 
.ocultar-para-lectores:active {
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    background-color: #3B372E; /* Usa el color que definimos antes */
    color: white;
    padding: 15px;
    text-decoration: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d452fe1 */.hamburguer-btn .line{
    background: white;
    height: 3px;
    width: 100%;
    border-radius: 4px;
    transform-origin: center;
}
.hamburguer-btn{
    width: 30px;
    height: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: ease all 0.3s;
}

.hamburguer-btn.is-active .line2 {
    opacity: 0;
    transform: translateX(-10px);
}

.hamburguer-btn.is-active .line1 {
    transform: translateY(12px) rotate(45deg);
}

.hamburguer-btn.is-active .line3 {
    transform: translateY(-9px) rotate(-45deg);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-10d6331 */@media(max-width:768px){
    .elementor-1543 .elementor-element.elementor-element-10d6331{
    display: none;
}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b4c89c0 */.elementor-1543 .elementor-element.elementor-element-b4c89c0:hover{
    gap: 8px;
    cursor: pointer;
}
.elementor-1543 .elementor-element.elementor-element-b4c89c0{
    transition: ease all 0.3s;
}
.elementor-1543 .elementor-element.elementor-element-b4c89c0:hover .hamburguer-btn{
    height: 20px;
}
.elementor-1543 .elementor-element.elementor-element-b4c89c0:hover .hamburguer-btn.is-active{
    height: 25px;
}/* End custom CSS */
/* Start custom CSS for Mirai-Club-Login, class: .elementor-element-cff9286 *//* 1. BASE: Estilos comunes y tipografía blanca */
.club-btn, .more-info, 
.offers-listing-wrapper .offer .offer-button, 
.rooms-detail-wrapper .offer .offer-button, 
.offers-mashup .more-info-link, 
.rooms-listing-wrapper .room-box .room-book a {
    display: inline-block;
    position: relative;
    background: transparent;
    border: none;
    padding: 10px 40px;
    color: #FFFFFF !important; /* Color blanco forzado */
    text-transform: uppercase !important;
    letter-spacing: .04em;
    font-size: 0.9em !important;
    font-weight: normal !important;
    font-family: var(--e-global-typography-6d2edf1-font-family);
    
    /* Solo animamos el color para evitar el cambio de grosor del texto */
    transition: color .2s ease-out; 
    
    cursor: pointer;
    text-decoration: none;

    /* Estabilizadores de renderizado de texto */
    -webkit-font-smoothing: antialiased;
    transform: translateZ(0); 
}
.more-info, .more-info:hover{
    color: var(--texto) !important;
    font-weight: normal !important;
}

/* Evita cambios de peso en hover */
.club-btn:hover, [class*="-wrapper"] .offer-button:hover {
    font-weight: normal !important;
    color: #FFFFFF !important;
}

/* 2. PSEUDO-ELEMENTOS: Bordes en blanco */
.club-btn::before, .more-info::before, .more-info::after, .club-btn::after,
[class*="-wrapper"] .offer-button::before, [class*="-wrapper"] .offer-button::after,
.more-info-link::before, .more-info-link::after,
.room-book a::before, .room-book a::after {
    content: '';
    display: block;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    border: 2px solid #FFFFFF; /* Borde blanco */
    transition: all .5s;
    pointer-events: none;
}
.more-info::before, .more-info::after{
    border: 2px solid var(--texto) !important;
}

/* Separación de bordes inicial */
.club-btn::after,  [class*="-wrapper"] .offer-button::after, .more-info-link::after, .room-book a::after {
    border-top-color: transparent !important;
    border-left-color: transparent !important;
}
.club-btn::before, [class*="-wrapper"] .offer-button::before, .more-info-link::before, .room-book a::before {
    border-bottom-color: transparent !important;
    border-right-color: transparent !important;
}

/* 3. DISPARADOR DE ANIMACIÓN (Hover) */
.club-btn:hover::before, .more-info:hover::before, [class*="-wrapper"] .offer-button:hover::before, .more-info-link:hover::before, .room-book a:hover::before {
    animation: club-before 1s forwards ease-out;
    top: 40%; right: 40%; bottom: 0; left: 0;
    border-top-color: transparent !important;
    border-left-color: #FFFFFF !important;
    border-bottom-color: #FFFFFF !important;
    border-right-color: transparent !important;
}

.club-btn:hover::after, .more-info:hover::after, [class*="-wrapper"] .offer-button:hover::after, .more-info-link:hover::after, .room-book a:hover::after {
    animation: club-after 1s forwards ease-out;
    top: 0; right: 0; bottom: 40%; left: 40%;
    border-top-color: #FFFFFF !important;
    border-left-color: transparent !important;
    border-bottom-color: transparent !important;
    border-right-color: #FFFFFF !important;
}

.more-info:hover::before {
    animation: club-before 1s forwards ease-out;
    top: 40%; right: 40%; bottom: 0; left: 0;
    border-top-color: transparent !important;
    border-left-color: var(--texto) !important;
    border-bottom-color: var(--texto) !important;
    border-right-color: transparent !important;
}

.more-info:hover::after{
    animation: club-after 1s forwards ease-out;
    top: 0; right: 0; bottom: 40%; left: 40%;
    border-top-color: var(--texto) !important;
    border-left-color: transparent !important;
    border-bottom-color: transparent !important;
    border-right-color: var(--texto) !important;
}

/* 4. KEYFRAMES: club-before */
@keyframes club-before {
    0% { border-top-color: #FFFFFF; border-left-color: #FFFFFF; border-bottom-color: transparent; border-right-color: transparent; top: 0; right: 0; bottom: 0; left: 0; }
    25% { top: 0; right: calc(100% - 4px); bottom: 0; left: 0; }
    50% { top: 0; right: calc(100% - 4px); bottom: calc(100% - 4px); left: 0; border-top-color: #FFFFFF; border-left-color: #FFFFFF; border-bottom-color: transparent; }
    50.1% { top: calc(100% - 4px); right: calc(100% - 4px); bottom: 0; left: 0; border-top-color: transparent; border-left-color: transparent; border-bottom-color: #FFFFFF; }
    75% { top: calc(100% - 4px); right: 40%; bottom: 0; left: 0; }
    100% { top: 40%; right: 40%; bottom: 0; left: 0; border-top-color: transparent; border-left-color: #FFFFFF; border-bottom-color: #FFFFFF; }
}

/* 5. KEYFRAMES: club-after */
@keyframes club-after {
    0% { border-top-color: transparent; border-left-color: transparent; border-bottom-color: #FFFFFF; border-right-color: #FFFFFF; top: 0; right: 0; bottom: 0; left: 0; }
    25% { top: 0; right: 0; bottom: 0; left: calc(100% - 4px); }
    50% { top: calc(100% - 4px); right: 0; bottom: 0; left: calc(100% - 4px); border-top-color: transparent; border-left-color: transparent; border-bottom-color: #FFFFFF; }
    50.1% { top: 0; right: 0; bottom: calc(100% - 4px); left: calc(100% - 4px); border-top-color: #FFFFFF; border-left-color: transparent; border-bottom-color: transparent; }
    75% { top: 0; right: 0; bottom: calc(100% - 4px); left: 40%; }
    100% { top: 0; right: 0; bottom: 40%; left: 40%; border-top-color: #FFFFFF; border-right-color: #FFFFFF; }
}
@media(max-width:768px){
    .club-btn::before, .club-btn::after{
        display:none;
    }
    .club-btn{
        padding: 2px 10px  0px 10px;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0852df4 */.elementor-1543 .elementor-element.elementor-element-0852df4 .elementor-button span{
    font-size: 17px !important;
    padding: 0.8px;
}
@media(max-width:768px){
    .elementor-1543 .elementor-element.elementor-element-0852df4 .elementor-button-text{
        display:none;
    }
    .elementor-1543 .elementor-element.elementor-element-0852df4 .elementor-button{
        border: none;
        padding:0 !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-71005ae *//*Header default styles*/
body:not(.cat-booking) .mft-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw !important;
    transition: all .5s ease;
    z-index: 5;
}

/*Hide phone number text from tablet onwards*/
/* hide the phone number in tb */
@media (max-width: 1025px) {
    .mft-item-header .elementor-icon-box-title {
        display: none;
    }
}

/*Hide "Login" text on mobile*/
[data-elementor-device-mode="mobile"] .login .login-text {
    display: none;
}

/*Hide book button on room detail page*/
body.cat-room-detail .mft-btn-book {
    display: none;
}

/*Enlarge WPML widget width*/
a.js-wpml-ls-item-toggle.wpml-ls-item-toggle {
    min-width: 35px;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link:after {
    background: #20202033;
    bottom: 0px;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-last-item a.wpml-ls-link:after  {
    background: transparent;
}


/* Para header responsive */
.sticky-header {
   width: 100vw !important;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%); 
    transition: background 0.5s ease;
}

@media(max-width:1024px){
   .sticky-header .phone .elementor-button-text {
    display:none;
    } 
}

/* Estilos del encabezado al hacer scroll */
.sticky-header.elementor-sticky--effects {
    background: var(--principal);
    /*transition: 0.5s ease;*/
    border-bottom: 1px solid var(--e-global-color-6fc6150);
}

.sticky-header.elementor-sticky--effects  .hamburger-btn svg{
    fill: var(--e-global-color-52235058) !important;
}



/* Estilos para el icono del telefono al hacer scroll */
.sticky-header.elementor-sticky--effects .phone i, .sticky-header.elementor-sticky--effects .phone a{
    color: var(--e-global-color-52235058) !important;
}
.sticky-header.elementor-sticky--effects .phone .elementor-widget-container{
    border-color: var(--e-global-color-52235058) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7bb3228 *//*Show/hide finder logic */
body:not(:has(.mft-offset-active)) .mft-wrapper-finder {
    opacity: 0;
    height: 0;
    pointer-events: none;
    transition: all 0.3s ease;
}

body:has(.mft-offset-active) .mft-wrapper-finder{
    height: auto;
    opacity: 1;
    transition: all 0.3s ease;
    pointer-events: auto;
}/* End custom CSS */