.elementor-8120 .elementor-element.elementor-element-fbf0f44{--display:flex;--min-height:15vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--z-index:3;}.elementor-8120 .elementor-element.elementor-element-7a1a2d66{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--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-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-8120 .elementor-element.elementor-element-5db3bede{padding:0px 0px 0px 20px;text-align:left;}.elementor-8120 .elementor-element.elementor-element-5db3bede .elementor-heading-title{font-family:"Satoshi", Sans-serif;font-size:34px;font-weight:700;text-transform:uppercase;line-height:30px;word-spacing:0px;color:#FEFEFE;}.elementor-8120 .elementor-element.elementor-element-5b20bbbe{--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;--justify-content: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-8120 .elementor-element.elementor-element-df96fa9{padding:0px 20px 0px 0px;}.elementor-8120 .elementor-element.elementor-element-df96fa9.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-44ced4be{--display:flex;--min-height:100vh;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-8120 .elementor-element.elementor-element-4909154b{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:60px;}.elementor-8120 .elementor-element.elementor-element-4909154b.e-con{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-56154d66{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-8120 .elementor-element.elementor-element-779b25db{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:99999;}.elementor-8120 .elementor-element.elementor-element-779b25db.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-779b25db .elementor-button{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:500;fill:#FEFEFE;color:#FEFEFE;}.elementor-8120 .elementor-element.elementor-element-6f318659{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-8120 .elementor-element.elementor-element-74e933d7.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-74e933d7 .elementor-button{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:500;}.elementor-8120 .elementor-element.elementor-element-5d6337d8.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-5d6337d8 .elementor-button{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:500;}.elementor-8120 .elementor-element.elementor-element-41a9fad2.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-41a9fad2 .elementor-button{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:500;}.elementor-8120 .elementor-element.elementor-element-2833c2c1.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-2833c2c1 .elementor-button{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:500;}.elementor-8120 .elementor-element.elementor-element-6aca07a9.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-6aca07a9 .elementor-button{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:500;}.elementor-8120 .elementor-element.elementor-element-199024ac{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a{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-text );}.elementor-widget-polylang-language-switcher .cpel-switcher__icon{color:var( --e-global-color-text );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a:hover, .elementor-widget-polylang-language-switcher .cpel-switcher__lang a:focus{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-accent );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang.cpel-switcher__lang--active a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-8120 .elementor-element.elementor-element-14d829c.elementor-element{--align-self:flex-end;}.elementor-8120 .elementor-element.elementor-element-14d829c .cpel-switcher__lang a{font-family:"Satoshi", Sans-serif;font-size:5vw;font-weight:400;}.elementor-8120 .elementor-element.elementor-element-14d829c .cpel-switcher__nav{--cpel-switcher-space:15px;}.elementor-8120 .elementor-element.elementor-element-14d829c .cpel-switcher__code{padding-left:10px;}.elementor-8120 .elementor-element.elementor-element-75881b61{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-8120 .elementor-element.elementor-element-d1bcfc8{--display:flex;}.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-8120 .elementor-element.elementor-element-4909154b{--padding-top:015px;--padding-bottom:75px;--padding-left:0px;--padding-right:0px;}.elementor-8120 .elementor-element.elementor-element-779b25db .elementor-button{font-size:13vw;}.elementor-8120 .elementor-element.elementor-element-6f318659{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-8120 .elementor-element.elementor-element-74e933d7 .elementor-button{font-size:13vw;}.elementor-8120 .elementor-element.elementor-element-5d6337d8 .elementor-button{font-size:13vw;}.elementor-8120 .elementor-element.elementor-element-41a9fad2 .elementor-button{font-size:13vw;}.elementor-8120 .elementor-element.elementor-element-2833c2c1 .elementor-button{font-size:13vw;}.elementor-8120 .elementor-element.elementor-element-6aca07a9 .elementor-button{font-size:13vw;}.elementor-8120 .elementor-element.elementor-element-14d829c.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-14d829c .cpel-switcher__lang a{font-size:13vw;}}@media(min-width:768px){.elementor-8120 .elementor-element.elementor-element-fbf0f44{--content-width:100vw;}.elementor-8120 .elementor-element.elementor-element-7a1a2d66{--width:50%;}.elementor-8120 .elementor-element.elementor-element-5b20bbbe{--width:50%;}.elementor-8120 .elementor-element.elementor-element-44ced4be{--width:100vw;}}@media(max-width:767px){.elementor-8120 .elementor-element.elementor-element-fbf0f44{--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-8120 .elementor-element.elementor-element-7a1a2d66{--width:50%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-8120 .elementor-element.elementor-element-5db3bede{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 20px;}.elementor-8120 .elementor-element.elementor-element-5db3bede .elementor-heading-title{font-size:20px;line-height:1.1em;}.elementor-8120 .elementor-element.elementor-element-5b20bbbe{--width:50%;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-8120 .elementor-element.elementor-element-44ced4be{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-8120 .elementor-element.elementor-element-4909154b{--justify-content:center;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--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-8120 .elementor-element.elementor-element-56154d66{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0 0;--row-gap:0;--column-gap:0;--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-8120 .elementor-element.elementor-element-56154d66.e-con{--align-self:flex-start;}.elementor-8120 .elementor-element.elementor-element-779b25db{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-8120 .elementor-element.elementor-element-779b25db.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-779b25db .elementor-button{font-size:12vw;}.elementor-8120 .elementor-element.elementor-element-6f318659{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0 0;--row-gap:0;--column-gap:0;--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-8120 .elementor-element.elementor-element-74e933d7.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-74e933d7 .elementor-button{font-size:12vw;}.elementor-8120 .elementor-element.elementor-element-5d6337d8.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-5d6337d8 .elementor-button{font-size:12vw;}.elementor-8120 .elementor-element.elementor-element-41a9fad2.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-41a9fad2 .elementor-button{font-size:12vw;}.elementor-8120 .elementor-element.elementor-element-2833c2c1.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-2833c2c1 .elementor-button{font-size:12vw;}.elementor-8120 .elementor-element.elementor-element-6aca07a9.elementor-element{--align-self:center;}.elementor-8120 .elementor-element.elementor-element-6aca07a9 .elementor-button{font-size:12vw;}.elementor-8120 .elementor-element.elementor-element-199024ac{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0 0;--row-gap:0;--column-gap:0;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-8120 .elementor-element.elementor-element-14d829c .cpel-switcher__lang a{font-size:12vw;}}/* Start custom CSS for container, class: .elementor-element-fbf0f44 */background-color: transparent !important;/* End custom CSS */
/* Start custom CSS *//* ===== Scroll normal ===== */
html, body{
  height: auto;
  margin: 0;
  overflow-x: hidden;
}



/* NO bloquees con overflow hidden en body: lo haremos con JS para no saltar arriba */

/* ===== Menú panel (naranja) ===== */
.menu-container{
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: #FF7060;
  z-index: 9999;

  transform: translate3d(100%,0,0); /* fuera por la derecha */
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);

  pointer-events: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

html.menu-open .menu-container{
  transform: translate3d(0,0,0);
  pointer-events: auto;

  /* salida distinta (al cerrar) */
  transition: transform 0.70s cubic-bezier(.22,1,.36,1);
}

/* Estructura interna en columna */
.menu-container .e-con-inner{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Estado base para GSAP */
.menu-container .menu-link{
  opacity: 0;
  transform: translate3d(0,-20px,0);
  will-change: transform, opacity;
}

/* Botón del header */
.menu-button,
.menu-button .elementor-button-text{
  color: #FEFEFE !important;
}



/* Evita que el propio botón cambie de alto */
.menu-button{
  height: 52px !important;
  min-height: 52px !important;
}



/* iPad landscape ajustes */
@media (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape){
  .SECCIONES-5BTNS{
    row-gap: 0px !important;
    column-gap: 0px !important;
  }
}

/* Quitar fondo/overlay negro del wrapper real del header */
header.elementor-location-header,
header.elementor-location-header::before,
header.elementor-location-header::after{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
header.elementor-location-header::before,
header.elementor-location-header::after{
  content: none !important;
}

/* Cursor dedito SIEMPRE en los 3 */
.menu-button,
.menu-close,
.menu-container .menu-link,
.menu-button a,
.menu-close a,
.menu-container .menu-link a{
  cursor: pointer !important;
}

/* (Tu hover scale, solo en links del menú y close interno) */
.menu-link .elementor-button-content-wrapper,
.menu-close .elementor-button-content-wrapper{
  display: inline-block;
  transition: transform .28s cubic-bezier(.22,1,.36,1);
  transform-origin: left center;
  will-change: transform;
} 
.menu-link:hover .elementor-button-content-wrapper,
.menu-close:hover .elementor-button-content-wrapper{
  transform: scale(1.01);
}
/* ===== FIX: evita el “flash” de tamaño del botón MENU del header ===== */

/* 1) El texto del botón SIEMPRE igual (antes/durante/después) */
.menu-button .elementor-button-text{
  font-family: 'Satoshi', sans-serif !important;
  font-size: 30px !important;   /* tu tamaño desktop */
  line-height: 1.1 !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  transform: none !important;
}

/* 2) Prohibimos que el estado menu-open lo “infle” */
html.menu-open .menu-button .elementor-button-text{
  font-size: 30px !important;   /* MISMO número */
  transform: none !important;
}

/* 3) Si el pack mete scale/transform al botón completo */
.menu-button,
html.menu-open .menu-button{
  transform: none !important;
}

/* 4) Responsive real (ajusta números a tu gusto) */
@media (max-width: 1024px){
  .menu-button .elementor-button-text,
  html.menu-open .menu-button .elementor-button-text{
    font-size: 40px !important;
  }
}
@media (max-width: 767px){
  .menu-button .elementor-button-text,
  html.menu-open .menu-button .elementor-button-text{
    font-size: 22px !important;
  }
}
/* ===== MENU TOGGLE (Heading clickable) ===== */
.menu-toggle{
  cursor: pointer;
  color: #FEFEFE;
  user-select: none;
  display: inline-block;
}

/* Tipografía/tamaño responsive (igual que tu menú-button) */
.menu-toggle .elementor-heading-title{
  font-family: 'Satoshi', sans-serif;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 500;
  text-transform: uppercase;
}

@media (max-width: 1024px){
  .menu-toggle .elementor-heading-title{ font-size: 40px; }
}
@media (max-width: 767px){
  .menu-toggle .elementor-heading-title{ font-size: 22px; }
}
.menu-toggle .elementor-heading-title{
  transition: transform .28s cubic-bezier(.22,1,.36,1);
  transform-origin: left center;
}
.menu-toggle:hover .elementor-heading-title{
  transform: scale(1.01);
}

/* SCALE solo el texto interno para que no afecte al layout */
.menu-link :is(.elementor-button-content-wrapper, .elementor-button-text),
.menu-close :is(.elementor-button-content-wrapper, .elementor-button-text),
.menu-toggle .elementor-heading-title{
  display: inline-block;
  transition: transform .28s cubic-bezier(.22,1,.36,1);
  transform-origin: left center;
  will-change: transform;
}

.menu-link:hover :is(.elementor-button-content-wrapper, .elementor-button-text),
.menu-close:hover :is(.elementor-button-content-wrapper, .elementor-button-text),
.menu-toggle:hover .elementor-heading-title{
  transform: scale(1.01); /* sube a 1.02 si quieres */
}

/* Mientras el menú está abierto, el lux sigue, pero NO afecta al primer render de la cascada */
html.menu-open .ds-lux-scope :is(.menu-link, .menu-close){
  backface-visibility: hidden;
}
/* HOME: oculto por defecto (anti-flash) */
body.home .menu-bar-wrapper{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* HOME: JS ya está listo → se decide por hero */
body.home.ds-hero-ready:not(.ds-hero-active) .menu-bar-wrapper{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity .25s ease !important;
}

body.home.ds-hero-ready.ds-hero-active .menu-bar-wrapper{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ===== Switch idioma integrado en el menú ===== */

/* El widget no queda oculto por el estado base del menú */
.menu-container .menu-lang{
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}

/* Cursor y comportamiento de los links internos */
.menu-container .menu-lang a{
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .28s cubic-bezier(.22,1,.36,1) !important;
  transform-origin: left center !important;
  will-change: transform !important;
}

/* Hover igual que el resto del menú */
.menu-container .menu-lang a:hover{
  transform: scale(1.01) !important;
}

/* Si el plugin mete lista, la limpiamos sin tocar fuente/tamaño del widget */
.menu-container .menu-lang ul,
.menu-container .menu-lang li{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Cursor también sobre spans internos si los hubiera */
.menu-container .menu-lang span{
  cursor: pointer !important;
}/* End custom CSS */