/* Bartender Tools Floating Zalo & Call v1.2 */

.btfc-widget{
  --btfc-desktop-size:60px;
  --btfc-mobile-size:60px;
  --btfc-desktop-side:24px;
  --btfc-mobile-side:18px;
  --btfc-desktop-bottom:28px;
  --btfc-mobile-bottom:24px;
  --btfc-gap:14px;
  --btfc-z:99999;
  position:fixed;
  bottom:calc(var(--btfc-desktop-bottom) + env(safe-area-inset-bottom,0px));
  z-index:var(--btfc-z);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--btfc-gap);
  margin:0;
  padding:0;
  pointer-events:none
}

.btfc-desktop-left{left:calc(var(--btfc-desktop-side) + env(safe-area-inset-left,0px))}
.btfc-desktop-right{right:calc(var(--btfc-desktop-side) + env(safe-area-inset-right,0px))}

.btfc-button{
  position:relative;
  display:grid;
  place-items:center;
  width:var(--btfc-desktop-size);
  height:var(--btfc-desktop-size);
  min-width:var(--btfc-desktop-size);
  min-height:var(--btfc-desktop-size);
  margin:0;
  padding:0;
  border-radius:50%;
  box-sizing:border-box;
  text-decoration:none!important;
  line-height:1;
  pointer-events:auto;
  isolation:isolate;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,box-shadow .18s ease
}

.btfc-button:hover,.btfc-button:focus-visible{transform:translateY(-2px)}

.btfc-zalo{
  background:#fff;
  border:1px solid rgba(0,104,255,.16);
  box-shadow:0 4px 13px rgba(0,61,153,.15),0 2px 5px rgba(0,0,0,.08)
}

/* Clean Zalo mark: no overlapping SVG paths */
.btfc-zalo-mark{
  display:grid;
  place-items:center;
  width:74%;
  height:74%;
  border-radius:50%;
  background:#0868ff;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(14px,calc(var(--btfc-desktop-size) * .29),18px);
  font-weight:700;
  letter-spacing:-.5px;
  line-height:1;
  text-align:center;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)
}

.btfc-call{
  color:#fff!important;
  background:#08b625;
  box-shadow:0 5px 16px rgba(0,137,32,.22),0 2px 5px rgba(0,0,0,.10)
}

.btfc-icon{display:grid;place-items:center;width:48%;height:48%;line-height:0}
.btfc-icon svg{display:block;width:100%;height:100%}

.btfc-pulse{
  position:absolute;
  inset:-3px;
  z-index:-1;
  display:block;
  border-radius:50%;
  pointer-events:none
}
.btfc-pulse::before{
  content:"";
  position:absolute;
  inset:0;
  border:1.5px solid rgba(0,104,255,.25);
  border-radius:50%;
  opacity:0;
  animation:btfc-pulse 2.6s ease-out infinite
}
.btfc-no-pulse .btfc-pulse{display:none}

@keyframes btfc-pulse{
  0%{opacity:.34;transform:scale(.96)}
  70%{opacity:.06;transform:scale(1.15)}
  100%{opacity:0;transform:scale(1.20)}
}

@media(max-width:1024px){
  .btfc-widget{bottom:calc(var(--btfc-mobile-bottom) + env(safe-area-inset-bottom,0px))}
  .btfc-mobile-left{left:calc(var(--btfc-mobile-side) + env(safe-area-inset-left,0px));right:auto}
  .btfc-mobile-right{right:calc(var(--btfc-mobile-side) + env(safe-area-inset-right,0px));left:auto}
  .btfc-button{
    width:var(--btfc-mobile-size);
    height:var(--btfc-mobile-size);
    min-width:var(--btfc-mobile-size);
    min-height:var(--btfc-mobile-size)
  }
  .btfc-zalo-mark{
    font-size:calc(var(--btfc-mobile-size) * .29)
  }
  .btfc-hide-call-mobile .btfc-call{display:none}
}

@media(min-width:1025px){
  .btfc-hide-call-desktop .btfc-call{display:none}
}

@media(prefers-reduced-motion:reduce){
  .btfc-pulse::before{animation:none}
  .btfc-button{transition:none}
}

@media print{.btfc-widget{display:none!important}}
