.egfab{--teal:#006D80;--mint:#2BBBA3;--ink:#16323A;position:fixed;right:22px;bottom:22px;z-index:95;display:flex;flex-direction:column-reverse;align-items:center;gap:12px;font-family:'Montserrat',system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
.egfab *{box-sizing:border-box}
.egfab .egfab-main{position:relative;width:60px;height:60px;border-radius:50%;border:0 !important;padding:0 !important;cursor:pointer;color:#fff !important;font-size:24px;line-height:1;
  background:linear-gradient(135deg,var(--teal) 0%,#138c94 55%,var(--mint) 100%) !important;box-shadow:0 10px 24px -8px rgba(0,80,95,.6),0 2px 6px rgba(0,0,0,.15) !important;
  display:grid;place-items:center;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.egfab .egfab-main:hover{box-shadow:0 14px 30px -8px rgba(0,80,95,.7),0 3px 8px rgba(0,0,0,.18) !important}
.egfab .egfab-main i{grid-area:1/1;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}
.egfab .egfab-main .x{opacity:0;transform:rotate(-90deg) scale(.6)}
.egfab.aberto .egfab-main .ab{opacity:0;transform:rotate(90deg) scale(.6)}
.egfab.aberto .egfab-main .x{opacity:1;transform:none}
.egfab .egfab-main::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(43,187,163,.55);animation:egfabPulso 2.6s ease-out 1.5s 3}
@keyframes egfabPulso{0%{box-shadow:0 0 0 0 rgba(43,187,163,.55)}80%,100%{box-shadow:0 0 0 16px rgba(43,187,163,0)}}
.egfab ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column-reverse;align-items:center;gap:10px}
.egfab li{position:relative;margin:0;padding:0;opacity:0;transform:translateY(14px) scale(.4);pointer-events:none;
  transition:opacity .2s ease,transform .3s cubic-bezier(.2,.8,.2,1);transition-delay:calc((var(--n) - var(--i)) * 25ms)}
.egfab.aberto li{opacity:1;transform:none;pointer-events:auto;transition-delay:calc(var(--i) * 45ms)}
.egfab li a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;text-decoration:none !important;
  background:#fff;color:var(--c) !important;box-shadow:0 6px 16px -6px rgba(0,50,60,.45),0 1px 3px rgba(0,0,0,.12);transition:transform .2s,background .2s,color .2s}
.egfab li a:hover,.egfab li a:focus-visible{background:var(--c);color:#fff !important;transform:scale(1.08)}
.egfab li a:focus-visible,.egfab .egfab-main:focus-visible{outline:2.5px solid var(--mint);outline-offset:3px}
.egfab li span{position:absolute;right:58px;top:50%;transform:translate(6px,-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;line-height:1;padding:8px 11px;border-radius:8px;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.egfab li a:hover+span,.egfab li a:focus-visible+span{opacity:1;transform:translate(0,-50%)}
/* reforço: o tema/Elementor às vezes pinta links e ícones de cinzento */
#egfab-global li a,#egfab-global li a:visited{color:var(--c) !important;background:#fff !important}
#egfab-global li a i,#egfab-global li a i::before{color:inherit !important;opacity:1 !important}
#egfab-global .egfab-main i,#egfab-global .egfab-main i::before{color:#fff !important}
#egfab-global li a:hover,#egfab-global li a:focus-visible{color:#fff !important;background:var(--c) !important}
#egfab-global .egfab-main,#egfab-global .egfab-main:hover,#egfab-global .egfab-main:focus{color:#fff !important}
@media (hover:none){.egfab.aberto li span{opacity:1;transform:translate(0,-50%)}}
@media (max-width:600px){.egfab{right:16px;bottom:16px}.egfab .egfab-main{width:54px;height:54px;font-size:22px}.egfab li a{width:44px;height:44px;font-size:19px}}
@media (prefers-reduced-motion:reduce){.egfab *{transition:none !important;animation:none !important}}

/* esquerda (opção nas definições) */
.egfab.esq{right:auto;left:22px}.egfab.esq li span{right:auto;left:58px;transform:translate(-6px,-50%)}.egfab.esq li a:hover+span,.egfab.esq li a:focus-visible+span{transform:translate(0,-50%)}
@media (max-width:600px){.egfab.esq{left:16px}}
