/* ── 整体容器，固定左侧中间 ── */
.cf-wrap {
  position: fixed;
  bottom: 55%;
  left: 16px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

/* ── 按钮组（展开/收起） ── */
.cf-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.cf-buttons.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

/* ── 单个图标按钮通用样式 ── */
.cf-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}

.cf-btn:hover {
  transform: scale(1.12);
  box-shadow: 0 6px 18px rgba(0,0,0,0.3);
}

.cf-btn svg {
  width: 28px;
  height: 28px;
}

/* ── WhatsApp 绿色 ── */
.cf-wa {
  background: linear-gradient(135deg, #25D366, #1da851);
}

/* ── Telegram 蓝色 ── */
.cf-tg {
  background: linear-gradient(135deg, #229ED9, #1a7fb5);
}

/* ── 主按钮（头像） ── */
.cf-main {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #7ec88a url('../assets/ss.png') center center / cover no-repeat;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 4px 15px rgba(126,200,138,0.45),
    0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.25s ease,
              box-shadow 0.25s ease;
  outline: none;
  position: relative;
}

/* 呼吸光圈动画 */
.cf-main::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(126,200,138,0.4);
  animation: cf-pulse 2s ease-out infinite;
  z-index: -1;
}

@keyframes cf-pulse {
  0%   { transform: scale(1);   opacity: 0.8; }
  70%  { transform: scale(1.5); opacity: 0;   }
  100% { transform: scale(1.5); opacity: 0;   }
}

.cf-main:hover {
  transform: scale(1.1);
  box-shadow:
    0 6px 20px rgba(126,200,138,0.6),
    0 3px 8px rgba(0,0,0,0.15);
}

/* SVG 隐藏，用头像代替 */
.cf-main svg {
  display: none;
}

/* 展开状态取消光圈 */
.cf-main.open::before {
  animation: none;
  opacity: 0;
}

/* ── 移动端适配 ── */
@media (max-width: 480px) {
  .cf-wrap {
    bottom: 55%;
    left: 16px;
  }

  .cf-btn {
    width: 46px;
    height: 46px;
  }

  .cf-btn svg {
    width: 25px;
    height: 25px;
  }

  .cf-main {
    width: 54px;
    height: 54px;
  }
}