.elementor-178602 .elementor-element.elementor-element-5e8c16c{--display:grid;--gap:0rem 0rem;--row-gap:0rem;--column-gap:0rem;--grid-auto-flow:row;}.elementor-178602 .elementor-element.elementor-element-43cad66{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-178602 .elementor-element.elementor-element-9f62a93{--display:flex;}.elementor-178602 .elementor-element.elementor-element-fc62ab0{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-fc62ab0 > .elementor-widget-container{margin:0px 0px 0px 15px;}.elementor-178602 .elementor-element.elementor-element-3ff4a84{width:auto;max-width:auto;--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu .elementor-item{text-transform:uppercase;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--main .elementor-item{padding-left:15px;padding-right:15px;padding-top:0px;padding-bottom:0px;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a, .elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-menu-toggle{color:var( --e-global-color-primary );}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-47eea86e );border-style:solid;border-width:1px 1px 1px 1px;border-color:#CDCDCD;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a:hover,
					.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-menu-toggle:hover{color:var( --e-global-color-primary );}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a:hover,
					.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-fa32cf1 );}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a.elementor-item-active{color:var( --e-global-color-primary );background-color:var( --e-global-color-47eea86e );}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown .elementor-item, .elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown  .elementor-sub-item{text-transform:lowercase;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown a{padding-left:15px;padding-right:15px;padding-top:8px;padding-bottom:8px;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--dropdown li:not(:last-child){border-style:solid;border-color:#CDCDCD;border-bottom-width:1px;}.elementor-178602 .elementor-element.elementor-element-edaf76a{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-a563afe{--display:flex;}.elementor-178602 .elementor-element.elementor-element-47e2181{--display:flex;}.elementor-178602 .elementor-element.elementor-element-5e21512 .elementor-button{background-color:#02010100;font-family:"Montserrat", Sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );}.elementor-178602 .elementor-element.elementor-element-5e21512{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-5e21512 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-178602 .elementor-element.elementor-element-8d085ad{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-1311493{--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:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-178602 .elementor-element.elementor-element-8465997{width:initial;max-width:initial;}.elementor-178602 .elementor-element.elementor-element-492eeba{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-d5391ac{--display:flex;}.elementor-178602 .elementor-element.elementor-element-7230896{--display:flex;}.elementor-178602 .elementor-element.elementor-element-b7a7e56{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-9f9d406{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-30c835f{--display:flex;}.elementor-178602 .elementor-element.elementor-element-30c835f:not(.elementor-motion-effects-element-type-background), .elementor-178602 .elementor-element.elementor-element-30c835f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-47eea86e );}.elementor-178602 .elementor-element.elementor-element-4fe80bf{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-3bfb6ee{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-4b4b714{--display:flex;}.elementor-178602 .elementor-element.elementor-element-d253887{width:auto;max-width:auto;}.elementor-178602 .elementor-element.elementor-element-3b15ee5{width:auto;max-width:auto;}@media(min-width:768px){.elementor-178602 .elementor-element.elementor-element-1311493{--width:fit-content;}}@media(max-width:1024px){.elementor-178602 .elementor-element.elementor-element-5e8c16c{--grid-auto-flow:row;}.elementor-178602 .elementor-element.elementor-element-5e21512 > .elementor-widget-container{padding:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-178602 .elementor-element.elementor-element-5e8c16c{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--main .elementor-item{padding-left:10px;padding-right:10px;padding-top:0px;padding-bottom:0px;}.elementor-178602 .elementor-element.elementor-element-3ff4a84{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-178602 .elementor-element.elementor-element-3ff4a84 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-178602 .elementor-element.elementor-element-5e21512 > .elementor-widget-container{padding:0px 0px 5px 0px;}.elementor-178602 .elementor-element.elementor-element-5e21512 .elementor-button{padding:0px 7px 0px 0px;}.elementor-178602 .elementor-element.elementor-element-7f6c26a{width:initial;max-width:initial;}.elementor-178602 .elementor-element.elementor-element-3bfb6ee{width:initial;max-width:initial;}.elementor-178602 .elementor-element.elementor-element-d253887{width:initial;max-width:initial;}}/* Start custom CSS for toggle, class: .elementor-element-8465997 */.elementor-178602 .elementor-element.elementor-element-8465997 {
    content-visibility: hidden;
    visibility: hidden;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-492eeba */.tus-hoteles{
    background-color: var(--e-global-color-primary);
    overflow: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5e8c16c *//* ==========================================================================
   1. VARIABLES DE ENTORNO Y CONFIGURACIÓN GLOBAL
   ========================================================================== */
:root {
    --nav-min-height: 7rem;
}

.elementor-location-header[data-elementor-type="header"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    transition: top .5s ease-in-out;
}

body:is(.cat-booking) .elementor-location-header[data-elementor-type="header"] {
    position: relative;
}

/* ==========================================================================
   2. CONTENEDOR MAESTRO DEL HEADER (.mft-header-c) Y ESTADOS STICKY
   ========================================================================== */
.mft-header-c {
    transition-delay: 0s;
}

.mft-header-c .e-con-inner {
    min-height: var(--nav-min-height);
    padding-block: 1.2rem !important;
    transition: min-height .3s ease-in-out, padding-block .3s ease-in-out !important;
}

.mft-header-c:before {
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background: rgb(255 255 255 / 25%);
    backdrop-filter: blur(8px);
    transition: background .3s ease-in-out, backdrop-filter .0s ease;
}

/* Efectos Sticky */
.mft-header-c.elementor-sticky--effects:before {
    background: rgb(255 255 255 / 50%);
}

.mft-header-c.elementor-sticky--effects .e-con-inner {
    min-height: 2.7rem !important;
    --nav-min-height: 2.7rem !important;
    padding-block: 0.5rem !important;
}

/* Condicionales de Fondo por Categorías de Hotel */
body:is(.cat-booking, .cat-room-detail, .cat-offer-detail, .cat-apartamentos-paraiso-playa, .cat-playacapricho-hotel, .cat-playalinda-hotel, .cat-playadulce-hotel, .cat-diverhotel-aguadulce, .cat-playasol-spa-hotel, .cat-diverhotel-roquetas, .cat-vera-playa-club-hotel, .cat-zimbali-playa-spa-hotel, .cat-mojacar-playa-aquapark-hotel, .cat-montanya-hotel, .cat-playaballena-spa-hotel, .cat-senator-cadiz-spa-hotel, .cat-guadacorte-park-hotel, .cat-playacalida-spa-hotel, .cat-senator-granada-spa-hotel, .cat-beach-star-ibiza-hotel, .cat-senator-marbella-spa-hotel, .cat-senator-banus-spa-hotel, .cat-apartamentos-playamarina, .cat-playacartaya-spa-hotel, .cat-playacanela-hotel, .cat-playamarina-spa-hotel, .cat-senator-huelva-hotel, .cat-senator-castellana-hotel, .cat-senator-barajas-hotel, .cat-talayot-hotel, .cat-senator-cala-millor-hotel, .cat-club-simo, .cat-senator-mar-menor-spa-hotel, .cat-hotel-virgen-de-los-reyes, .cat-senator-parque-central-hotel, .cat-senator-gandia-spa-hotel, .cat-playabachata-spa-resort, .cat-senator-puerto-plata-spa-resort) .mft-header-c:before {
    background: rgb(255 255 255 / 50%);
}

/* Modo Editor Activo (Descomentar para trabajar en el header mice y/o vista solo en el editor) */

/*

.elementor-editor-active .mft-header-c {
    background-color: var(--e-global-color-fa32cf1);
}

.elementor-editor-active .mft-header-c .elementor-empty-view {
    display: none !important;
}

.elementor-editor-active #miceNav.mice-header{
    display: flex;
    content-visibility: visible;
}

.cat-hotel.elementor-editor-active #miceNav.mice-header, .elementor-editor-active.elementor-editor-page #miceNav.mice-header{
    display: none !important;
    content-visibility: hidden !important;
}

.cat-hotel.elementor-editor-active .mft-header-c, .elementor-editor-active.elementor-editor-page .mft-header-c {
    background-color: transparent !important;
}

.elementor-editor-active .mft-header-nav-wrapper .elementor-widget-Mirai-Club-Login {
    display: block;
    content-visibility: visible;
    padding-right: 1.5rem;
}

 */

/* ==========================================================================
   3. ESTRUCTURA INTERNA: GRID SEMÁNTICO, LOGO Y SECCIONES
   ========================================================================== */
.mft-header-c > .e-con-inner {
    display: grid !important;
    --e-con-grid-template-columns: auto 1fr;
    --e-con-grid-template-rows: auto 1fr;    
    grid-template-columns: auto 1fr; 
    grid-template-rows: auto 1fr; 
    grid-template-areas: 
        "logo preheader"
        "logo navigation" !important;
    --align-items: center;    
    align-items: center;
    gap: 0.4rem 2rem !important; 
}

.mft-logo-wrapper     { grid-area: logo !important; }
.mft-header-preheader { grid-area: preheader !important; }
.mft-header-nav       { grid-area: navigation !important; }

/* Logo */
.myheader-logo img {
    transition: all .3s ease-in-out;
    max-width: 14rem;
}

body:not(.cat-booking) .mft-header-c.elementor-sticky--effects .myheader-logo img {
    max-width: 12.5rem;
}

.mft-header-c .mft-logo-wrapper {
    padding: 0 !important;
    --container-default-padding-right: 0px;
    --container-default-padding-left: 0px;
}

/* Preheader Base */
.mft-header-preheader, 
.e-con.mft-header-nav .mft-header-nav-wrapper {
    flex-direction: row;
    align-items: center !important;
    padding-right: 0px;
    padding-left: 0px;
    --flex-direction: row !important;
    --align-items: center !important;
    --container-default-padding-right: 0px;
    --container-default-padding-left: 0px;
}

.mft-header-preheader {
    --justify-content: flex-end;
    justify-content: flex-end; 
    font-size: var(--e-global-typography-962030d-font-size);
    max-height: 2.7rem;
    transition: max-height .3s ease-in-out, opacity .3s ease-in-out;
}

body:not(.cat-booking) .mft-header-c.elementor-sticky--effects .mft-header-preheader {
    opacity: 0;
    pointer-events: none;
    max-height: 0px;
}

/* Navigation Base */
.e-con.mft-header-nav {
    --flex-direction: row !important;
    --align-items: end !important;
    --container-default-padding-right: 0px;
    --container-default-padding-left: 0px;
    --justify-content: flex-end;
    justify-content: flex-end;
    flex-direction: row;
    align-items: end;
    padding-right: 0px;
    padding-left: 0px;
}

.mft-header-nav .mft-header-nav-wrapper {
    --justify-content: flex-end;
    justify-content: flex-end; 
}

/* ==========================================================================
   4. COMPONENTES BOTONES (PRIMARY-BTN, DECORACIONES, OFFERS)
   ========================================================================== */
.mft-header-nav .elementor-button.primary-btn {
    border-radius: 0px !important;
}

a.primary-btn, a.elementor-toggle-title, .mft-dropdown-btn summary {
    --e-global-typography-013566d-letter-spacing: 0.07em;
    font-family: var(--e-global-typography-013566d-font-family), Sans-serif;
    font-size: var(--e-global-typography-013566d-font-size);
    font-weight: var(--e-global-typography-013566d-font-weight);
    text-transform: var(--e-global-typography-013566d-text-transform);
    line-height: var(--e-global-typography-013566d-line-height);
    letter-spacing: var(--e-global-typography-013566d-letter-spacing) !important;
    word-spacing: var(--e-global-typography-013566d-word-spacing);
}

a.primary-btn, a.primary-btn:focus, a.primary-btn:hover, a.primary-btn:visited {
    color: inherit;
}

a.primary-btn .elementor-button-content-wrapper, a.elementor-toggle-title, .mft-dropdown-btn summary {
    position: relative;
}

/* Animación de línea decorativa inferior curva */
a.primary-btn .elementor-button-content-wrapper:after, a.elementor-toggle-title:after, .mft-dropdown-btn summary:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    opacity: 0;
    height: 20px;
    width: calc(100% - 4px);
    max-width: 95px;
    border-bottom: 4px solid;
    border-color: inherit;
    border-radius: 50%;
    transform: translateX(-50%) scale(0) translateY(20px);
    transition: all .3s ease-in-out;
}

a.primary-btn:hover .elementor-button-content-wrapper:after, .header-menu-toggle:hover a.elementor-toggle-title:after, .mft-dropdown-btn:hover summary:after {
    opacity: 1;
    transform: translateX(-50%) scale(1) translateY(0);
}


/* ==========================================================================
   5. NAVEGACIÓN INTERNA (MENÚS NATIVOS, DROPDOWNS, SUBMENÚS Y WPML)
   ========================================================================== */
.header-menu-toggle a.elementor-tab-title {
    padding: 1em 1.5em;
    border: none;
}

.has-submenu .sub-arrow, .mft-dropdown-btn .submenu {
    display: inline-block;
    transform-origin: center center !important; 
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    padding: 0.625rem 0.625rem 0.64rem 0.625rem !important;
}

.has-submenu.highlighted .sub-arrow {
    transform: rotate(180deg) !important; 
}

.mft-header-c .elementor-nav-menu li.menu-title-linkless {
    pointer-events: none;
    background-color: #eeeeee;
    font-weight: 700;
}

.mft-header-c .elementor-nav-menu .elementor-nav-menu--dropdown li.menu-item > a {
    color: var(--e-global-color-primary);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-weight: 700;
    border-left: 0;
}

.mft-header-c .elementor-nav-menu .elementor-nav-menu--dropdown li.menu-item > a > span {
    font-weight: normal;
}

/* COMPONENTE: DROPDOWN CON DETAILS/SUMMARY COMPLETO */
.mft-dropdown-btn {
    position: relative !important;
    display: inline-block !important;
    cursor: pointer !important;
}

.mft-dropdown-btn summary {
    list-style: none !important;
    cursor: pointer !important;
    font-weight: bold !important;
    padding: 1em 1.5em;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.mft-dropdown-btn summary::-webkit-details-marker {
    display: none !important;
}

.mft-dropdown-btn summary:after {
    bottom: 3px !important;
    max-width: 6.8rem !important;
}

.mft-dropdown-btn .mft-dropdown-content {
    display: flex !important; 
    flex-direction: column !important;
    position: absolute !important;
    top: 4.4rem;
    left: 0px !important;
    width: 22rem;
    min-width: 14rem !important;
    padding: var(--size-xs) var(--size-s) !important;
    z-index: 999 !important; 
    background: #ffffff !important;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.1) !important;
    
    /* ESTADO REPOSO OCULTO ELÁSTICO */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(10px) !important;
    pointer-events: none !important; 
    transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.3s cubic-bezier(0.25, 1, 0.5, 1),
                visibility 0.3s !important;
}

.mft-dropdown-btn .mft-dropdown-content.is-club {
    width: 19rem !important;
}

.mft-dropdown-btn .mft-dropdown-content a {
    padding-block: 0.653rem !important;
}

.mft-dropdown-btn summary:focus-visible,
.mft-dropdown-content a:focus-visible,
.mft-details-menu summary:focus-visible {
    outline: 2px solid #00263E !important;
    outline-offset: 3px;
}

/* Puente invisible de proximidad para evitar cortes del puntero al hacer hover */
.mft-dropdown-btn .mft-dropdown-content::before {
    content: "";
    position: absolute;
    top: -1.5rem !important; 
    left: 0;
    width: 100%;
    height: 1.5rem;
    background: transparent !important;
}

/* Comportamientos del Dropdown en Hover y Enfoque Activo */
.mft-dropdown-btn:hover .mft-dropdown-content,
.mft-dropdown-btn:focus-within .mft-dropdown-content,
.mft-dropdown-btn summary[aria-expanded="true"] + .mft-dropdown-content {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important; 
}

/* Rotación e Iconografía del Dropdown */
.mft-dropdown-btn summary .sub-arrow,
.mft-dropdown-btn summary i {
    display: inline-block !important; 
    transform-origin: center center !important;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.mft-dropdown-btn:hover summary .sub-arrow,
.mft-dropdown-btn:hover summary i,
.mft-dropdown-btn:focus-within summary .sub-arrow,
.mft-dropdown-btn:focus-within summary i {
    transform: rotate(90deg) !important;
}

.mft-dropdown-btn summary[aria-expanded="true"] .sub-arrow,
.mft-dropdown-btn summary[aria-expanded="true"] i {
    transform: rotate(180deg) !important;
}

.mft-dropdown-btn .sub-arrow.elementor-hidden-desktop {
    display: none !important;
}

/* Cambios estructurales del Dropdown en el Modo Sticky del Header */
.mft-header-c.elementor-sticky--effects .mft-dropdown-btn .mft-dropdown-content {
    top: 3.687rem !important;
}

/* Gestión de Submenús Internos del Dropdown */
.mft-dropdown-btn .mft-dropdown-content .mft-submenu-wrapper .mft-submenu-items {
    display: flex;
    flex-direction: column;
    padding-left: 14px; 
    gap: 8px;
}

.mft-dropdown-btn .mft-dropdown-content .mft-submenu-wrapper .mft-submenu-items a {
    padding-block: 0.353rem !important;
}

.mft-dropdown-btn .mft-dropdown-content .mft-submenu-wrapper p {
    color: var(--e-global-color-primary);
    margin-block: 0.553rem !important;
}

/* Iconos Dinámicos ::before dentro de Dropdowns */
.mft-dropdown-content [role="menuitem"]::before,
.mft-dropdown-content p[role="menuitem"]::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin-right: 8px;
    margin-top: -1px;
}

.mft-dropdown-content.is-pro-links [role="menuitem"]::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/circle-icon.svg");
}

.mft-dropdown-content > [role="menuitem"]::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/empresas-icon.svg");
}


.mft-dropdown-content a:visited {
    color: var(--e-global-color-primary) !important;
}

.mft-submenu-wrapper > p::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/Agent-icon.svg");
}

.mft-submenu-items [role="menuitem"]::before {
    background-image: url("https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/circle-icon.svg");
}

/* Módulo de Idiomas WPML */
.wpml-ls-legacy-dropdown-click a {
    color: var(--e-global-color-primary);
    padding-left: 25px;
}

.mft-header-c .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
    content: "\e961";
    font-family: 'mirai-icofonts' !important;
    border: none;
    top: calc(50% - 7px);
}

.wpml-ls-current-language > a,
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a {
    background: transparent;
    border: none;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    transform-origin: center center !important; 
    transition: transform 0.3s ease;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:hover:after {
    transform: rotate(180deg) !important; 
    transition: transform 0.3s ease;
}

.mft-header-c .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle > .wpml-ls-native::before {
    content: "";
    position: absolute;
    height: 16px;
    width: 16px;
    top: calc(50% - 8px);
    left: 0px;
    background-image: url(https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/globe-x1-5-icon.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Filtros Dinámicos de Idiomas según Hoteles */
body .wpml-ls-legacy-dropdown-click .wpml-ls-item.wpml-ls-item.wpml-ls-item-ca,
body:is(.cat-offer-detail, .cat-room-detail) .wpml-ls-legacy-dropdown-click .wpml-ls-item.wpml-ls-item.wpml-ls-item-ca {
    display: none;
}

body:is(.cat-montanya-hotel) .wpml-ls-legacy-dropdown-click .wpml-ls-item.wpml-ls-item.wpml-ls-item-ca {
    display: block;
}

body:is(.cat-playabachata-spa-resort, .cat-senator-puerto-plata-spa-resort) .wpml-ls-legacy-dropdown-click .wpml-ls-item.wpml-ls-item.wpml-ls-item-fr {
    display: block;
}

/* ==========================================================================
   6. MOTOR DE RESERVAS (MIRAI, MY SENATOR CLUB, STICKY FINDER)
   ========================================================================== */

.mft-header-nav-wrapper .elementor-widget-Mirai-Club-Login, 
.mft-header-nav-wrapper:has([data-role="account"]) .elementor-widget-html .is-mysenator {
    display: none;
    content-visibility: hidden;
    padding-right: 1.5rem;
}

.mft-header-nav-wrapper:has([data-role="account"]) .elementor-widget-Mirai-Club-Login {
    display: block;
    content-visibility: visible;
}

.mft-header-nav-wrapper [is="ui-modal-overflow"] {
    top: 0;
}

.mft-header-nav-wrapper:has([data-role="account"]) [data-role="menu-content"] {
    top: 4.4rem !important;
}

.mft-header-nav-wrapper:has([data-role="account"]) [data-role="menu-content"] > div {
    --mirai-ui-menu-border-radius: 0;
}

.mft-header-nav-wrapper .elementor-widget-Mirai-Club-Login:after {
    content: "";
    height: 20px;
    width: calc(100% - 4px);
    max-width: 95px;
    position: absolute;
    bottom: -8px;
    left: 50%;
    border-bottom: 4px solid;
    border-color: inherit;
    border-radius: 50%;
    transform: translateX(-50%) scale(0) translateY(20px);
    opacity: 0;
    transition: all .3s ease-in-out;
    pointer-events: none;
}

.mft-header-nav-wrapper .elementor-widget-Mirai-Club-Login:hover:after {
    opacity: 1;
    transform: translateX(-50%) scale(1) translateY(0);
}

/* Enlaces Especiales del Club y Simulación de Bold nítido plano */
.mft-header-club-link {
    display: inline-flex !important;
    align-items: center !important; 
    text-decoration: none;
}

.mft-header-mysenator-link::before, .mft-header-club-link::before {
    content: "" !important;
    display: inline-block !important;
    width: 1.1em !important;
    height: 1.1em !important;
    aspect-ratio: 1/1;
    margin-top: 1px;
    margin-right: 8px !important; 
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    flex-shrink: 0 !important; 
}

.mft-header-club-link::before {
    background-image: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/user-my-senator-icon.svg') !important;
}

.mft-header-mysenator-link::before {
    background-image: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/Favicon-senator-300x300-1.webp') !important;
}

a.mft-header-mysenator-link {
    display: flex;
}

.mft-dropdown-content.is-pro-links a, .mft-dropdown-content.is-club a {
    position: relative !important;
    align-items: center !important;
    padding-right: 5px !important;
    margin-right: -20px;
    transition: text-shadow 0.3s ease-in-out !important;
}

.mft-dropdown-content.is-pro-links a:hover, .mft-dropdown-content.is-club a:hover {
    text-shadow: 0px 0px 0px var(--e-global-color-primary), 0px 0px 0px var(--e-global-color-primary), 0px 0px 0px var(--e-global-color-primary), 0px 0px 0px var(--e-global-color-primary);
}

.mft-dropdown-content.is-pro-links a:hover strong,
.mft-dropdown-content.is-club a:hover strong,
.mft-dropdown-content.is-pro-links a strong {
    text-shadow: none !important;
}

/* Icono New Tab Animado */
.mft-dropdown-content.is-pro-links a::after {
    content: "" !important;
    position: absolute !important;
    right: 0px !important;
    top: calc(50% - 9px) !important; 
    width: 18px !important;
    height: 18px !important;
    background-image: url('https://static-resources-elementor.mirai.com/wp-content/uploads/sites/638/new-tab-circle.svg') !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    opacity: 0 !important;
    transform: translateY(2px) !important;
    pointer-events: none !important;
    transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.mft-dropdown-content.is-pro-links a:hover::after {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Sticky Finder (Motor Inferior Fijo) */
#sticky-finder.header-engine-wrapper.elementor-element {
    position: fixed;
    bottom: 0;
    top: auto !important;
    height: auto !important;
    width: 100% !important;
    backdrop-filter: blur(10px);
    background: #ffffff70;
}

#sticky-finder.header-engine-wrapper {
    transition: all .3s ease-in-out;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

#sticky-finder.header-engine-wrapper a.elementor-button.primary-btn.header-engine-btn--white {
    background: #fff;
    color: #00263E;
}

#sticky-finder.header-engine-wrapper .header-engine-price {
    display: none;
}

#sticky-finder.header-engine-wrapper .header-engine-price span {
    font-size: 24px;
    font-weight: 600;
}
    
#sticky-finder.header-engine-wrapper .header-engine-price.elementor-element {
    position: absolute;
    bottom: calc(100% - 2px);
    left: 50%;
    transform: translateX(-50%);
    background: rgb(255 255 255 / 50%);
    width: 100%;
    backdrop-filter: blur(8px);
    border-radius: 4.5px;
}

/* Botón Ofertas Mobile */
.btn-offers a {
    padding: 0.5em 0.8em !important;
    background-color: #00263E !important;
    color: #fff !important;
    font-size: 1rem !important;
}

.btn-offers span.elementor-button-icon,
.btn-offers span.elementor-button-icon svg {
    width: 1em;
    height: 1em;
    aspect-ratio: 1/1;
    object-fit: cover;
}

/* Secciones MICE Integradas */
#miceNav.mice-header {
    display: none;
    content-visibility: visible;
}

body.cat-mice #miceNav.mice-header {
    display: flex !important;
    content-visibility: visible;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

#miceNav .wpml-ls-item-de, 
#miceNav .wpml-ls-item-fr {
    display: none;
}

