#sbf-dock{display:flex;z-index:9999;}
#sbf-dock.sbf-fixed{position:fixed;right:20px;bottom:20px;left:auto;flex-direction:column;gap:14px;}
#sbf-dock.sbf-inline{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:30px;margin-top:8px;}
#sbf-anchor{min-height:70px;width:100%;}

.sbf-cluster{position:relative;width:52px;height:52px;transition:transform 2.6s cubic-bezier(.16,1,.3,1);}
#sbf-dock.sbf-inline .sbf-cluster{width:64px;height:64px;}

.sbf-bubble{position:relative;display:flex;width:100%;height:100%;border-radius:50%;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.45);box-shadow:inset -6px -8px 12px rgba(0,0,0,.1),inset 6px 8px 10px rgba(255,255,255,.35),0 8px 20px rgba(2,40,50,.16);animation:sbfFloat 3.4s ease-in-out infinite;transition:transform .25s ease,box-shadow .25s ease;text-decoration:none;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);}
.sbf-bubble::before{content:"";position:absolute;top:9%;left:16%;width:34%;height:22%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 72%);transform:rotate(-20deg);pointer-events:none;}
.sbf-bubble::after{content:"";position:absolute;bottom:12%;right:18%;width:14%;height:9%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,0) 75%);pointer-events:none;}
.sbf-bubble svg{position:relative;z-index:1;width:22px;height:22px;fill:rgba(255,255,255,.95);filter:drop-shadow(0 1px 2px rgba(2,40,50,.4));}
#sbf-dock.sbf-inline .sbf-bubble svg{width:27px;height:27px;}
.sbf-bubble:hover{transform:scale(1.1);box-shadow:inset -6px -8px 12px rgba(0,0,0,.1),inset 6px 8px 10px rgba(255,255,255,.35),0 12px 26px rgba(2,40,50,.28);animation-play-state:paused;}
#sbf-dock.sbf-fixed .sbf-bubble:hover{transform:translateX(-6px) scale(1.08);}

.sbf-cluster:nth-child(1) .sbf-bubble{animation-delay:0s;}
.sbf-cluster:nth-child(2) .sbf-bubble{animation-delay:-.8s;}
.sbf-cluster:nth-child(3) .sbf-bubble{animation-delay:-1.6s;}
.sbf-cluster:nth-child(4) .sbf-bubble{animation-delay:-2.4s;}
.sbf-cluster:nth-child(5) .sbf-bubble{animation-delay:-3.2s;}
.sbf-cluster:nth-child(6) .sbf-bubble{animation-delay:-4s;}

.sbf-whatsapp{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.9),rgba(130,255,180,.62) 45%,rgba(55,210,130,.52) 100%);}
.sbf-email{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.9),rgba(255,205,130,.62) 45%,rgba(235,150,60,.52) 100%);}
.sbf-facebook{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.9),rgba(145,190,255,.62) 45%,rgba(60,145,235,.52) 100%);}
.sbf-instagram{background:radial-gradient(circle at 30% 100%,rgba(255,230,170,.58) 0%,rgba(255,175,155,.56) 30%,rgba(240,110,185,.54) 60%,rgba(130,140,245,.52) 100%);}
.sbf-tiktok{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.82),rgba(175,175,190,.52) 55%,rgba(80,80,95,.5) 100%);}
.sbf-maps{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.9),rgba(255,155,140,.62) 50%,rgba(220,90,70,.52) 100%);}

.sbf-mini{position:absolute;display:block;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.9),rgba(180,240,255,.28) 55%,rgba(180,240,255,.04) 80%);border:1px solid rgba(255,255,255,.5);opacity:.6;mix-blend-mode:screen;animation:sbfMini 4.2s ease-in-out infinite;}
.sbf-mini.m1{width:9px;height:9px;top:-5px;left:-5px;animation-delay:-.6s;}
.sbf-mini.m2{width:6px;height:6px;bottom:-3px;right:-6px;animation-delay:-1.9s;}

.sbf-tip{position:absolute;z-index:2;background:rgba(2,20,28,.9);color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
#sbf-dock.sbf-fixed .sbf-tip{right:calc(100% + 10px);left:auto;top:50%;transform:translateY(-50%) translateX(4px);}
#sbf-dock.sbf-fixed .sbf-bubble:hover .sbf-tip{opacity:1;transform:translateY(-50%) translateX(0);}
#sbf-dock.sbf-inline .sbf-tip{left:50%;right:auto;bottom:calc(100% + 10px);top:auto;transform:translateX(-50%) translateY(4px);}
#sbf-dock.sbf-inline .sbf-bubble:hover .sbf-tip{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:480px){
  #sbf-dock.sbf-inline{justify-content:center;gap:12px;}
  #sbf-dock.sbf-inline .sbf-cluster{width:44px;height:44px;}
  #sbf-dock.sbf-inline .sbf-bubble{opacity:1;}
  #sbf-dock.sbf-inline .sbf-bubble svg{width:19px;height:19px;}
}

@media(prefers-reduced-motion: reduce){
  .sbf-cluster{transition:none;}
  .sbf-bubble{animation:none;transition:box-shadow .2s ease;}
  .sbf-bubble:hover,#sbf-dock.sbf-fixed .sbf-bubble:hover{transform:none;}
  .sbf-mini{animation:none;}
}

@keyframes sbfFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes sbfMini{0%,100%{transform:translateY(0) translateX(0) scale(1);}50%{transform:translateY(-5px) translateX(1px) scale(1.1);}}
