.fof-support-float {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 120;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}

.fof-support-float a {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  pointer-events: auto;
  box-shadow: 0 10px 26px -10px #01000c99, inset 0 0 0 1px #ffffff4d;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.fof-support-float a:hover,
.fof-support-float a:focus-visible {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 14px 30px -10px #01000ccc, inset 0 0 0 1px #ffffff70;
  filter: saturate(1.12);
}

.fof-support-float a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.fof-support-float .wa { background: #16b87a; }
.fof-support-float .tg { background: #229ed9; }
.fof-support-float svg { width: 23px; height: 23px; display: block; fill: currentColor; }

@media (max-width: 720px) {
  .fof-support-float {
    right: max(12px, env(safe-area-inset-right));
    bottom: calc(78px + env(safe-area-inset-bottom));
    gap: 8px;
  }

  .fof-support-float a { width: 44px; height: 44px; }
  .fof-support-float svg { width: 22px; height: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .fof-support-float a { transition: none; }
}