#miceNav .elementor-nav-menu--main > ul > li .elementor-item-active{
    color: #fff !important;
}

body:is(.cat-mice) .mft-header-c, body:is(.cat-mice) .mybooking-hor-column, body:is(.cat-mice) .header-engine-wrapper{
    display: none !important;
    content-visibility: hidden !important;
}


/* Campañas Especiales de Temporada (Halloween, Navidad) */
body:is(:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate), .cat-oferta-navidad.cat-offers-corporate) .mft-header-c:not(.elementor-sticky--effects):not(.elementor-sticky--effects) .myheader-logo img {
    filter: brightness(0) invert(1);
}

body:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate) .mft-header-c:not(.elementor-sticky--effects, .mft-dropdown-content, .mft-submenu-wrapper p) {
    color: #fff;
}

body:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate) .mft-header-c:not(.elementor-sticky--effects) .primary-btn.elementor-button {
    color: #fff;
    fill: #fff;
}

body:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate) .mft-header-c:not(.elementor-sticky--effects) .elementor-tab-title {
    color: #fff;
}

body:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate) .mft-header-c .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle > .wpml-ls-native::before {
    filter: brightness(0) invert(1);
}

body:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate) .mft-header-c .wpml-ls-current-language > a,
body:is(.cat-halloween.cat-offers-corporate, .cat-oferta-navidad.cat-offers-corporate) .mft-header-c .wpml-ls-current-language:hover > a {
    color: #fff;
}

