/* 左侧咨询卡片 2026-11-06 */
.cc-consult{position:fixed;left:16px;top:50%;transform:translateY(-50%);width:236px;z-index:2147483000;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(16,90,160,.16),0 2px 8px rgba(16,90,160,.08);font-size:14px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}
.cc-consult:hover{transform:translateY(-50%) translateY(-4px);box-shadow:0 20px 48px rgba(16,90,160,.22)}
.cc-consult,.cc-consult *{box-sizing:border-box}
.cc-consult .cc-head{padding:13px 15px 11px;position:relative}
.cc-consult .cc-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#0b7a4b;background:#e9f8f1;border-radius:999px;padding:3px 9px;margin-bottom:8px;line-height:1.6}
.cc-consult .cc-dot{width:6px;height:6px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.18)}
.cc-consult .cc-title{font-size:17px;font-weight:700;letter-spacing:.3px;margin:0 0 3px;color:#0b2b49;line-height:1.3}
.cc-consult .cc-sub{font-size:11.5px;color:#5d7186;margin:0;line-height:1.5}
.cc-consult .cc-hero{height:86px;margin:2px 12px 0;border-radius:11px;overflow:hidden;background:url(/2026/consult/consult-a.jpg) center center/cover no-repeat #eaf2fb;box-shadow:inset 0 0 0 1px rgba(200,220,240,.7)}
.cc-consult .cc-list{padding:10px 12px 8px;display:flex;flex-direction:column;gap:7px}
.cc-consult .cc-item{display:flex;align-items:center;gap:10px;background:#f7fafd;border:1px solid #e6eef7;border-radius:12px;padding:10px 11px;text-decoration:none;color:#17324d;transition:all .2s ease}
.cc-consult .cc-item:hover{background:#fff;border-color:#8fc2f0;transform:translateX(3px);box-shadow:0 6px 16px rgba(20,110,190,.12)}
.cc-consult .cc-ico{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#e8f2fd,#d3e7fb);color:#1668c4}
.cc-consult .cc-ico svg{width:17px;height:17px;display:block}
.cc-consult .cc-txt{flex:1;min-width:0}
.cc-consult .cc-name{display:block;font-size:13.5px;font-weight:600;line-height:1.35}
.cc-consult .cc-desc{display:block;font-size:11px;color:#8494a6;margin-top:1px;line-height:1.4}
.cc-consult .cc-arrow{color:#a9b8c8;font-size:14px;line-height:1}
.cc-consult .cc-item:hover .cc-arrow{color:#1668c4}
.cc-consult .cc-cta{display:block;margin:2px 12px 12px;padding:10px 12px;border-radius:12px;text-align:center;text-decoration:none;color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;background:linear-gradient(135deg,#1668c4,#0f56a3);box-shadow:0 6px 16px rgba(22,104,196,.26)}
.cc-consult .cc-cta:hover{background:linear-gradient(135deg,#1a74d8,#125fae)}
.cc-consult .cc-close{position:absolute;right:8px;top:9px;z-index:3;width:22px;height:22px;border:0;border-radius:50%;cursor:pointer;background:#f0f4f9;color:#8b99a8;font-size:15px;line-height:1;display:grid;place-items:center;padding:0;transition:all .18s}
.cc-consult .cc-close:hover{background:#e3ebf5;color:#33475b}
/* 卡片浮层，不改动文章版式。
   ≥1920：完整卡片（正文左边距 258 > 卡片右边界 252，不压内容），可关闭收成气泡（点气泡再展开）
   <1920：只显示气泡，气泡是直链，点击直接打开咨询窗口
   <981（移动端）：气泡缩小并移到左下角，避让正文与底部工具栏 */
@media(max-width:1919px){.cc-consult{display:none!important}}


/* ===== 收起态气泡（2026-11-06）===== */
.cc-bubble{
  position:fixed; left:14px; top:50%; transform:translateY(-50%);
  width:56px; height:56px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:linear-gradient(135deg,#2b86e8 0%,#1668c4 55%,#0f56a3 100%);
  box-shadow:0 8px 24px rgba(16,90,160,.30), 0 2px 8px rgba(16,90,160,.20), inset 0 1px 0 rgba(255,255,255,.28);
  display:flex; align-items:center; justify-content:center;
  z-index:2147483001;
  transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.cc-bubble:hover{ transform:translateY(-50%) scale(1.07); box-shadow:0 12px 32px rgba(16,90,160,.40), 0 3px 10px rgba(16,90,160,.24), inset 0 1px 0 rgba(255,255,255,.3); }
.cc-bubble:active{ transform:translateY(-50%) scale(.98); }
.cc-bubble svg{ width:27px; height:27px; color:#fff; display:block; }

/* 呼吸光圈 */
.cc-bubble::after{
  content:""; position:absolute; inset:-7px; border-radius:50%;
  border:2px solid rgba(43,134,232,.5);
  animation:ccBubblePulse 2.6s cubic-bezier(.22,.61,.36,1) infinite;
  pointer-events:none;
}
@keyframes ccBubblePulse{
  0%{ transform:scale(.9); opacity:.75; }
  70%{ transform:scale(1.18); opacity:0; }
  100%{ transform:scale(1.18); opacity:0; }
}

/* 在线小绿点 */
.cc-bubble .cc-live{
  position:absolute; right:5px; top:5px; width:11px; height:11px; border-radius:50%;
  background:#12b76a; border:2px solid #fff; box-sizing:content-box;
}

/* hover 冒出的文字标签 */
.cc-bubble .cc-tip{
  position:absolute; left:calc(100% + 12px); top:50%;
  transform:translateY(-50%) translateX(-6px);
  background:#0d2a45; color:#fff; font-size:12px; line-height:1; padding:8px 11px; border-radius:8px;
  white-space:nowrap; opacity:0; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  box-shadow:0 6px 18px rgba(9,30,55,.24);
}
.cc-bubble .cc-tip::before{
  content:""; position:absolute; left:-4px; top:50%; margin-top:-4px;
  width:8px; height:8px; background:#0d2a45; transform:rotate(45deg); border-radius:1px;
}
.cc-bubble:hover .cc-tip{ opacity:1; transform:translateY(-50%) translateX(0); }

/* 展开/收起的过渡 */
.cc-consult[hidden], .cc-bubble[hidden]{ display:none !important; }

/* 移动端：气泡缩小移到左下角（必须写在最后，否则被基础规则覆盖）*/
@media(max-width:980px){
  .cc-bubble{
    left:12px; top:auto; bottom:calc(74px + env(safe-area-inset-bottom,0px));
    width:50px; height:50px; transform:none;
  }
  .cc-bubble:hover{ transform:scale(1.06); }
  .cc-bubble svg{ width:24px; height:24px; }
  .cc-bubble .cc-tip{ display:none; }
}
