.elementor-23373 .elementor-element.elementor-element-0ae4cfa{--display:flex;--min-height:124px;--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;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-23373 .elementor-element.elementor-element-0ae4cfa:not(.elementor-motion-effects-element-type-background), .elementor-23373 .elementor-element.elementor-element-0ae4cfa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00000000;}.elementor-23373 .elementor-element.elementor-element-5fbf514{--display:flex;}.elementor-23373 .elementor-element.elementor-element-7e3d194{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-23373 .elementor-element.elementor-element-7e3d194 img{width:100%;max-width:33%;}.elementor-23373 .elementor-element.elementor-element-e236ed3{--display:flex;--min-height:37px;--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;--justify-content:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-23373 .elementor-element.elementor-element-c47dfdf{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-23373 .elementor-element.elementor-element-c47dfdf.elementor-element{--align-self:center;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-23373 .elementor-element.elementor-element-7832ca5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;}.elementor-23373 .elementor-element.elementor-element-7832ca5.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-7832ca5.elementor-view-framed .elementor-icon, .elementor-23373 .elementor-element.elementor-element-7832ca5.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-7832ca5.elementor-view-framed .elementor-icon, .elementor-23373 .elementor-element.elementor-element-7832ca5.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-7832ca5 .elementor-icon{font-size:33px;}.elementor-23373 .elementor-element.elementor-element-7832ca5 .elementor-icon svg{height:33px;}.elementor-23373 .elementor-element.elementor-element-7832ca5 .elementor-icon i, .elementor-23373 .elementor-element.elementor-element-7832ca5 .elementor-icon svg{transform:rotate(0deg);}.elementor-23373 .elementor-element.elementor-element-fa93bb9{--display:flex;--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;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:07.3%;--padding-bottom:7.3%;--padding-left:0%;--padding-right:0%;}.elementor-23373 .elementor-element.elementor-element-fa93bb9:not(.elementor-motion-effects-element-type-background), .elementor-23373 .elementor-element.elementor-element-fa93bb9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020000BD;}.elementor-23373 .elementor-element.elementor-element-6907121{--display:flex;--gap:10px 0px;--row-gap:10px;--column-gap:0px;}.elementor-23373 .elementor-element.elementor-element-84615af{--spacer-size:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-23373 .elementor-element.elementor-element-975ff9e:hover{--e-transform-scale:1.1;}.elementor-23373 .elementor-element.elementor-element-975ff9e{text-align:center;}.elementor-23373 .elementor-element.elementor-element-975ff9e .elementor-heading-title{font-family:"Rubik", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-bbba9f0:hover{--e-transform-scale:1.1;}.elementor-23373 .elementor-element.elementor-element-bbba9f0{text-align:center;}.elementor-23373 .elementor-element.elementor-element-bbba9f0 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-8544dc8:hover{--e-transform-scale:1.1;}.elementor-23373 .elementor-element.elementor-element-8544dc8{text-align:center;}.elementor-23373 .elementor-element.elementor-element-8544dc8 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:41px;font-weight:600;color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-18c9e91{--spacer-size:10px;}.elementor-23373 .elementor-element.elementor-element-c35d458{--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;--justify-content:center;--gap:0px 120px;--row-gap:0px;--column-gap:120px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-23373 .elementor-element.elementor-element-1f2c465{margin:0px -20px calc(var(--kit-widget-spacing, 0px) + 0px) 20px;font-family:"Rubik", Sans-serif;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-1f2c465.elementor-element{--align-self:center;--order:-99999 /* order start hack */;}.elementor-23373 .elementor-element.elementor-element-1f2c465 p{margin-block-end:0px;}.elementor-23373 .elementor-element.elementor-element-453e954{margin:0px -50px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;font-family:"Rubik", Sans-serif;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-453e954.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-23373 .elementor-element.elementor-element-453e954 p{margin-block-end:0px;}.elementor-23373 .elementor-element.elementor-element-621595b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 20px;font-family:"Rubik", Sans-serif;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-23373 .elementor-element.elementor-element-621595b.elementor-element{--align-self:center;}.elementor-23373 .elementor-element.elementor-element-621595b p{margin-block-end:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-23373 .elementor-element.elementor-element-fa93bb9{--width:100%;}}@media(max-width:1440px){.elementor-23373 .elementor-element.elementor-element-0ae4cfa{--min-height:0px;}.elementor-23373 .elementor-element.elementor-element-7e3d194 img{width:100%;max-width:100%;height:100%;}}@media(max-width:1200px){.elementor-23373 .elementor-element.elementor-element-7e3d194 img{width:100%;}}@media(max-width:1024px){.elementor-23373 .elementor-element.elementor-element-0ae4cfa{--min-height:0px;}.elementor-23373 .elementor-element.elementor-element-7e3d194 img{max-width:100%;height:100%;}.elementor-23373 .elementor-element.elementor-element-c47dfdf{width:var( --container-widget-width, 10% );max-width:10%;margin:-1.5% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;--container-widget-width:10%;--container-widget-flex-grow:0;}.elementor-23373 .elementor-element.elementor-element-7832ca5{width:var( --container-widget-width, 10% );max-width:10%;margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;--container-widget-width:10%;--container-widget-flex-grow:0;}}@media(max-width:767px){.elementor-23373 .elementor-element.elementor-element-0ae4cfa{--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;--align-items:center;}.elementor-23373 .elementor-element.elementor-element-e236ed3{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23373 .elementor-element.elementor-element-c47dfdf{width:var( --container-widget-width, 15% );max-width:15%;margin:-2.5% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;--container-widget-width:15%;--container-widget-flex-grow:0;}.elementor-23373 .elementor-element.elementor-element-7832ca5{--container-widget-width:15%;--container-widget-flex-grow:0;width:var( --container-widget-width, 15% );max-width:15%;}.elementor-23373 .elementor-element.elementor-element-84615af{--spacer-size:0px;}}@media(max-width:1024px) and (min-width:768px){.elementor-23373 .elementor-element.elementor-element-e236ed3{--width:100%;}}@media(min-width:2400px){.elementor-23373 .elementor-element.elementor-element-0ae4cfa{--width:80%;}}/* Start custom CSS *//* =====================================================
   MIROKUTANA - HEADER TRANSPARENT COMPLETO OPTIMIZADO
   Sustituye TODO el CSS anterior del header/menu por este bloque.
   No usa imports externos. No modifica la funcion del boton de sonido.
   ===================================================== */

/* ================================
   Variables generales
   ================================ */

:root {
    --mirokutana-scrollbar-ancho: 0px;
}

.contenedor-superior-header {
    --header-x: clamp(20px, 3.35vw, 66px);
    --header-y: 50%;
    --header-h: clamp(82px, 6.7vw, 128px);
    --header-logo-w: clamp(205px, 16vw, 320px);
    --header-icon-box: clamp(38px, 2.5vw, 48px);
    --header-icon-gap: clamp(13px, 1.35vw, 26px);
    --menu-x-size: 19px;
    --menu-x-stroke: 2px;

    position: relative !important;
    width: 100% !important;
    height: var(--header-h) !important;
    min-height: var(--header-h) !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    z-index: 100010 !important;
}

@font-face {
    font-family: "Lato Local";
    src: local("Lato Regular"), local("Lato");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ================================
   Bloqueo de scroll y fondo
   ================================ */

html.menu-desplegable-bloqueado,
body.menu-desplegable-bloqueado {
    overflow: hidden !important;
    height: 100% !important;
}

body::before {
    content: "" !important;
    position: fixed !important;
    inset: -60px !important;
    z-index: 99998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgba(0, 0, 0, 0.55) !important;
    backdrop-filter: blur(0) !important;
    -webkit-backdrop-filter: blur(0) !important;
    transform: scale(1.02) !important;
    transform-origin: center center !important;
    transition:
        opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        backdrop-filter 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        -webkit-backdrop-filter 0.85s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.menu-blur-activo::before {
    opacity: 1 !important;
    visibility: visible !important;
    background: rgba(0, 0, 0, 0.72) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

body.menu-blur-activo .contenedor-superior-header {
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

/* ================================
   Logo
   ================================ */

.contenedor-superior-header > .elementor-element-5fbf514,
.contenedor-superior-header > .elementor-element-5fbf514 > .e-con-inner,
.contenedor-superior-header .elementor-widget-tl-site-logo,
.contenedor-superior-header .elementor-widget-tl-site-logo .elementor-widget-container {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.contenedor-superior-header .elementor-widget-tl-site-logo a {
    position: absolute !important;
    left: var(--header-x) !important;
    top: var(--header-y) !important;
    transform: translateY(-50%) !important;
    width: var(--header-logo-w) !important;
    max-width: calc(100vw - 180px) !important;
    height: auto !important;
    display: block !important;
    line-height: 0 !important;
    z-index: 100035 !important;
}

.contenedor-superior-header .elementor-widget-tl-site-logo img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left center !important;
}

/* ================================
   Grupo derecha: sonido + menu
   ================================ */

.contenedor-superior-header > .elementor-element-e236ed3 {
    position: absolute !important;
    right: var(--header-x) !important;
    top: var(--header-y) !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: var(--header-icon-box) !important;
    min-height: var(--header-icon-box) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--header-icon-gap) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    box-sizing: border-box !important;
    z-index: 100040 !important;
}

html.menu-desplegable-bloqueado .contenedor-superior-header > .elementor-element-e236ed3,
body.menu-desplegable-bloqueado .contenedor-superior-header > .elementor-element-e236ed3 {
    transform: translateX(calc(var(--mirokutana-scrollbar-ancho, 0px) * -1)) translateY(-50%) !important;
}

.contenedor-superior-header .elementor-element-c47dfdf,
.contenedor-superior-header .boton-audio-video,
.contenedor-superior-header .boton-menu {
    width: var(--header-icon-box) !important;
    height: var(--header-icon-box) !important;
    min-width: var(--header-icon-box) !important;
    max-width: var(--header-icon-box) !important;
    min-height: var(--header-icon-box) !important;
    max-height: var(--header-icon-box) !important;
    flex: 0 0 var(--header-icon-box) !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    box-sizing: border-box !important;
}

/* ================================
   Boton sonido
   ================================ */

.contenedor-superior-header .boton-audio-video {
    position: relative !important;
    overflow: hidden !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.contenedor-superior-header .boton-audio-video * {
    pointer-events: none !important;
}

.contenedor-superior-header .boton-audio-video .icono-audio {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: calc(var(--header-icon-box) * 0.55) !important;
    height: calc(var(--header-icon-box) * 0.55) !important;
    min-width: calc(var(--header-icon-box) * 0.55) !important;
    max-width: calc(var(--header-icon-box) * 0.55) !important;
    min-height: calc(var(--header-icon-box) * 0.55) !important;
    max-height: calc(var(--header-icon-box) * 0.55) !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.contenedor-superior-header .boton-audio-video.audio-silenciado .icono-audio-off,
.contenedor-superior-header .boton-audio-video.audio-activo .icono-audio-on {
    opacity: 1 !important;
    visibility: visible !important;
}

.contenedor-superior-header .boton-audio-video.audio-silenciado .icono-audio-on,
.contenedor-superior-header .boton-audio-video.audio-activo .icono-audio-off {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* ================================
   Boton menu: hamburguesa + X
   ================================ */

.contenedor-superior-header .boton-menu {
    position: relative !important;
    border: 0 !important;
    transform: none !important;
    overflow: visible !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    z-index: 100050 !important;
}

.contenedor-superior-header .boton-menu * {
    pointer-events: none !important;
    transform-origin: center center !important;
}

.contenedor-superior-header .boton-menu .boton-menu-icono-js,
.contenedor-superior-header .boton-menu-icono-js {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.contenedor-superior-header .boton-menu .elementor-icon-wrapper,
.contenedor-superior-header .boton-menu .elementor-icon {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: var(--header-icon-box) !important;
    height: var(--header-icon-box) !important;
    min-width: var(--header-icon-box) !important;
    max-width: var(--header-icon-box) !important;
    min-height: var(--header-icon-box) !important;
    max-height: var(--header-icon-box) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    transform: translate(-50%, -50%) !important;
}

.contenedor-superior-header .boton-menu svg,
.contenedor-superior-header .boton-menu img:not(.boton-menu-icono-js),
.contenedor-superior-header .boton-menu i {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: calc(var(--header-icon-box) * 0.64) !important;
    height: calc(var(--header-icon-box) * 0.64) !important;
    max-width: calc(var(--header-icon-box) * 0.64) !important;
    max-height: calc(var(--header-icon-box) * 0.64) !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: translate(-50%, -50%) scale(1) !important;
    transition:
        opacity 0.32s ease,
        transform 0.42s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* X pequena y centrada. No usa SVG externo, por eso no hereda aire ni tamano raro. */
.contenedor-superior-header .boton-menu::before,
.contenedor-superior-header .boton-menu::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: var(--menu-x-size) !important;
    height: var(--menu-x-stroke) !important;
    min-width: var(--menu-x-size) !important;
    max-width: var(--menu-x-size) !important;
    min-height: var(--menu-x-stroke) !important;
    max-height: var(--menu-x-stroke) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    background-image: none !important;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform-origin: center center !important;
    transition:
        opacity 0.32s ease,
        transform 0.42s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.contenedor-superior-header .boton-menu::before {
    transform: translate(-50%, -50%) rotate(45deg) scale(0.96) !important;
}

.contenedor-superior-header .boton-menu::after {
    transform: translate(-50%, -50%) rotate(-45deg) scale(0.96) !important;
}

.contenedor-superior-header .boton-menu.boton-menu-activo svg,
.contenedor-superior-header .boton-menu.boton-menu-activo img:not(.boton-menu-icono-js),
.contenedor-superior-header .boton-menu.boton-menu-activo i,
.contenedor-superior-header .boton-menu.boton-menu-activo .elementor-icon {
    opacity: 0 !important;
    transform: translate(-50%, -50%) scale(0.96) !important;
}

.contenedor-superior-header .boton-menu.boton-menu-activo::before {
    opacity: 1 !important;
    transform: translate(-50%, -50%) rotate(45deg) scale(1) !important;
}

.contenedor-superior-header .boton-menu.boton-menu-activo::after {
    opacity: 1 !important;
    transform: translate(-50%, -50%) rotate(-45deg) scale(1) !important;
}

/* ================================
   Menu desplegable
   ================================ */

.menu-desplegable {
    --menu-font-main: clamp(20px, 1.65vw, 32px);
    --menu-font-lang: clamp(10px, 0.78vw, 13px);
    --menu-main-gap: clamp(14px, 2.8vh, 30px);
    --menu-lang-gap: clamp(24px, 4.6vw, 78px);
    --menu-lang-mt: clamp(6px, 1.2vh, 14px);

    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(0) scale(1.015) !important;
    margin: 0 !important;
    padding: clamp(76px, 10vh, 118px) clamp(18px, 4vw, 56px) clamp(48px, 7vh, 84px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    background: transparent !important;
    transition:
        opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.95s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.85s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.menu-desplegable.menu-abierto {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
    background: rgba(0, 0, 0, 0.06) !important;
}

.menu-desplegable.menu-cerrando {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform: translateY(0) scale(1.015) !important;
    background: transparent !important;
}

.menu-desplegable,
.menu-desplegable * {
    font-family: "Lato Local", "Lato", Arial, sans-serif !important;
    font-weight: 400 !important;
}

.menu-desplegable,
.menu-desplegable .elementor-section,
.menu-desplegable .elementor-container,
.menu-desplegable .elementor-widget-wrap,
.menu-desplegable .e-con,
.menu-desplegable .e-con-inner,
.menu-desplegable .elementor-widget-container,
.menu-desplegable .elementor-element {
    background-color: transparent !important;
}

.menu-desplegable > *,
.menu-desplegable .elementor-container,
.menu-desplegable .elementor-widget-wrap,
.menu-desplegable .elementor-element {
    position: relative !important;
    z-index: 2 !important;
}

/* Bloque principal */
.menu-desplegable > .elementor-element-6907121 {
    --gap: var(--menu-main-gap) !important;
    width: 100% !important;
    max-width: 920px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--menu-main-gap) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.menu-desplegable .filmografia-texto,
.menu-desplegable .quienes-somos-texto,
.menu-desplegable .contacto-texto,
.menu-desplegable .texto {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 0 !important;
    transform: translateY(24px) scale(0.985) !important;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.88s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.35s ease !important;
}

.menu-desplegable.menu-abierto .filmografia-texto,
.menu-desplegable.menu-abierto .quienes-somos-texto,
.menu-desplegable.menu-abierto .contacto-texto,
.menu-desplegable.menu-abierto .texto {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    transition-delay: 0.22s !important;
}

.menu-desplegable.menu-cerrando .filmografia-texto,
.menu-desplegable.menu-cerrando .quienes-somos-texto,
.menu-desplegable.menu-cerrando .contacto-texto,
.menu-desplegable.menu-cerrando .texto {
    opacity: 0 !important;
    transform: translateY(24px) scale(0.985) !important;
    transition-delay: 0s !important;
}

.menu-desplegable .filmografia-texto .elementor-heading-title,
.menu-desplegable .quienes-somos-texto .elementor-heading-title,
.menu-desplegable .contacto-texto .elementor-heading-title,
.menu-desplegable .texto .elementor-heading-title,
.menu-desplegable .filmografia-texto a,
.menu-desplegable .quienes-somos-texto a,
.menu-desplegable .contacto-texto a,
.menu-desplegable .texto a {
    font-family: "Lato Local", "Lato", Arial, sans-serif !important;
    font-size: var(--menu-font-main) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

.menu-desplegable.menu-abierto .filmografia-texto,
.menu-desplegable.menu-abierto .quienes-somos-texto,
.menu-desplegable.menu-abierto .contacto-texto,
.menu-desplegable.menu-abierto .texto,
.menu-desplegable.menu-abierto .filmografia-texto *,
.menu-desplegable.menu-abierto .quienes-somos-texto *,
.menu-desplegable.menu-abierto .contacto-texto *,
.menu-desplegable.menu-abierto .texto * {
    pointer-events: auto !important;
    cursor: pointer !important;
}

.menu-desplegable.menu-abierto .filmografia-texto:hover,
.menu-desplegable.menu-abierto .quienes-somos-texto:hover,
.menu-desplegable.menu-abierto .contacto-texto:hover,
.menu-desplegable.menu-abierto .texto:hover,
.menu-desplegable.menu-abierto .filmografia-texto:hover .elementor-heading-title,
.menu-desplegable.menu-abierto .quienes-somos-texto:hover .elementor-heading-title,
.menu-desplegable.menu-abierto .contacto-texto:hover .elementor-heading-title,
.menu-desplegable.menu-abierto .texto:hover .elementor-heading-title {
    transform: scale(1.035) !important;
    letter-spacing: 0 !important;
}

/* Idiomas */
.menu-desplegable > .elementor-element-c35d458 {
    --gap: var(--menu-lang-gap) !important;
    width: 100% !important;
    max-width: 460px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: var(--menu-lang-gap) !important;
    row-gap: 8px !important;
    margin: var(--menu-lang-mt) auto 0 !important;
    padding: 0 !important;
}

.menu-desplegable > .e-con:has(.boton-idioma-eu),
.menu-desplegable > .e-con:has(.boton-idioma-en),
.menu-desplegable > .e-con:has(.boton-idioma-es) {
    --gap: var(--menu-lang-gap) !important;
    width: 100% !important;
    max-width: 460px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: var(--menu-lang-gap) !important;
    row-gap: 8px !important;
    margin: var(--menu-lang-mt) auto 0 !important;
    padding: 0 !important;
}

.menu-desplegable .boton-idioma-eu,
.menu-desplegable .boton-idioma-en,
.menu-desplegable .boton-idioma-es {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 0 !important;
    transform: translateY(24px) scale(0.985) !important;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.88s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.35s ease !important;
}

.menu-desplegable .boton-idioma-eu,
.menu-desplegable .boton-idioma-en,
.menu-desplegable .boton-idioma-es,
.menu-desplegable .boton-idioma-eu *,
.menu-desplegable .boton-idioma-en *,
.menu-desplegable .boton-idioma-es * {
    font-family: "Lato Local", "Lato", Arial, sans-serif !important;
    font-size: var(--menu-font-lang) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.menu-desplegable.menu-abierto .boton-idioma-eu,
.menu-desplegable.menu-abierto .boton-idioma-en,
.menu-desplegable.menu-abierto .boton-idioma-es {
    opacity: 0.72 !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    transition-delay: 0.22s !important;
}

.menu-desplegable.menu-abierto .boton-idioma-eu.idioma-activo,
.menu-desplegable.menu-abierto .boton-idioma-en.idioma-activo,
.menu-desplegable.menu-abierto .boton-idioma-es.idioma-activo {
    opacity: 1 !important;
}

/* ================================
   Responsive
   ================================ */

@media (max-width: 1024px) {
    .contenedor-superior-header {
        --header-x: clamp(18px, 4vw, 42px);
        --header-h: clamp(76px, 9vw, 100px);
        --header-logo-w: clamp(190px, 25vw, 280px);
        --header-icon-box: 42px;
        --header-icon-gap: 16px;
        --menu-x-size: 18px;
    }

    .menu-desplegable {
        --menu-font-main: clamp(19px, 2.5vw, 27px);
        --menu-font-lang: 11px;
        --menu-main-gap: clamp(12px, 2.4vh, 24px);
        --menu-lang-gap: clamp(22px, 5vw, 52px);
        --menu-lang-mt: 8px;
    }
}

@media (max-width: 767px) {
    .contenedor-superior-header {
        --header-x: clamp(14px, 5vw, 26px);
        --header-h: 72px;
        --header-logo-w: clamp(155px, 42vw, 205px);
        --header-icon-box: 38px;
        --header-icon-gap: 10px;
        --menu-x-size: 17px;
        --menu-x-stroke: 2px;
    }

    html.menu-desplegable-bloqueado .contenedor-superior-header > .elementor-element-e236ed3,
    body.menu-desplegable-bloqueado .contenedor-superior-header > .elementor-element-e236ed3 {
        transform: translateY(-50%) !important;
    }

    .contenedor-superior-header .elementor-widget-tl-site-logo a {
        max-width: calc(100vw - 126px) !important;
    }

    .menu-desplegable {
        --menu-font-main: clamp(18px, 5.3vw, 22px);
        --menu-font-lang: 10.5px;
        --menu-main-gap: clamp(10px, 2.2vh, 18px);
        --menu-lang-gap: clamp(16px, 5vw, 28px);
        --menu-lang-mt: 6px;
        padding: 74px 18px 44px !important;
    }

    .menu-desplegable > .elementor-element-c35d458 {
        max-width: 100% !important;
    }

    .menu-desplegable > .e-con:has(.boton-idioma-eu),
    .menu-desplegable > .e-con:has(.boton-idioma-en),
    .menu-desplegable > .e-con:has(.boton-idioma-es) {
        max-width: 100% !important;
    }

    body.menu-blur-activo::before {
        background: rgba(0, 0, 0, 0.78) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
    }
}

@media (max-width: 390px) {
    .contenedor-superior-header {
        --header-x: 13px;
        --header-logo-w: 158px;
        --header-icon-box: 36px;
        --header-icon-gap: 8px;
        --menu-x-size: 16px;
    }

    .contenedor-superior-header .elementor-widget-tl-site-logo a {
        max-width: calc(100vw - 112px) !important;
    }
}

@media (max-height: 640px) {
    .menu-desplegable {
        --menu-font-main: clamp(17px, 4.8vh, 24px);
        --menu-font-lang: 10px;
        --menu-main-gap: 10px;
        --menu-lang-mt: 5px;
        padding-top: 66px !important;
        padding-bottom: 32px !important;
    }
}
/* ===================================================== */
/* MIROKUTANA - ANIMACIÓN DE MENÚ OPTIMIZADA */
/* Debe ir al final de todo el CSS */
/* ===================================================== */

html.menu-desplegable-bloqueado,
body.menu-desplegable-bloqueado {
    overflow: hidden !important;
}


/* Fondo oscuro sin desenfoque real */
html body::before {
    content: "" !important;

    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;

    z-index: 99998 !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    background:
        radial-gradient(
            circle at 50% 42%,
            rgba(65, 71, 88, 0.32) 0%,
            rgba(22, 24, 30, 0.72) 46%,
            rgba(0, 0, 0, 0.95) 100%
        ) !important;

    /*
     * Estas propiedades son las que más ralentizan
     * un fondo situado sobre un vídeo.
     */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;

    transition:
        opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0.28s !important;

    will-change: opacity !important;
}

html body.menu-blur-activo::before {
    opacity: 1 !important;
    visibility: visible !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;

    transition:
        opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0s !important;
}


/* Menú a pantalla completa */
html body .menu-desplegable {
    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;

    z-index: 99999 !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    /*
     * No se escala ni se desenfoca una capa
     * que ocupa toda la pantalla.
     */
    transform: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transition:
        opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0.28s !important;

    will-change: opacity !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

html body .menu-desplegable.menu-abierto {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transition:
        opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0s !important;
}

html body .menu-desplegable.menu-cerrando {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;

    transform: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transition:
        opacity 0.24s ease,
        visibility 0s linear 0.24s !important;
}


/* Textos: solo opacidad y pequeño desplazamiento */
html body .menu-desplegable .filmografia-texto,
html body .menu-desplegable .quienes-somos-texto,
html body .menu-desplegable .contacto-texto,
html body .menu-desplegable .boton-idioma-es,
html body .menu-desplegable .boton-idioma-en,
html body .menu-desplegable .boton-idioma-eu {
    opacity: 0 !important;
    transform: translate3d(0, 8px, 0) !important;

    filter: none !important;
    backdrop-filter: none !important;

    transition:
        opacity 0.2s ease,
        transform 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;

    will-change: opacity, transform !important;
}

html body .menu-desplegable.menu-abierto .filmografia-texto,
html body .menu-desplegable.menu-abierto .quienes-somos-texto,
html body .menu-desplegable.menu-abierto .contacto-texto,
html body .menu-desplegable.menu-abierto .boton-idioma-es,
html body .menu-desplegable.menu-abierto .boton-idioma-en,
html body .menu-desplegable.menu-abierto .boton-idioma-eu {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
}

html body .menu-desplegable.menu-abierto .filmografia-texto {
    transition-delay: 0.03s !important;
}

html body .menu-desplegable.menu-abierto .quienes-somos-texto {
    transition-delay: 0.06s !important;
}

html body .menu-desplegable.menu-abierto .contacto-texto {
    transition-delay: 0.09s !important;
}

html body .menu-desplegable.menu-abierto .boton-idioma-es,
html body .menu-desplegable.menu-abierto .boton-idioma-en,
html body .menu-desplegable.menu-abierto .boton-idioma-eu {
    transition-delay: 0.12s !important;
}

html body .menu-desplegable.menu-cerrando .filmografia-texto,
html body .menu-desplegable.menu-cerrando .quienes-somos-texto,
html body .menu-desplegable.menu-cerrando .contacto-texto,
html body .menu-desplegable.menu-cerrando .boton-idioma-es,
html body .menu-desplegable.menu-cerrando .boton-idioma-en,
html body .menu-desplegable.menu-cerrando .boton-idioma-eu {
    opacity: 0 !important;
    transform: translate3d(0, 5px, 0) !important;
    transition-delay: 0s !important;
}


/* Botones siempre utilizables */
html body .boton-menu,
html body .boton-audio-video {
    pointer-events: auto !important;
    cursor: pointer !important;
}


/* Personas que tienen reducción de movimiento activada */
@media (prefers-reduced-motion: reduce) {
    html body::before,
    html body .menu-desplegable,
    html body .menu-desplegable .filmografia-texto,
    html body .menu-desplegable .quienes-somos-texto,
    html body .menu-desplegable .contacto-texto,
    html body .menu-desplegable .boton-idioma-es,
    html body .menu-desplegable .boton-idioma-en,
    html body .menu-desplegable .boton-idioma-eu {
        transition-duration: 0.01ms !important;
        transition-delay: 0s !important;
    }
}/* End custom CSS */