/* ==========================================================================
   7. MEDIA QUERIES (RESPONSIVE INLINE GENERAL CONSOLIDADO)
   ========================================================================== */

/* Escritorio / Pantallas Grandes */
@media (min-width: 1025px) {
    .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a ~ ul.js-wpml-ls-sub-menu.wpml-ls-sub-menu {
        visibility: visible;
    }

    .elementor-editor-active .mft-header-c:not(.elementor-sticky--effects) ~ #sticky-finder.header-engine-wrapper {
        opacity: 1 !important;
        visibility: visible;
        bottom: 0px;
    }
    
    .mft-header-c:not(.elementor-sticky--effects) ~ #sticky-finder.header-engine-wrapper {
        opacity: 0;
        visibility: hidden;
        bottom: -50px;
    }
    
    .mft-header-c.elementor-sticky--effects ~ #sticky-finder.header-engine-wrapper {
        opacity: 1;
        visibility: visible;
        bottom: 0px;
    }
}

/* Laptops con pantallas bajas */
@media (max-height: 750px) and (min-width: 768px) {
    .mft-header-c:not(.elementor-sticky--effects) ~ #sticky-finder.header-engine-wrapper {
        opacity: 1 !important;
        visibility: visible !important;
        bottom: 0px !important;
        z-index: 100;
    }
}

