/* Base */
.call-float-btn{
  position: fixed;
  right: 20px;
  bottom: 120px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(180deg,#21c97a,#0f8f57);
  border-radius: 22px;
  color:#fff;
  text-decoration:none;
  z-index:999999;
  animation: floatUpDown 3s ease-in-out infinite;
  box-shadow:0 10px 25px rgba(0,0,0,.25),0 0 30px rgba(0,255,150,.55);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}

/* Sizes */
.size-mini{ padding:8px 12px; font-size:12px; }
.size-normal{ padding:14px 20px; }
.size-large{ padding:18px 26px; font-size:18px; }

.call-icon{
  width:42px;height:42px;
  background:#2a7bff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  animation:phoneShake 1.6s infinite;
}

.call-text{ line-height:1.1; }
.call-title{ font-weight:700; }
.call-sub{ font-size:.8em; opacity:.9; }

.call-badge{
  position:absolute;
  top:-8px; right:-8px;
  background:#ff3b3b;
  padding:6px 9px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
}
.call-badge.has-border{
  border:2px solid #fff;
}

@keyframes phoneShake{
  0%{transform:rotate(0)}
  15%{transform:rotate(-12deg)}
  30%{transform:rotate(12deg)}
  45%{transform:rotate(-12deg)}
  60%{transform:rotate(12deg)}
  100%{transform:rotate(0)}
}
@keyframes floatUpDown{
  0%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
  100%{transform:translateY(0)}
}
