.elementor-9 .elementor-element.elementor-element-bc70fa8{--display:flex;--min-height:108px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--margin-top:0px;--margin-bottom:-108px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:4%;--padding-right:4%;--z-index:3;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-bc70fa8{--padding-top:0;--padding-bottom:0;--padding-left:4%;--padding-right:4%;}}/* Start custom CSS *//* ── SOLO TABLET/DESKTOP ─────────────────────────────────────────────── */
@media (min-width: 768px){

  /* El <ul> principal de escritorio actúa como contenedor del indicador */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu {
    position: relative;
  }

  /* Indicador deslizante */
  .animated-menu .elementor-nav-menu--main .hover-indicator {
    position: absolute;
    background: rgba(255,255,255,.9);
    border-radius: 100px;
    transition: all .35s ease;
    z-index: 0;
    opacity: 0;
    pointer-events: none;
  }

  /* Enlaces de PRIMER nivel por encima del indicador */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item > a.elementor-item {
    position: relative;
    z-index: 1;
    transition: color .25s ease;
    color: #fff; /* blanco por defecto */
  }

  /* Texto negro al hover/focus (para legibilidad sobre fondo blanco) */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item:hover > a.elementor-item,
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item:focus-within > a.elementor-item {
    color: #000;
  }

  /* Ajuste visual de items con submenú */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children > a.elementor-item {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    padding-right: 10px;
  }

  /* Caret (flecha) más pequeño y heredando SIEMPRE el color del texto */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children > a.elementor-item .sub-arrow svg {
    width: 0.6em !important;
    height: 0.6em !important;
    display: inline-block;
    color: inherit !important;
    fill: currentColor !important;
  }

  /* Caret negro cuando el propio padre está hover/focus o es ancestro activo */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children:hover > a.elementor-item .sub-arrow svg,
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children:focus-within > a.elementor-item .sub-arrow svg,
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children.current-menu-item > a.elementor-item .sub-arrow svg,
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children.current-menu-ancestor > a.elementor-item .sub-arrow svg {
    color: #000 !important;
    fill: #000 !important;
  }

  /* Cuando cualquier botón de primer nivel tiene hover, los demás vuelven a blanco */
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu:has(> li.menu-item:hover) > li.menu-item:not(:hover) > a.elementor-item {
    color: #fff !important;
  }
  .animated-menu .elementor-nav-menu--main > .elementor-nav-menu:has(> li.menu-item:hover) > li.menu-item:not(:hover) > a.elementor-item .sub-arrow svg {
    color: #fff !important;
    fill: #fff !important;
  }
}
/* ── FIN SOLO TABLET/DESKTOP ─────────────────────────────────────────── */

footer, 
.elementor-location-footer {
    /* Le dice al navegador que está permitido frenar cuando el final del footer toque el final de la pantalla */
    scroll-snap-align: end !important; 
}

/* 6. EXCLUIR AL FOOTER DE LA REGLA DE LOS 100VH */
footer .e-con,
footer .elementor-section,
.elementor-location-footer .e-con,
.elementor-location-footer .elementor-section,
div[data-elementor-type="footer"] > .e-con,
div[data-elementor-type="footer"] > .elementor-section {
    /* Devolvemos el tamaño natural al footer para que no se estire a pantalla completa */
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    
    /* Quitamos el imán interno para evitar conflictos */
    scroll-snap-align: none !important; 
}/* End custom CSS */