/* Floating contact button — bottom-left on every page. */
.pbs-fab{ position:fixed; left:24px; bottom:24px; z-index:95; font-family:"Poppins",sans-serif; }
body.pbs-lock .pbs-fab,
body.pbs-lb-open .pbs-fab{ opacity:0; visibility:hidden; }

/* main button */
.pbs-fab .pbs-fab__btn,
.pbs-fab .pbs-fab__btn:hover,
.pbs-fab .pbs-fab__btn:focus{ all:unset; box-sizing:border-box; position:relative; display:flex; align-items:center; justify-content:center; width:62px; height:62px; border-radius:50%; cursor:pointer; background:#211D16 !important; color:#fff !important; box-shadow:0 14px 34px rgba(33,29,22,.32), inset 0 0 0 1px rgba(255,255,255,.08); transition:transform .45s cubic-bezier(.34,1.56,.64,1), background .3s; }
.pbs-fab .pbs-fab__btn:hover{ transform:scale(1.07) rotate(-6deg); }
.pbs-fab .pbs-fab__btn:focus-visible{ outline:3px solid #C1502B; outline-offset:4px; }
.pbs-fab[data-open="true"] .pbs-fab__btn{ background:#C1502B !important; transform:rotate(90deg); }
.pbs-fab__btn svg{ position:absolute; width:27px; height:27px; transition:opacity .3s, transform .45s cubic-bezier(.34,1.56,.64,1); }
.pbs-fab__close{ opacity:0; transform:rotate(-90deg) scale(.5); }
.pbs-fab[data-open="true"] .pbs-fab__open{ opacity:0; transform:rotate(90deg) scale(.5); }
.pbs-fab[data-open="true"] .pbs-fab__close{ opacity:1; transform:rotate(-90deg) scale(1); }

/* pulsing rings (stop once opened) */
.pbs-fab__ring,
.pbs-fab__ring::after{ position:absolute; inset:0; border-radius:50%; border:2px solid #C1502B; animation:pbs-fab-pulse 2.6s cubic-bezier(.2,.8,.2,1) infinite; pointer-events:none; }
.pbs-fab__ring::after{ content:""; animation-delay:1.3s; }
.pbs-fab[data-open="true"] .pbs-fab__ring,
.pbs-fab.is-used .pbs-fab__ring,
.pbs-fab:not(.is-awake) .pbs-fab__ring{ display:none; } /* rings start after the visitor first scrolls/touches (keeps page load calm) */
@keyframes pbs-fab-pulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.75); opacity:0; } }

/* hint bubble, shown once a few seconds after load */
.pbs-fab__hint{ position:absolute; left:76px; bottom:14px; white-space:nowrap; padding:9px 14px; border-radius:14px 14px 14px 4px; background:#fff; color:#211D16; font-size:13.5px; font-weight:500; box-shadow:0 10px 26px rgba(33,29,22,.16); opacity:0; transform:translateX(-10px) scale(.9); transform-origin:left bottom; pointer-events:none; transition:opacity .4s, transform .5s cubic-bezier(.34,1.56,.64,1); }
.pbs-fab.show-hint .pbs-fab__hint{ opacity:1; transform:none; }
.pbs-fab[data-open="true"] .pbs-fab__hint{ opacity:0; transform:translateX(-10px) scale(.9); }

/* options */
.pbs-fab__list{ list-style:none; margin:0; padding:0; position:absolute; left:0; bottom:76px; display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.pbs-fab__list li{ opacity:0; transform:translateY(24px) scale(.6); transform-origin:left bottom; transition:opacity .25s ease calc((2 - var(--i)) * .04s), transform .35s cubic-bezier(.4,0,.2,1) calc((2 - var(--i)) * .04s); }
.pbs-fab[data-open="true"] .pbs-fab__list{ pointer-events:auto; }
.pbs-fab[data-open="true"] .pbs-fab__list li{ opacity:1; transform:none; transition:opacity .35s ease calc(var(--i) * .07s), transform .6s cubic-bezier(.34,1.56,.64,1) calc(var(--i) * .07s); }

.pbs-fab__item{ display:flex; align-items:center; gap:12px; padding:7px 18px 7px 7px; border-radius:999px; background:#fff; color:#211D16 !important; text-decoration:none !important; box-shadow:0 10px 28px rgba(33,29,22,.16); border:1px solid #ECE7DC; white-space:nowrap; transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s; }
.pbs-fab__item:hover,
.pbs-fab__item:focus-visible{ transform:translateX(6px); box-shadow:0 14px 34px rgba(33,29,22,.22); outline:none; }
.pbs-fab__ic{ position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:#fff; flex:0 0 44px; }
.pbs-fab__ic svg{ width:22px; height:22px; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
.pbs-fab__item:hover .pbs-fab__ic svg{ transform:scale(1.15) rotate(-8deg); }
.pbs-fab__ic::after{ content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); transform:skewX(-20deg); }
.pbs-fab__item:hover .pbs-fab__ic::after{ animation:pbs-fab-shine .7s ease; }
@keyframes pbs-fab-shine{ to{ left:130%; } }
.pbs-fab__item--whatsapp .pbs-fab__ic{ background:#25D366; }
.pbs-fab__item--instagram .pbs-fab__ic{ background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.pbs-fab__item--call .pbs-fab__ic{ background:#C1502B; }
.pbs-fab__txt{ display:flex; flex-direction:column; line-height:1.2; }
.pbs-fab__txt strong{ font-size:14.5px; font-weight:600; }
.pbs-fab__txt small{ font-size:12px; color:#6B6862; }

@media (max-width:640px){
  .pbs-fab{ left:16px; bottom:16px; }
  .pbs-fab .pbs-fab__btn{ width:56px; height:56px; }
  .pbs-fab__list{ bottom:68px; }
  .pbs-fab__hint{ left:68px; bottom:11px; font-size:12.5px; }
}
@media (prefers-reduced-motion:reduce){
  .pbs-fab__ring, .pbs-fab__ring::after{ animation:none; display:none; }
  .pbs-fab *, .pbs-fab__list li{ transition-duration:.01ms !important; }
}
