.bwf-container {
    position: fixed;
    bottom: 20px;
    z-index: 99999;
}

.bwf-container[style*="left"] .bwf-btn::after{
  right: auto;
  left: 72px;
}

.bwf-btn:hover::after{
  opacity: 1;
  transform: translateY(50%) translateX(-2px);
}

.bwf-container[style*="left"] .bwf-btn:hover::after{
  transform: translateY(50%) translateX(2px);
}

.bwf-btn::after{
  content: attr(aria-label);
  position: absolute;
  right: 72px;
  bottom: 50%;
  transform: translateY(50%);
  background: rgba(0,0,0,.78);
  color: #fff;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 13px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}

.bwf-btn {
    position: relative;
    display: flex;
    width: 60px;
    height: 60px;
    border-radius: 999px;
    background: #25D366;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin-bottom: 10px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    transition: transform .15s ease;
}

.bwf-btn:hover {
    filter: brightness(0.98);
}

/* ===== Animações (premium) =====
   Variáveis (definidas inline pelo PHP):
   --bwf-pulse-speed: duração (ex: 1.5s)
   --bwf-pulse-size: tamanho do anel (ex: 16px)
   --bwf-pulse-color: cor do anel (rgba)
   --bwf-pulse-scale: escala no bounce (ex: 1.06)
*/
.bwf-anim-none { animation: none !important; }

.bwf-anim-pulse { animation: bwfPulse var(--bwf-pulse-speed, 1.5s) infinite; }
.bwf-anim-ring  { animation: bwfRing  var(--bwf-pulse-speed, 1.6s) infinite; }
.bwf-anim-glow  { animation: bwfGlow  var(--bwf-pulse-speed, 1.8s) infinite; }
.bwf-anim-bounce{ animation: bwfBounce var(--bwf-pulse-speed, 1.2s) infinite; }

@keyframes bwfPulse {
  0%   { box-shadow: 0 0 0 0 var(--bwf-pulse-color, rgba(37,211,102,.55)), 0 10px 24px rgba(0, 0, 0, .18); }
  70%  { box-shadow: 0 0 0 var(--bwf-pulse-size, 16px) rgba(0, 0, 0, 0), 0 10px 24px rgba(0, 0, 0, .18); }
  100% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), 0 10px 24px rgba(0, 0, 0, .18); }
}

@keyframes bwfRing {
  0%   { box-shadow: 0 0 0 0 var(--bwf-pulse-color, rgba(37,211,102,.35)), 0 10px 24px rgba(0, 0, 0, .18); }
  60%  { box-shadow: 0 0 0 var(--bwf-pulse-size, 18px) rgba(0, 0, 0, 0), 0 10px 24px rgba(0, 0, 0, .18); }
  100% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), 0 10px 24px rgba(0, 0, 0, .18); }
}

@keyframes bwfGlow {
  0%,100% { box-shadow: 0 0 14px 2px var(--bwf-pulse-color, rgba(37,211,102,.35)), 0 10px 24px rgba(0, 0, 0, .18); }
  50%     { box-shadow: 0 0 22px 6px var(--bwf-pulse-color, rgba(37,211,102,.25)), 0 10px 24px rgba(0, 0, 0, .18); }
}

@keyframes bwfBounce {
  0%,100% { transform: translateY(0) scale(1); }
  50%     { transform: translateY(-3px) scale(var(--bwf-pulse-scale, 1.06)); }
}

70% {
        box-shadow: 0 0 0 16px rgba(37, 211, 102, 0), 0 10px 24px rgba(0, 0, 0, .18);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0), 0 10px 24px rgba(0, 0, 0, .18);
    }
}