.prwa-floating {
  position: fixed;
  bottom: calc(var(--prwa-bottom, 22px) + env(safe-area-inset-bottom, 0px));
  z-index: var(--prwa-z, 9999);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--prwa-size-desktop, 58px);
  height: var(--prwa-size-desktop, 58px);
  padding: 0;
  color: #fff !important;
  background: var(--prwa-bg, #25d366);
  border-radius: 999px;
  box-shadow: 0 4px 16px rgba(0,0,0,.28);
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.prwa-floating.prwa-right { right: calc(var(--prwa-side, 22px) + env(safe-area-inset-right, 0px)); }
.prwa-floating.prwa-left { left: calc(var(--prwa-side, 22px) + env(safe-area-inset-left, 0px)); }
.prwa-floating:hover,
.prwa-floating:focus-visible {
  color: #fff !important;
  transform: scale(1.06);
  box-shadow: 0 6px 20px rgba(0,0,0,.34);
  text-decoration: none !important;
}
.prwa-floating:focus-visible { outline: 3px solid #173d77; outline-offset: 3px; }
.prwa-icon { display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:100%; height:100%; }
.prwa-icon svg { width: 58%; height: 58%; fill: currentColor; }
.prwa-floating.prwa-with-label { width:auto; max-width:calc(100vw - 40px); padding:0 18px 0 12px; gap:8px; }
.prwa-with-label .prwa-icon { width:calc(var(--prwa-size-desktop, 58px) * .62); height:calc(var(--prwa-size-desktop, 58px) * .62); }
.prwa-label { font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.prwa-hide-desktop { display:none; }
@media (max-width:767px) {
  .prwa-floating { width:var(--prwa-size-mobile, 54px); height:var(--prwa-size-mobile, 54px); }
  .prwa-hide-desktop:not(.prwa-hide-mobile) { display:flex; }
  .prwa-hide-mobile { display:none !important; }
  .prwa-floating.prwa-with-label { width:auto; padding:0 15px 0 10px; }
  .prwa-with-label .prwa-icon { width:calc(var(--prwa-size-mobile, 54px) * .62); height:calc(var(--prwa-size-mobile, 54px) * .62); }
}
@media (prefers-reduced-motion:reduce) {
  .prwa-floating { transition:none; }
  .prwa-floating:hover, .prwa-floating:focus-visible { transform:none; }
}