/* Modo Escritorio para MICE */
@media(min-width: 769px) {
    body.cat-mice #miceNav.mice-header {
        min-height: 120px;
    }
}

/* Dispositivos Tablet y Móviles Global */
@media screen and (max-width: 1024px) {
    .mft-header-preheader {
        font-size: 0.750rem;
    }

    .mft-header-c > .e-con-inner {
        grid-template-columns: 1fr !important; 
        grid-template-rows: auto auto auto !important;
        grid-template-areas: 
            "preheader"
            "logo"
            "navigation" !important;
        gap: 1rem !important; 
        justify-items: center !important; 
    }

    .mft-logo-wrapper, .mft-header-preheader, .mft-header-nav {
        justify-content: center !important;
        width: 100% !important;
    }
    
    .mft-header-nav, .mft-header-nav .mft-header-nav-wrapper {
        position: relative;
    }
    
    .mft-header-nav .elementor-widget-html, 
    .mft-header-nav .mft-header-nav-wrapper .primary-btn {
        position: static !important;
    }

    .elementor-element.mft-header-nav .mft-header-nav-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        position: relative !important;
    }

    .mft-header-nav .mft-header-nav-wrapper > .elementor-widget,
    .mft-header-nav .mft-header-nav-wrapper > .e-child {
        width: auto !important;
        max-width: max-content !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
    }
    
    .mft-header-nav .mft-header-nav-wrapper .mft-dropdown-btn {
        position: static !important;
    }

    .mft-header-nav .mft-header-nav-wrapper .mft-dropdown-btn summary {
        text-align: center !important;
        white-space: nowrap !important;  
        font-size: 0.875rem;
        padding: 0.1em;
    }
    
    .mft-header-nav .mft-header-nav-wrapper .elementor-button.primary-btn {
        font-size: 0.875rem !important;
        padding: 1em 1.25em !important;
        letter-spacing: var(--e-global-typography-013566d-letter-spacing);
    }
    
    /* Responsive específico del Dropdown */
    .mft-dropdown-btn .mft-dropdown-content {
        top: 4rem !important;
    }
    
    .mft-header-c.elementor-sticky--effects .mft-dropdown-btn .mft-dropdown-content {
        top: 3.25rem !important;
    }
    
    .mft-dropdown-btn .sub-arrow.elementor-hidden-desktop {
        display: block !important;
    }
    
    .mft-header-c .myheader-logo img {
        max-width: 11rem;
        white-space: nowrap;  
    }

    body:not(.cat-booking) .mft-header-c.elementor-sticky--effects .e-con-inner {
        grid-template-rows: max-content !important; 
        row-gap: 0px !important; 
        min-height: auto !important; 
        height: auto !important;
    }
    
    body:not(.cat-booking) .mft-header-c.elementor-sticky--effects .mft-logo-wrapper {
        opacity: 0 !important;
        pointer-events: none !important;
        max-height: 0px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        transition: all ease 0.3s;
    }
    
    a.primary-btn .elementor-button-content-wrapper:after, 
    a.elementor-toggle-title:after, 
    .mft-dropdown-btn summary:after {
        top: 10px !important;
    }

    .mft-header-nav-wrapper .elementor-widget-Mirai-Club-Login, 
    .mft-header-nav-wrapper:has([data-role="account"]) .elementor-widget-html .is-mysenator,
    .mft-header-nav-wrapper:has([data-role="account"]) .elementor-widget-Mirai-Club-Login {
        padding-right: 0;
    }
}

