.punapi-wa-floating {
  position: fixed;
  z-index: 99999;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  padding: 14px;
  border: 0;
  border-radius: 50%;
  background: #25d366 !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.punapi-wa-floating:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 0, 0, .28); color: #fff !important; }
.punapi-wa-floating:focus-visible { outline: 3px solid #064c2d; outline-offset: 3px; }
.punapi-wa-floating svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.punapi-wa-top-right, .punapi-wa-top-left { top: max(24px, env(safe-area-inset-top, 0px)); }
.punapi-wa-bottom-right, .punapi-wa-bottom-left { bottom: max(24px, env(safe-area-inset-bottom, 0px)); }
.punapi-wa-top-right, .punapi-wa-bottom-right { right: max(24px, env(safe-area-inset-right, 0px)); }
.punapi-wa-top-left, .punapi-wa-bottom-left { left: max(24px, env(safe-area-inset-left, 0px)); }
body.admin-bar .punapi-wa-top-right, body.admin-bar .punapi-wa-top-left { top: calc(32px + max(24px, env(safe-area-inset-top, 0px))); }
@media (max-width: 782px) {
  body.admin-bar .punapi-wa-top-right, body.admin-bar .punapi-wa-top-left { top: calc(46px + max(24px, env(safe-area-inset-top, 0px))); }
}
@media (prefers-reduced-motion: reduce) { .punapi-wa-floating { transition: none; } }
