/* ═══════════════════════════════════════
   12 · FLOATING ACTION BUTTONS (single, final version)
   ═══════════════════════════════════════ */
.fab-stack{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  gap:14px;
  pointer-events:none;
}
.fab-stack > *{pointer-events:auto}

.fab-btn{
  position:relative;
  width:60px;height:60px;
  border:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s;
}
.fab-btn svg{width:30px;height:30px;pointer-events:none}
.fab-btn:hover{transform:scale(1.09)}
.fab-btn:active{transform:scale(.94)}

.fab-wa{
  background:#25D366;
  box-shadow:0 10px 26px rgba(37,211,102,.42);
  animation:fabPulse 2.4s infinite;
}
.fab-wa svg{fill:#fff}
@keyframes fabPulse{
  0%  {box-shadow:0 10px 26px rgba(37,211,102,.42), 0 0 0 0    rgba(37,211,102,.55)}
  70% {box-shadow:0 10px 26px rgba(37,211,102,.42), 0 0 0 20px rgba(37,211,102,0)}
  100%{box-shadow:0 10px 26px rgba(37,211,102,.42), 0 0 0 0    rgba(37,211,102,0)}
}

.fab-call{
  background:#7C3AED;
  box-shadow:0 10px 26px rgba(124,58,237,.40);
  width:52px;height:52px;
}
.fab-call svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2}

.fab-top{
  background:#fff;border:1px solid #E2E8F0;
  width:46px;height:46px;
  box-shadow:0 8px 20px rgba(15,23,42,.12);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s, visibility .3s, transform .3s;
}
.fab-top.show{opacity:1;visibility:visible;transform:none}
.fab-top svg{width:20px;height:20px;stroke:#0F172A;fill:none;stroke-width:2.2}

.fab-btn .tip{
  position:absolute;right:calc(100% + 14px);top:50%;
  transform:translateY(-50%) translateX(8px);
  background:#0F172A;color:#fff;
  font:500 13px/1 'Poppins',system-ui,sans-serif;
  white-space:nowrap;padding:10px 14px;border-radius:9px;
  opacity:0;pointer-events:none;transition:opacity .28s, transform .28s;
}
.fab-btn .tip::after{
  content:"";position:absolute;right:-4px;top:50%;
  width:9px;height:9px;background:#0F172A;transform:translateY(-50%) rotate(45deg);
}
.fab-btn:hover .tip{opacity:1;transform:translateY(-50%) translateX(0)}

@media (max-width:640px){
  .fab-stack{right:14px;bottom:70px;gap:11px}
  .fab-btn{width:54px;height:54px}
  .fab-btn svg{width:27px;height:27px}
  .fab-call{width:48px;height:48px}
  .fab-btn .tip{display:none}
}
@media (prefers-reduced-motion:reduce){
  .fab-wa{animation:none}
  .fab-btn{transition:none}
}