/* Ajustes exclusivos del nav para pantallas ultra pequeñas */
@media (max-width: 320px) {
    .mft-header-nav .mft-header-nav-wrapper .mft-dropdown-btn summary {
        font-size: 0.750rem !important;
    }

    .mft-header-nav .mft-header-nav-wrapper .elementor-button.primary-btn {
        font-size: 0.750rem !important;
        padding: 0.8em 0.8em !important;
    }
}

/* Solo MICE en pantallas medianas e inferiores */
@media(max-width: 768px) {
    .elementor-nav-menu > li.menu-item-has-children {
        padding: 0rem 0rem;
    }
    
    #miceNav .elementor-nav-menu__align-right .elementor-nav-menu {
        justify-content: flex-start;
    }
}

/* Ajustes exclusivos para Smartphone (max-width: 767px) */
@media (max-width: 767px) {
    .elementor-element.mft-header-nav .mft-header-nav-wrapper {
        gap: 0.2rem;
    }
    
    .mft-header-c.elementor-sticky--effects .e-con-inner {
        min-height: 2.7rem !important;
    }
    
    #sticky-finder.header-engine-wrapper.elementor-element {
        width: 100% !important;
    }

    #sticky-finder.header-engine-wrapper .header-engine-price.elementor-element {
        left: 7px;
        transform: unset;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b7a7e56 */.elementor-178602 .elementor-element.elementor-element-b7a7e56 .elementor-button-text {
    transition: all .2s ease-in-out;
}
.elementor-178602 .elementor-element.elementor-element-b7a7e56:hover .elementor-button-text {
    text-shadow: 
    -0.4px -0.4px 0 currentcolor,
    0.4px -0.4px 0 currentcolor,
    -0.4px 0.4px 0 currentcolor,
    0.4px 0.4px 0 currentcolor
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7230896 */@media(max-width:1024px) {
    body:has(.myheader-wrapper.elementor-sticky--effects) .vuelo-hotel {
        display: none;
    }
}

.vuelo-hotel.e-con {
        --container-default-padding-left: 0px;
        --container-default-padding-right: 0x;
}/* End custom CSS */
/* Start custom CSS for Mirai-Finder, class: .elementor-element-fce845b */.elementor-178602 .elementor-element.elementor-element-fce845b [data-mirai-component="finder"] {
    display: flex;
    flex-direction: column;
    padding-top: 4.5px;
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-3bfb6ee */.elementor-nav-menu > li.menu-item-has-children > .sub-menu 
  > li.menu-item-has-children > .sub-menu 
  li a.elementor-sub-item {
  color: #00263E;
}

.elementor-nav-menu > li.menu-item-has-children > .sub-menu 
  > li.menu-item-has-children > .sub-menu 
  li a.elementor-sub-item:hover,
.elementor-178602 .elementor-element.elementor-element-3bfb6ee .sub-menu.elementor-nav-menu--dropdown.sm-nowrap li ul li ul li:hover a,
.elementor-178602 .elementor-element.elementor-element-3bfb6ee ul li ul li:hover a{
    color: #fff;
}

.elementor-178602 .elementor-element.elementor-element-3bfb6ee .elementor-menu-toggle{
    background-color: #fff!important;
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-d253887 */.elementor-nav-menu > li.menu-item-has-children > .sub-menu 
  > li.menu-item-has-children > .sub-menu 
  li a.elementor-sub-item {
  color: #00263E;
}

.elementor-nav-menu > li.menu-item-has-children > .sub-menu 
  > li.menu-item-has-children > .sub-menu 
  li a.elementor-sub-item:hover,
.elementor-178602 .elementor-element.elementor-element-d253887 .sub-menu.elementor-nav-menu--dropdown.sm-nowrap li ul li ul li:hover a,
.elementor-178602 .elementor-element.elementor-element-d253887 ul li ul li:hover a{
    color: #fff;
}

.elementor-178602 .elementor-element.elementor-element-d253887 a{
    font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b4b714 */.elementor-178602 .elementor-element.elementor-element-4b4b714{
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
}/* End custom CSS */