.top-bar {
  font-family: var(--font-body);
  font-weight: var(--regular);
  color: var(--c-blanco);
}

.top-bar .telefono a {
  color: var(--c-blanco) !important;
}

/* Menú */

.main-nav .elementor-nav-menu>li>a {
  font-family: var(--font-body) !important;
  font-size: var(--body) !important;
  font-weight: var(--regular);
  border-radius: var(--b-radius-1) !important;
  transition: var(--all-transition);
  line-height: 40px;
}

.main-nav .elementor-nav-menu>li .sub-arrow {
  color: var(--c-azul);
  padding: 0;
}

.main-nav .elementor-nav-menu>li .sub-menu {
  border-radius: var(--b-radius-1) !important;
  background-color: var(--c-blanco) !important;
  border: 1px solid var(--c-azul);
  padding: 0 !important;
  width: 225px !important;
}

.main-nav .elementor-nav-menu>li .sub-menu li a {
  background-color: transparent !important;
  font-size: var(--body);
  color: var(--c-azul) !important;
  border-radius: var(--b-radius-1);
  padding: 10px 15px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.main-nav .elementor-nav-menu>li .sub-menu li a:hover {
  background-color: var(--c-gris) !important;
}

.main-nav .elementor-nav-menu>li .sub-menu li .sub-menu>li a {
  border: none !important;
}

.main-nav .elementor-nav-menu>li:not(:last-child)>a:hover,
.main-nav .elementor-nav-menu>li.current-menu-item a {
  background-color: var(--c-gris) !important;
}

.main-nav .elementor-nav-menu li a:hover {
  background-color: var(--c-blanco) !important;
  color: var(--c-azul) !important;
}

.main-nav .elementor-nav-menu>li:last-child {
  padding-left: 20px;
}

.main-nav .elementor-nav-menu>li:last-child a {
  text-transform: uppercase;
  font-weight: var(--bold);
  padding: 0 20px !important;
  background-color: var(--c-azul);
  color: var(--c-blanco) !important;
  border-radius: var(--b-radius-1) !important;
  border: 1px solid var(--c-azul);
  animation: btn-leave-stuck 0.6s forwards;
}

.main-nav .elementor-nav-menu>li:last-child a:hover {
  background-color: transparent !important;
  color: var(--c-azul) !important;
  animation: btn-hover-stuck 0.6s forwards;
}

@keyframes btn-hover-stuck {
  from {
    box-shadow: inset 0 0 0 0.01px var(--c-blanco);
  }

  to {
    box-shadow: inset 10em 0 0 0.01px var(--c-blanco);
    color: var(--c-blanco);
  }
}

@keyframes btn-leave-stuck {
  from {
    box-shadow: inset -10em 0 0 0.01px var(--c-blanco);
    color: var(--c-azul);
  }

  to {
    box-shadow: inset 0 0 0 0.01px var(--c-blanco);
  }
}

.main-nav .elementor-nav-menu>li.menu-item-14680 a {
  /* Enlace a Solicita tu diagnóstico */
  text-transform: uppercase;
  font-weight: var(--bold);
  padding: 0 20px !important;
  background-color: var(--c-blanco) !important;
  color: var(--c-azul);
  border-radius: var(--b-radius-1) !important;
  border: 1px solid var(--c-azul);
  animation: btn-leave-stuck-inverse 0.6s forwards;
}

.main-nav .elementor-nav-menu>li.menu-item-14680 a:hover {
  background-color: transparent !important;
  color: var(--c-blanco) !important;
  animation: btn-hover-stuck-inverse 0.6s forwards;
}

@keyframes btn-hover-stuck-inverse {
  from {
    box-shadow: inset 0 0 0 0.01px var(--c-azul);
  }

  to {
    box-shadow: inset 17em 0 0 0.01px var(--c-azul);
    color: var(--c-azul);
  }
}

@keyframes btn-leave-stuck-inverse {
  from {
    box-shadow: inset -17em 0 0 0.01px var(--c-azul);
    color: var(--c-blanco);
  }

  to {
    box-shadow: inset 0 0 0 0.01px var(--c-azul);
  }
}

/* Menú personalizado sticky */

.custom-sticky-menu .elementor-nav-menu-link a {
  display: block;
  padding: 12px 20px;
  border-radius: var(--b-radius-1);
  transition: var(--all-transition);
}

.custom-sticky-menu .elementor-nav-menu-link a:hover,
.custom-sticky-menu .elementor-nav-menu-link .active-link {
  background-color: var(--c-gris);
}

/* Botones flotantes */

.btn-moviles {
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-moviles>a {
  font-family: var(--font-body);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 100%;
}

.btn-moviles>a svg {
  max-width: 35px;
  width: 100%;
}

.btn-moviles .link-contacto {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background-color: var(--c-azul);
  color: var(--c-blanco);
  border-radius: var(--b-radius-1);
  padding: 10px 0;
  padding-left: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-transform: uppercase;
  font-weight: var(--bold);
  border: 1px solid var(--c-blanco);
  animation: btn-leave-stuck-long 0.6s forwards;
}

.btn-moviles .link-contacto:hover {
  border-color: var(--c-azul);
  color: var(--c-azul) !important;
  animation: btn-hover-stuck-long 0.6s forwards;
}

.btn-moviles .link-contacto .widget-icon {
  width: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-moviles .link-contacto svg {
  max-width: 20px;
  width: 100%;
}

.btn-moviles .link-contacto svg .tel-ico {
  transition: var(--all-transition);
}

.btn-moviles .link-contacto:hover svg .tel-ico {
  stroke: var(--c-azul);
}

@keyframes btn-hover-stuck-long {
  from {
    box-shadow: inset 0 0 0 0.01px var(--c-blanco);
  }

  to {
    box-shadow: inset 20em 0 0 0.01px var(--c-blanco);
    color: var(--c-blanco);
  }
}

@keyframes btn-leave-stuck-long {
  from {
    box-shadow: inset -20em 0 0 0.01px var(--c-blanco);
    color: var(--c-azul);
  }

  to {
    box-shadow: inset 0 0 0 0.01px var(--c-blanco);
  }
}

@media screen and (max-width: 1024px) {

  /* Menú */

    .main-nav .elementor-nav-menu {
    padding: 20px;
  }

  .main-nav .elementor-nav-menu>li>a {
    padding: 0 20px;
    justify-content: space-between;
  }

  .main-nav .elementor-nav-menu>li.menu-item-14680 {
    margin-top: 20px;
  }
  .main-nav .elementor-nav-menu>li:last-child {
    padding-left: 0;
    margin-top: 20px;
  }


  .main-nav .elementor-nav-menu>li .sub-menu {
    width: 100% !important;
    border: none;
    background-color: var(--c-gris) !important;
  }

  .main-nav .elementor-nav-menu>li .sub-menu a {
    border: none;
    padding: 0 20px !important;
    line-height: 40px;
  }

  .custom-sticky-menu .elementor-nav-menu-link a {
    padding: 12px 5px;
  }

}

@media screen and (max-width: 618px) {

  .chaty-widget {
    right: 10px !important;
    bottom: 60px !important;
  }

  .btn-moviles .link-contacto {
    bottom: 0;
    right: 0;
    width: 100%;
    padding-right: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 0;
    border: none;
    border-top: 1px solid var(--c-blanco);
    animation: none;
  }

  .btn-moviles .link-contacto:hover {
    animation: none;
  }

  .btn-moviles .link-contacto:hover span {
    color: var(--c-blanco) !important;
  }

  .btn-moviles .link-contacto:hover .tel-ico {
    stroke: var(--c-blanco) !important;
  }

}