.elementor-32290 .elementor-element.elementor-element-a11a318{--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 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:40px;}.elementor-32290 .elementor-element.elementor-element-a11a318:not(.elementor-motion-effects-element-type-background), .elementor-32290 .elementor-element.elementor-element-a11a318 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#040C16;}.elementor-32290 .elementor-element.elementor-element-a11a318.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-32290 .elementor-element.elementor-element-2a7b463{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), open-sans;font-weight:var( --e-global-typography-text-font-weight );}.elementor-32290 .elementor-element.elementor-element-4156c79{text-align:center;}.elementor-32290 .elementor-element.elementor-element-4156c79 img{width:120px;}.elementor-32290 .elementor-element.elementor-element-11ac47f{--display:flex;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--justify-content:space-between;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-32290 .elementor-element.elementor-element-8814066{padding:0px 20px 0px 20px;}.elementor-32290 .elementor-element.elementor-element-8814066.elementor-element{--align-self:center;}.elementor-32290 .elementor-element.elementor-element-00f3578{--display:flex;--position:fixed;bottom:60px;--e-con-transform-transition-duration:0ms;}body:not(.rtl) .elementor-32290 .elementor-element.elementor-element-00f3578{right:60px;}body.rtl .elementor-32290 .elementor-element.elementor-element-00f3578{left:60px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), open-sans;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-32290 .elementor-element.elementor-element-677bad9 .elementor-button{background-color:#25D366;border-radius:50px 50px 50px 50px;padding:12px 14px 12px 14px;}body:not(.rtl) .elementor-32290 .elementor-element.elementor-element-677bad9{right:-10px;}body.rtl .elementor-32290 .elementor-element.elementor-element-677bad9{left:-10px;}.elementor-32290 .elementor-element.elementor-element-677bad9{bottom:-10px;z-index:9999;}.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-32290 .elementor-element.elementor-element-a11a318{--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-32290 .elementor-element.elementor-element-2a7b463{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-32290 .elementor-element.elementor-element-4156c79{text-align:start;}.elementor-32290 .elementor-element.elementor-element-11ac47f{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32290 .elementor-element.elementor-element-8814066{padding:0px 0px 0px 0px;}.elementor-32290 .elementor-element.elementor-element-00f3578{--min-height:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-32290 .elementor-element.elementor-element-677bad9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-32290 .elementor-element.elementor-element-a11a318{--flex-wrap:nowrap;}.elementor-32290 .elementor-element.elementor-element-2a7b463{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-32290 .elementor-element.elementor-element-4156c79{text-align:start;}.elementor-32290 .elementor-element.elementor-element-4156c79 img{width:100%;max-width:60%;}}@media(min-width:768px){.elementor-32290 .elementor-element.elementor-element-a11a318{--content-width:100%;}.elementor-32290 .elementor-element.elementor-element-2a7b463{--width:25%;}.elementor-32290 .elementor-element.elementor-element-11ac47f{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-32290 .elementor-element.elementor-element-2a7b463{--width:100%;}.elementor-32290 .elementor-element.elementor-element-11ac47f{--width:100px;}}/* Start custom CSS for html, class: .elementor-element-8814066 *//* ============================================
   MENU BASE - DESKTOP
   ============================================ */
.custom-menu {
  display: flex;
  gap: 28px;
}

.menu-item {
  position: relative;
}

.menu-link,
.menu-item > a {
  color: #cbd5e1;
  text-decoration: none;
  font-weight: 500;
  padding: 10px 4px;
  position: relative;
  display: inline-block;
}

/* Ocultar icono y subtítulo en desktop */
.link-icon {
  display: none !important;
}

.link-subtitle {
  display: none !important;
}

.link-text {
  display: inline;
}

