/* ============================================================
   AI获客 · 扩展样式（悬浮客服品牌色 / 会员弹窗 / GEO 栏目）
   依赖：float-service.css（覆盖其主题变量以贴合站点紫青配色）
   ============================================================ */

/* ---------- 悬浮客服品牌色覆盖 ---------- */
.sf-wrap {
  --xsd-brand: #5b4bff;
  --xsd-brand-deep: #3a2fb0;
  --xsd-brand-soft: #f1efff;
  --xsd-brand-border: #d9d2ff;
  --xsd-accent: #00c8d7;
}

/* ---------- 会员登录 / 注册弹窗 ---------- */
.auth-modal { max-width: 400px; }
.auth-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.auth-tabs button {
  flex: 1; padding: 10px; border: 1px solid #e6eaf2; background: #f6f8fc;
  border-radius: 10px; cursor: pointer; font-weight: 600; color: #7c88a4;
}
.auth-tabs button.on { background: #5b4bff; color: #fff; border-color: transparent; }
.auth-box .field { margin-bottom: 12px; }
.auth-box .form-msg { font-size: 13px; margin: -2px 0 10px; display: none; }
.auth-box .form-msg.ok { color: #1f9e7a; }
.auth-box .form-msg.err { color: #e0533d; }
.auth-note { font-size: 12px; color: #9aa6bd; margin-top: 12px; line-height: 1.6; }

/* ---------- GEO 优化栏目 ---------- */
.geo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 8px 0 28px; }
.geo-card { background: linear-gradient(180deg, #fff, #f7f9ff); border: 1px solid #e9edf5; border-radius: 14px; padding: 18px; }
.geo-card .geo-no { font-size: 12px; font-weight: 700; color: #5b4bff; }
.geo-card h4 { margin: 8px 0 6px; font-size: 15px; }
.geo-card p { font-size: 13px; color: #5b6781; line-height: 1.6; }
.geo-selfcheck {
  display: grid; grid-template-columns: 280px 1fr; gap: 22px; align-items: start;
  background: #0b1230; color: #dfe6ff; border-radius: 16px; padding: 22px;
}
.geo-score-card { display: flex; gap: 16px; align-items: center; }
.geo-score-card .cro-ring {
  width: 96px; height: 96px; border-radius: 50%; flex: none;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: conic-gradient(#5b4bff 0%, #26305c 0); color: #fff;
}
.geo-score-card .cro-ring b { font-size: 30px; line-height: 1; }
.geo-score-card .cro-ring small { font-size: 12px; color: #aab6e0; }
.geo-score-card .score-copy h4 { margin: 0 0 6px; font-size: 16px; }
.geo-score-card .score-copy p { font-size: 13px; color: #b9c4ec; margin: 0; }
.geo-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.geo-item { display: flex; gap: 8px; align-items: flex-start; background: #121a3d; border: 1px solid #243059; border-radius: 10px; padding: 10px 12px; }
.geo-item b { color: #ff6b6b; flex: none; }
.geo-item.ok b { color: #3ddc97; }
.geo-item span { font-weight: 600; font-size: 13px; }
.geo-item small { display: block; color: #9aa6cf; font-size: 12px; }
@media (max-width: 900px) {
  .geo-grid { grid-template-columns: repeat(2, 1fr); }
  .geo-selfcheck { grid-template-columns: 1fr; }
  .geo-items { grid-template-columns: 1fr; }
}
@media (max-width: 640px) { .geo-grid { grid-template-columns: 1fr; } }
