/* ============================================================
   悬浮按钮组 floating-bar.css
   拨号 / 微信 / VR / 返回顶部
   ============================================================ */

.floating-bar {
  position: fixed; right: 18px; bottom: 84px; z-index: 99999;
  display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
}
.fb-call, .fb-wechat, .fb-vr, .fb-top {
  position: relative; width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.25);
  transition: transform .2s, box-shadow .2s;
}
.fb-call { background: linear-gradient(135deg, #ff7a1a, #e55a08); }
.fb-call::before {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid #ff7a1a; animation: fb-pulse 2.4s ease-out infinite;
}
@keyframes fb-pulse {
  0%   { transform: scale(1);   opacity: .55; }
  100% { transform: scale(1.55); opacity: 0; }
}
.fb-wechat { background: linear-gradient(135deg, #07c160, #05a352); }
.fb-vr { background: linear-gradient(135deg, #2b8bf0, #1769d2); }
.fb-top { background: #5b6b80; }
.fb-call:hover, .fb-wechat:hover, .fb-vr:hover, .fb-top:hover {
  transform: translateY(-3px) scale(1.04); box-shadow: 0 8px 22px rgba(0,0,0,.35);
}
.fb-call svg, .fb-wechat svg, .fb-vr svg, .fb-top svg {
  width: 24px; height: 24px; fill: #fff;
}
.fb-call span {
  position: absolute; right: 60px; top: 50%; transform: translateY(-50%);
  background: #ff7a1a; color: #fff; white-space: nowrap; padding: 6px 12px;
  border-radius: 4px; font-size: 13px; opacity: 0; pointer-events: none;
  transition: opacity .25s, right .25s;
}
.fb-call span::after {
  content: ""; position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
  border-left: 6px solid #ff7a1a; border-top: 6px solid transparent; border-bottom: 6px solid transparent;
}
.fb-call:hover span { opacity: 1; right: 64px; }

/* 微信二维码气泡 */
.wechat-wrap { position: relative; }
.wechat-pop {
  position: absolute; right: 64px; bottom: 0; width: 180px; padding: 10px;
  background: #fff; border-radius: 8px; box-shadow: 0 6px 24px rgba(0,0,0,.18);
  opacity: 0; visibility: hidden; transform: translateX(10px);
  transition: opacity .25s, transform .25s, visibility .25s;
}
.wechat-pop::after {
  content: ""; position: absolute; right: -7px; top: 24px;
  border-left: 8px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent;
}
.wechat-pop img { width: 160px; height: 160px; margin: 0 auto; }
.wechat-pop p { text-align: center; font-size: 12px; color: #666; margin-top: 6px; }
.wechat-pop.show { opacity: 1; visibility: visible; transform: translateX(0); }

/* 拨号 toast */
.toast-copy {
  position: fixed; left: 50%; bottom: 150px; transform: translateX(-50%);
  background: rgba(0,0,0,.85); color: #fff; padding: 12px 20px;
  border-radius: 6px; font-size: 14px; z-index: 100001; display: none;
}

/* 复制微信号 toast */
.toast-wechat {
  position: fixed; left: 50%; bottom: 150px; transform: translateX(-50%);
  background: rgba(7,193,96,.95); color: #fff; padding: 12px 20px;
  border-radius: 6px; font-size: 14px; z-index: 100001; display: none;
}

@media (max-width: 768px) {
  .floating-bar { right: 12px; bottom: 70px; gap: 10px; }
  .fb-call, .fb-wechat, .fb-vr, .fb-top { width: 46px; height: 46px; }
  .fb-call svg, .fb-wechat svg, .fb-vr svg, .fb-top svg { width: 20px; height: 20px; }
  .fb-call span, .wechat-pop { display: none; }
}