.link-title {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/* Línea de hover/activo debajo del título */
.menu-link::after,
.menu-item > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #0099FF, #00d4ff);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.menu-item:hover > a::after,
.menu-link-wrapper:hover .menu-link::after {
  transform: scaleX(1);
}

.menu-item:hover > a,
.menu-link-wrapper:hover .menu-link {
  color: #fff;
}

/* Flecha */
.arrow {
  width: 16px;
  height: 16px;
  margin-left: 6px;
  transition: transform 0.3s ease, filter 0.3s ease;
  display: inline-block;
  vertical-align: middle;
  filter: brightness(0) saturate(100%) invert(87%) sepia(8%) saturate(466%) hue-rotate(178deg) brightness(95%) contrast(87%);
}

.menu-item:hover .arrow,
.menu-link-wrapper:hover .arrow {
  transform: rotate(180deg);
  filter: brightness(0) saturate(100%) invert(38%) sepia(95%) saturate(2794%) hue-rotate(194deg) brightness(101%) contrast(101%);
}

/* ============================================
   MEGA MENU - DESKTOP
   ============================================ */
.mega-menu {
  position: absolute;
  top: 100%;
  margin-top: 8px;
  left: -20%;
  width: 380px;
  background: radial-gradient(circle at top, #0f1c2e, #070d17);
  border-radius: 18px;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: all 0.5s ease;
  
  z-index: 999;
}



.menu-item:hover .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* HEADER - visible en desktop */
.mega-header {
  display: flex;
  gap: 16px;
  padding: 8px;
  border-radius: 14px;
  margin-bottom: 0px;
  align-items: center;
  text-decoration: none;
}

.mega-header:hover {
  background: linear-gradient(90deg, rgba(0, 153, 255, 0.3), rgba(0, 153, 255, 0));
}

.mega-header strong {
  background: linear-gradient(135deg, #60a5fa, #0099FF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0px;
}

.mega-header span {
  font-size: 13px;
  color: #9ca3af;
  display: block;
  line-height: 1.4;
}

/* ITEMS */
.mega-item {
  display: flex;
  gap: 14px;
  padding: 14px;
  padding-left: 16px;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.25s ease;
  position: relative;
  margin-bottom: 4px;
  align-items: center;
}

.mega-item strong {
  background: linear-gradient(135deg, #ffffff, #e0e7ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 15px;
  font-weight: 600;
  display: block;
  margin-bottom: 0px;
}

.mega-item span {
  font-size: 13px;
  color: #9ca3af;
  display: block;
  line-height: 1.4;
}

.mega-item:hover,
.mega-item.active {
  background: linear-gradient(90deg, rgba(0, 153, 255, 0.3), rgba(0, 153, 255, 0));
}

/* ICONOS */
.icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  object-fit: contain;
  flex-shrink: 0;
  padding: 10px;
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 12px !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  display: block;
  overflow: hidden;
}

.icon-main {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  object-fit: contain;
  flex-shrink: 0;
  padding: 8px;
  background: linear-gradient(135deg, rgba(0, 153, 255, 0.25), rgba(15, 28, 46, 0.9)) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0, 153, 255, 0.3) !important;
  display: block;
  overflow: hidden;
}

/* FOOTER */
.mega-footer {
  display: inline-block;
  margin-top: 20px;
  margin-left: 12px;
  padding: 10px 18px;
  border-radius: 12px;
  background: rgba(0, 153, 255, 0.15);
  color: #0099FF !important;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  transition: background 0.25s ease;
  border: 1px solid #0099FF33;
}

.mega-footer:hover {
  background: rgba(0, 153, 255, 0.25);
  color: #0099FF !important;
}

.footer-arrow {
  width: 16px;
  height: 16px;
  margin-left: 6px;
  vertical-align: middle;
  display: inline-block;
}

/* ============================================
   BOTÓN CONTÁCTANOS
   ============================================ */
.menu-contact {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.contact-btn:hover {
  background: rgba(0, 153, 255, 0.15);
  color: #fff !important;
  border-color: rgba(0, 153, 255, 0.3);
}

.contact-arrow {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

.contact-btn:hover .contact-arrow {
  transform: translateX(4px);
}

/* ============================================
   MENÚ HAMBURGUESA - BASE
   ============================================ */
.custom-menu-wrapper {
  position: relative;
}

.custom-menu-wrapper,
.custom-menu-wrapper * {
  box-sizing: border-box;
}

.mobile-logo {
  display: none !important;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 6px;
  border-radius: 8px;
  background: transparent !important;
  padding: 10px;
  cursor: pointer;
  box-shadow: none;
  transition: all 0.3s ease;
  position: relative;
  z-index: 10001;
  border: none;
}

.menu-toggle span {
  width: 24px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.menu-toggle:hover {
  background: rgba(0, 153, 255, 0.15);
}

.menu-backdrop {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  z-index: 998;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.menu-backdrop.active {
  display: block;
  opacity: 1;
}

/* Fix para eventos táctiles */
.menu-toggle,
.submenu-toggle {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

.menu-backdrop {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* ============================================
   RESPONSIVE - MÓVIL
   ============================================ */
@media (max-width: 1170px) {
  /* Header móvil fijo */
  .custom-menu-wrapper::before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    height: 70px;
    background: #0a1525;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 10000;
  }

  /* Logo móvil */
  .mobile-logo {
    display: block !important;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 10001;
    padding: 0;
    margin: 0;
    border: none;
  }

  .mobile-logo img {
    height: 32px;
    width: auto;
  }
  
  /* Hamburguesa */
  .menu-toggle {
    display: flex;
    position: fixed !important;
    top: 19px;
    right: 20px;
    z-index: 10002 !important;
  }

  /* Menú principal móvil */
  .custom-menu { 
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    height: calc(100vh - 70px);
    background: #0a1525;
    flex-direction: column;
    padding: 20px;
    overflow-y: auto;
    overflow-x: hidden;
    transition: transform 0.3s ease, opacity 0.3s ease;
    gap: 12px;
    transform: translateX(100%);
    opacity: 0;
    z-index: 999;
  }

  .custom-menu.active {
    transform: translateX(0);
    opacity: 1;
  }

  /* Wrapper para link + botón */
  .menu-link-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 16px 18px !important;
    gap: 12px !important;
  }

  /* Link principal clickeable */
  .menu-link {
    flex: 1 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
  }
  
  .menu-link::after {
    display: none !important;
  }

  /* Ocultar flecha del link en móvil - AGRESIVO */
  .menu-link .arrow,
  .menu-link img.arrow,
  .menu-link-wrapper .menu-link .arrow,
  .menu-link-wrapper a.menu-link img.arrow,
  .menu-link-wrapper a.menu-link > img.arrow,
  a.menu-link img[alt="arrow"],
  .menu-item .menu-link-wrapper .menu-link img.arrow {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
  }

  /* Botón toggle del submenu */
  .submenu-toggle,
  button.submenu-toggle {
    background: transparent !important;
    border: none !important;
    padding: 8px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    transition: background 0.3s ease !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
  }

  .submenu-toggle:hover {
    background: rgba(0, 153, 255, 0.1) !important;
  }

  .submenu-toggle .arrow,
  .submenu-toggle img.arrow,
  button.submenu-toggle img.arrow {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    pointer-events: auto !important;
  }

  .menu-item.active .submenu-toggle .arrow {
    transform: rotate(180deg) !important;
  }

  /* Mostrar icono y subtítulo en móvil */
  .link-icon {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 12px !important;
    margin-right: 0 !important;
  }

  .link-text {
    display: flex;
    flex-direction: column;
    gap: 0px;
    flex: 1;
    justify-content: center;
  }

  .link-title {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #60a5fa, #0099FF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.2;
  }

  .link-subtitle {
    display: block !important;
    font-size: 13px;
    color: #9ca3af;
    font-weight: 400;
    line-height: 1.3;
    margin-top: 2px;
  }

  /* Items del menú como cards */
  .menu-item {
    width: 100%;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 0;
    position: relative !important;
    margin-bottom: 0;
  }

  /* OCULTAR mega-header en móvil */
  .mega-header {
    display: none !important;
  }

  /* Mega menu expandible */
  .mega-menu {
    position: static !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transform: none !important;
    transition: max-height 0.4s ease, opacity 0.3s ease !important;
    visibility: hidden !important;
  }

  .menu-item.active .mega-menu {
    opacity: 1 !important;
    max-height: 2000px !important;
    visibility: visible !important;
    padding-bottom: 8px !important;
  }

  /* Items dentro del mega menu */
  .mega-item {
    padding: 16px 18px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .mega-item:hover {
    background: rgba(0, 153, 255, 0.08) !important;
  }

  .mega-item .icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
  }

  .mega-item strong {
    font-size: 15px !important;
    margin-bottom: 2px !important;
  }

  .mega-item span {
    font-size: 13px !important;
  }

  /* Footer "Ver todos" */
  .mega-footer {
    margin: 12px 18px 8px 18px !important;
    padding: 14px 20px !important;
    border-radius: 12px !important;
    width: calc(100% - 36px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: rgba(0, 153, 255, 0.12) !important;
    border: 1px solid rgba(0, 153, 255, 0.25) !important;
  }

  .mega-footer:hover {
    background: rgba(0, 153, 255, 0.18) !important;
  }

  .footer-arrow {
    width: 18px !important;
    height: 18px !important;
  }

  /* Botón Contáctanos móvil */
  .menu-contact {
    margin-left: 0 !important;
    margin-top: 8px !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
  }

  .contact-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 16px 24px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }

  .contact-btn:hover {
    background: rgba(0, 153, 255, 0.12) !important;
    border-color: rgba(0, 153, 255, 0.25) !important;
  }

  .contact-arrow {
    width: 18px !important;
    height: 18px !important;
  }
}

/* ============================================
   DESKTOP - Comportamiento final
   ============================================ */
@media (min-width: 1171px) {
  .menu-link-wrapper {
    display: contents;
  }
  
  .submenu-toggle {
    display: none !important;
  }
  
  /* Mostrar la flecha en el link de desktop */
  .menu-link .arrow {
    display: inline-block !important;
  }
  
  /* 🔥 HACER EL LINK CLICKEABLE EN DESKTOP */
  .menu-link {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    position: relative !important;
  }
  

  /* Pero los items DENTRO del mega-menú SÍ deben ser clickeables */
  .mega-menu .mega-item,
  .mega-menu .mega-footer,
  .mega-menu .mega-header {
    pointer-events: auto !important;
  }
}


@media (min-width: 1171px) {

  /* El item controla el hover */
  .menu-item:hover .mega-menu,
  .menu-item .mega-menu:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* El mega menú SÍ debe recibir hover */
  .mega-menu {
    pointer-events: auto !important;
  }

  /* El link sigue siendo clickeable */
  .menu-link {
    position: relative;
    z-index: 2;
  }

  /* El mega menú queda debajo del link */
  .mega-menu {
    z-index: 1;
  }
}











@media (max-width: 1170px) {
  /* Forzar que el menú esté oculto por defecto */
  .custom-menu {
    transform: translateX(100%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  /* Solo mostrarlo cuando tenga la clase active */
  .custom-menu.active {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  /* Forzar posición de la flecha del acordeón a la derecha */
  .submenu-toggle {
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  
  /* Asegurar que el wrapper sea relativo */
  .menu-link-wrapper {
    position: relative !important;
  }
}

/* Ajuste del contenedor principal del item */
.mega-item-video {
  display: flex !important;
  align-items: center !important; /* Centra verticalmente todo el contenido */
  justify-content: space-between !important;
  gap: 0px !important;
  width: 100%;
}

/* Contenedor del texto (Título + Subtítulo) */
.mega-item-text {
  display: flex;
  flex-direction: column; /* Apila el título sobre el subtítulo */
  flex-grow: 1; /* Ocupa el espacio central */
}

/* Asegurar que el texto no se rompa de forma extraña */
.mega-item-text strong, 
.mega-item-text span {
  display: block;
  white-space: nowrap; /* Evita que el texto salte de línea si hay espacio */
}

/* Contenedor del icono de la derecha para alineación perfecta */
.external-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; /* Evita que el icono se encoja */
}

.external-link-icon {
  width: 14px !important;
  height: 14px !important;
  opacity: 0.6;
  margin-top: 25px;
  filter: brightness(0) invert(1); /* Ajusta el color a blanco/gris */
  transition: all 0.3s ease;
}

/* Efecto hover */
.mega-item-video:hover .external-link-icon {
  opacity: 1;
  transform: translate(2px, -2px);
}

.custom-menu ::selection {
  background: transparent;
  color: inherit;
}


/* ================================
   FIX DEFINITIVO AMARILLO EN LINKS
   ================================ */

/* Quitar colores por defecto del navegador */
.custom-menu a,
.custom-menu a:active,
.custom-menu a:focus,
.custom-menu a:focus-visible {
  color: inherit !important;
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
}


/* Evitar selección accidental */
.custom-menu,
.custom-menu * {
  user-select: none;
  -webkit-user-select: none;
}

.custom-menu .link-title {
  color: #cbd5e1;
  background: none;
  -webkit-text-fill-color: currentColor;
}

.custom-menu a:hover .link-title {
  background: linear-gradient(135deg, #60a5fa, #0099FF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.custom-menu a:active .link-title,
.custom-menu a:focus .link-title,
.custom-menu a:focus-visible .link-title {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: #cbd5e1 !important;
  outline: none;
}


/* ============================================
   BLOQUEO DE SCROLL CUANDO MENÚ ESTÁ ABIERTO
   ============================================ */
body.menu-open {
  overflow: hidden !important;
  height: 100vh !important;
  touch-action: none !important;
}

/* Evita scroll en iOS */
body.menu-open {
  position: fixed;
  width: 100%;
}

/* ============================================
   MENÚ ITEM CLICKABLE COMPLETO (MÓVIL)
   ============================================ */
@media (max-width: 1170px) {

  /* El item completo es clickable */
  .menu-item {
    cursor: pointer;
  }

  /* Evitar navegación del link principal */
  .menu-item > .menu-link-wrapper > a.menu-link {
    pointer-events: none !important;
  }

  /* Los links INTERNOS sí deben navegar */
  .mega-menu a {
    pointer-events: auto !important;
  }

  /* Flecha rota correctamente */
  .menu-item.active .submenu-toggle img.arrow {
    transform: rotate(180deg) !important;
  }
}

.custom-menu .contact-btn {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-677bad9 */.btn-whatsapp .elementor-button-icon {
  font-size: 28px;
}/* End custom CSS */