.adevly-whatsapp-float {
  --adevly-wa-bottom: 20px;
  --adevly-wa-lift: 0px;
  --adevly-wa-motion-duration: 260ms;
  --adevly-wa-motion-ease: ease;
  position: fixed;
  bottom: calc(var(--adevly-wa-bottom) + var(--adevly-wa-lift));
  z-index: 9999;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--adevly-wa-bg, #25D366);
  color: var(--adevly-wa-icon, #ffffff);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    bottom var(--adevly-wa-motion-duration) var(--adevly-wa-motion-ease);
}

.adevly-whatsapp-float--enter {
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(.94);
  animation: adevly-wa-enter .45s cubic-bezier(.2, .8, .2, 1) forwards;
  animation-delay: var(--adevly-wa-delay, 0s);
}

@keyframes adevly-wa-enter {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px) scale(.94);
  }

  1% {
    visibility: visible;
  }

  100% {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }
}

.adevly-whatsapp-float:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.adevly-whatsapp-float:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.adevly-whatsapp-float--right {
  right: 20px;
}

.adevly-whatsapp-float--left {
  left: 20px;
}

.adevly-whatsapp-float svg {
  width: var(--adevly-wa-size, 28px);
  height: var(--adevly-wa-size, 28px);
  display: block;
  flex: 0 0 auto;
}

@media (prefers-reduced-motion: reduce) {
  .adevly-whatsapp-float {
    transition: none;
  }

  .adevly-whatsapp-float--enter {
    opacity: 1;
    visibility: visible;
    transform: none;
    animation: none;
  }
}

@media (max-width: 767px) {
  .adevly-whatsapp-float {
    --adevly-wa-bottom: 16px;
    width: 52px;
    height: 52px;
  }

  .adevly-whatsapp-float--right {
    right: 16px;
  }

  .adevly-whatsapp-float--left {
    left: 16px;
  }
}
