/* V29 FINAL: 全站按钮颜色与客服悬浮位置兜底修复
   原则：按钮按用途分组处理，不再让 hover/继承样式互相串色。 */
:root{--fg-v29-blue:#005bac;--fg-v29-blue-dark:#004a91;--fg-v29-text:#1d2433;--fg-v29-muted:#5e6b7f;}

/* 顶部黑色信息栏 */
.top-bar,.top-bar *{font-size:12px!important;line-height:1.2!important;}

/* 所有按钮/按钮型链接的基础表现 */
a.nav-consult-btn,a.btn,button.btn,.fg-more-btn,.fg-v9-case-visit,.fg-cta-btn,.ai-btn,.filter-tab,.filter-tabs a,.filter-tabs button,.pagination a,.pagination span,.pager a,.page-numbers a,.page-numbers span,.contact-modal-submit,button[type="submit"],.copy-btn{
  text-decoration:none!important;
  text-shadow:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
}
a.nav-consult-btn *,a.btn *,button.btn *,.fg-more-btn *,.fg-v9-case-visit *,.fg-cta-btn *,.ai-btn *,.filter-tab *,.filter-tabs a *,.filter-tabs button *,.pagination a *,.pagination span *,.pager a *,.page-numbers a *,.page-numbers span *,.contact-modal-submit *,button[type="submit"] *,.copy-btn *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* A. 导航右侧、实心蓝按钮：永远蓝底白字 */
.nav-consult-btn,.fg-more-btn,.fg-v9-case-visit,.contact-modal-submit,button[type="submit"],.copy-btn,
.btn-primary,.btn.btn-primary,a.btn-primary,button.btn-primary,
.pagination li.thisclass a,.pagination li.thisclass span,.pagination .active,.pagination .active a,.pagination .page-num.active,.pager .active a,.page-numbers .current,
.filter-tab.active,.filter-tabs a.active,.filter-tabs button.active{
  background:var(--fg-v29-blue)!important;
  border-color:var(--fg-v29-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.nav-consult-btn:hover,.fg-more-btn:hover,.fg-v9-case-visit:hover,.contact-modal-submit:hover,button[type="submit"]:hover,.copy-btn:hover,
.btn-primary:hover,.btn.btn-primary:hover,a.btn-primary:hover,button.btn-primary:hover,
.pagination li.thisclass a:hover,.pagination li.thisclass span:hover,.pagination .active:hover,.pagination .active a:hover,.pagination .page-num.active:hover,.pager .active a:hover,.page-numbers .current:hover,
.filter-tab.active:hover,.filter-tabs a.active:hover,.filter-tabs button.active:hover{
  background:var(--fg-v29-blue-dark)!important;
  border-color:var(--fg-v29-blue-dark)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* B. 白底主按钮：永远白底蓝字 */
.btn-white,.btn.btn-white,a.btn-white,button.btn-white,
.hero-section .btn-white,.page-banner .btn-white,.cta-section .btn-white,.fg-blue-cta .btn-white,
.ai-hero .ai-btn:not(.ghost),.ai-growth-page .ai-hero-actions .ai-btn:not(.ghost),.ai-page-hero .ai-btn:not(.ghost){
  background:#fff!important;
  border-color:#fff!important;
  color:var(--fg-v29-blue)!important;
  -webkit-text-fill-color:var(--fg-v29-blue)!important;
}
.btn-white:hover,.btn.btn-white:hover,a.btn-white:hover,button.btn-white:hover,
.hero-section .btn-white:hover,.page-banner .btn-white:hover,.cta-section .btn-white:hover,.fg-blue-cta .btn-white:hover,
.ai-hero .ai-btn:not(.ghost):hover,.ai-growth-page .ai-hero-actions .ai-btn:not(.ghost):hover,.ai-page-hero .ai-btn:not(.ghost):hover{
  background:#f4f8ff!important;
  border-color:#f4f8ff!important;
  color:var(--fg-v29-blue-dark)!important;
  -webkit-text-fill-color:var(--fg-v29-blue-dark)!important;
}

/* C. 蓝色 CTA 区域中的非 ghost 按钮，默认按白底蓝字处理 */
.cta-section .fg-cta-btn:not(.ghost),.fg-blue-cta .fg-cta-btn:not(.ghost),.fg-v18-cta .fg-cta-btn:not(.ghost),.qb-bottom-cta .fg-cta-btn:not(.ghost){
  background:#fff!important;
  border:1px solid #fff!important;
  color:var(--fg-v29-blue)!important;
  -webkit-text-fill-color:var(--fg-v29-blue)!important;
}
.cta-section .fg-cta-btn:not(.ghost):hover,.fg-blue-cta .fg-cta-btn:not(.ghost):hover,.fg-v18-cta .fg-cta-btn:not(.ghost):hover,.qb-bottom-cta .fg-cta-btn:not(.ghost):hover{
  background:#f4f8ff!important;
  border-color:#f4f8ff!important;
  color:var(--fg-v29-blue-dark)!important;
  -webkit-text-fill-color:var(--fg-v29-blue-dark)!important;
}

/* D. 普通浅色区域线框按钮：白底蓝字，hover 蓝底白字 */
.btn-outline,.btn.btn-outline,a.btn-outline,button.btn-outline,
.filter-tab:not(.active),.filter-tabs a:not(.active),.filter-tabs button:not(.active),
.pagination a:not(.active),.pagination span:not(.active),.pager a:not(.active),.page-numbers a:not(.current),.page-numbers span:not(.current){
  background:#fff!important;
  border-color:var(--fg-v29-blue)!important;
  color:var(--fg-v29-blue)!important;
  -webkit-text-fill-color:var(--fg-v29-blue)!important;
}
.btn-outline:hover,.btn.btn-outline:hover,a.btn-outline:hover,button.btn-outline:hover,
.filter-tab:not(.active):hover,.filter-tabs a:not(.active):hover,.filter-tabs button:not(.active):hover,
.pagination a:not(.active):hover,.pagination span:not(.active):hover,.pager a:not(.active):hover,.page-numbers a:not(.current):hover,.page-numbers span:not(.current):hover{
  background:var(--fg-v29-blue)!important;
  border-color:var(--fg-v29-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* E. 深色背景上的线框/ghost：透明底白字，hover 仍白字 */
.hero-section .btn-outline,.hero-section .btn.btn-outline,.hero-section a.btn-outline,
.page-banner .btn-outline,.page-banner .btn.btn-outline,.page-banner a.btn-outline,
.ai-hero .ai-btn.ghost,.ai-growth-page .ai-btn.ghost,.ai-page-hero .ai-btn.ghost,
.cta-section .fg-cta-btn.ghost,.fg-blue-cta .fg-cta-btn.ghost,.fg-v18-cta .ghost,.qb-bottom-cta .ghost{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.55)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.hero-section .btn-outline:hover,.hero-section .btn.btn-outline:hover,.hero-section a.btn-outline:hover,
.page-banner .btn-outline:hover,.page-banner .btn.btn-outline:hover,.page-banner a.btn-outline:hover,
.ai-hero .ai-btn.ghost:hover,.ai-growth-page .ai-btn.ghost:hover,.ai-page-hero .ai-btn.ghost:hover,
.cta-section .fg-cta-btn.ghost:hover,.fg-blue-cta .fg-cta-btn.ghost:hover,.fg-v18-cta .ghost:hover,.qb-bottom-cta .ghost:hover{
  background:rgba(255,255,255,.18)!important;
  border-color:#fff!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* F. CTA 中的邮件按钮如果是 ghost/透明，要固定白字 */
.fg-blue-cta a[href^="mailto"],.cta-section a[href^="mailto"],.fg-v18-cta a[href^="mailto"]{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.fg-blue-cta a[href^="mailto"]:hover,.cta-section a[href^="mailto"]:hover,.fg-v18-cta a[href^="mailto"]:hover{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* G. 兜底：有蓝色/深色背景的按钮型元素全部白字 */
a[class*="btn"][style*="background:#005"],a[class*="btn"][style*="background: #005"],
a[class*="btn"][style*="background:#006"],a[class*="btn"][style*="background: #006"],
a[class*="btn"][style*="background:var(--primary)"],a[class*="btn"][style*="background: var(--primary)"],
button[class*="btn"][style*="background:#005"],button[class*="btn"][style*="background: #005"]{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* H. 客服悬浮：不参与布局、不撑开底部；桌面/手机都固定右下角，只显示图标，避免文字过长 */
.contact-float-btn{
  position:fixed!important;
  left:auto!important;
  right:28px!important;
  bottom:28px!important;
  z-index:10020!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  overflow:visible!important;
  background:linear-gradient(135deg,#0b63c7,#a855f7)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 18px 42px rgba(0,91,172,.28),0 0 0 10px rgba(0,91,172,.08)!important;
  text-decoration:none!important;
  transform:none!important;
}
.contact-float-btn:hover{background:linear-gradient(135deg,#004a91,#9333ea)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;transform:translateY(-2px)!important;}
.contact-float-btn .contact-text{display:none!important;}
.contact-float-btn .contact-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
.contact-float-btn svg{width:24px!important;height:24px!important;stroke:#fff!important;color:#fff!important;}
.contact-float-btn .online-dot{position:absolute!important;right:4px!important;top:4px!important;width:12px!important;height:12px!important;background:#22c55e!important;border:2px solid #fff!important;border-radius:50%!important;}
@media(max-width:760px){
  .contact-float-btn{right:16px!important;bottom:18px!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;}
  .contact-float-btn .contact-icon{width:26px!important;height:26px!important;}
  .contact-float-btn svg{width:22px!important;height:22px!important;}
}

/* I. 回到顶部与客服按钮错开 */
.gotop,.backtop,.back-to-top,#backTop,#goTop{right:28px!important;bottom:100px!important;z-index:10010!important;}
@media(max-width:760px){.gotop,.backtop,.back-to-top,#backTop,#goTop{right:16px!important;bottom:82px!important;}}

/* J. 避免客服相关元素产生文档流空白 */
.contact-modal-overlay,.copy-toast{position:fixed!important;margin:0!important;}
html,body{overflow-x:hidden!important;}
