.elementor-62 .elementor-element.elementor-element-7564b32{--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;--align-items:center;--margin-top:-10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:1000;}.elementor-62 .elementor-element.elementor-element-9347989{--display:flex;}.elementor-62 .elementor-element.elementor-element-6f86141{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:12px;--padding-bottom:12px;--padding-left:0px;--padding-right:0px;}.elementor-62 .elementor-element.elementor-element-8712cba{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-62 .elementor-element.elementor-element-8712cba.e-con{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-62 .elementor-element.elementor-element-349ab74{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 0% 0% 5%;text-align:left;}.elementor-62 .elementor-element.elementor-element-349ab74 img{width:55%;}.elementor-62 .elementor-element.elementor-element-7267ae8{--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:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-62 .elementor-element.elementor-element-7267ae8.e-con{--align-self:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-62 .elementor-element.elementor-element-41b08e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-menu-toggle{margin-left:auto;background-color:var( --e-global-color-text );}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu .elementor-item{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:500;line-height:29px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main .elementor-item{color:#FFFCF5;fill:#FFFCF5;padding-left:10px;padding-right:10px;padding-top:3px;padding-bottom:3px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main .elementor-item:focus{color:#000000;fill:#000000;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#000000;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown a, .elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-menu-toggle{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-accent );}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown .elementor-item, .elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Lato", Sans-serif;font-size:19px;font-weight:500;}.elementor-62 .elementor-element.elementor-element-41b08e1 div.elementor-menu-toggle{color:#161616;}.elementor-62 .elementor-element.elementor-element-41b08e1 div.elementor-menu-toggle svg{fill:#161616;}.elementor-62 .elementor-element.elementor-element-b38f267{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-62 .elementor-element.elementor-element-b38f267.e-con{--align-self:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button{background-color:#FFFFFF;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:500;line-height:29px;fill:#000000;color:#000000;border-radius:50px 50px 50px 50px;padding:5px 14px 5px 16px;}.elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button:hover, .elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button:focus{background-color:#FFFFFF00;color:#FFFFFF;}.elementor-62 .elementor-element.elementor-element-36fd54a{padding:0% 10% 0% 0%;}.elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button:hover svg, .elementor-62 .elementor-element.elementor-element-36fd54a .elementor-button:focus svg{fill:#FFFFFF;}.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-62 .elementor-element.elementor-element-7564b32{--margin-top:-20%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-62 .elementor-element.elementor-element-6f86141{--justify-content:center;}.elementor-62 .elementor-element.elementor-element-8712cba{--min-height:0px;--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-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-62 .elementor-element.elementor-element-349ab74{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-62 .elementor-element.elementor-element-349ab74 img{width:70%;}.elementor-62 .elementor-element.elementor-element-7267ae8{--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:2%;}.elementor-62 .elementor-element.elementor-element-7267ae8.e-con{--order:3;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-62 .elementor-element.elementor-element-41b08e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-menu-toggle{border-radius:100px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-62 .elementor-element.elementor-element-7564b32{--margin-top:-50%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--z-index:1000;}.elementor-62 .elementor-element.elementor-element-9347989{--min-height:0px;}.elementor-62 .elementor-element.elementor-element-6f86141{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-62 .elementor-element.elementor-element-8712cba{--width:80%;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-62 .elementor-element.elementor-element-349ab74{text-align:left;}.elementor-62 .elementor-element.elementor-element-349ab74 img{width:65%;}.elementor-62 .elementor-element.elementor-element-7267ae8{--width:20%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown .elementor-item, .elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:10px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--dropdown a{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:5px !important;}.elementor-62 .elementor-element.elementor-element-41b08e1{--nav-menu-icon-size:18px;}.elementor-62 .elementor-element.elementor-element-41b08e1 .elementor-menu-toggle{border-width:0px;border-radius:100px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(min-width:768px){.elementor-62 .elementor-element.elementor-element-6f86141{--width:90%;}.elementor-62 .elementor-element.elementor-element-8712cba{--width:30%;}.elementor-62 .elementor-element.elementor-element-7267ae8{--width:50%;}.elementor-62 .elementor-element.elementor-element-b38f267{--width:25%;}}@media(max-width:1024px) and (min-width:768px){.elementor-62 .elementor-element.elementor-element-6f86141{--width:95%;}.elementor-62 .elementor-element.elementor-element-8712cba{--width:40%;}.elementor-62 .elementor-element.elementor-element-7267ae8{--width:10%;}.elementor-62 .elementor-element.elementor-element-b38f267{--width:38%;}}/* Start custom CSS for nav-menu, class: .elementor-element-41b08e1 *//* CONTENEDOR DEL WIDGET (el que tiene la clase) */
.menu-header {
  min-width: 0;            /* permite encoger sin forzar salto ni corte */
  flex: 1 1 auto;          /* si su padre es flex, que pueda encoger */
}

/* LISTA DEL MENÚ */
.menu-header .elementor-nav-menu {
  display: flex;
  flex-wrap: nowrap;        /* siempre en una línea */
  justify-content: flex-start;
  gap: clamp(4px, 1.6vw, 22px);    /* separación fluida */
  overflow: visible;        /* nada de scroll ni recortes aquí */
}

/* ITEMS DEL MENÚ */
.menu-header .elementor-item {
  white-space: nowrap;      /* no partir el texto en varias líneas */
  word-break: keep-all;     /* evita cortes raros de palabras */
  padding-inline: clamp(4px, 1vw, 14px);  /* padding fluido */
  font-size: clamp(12px, 1.2vw, 16px);    /* tipografía fluida */
  line-height: 1.2;         /* compacto para que quepa mejor */
}

/* (IMPORTANTE) Padres flex del menú: permitir encoger */
.menu-header,
.menu-header * {
  min-width: 0;             /* por si hay padres flex que bloquean el shrink */
}
/* —— CONTENEDOR DEL MENÚ: centra verticalmente y evita wrap —— */
.menu-header .elementor-nav-menu{
  display:flex;
  align-items:center;      /* evita descuadres verticales */
  flex-wrap: nowrap;       /* seguimos en una línea */
  justify-content:flex-start;
  gap: clamp(4px, 1.6vw, 18px);  /* separaciones más contenidas en móvil */
}

/* —— ENLACES COMO “PASTILLA” ESTABLE —— */
.menu-header .elementor-item{
  display: inline-flex;     /* mejor que inline-block: centra el contenido */
  align-items: center;      /* centra verticalmente el texto */
  white-space: nowrap;      /* no partir palabras */
  line-height: 1;           /* altura consistente */
  padding: clamp(6px, 0.9vw, 10px) clamp(10px, 1.4vw, 16px);
  border-radius: 9999px;

  /* Anti-salto: el borde ya existe pero transparente,
     así al hacer hover/activo no cambia la altura/ancho */
  border: 1px solid transparent;

  background: transparent;
  color: #fff;              /* ajusta si tu header es claro */
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;

  vertical-align: middle;   /* por si en algún sitio cae como inline-element */
}

/* Hover y activo: misma “pastilla” sin mover nada */
.menu-header .elementor-item:hover,
.menu-header .elementor-item.elementor-item-active,
.menu-header .elementor-item.current-menu-item,
.menu-header .elementor-item.current_page_item{
  background: #fff;
  color: #000;
  border-color: #000;       /* el borde ya estaba “reservado”, no descuadra */
}

/* —— Asegura que los padres permiten encoger sin romper línea —— */
.menu-header,
.menu-header *{
  min-width: 0;
}

/* —— Ajuste fino extra para pantallas muy estrechas —— */
@media (max-width: 480px){
  .menu-header .elementor-nav-menu{ gap: 6px; }
  .menu-header .elementor-item{
    padding: 6px 10px;      /* un poco menos de padding en móvil */
    font-size: 12px;        /* baja tipografía si hace falta */
  }
}
/* ======= RESET ESTRUCTURAL DEL MENÚ ======= */
.menu-header .elementor-nav-menu {
  display: flex;
  flex-wrap: nowrap;           /* nunca a vertical */
  align-items: center;         /* alinea verticalmente todos los items */
  justify-content: flex-start;
  gap: clamp(4px, 1.2vw, 16px);
  margin: 0; padding: 0;       /* evita desplazamientos del UL */
  list-style: none;
  min-width: 0;
}

/* Cada LI se comporta como contenedor flex centrado */
.menu-header .elementor-nav-menu > li {
  display: flex;
  align-items: center;
  margin: 0; padding: 0;       /* limpia márgenes heredados del tema */
  min-width: 0;
}

/* El enlace como “pastilla” estable y autoajustada al texto */
.menu-header .elementor-nav-menu > li > a.elementor-item {
  display: inline-flex;        /* mejor que inline-block para centrar */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;      /* que el borde no cambie el tamaño */
  white-space: nowrap;         /* no partir palabras */
  word-break: keep-all;
  line-height: 1;              /* misma altura en todos */
  font-size: clamp(12px, 1.2vw, 16px);
  padding: clamp(6px, 0.9vw, 10px) clamp(10px, 1.3vw, 16px);
  border-radius: 9999px;

  /* “Anti-salto”: reserva el borde para que hover/activo no muevan nada */
  border: 0px solid transparent;

  background: transparent;
  color: #fff;                 /* ajusta si tu header es claro */
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
  min-width: 0;                /* deja encoger si hace falta */
}

/* Hover y activo (página actual) idénticos visualmente */
.menu-header .elementor-nav-menu > li > a.elementor-item:hover,
.menu-header .elementor-nav-menu > li.current-menu-item > a.elementor-item,
.menu-header .elementor-nav-menu > li.current_page_item > a.elementor-item,
.menu-header .elementor-nav-menu > li > a.elementor-item.elementor-item-active {
  background: #fff;
  color: #000;
  border-color: #000;          /* el borde ya existía transparente */
}

/* Evita decoraciones/indicadores del tema que desplacen alturas */
.menu-header .elementor-nav-menu a.elementor-item:before,
.menu-header .elementor-nav-menu a.elementor-item:after {
  content: none !important;
}

/* En móviles muy estrechos, compacta un poco más sin romper nada */
@media (max-width: 480px){
  .menu-header .elementor-nav-menu { gap: 6px; }
  .menu-header .elementor-nav-menu > li > a.elementor-item {
    padding: 6px 10px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7564b32 */#header-bar .header-internal {
  border: 1px solid rgba(0, 0, 0, 0.0);
}

#header-bar.elementor-sticky--effects .header-internal {
  /* change the nav background colour & add blur */
  background: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(5px);
  /* Pushes nav container away from edges */
  margin-top:30px;
  /* Add rounded edges */
  border-radius: 100px;
  border: 1px solid rgb(255, 255, 255, 0.6);
  padding-right: 10px;
  padding-left: 10px;
}

#header-bar.elementor-sticky--effects .header-internal .sticky-menu-items ul li a {
  /* change the nav menu text colour - optional */
  color: #fff !important;
}

#header-bar.elementor-sticky--effects .header-internal, #header-bar .header-internal .sticky-menu-items ul li a, #header-bar .elementor-sticky--effects .header-internal .header-logo, #header-bar .header-internal {
  transition: .3s all ease-in-out;
}

/* Mobile Styles */
@media (max-width: 767px) {
  #header-bar.elementor-sticky--effects .header-internal {
    background: rgba(0, 0, 0, 0.4) !important;
  }

  .elementor-nav-menu--dropdown {
    margin-left: 10px;
    margin-right: 10px;
  }
}
/* ======= FULLSCREEN MENU ======= */
.km-menu{
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(252, 249, 243, 0.88);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;          /* sin translate para evitar artefactos */
  overscroll-behavior: none;
  touch-action: none;                      /* ignora gestos mientras está abierto */
  height: 100dvh;                          /* viewport real móvil */
  
}
.km-menu__inner{
  height: 100%;
  display: grid; grid-template-rows: auto 1fr auto;
  padding: 20px clamp(16px, 6vw, 32px) 28px;
  overflow: hidden;
}
.km-menu__header{ display:flex; align-items:center; justify-content:space-between; }
.km-menu__logo{ text-decoration:none; color:#111; font-weight:800; letter-spacing:.3px; }
.km-logo-img{ height:38px; width:auto; display:block; }
.km-menu__close{ appearance:none; border:0; background:transparent !important; padding:10px;
  border-radius:12px; color:#111; -webkit-tap-highlight-color:transparent; box-shadow:none !important; outline:none !important; }
.km-menu__close svg{ transition: transform .35s ease; transform-origin:50% 50%; }

.km-menu__list{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.km-link{
  display:block; font-size:clamp(28px,6.5vw,38px); font-weight:700; line-height:1.15;
  color:#111; text-decoration:none; padding:10px 0;
  transform: translateY(6px); opacity:0;
  transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .5s ease;
  transition-delay: calc(var(--i,0) * 40ms);
}
.km-link:hover{ text-decoration: underline; }
.km-menu__meta{ display:flex; flex-wrap:wrap; gap:12px 18px; border-top:1px solid rgba(0,0,0,.08); padding-top:16px; margin-top:8px; }
.km-meta{ text-decoration:none; color:#444; font-size:14px; }

/* Estado ABIERTO */
.km-menu.is-open{ opacity:1; pointer-events:auto; }
.km-menu.is-open .km-link{ opacity:1; transform:translateY(0); }
.km-menu.is-open .km-menu__close svg{ transform: rotate(180deg); }

/* Bloqueo scroll */
html.km-lock, body.km-lock{ overflow:hidden !important; height:100%; }

/* Oculta por completo el dropdown nativo de Elementor en móvil */
.elementor-nav-menu--dropdown,
.elementor-menu-dropdown,
.elementor-nav-menu__container.elementor-nav-menu--dropdown,
.elementor-nav-menu--dropdown .elementor-nav-menu > li{ display:none !important; }

/* ======= SMART HEADER (auto-hide/show) ======= */
/* Añade la clase km-header a tu sección de cabecera en Elementor */
.km-header{
  position: fixed; top:0; left:0; right:0; z-index: 1000;
  transform: translateY(0);
  transition: transform .24s ease, box-shadow .2s ease, background-color .2s ease, backdrop-filter .2s ease;
  background: rgba(255,255,255,0.75);         /* ajusta a tu paleta */
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
}
.km-header.is-hidden{ transform: translateY(-100%); }
.km-header.is-scrolled{ box-shadow: 0 8px 24px rgba(0,0,0,.06); background: rgba(255,255,255,0.85); }

/* Para que el contenido no “salte” bajo un header fijo, opcional: añade padding-top al body con una var medida por JS */
body.has-km-header-padding{ padding-top: var(--km-header-h, 0px); }

/* Solo móvil (si quieres ocultar overlay en desktop) */
@media (min-width:1025px){
  .km-menu{ display:none; }
}
/* ===== Separador fino dentro del header del menú fullscreen ===== */
.km-menu__header {
  position: relative; /* permite posicionar la línea dentro */
  padding-bottom: 16px; /* un pequeño espacio bajo el logo */
}

.km-sep {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.7);
  pointer-events: none;
}
/* ===== comportamiento al hacer clic en enlaces del menú fullscreen ===== */

/* ===== Estilos de enlaces del menú fullscreen ===== */
.km-link {
  color: #111 !important;
  font-weight: 700; /* normal */
  text-decoration: none !important;
  transition: font-weight 0.2s ease, color 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  outline: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Enlace activo (página actual) */
.km-link.is-active {
  font-weight: 800 !important; /* más bold */
}

/* Elimina azul de enfoque/click */
.km-link:focus,
.km-link:active {
  color: #111 !important;
  outline: none !important;
}/* End custom CSS */