/* ============================================================
   custom.css — PbootCMS 样式升级覆盖层  v2.0
   加载在所有原始 CSS 之后，安全覆盖
   不改动任何模板结构 / pboot 标签 / 数据库
   ============================================================ */

/* ─────────────────────────────────────────
   1. CSS 变量 — 改颜色只改这里
───────────────────────────────────────── */
:root {
  --brand:        #1a6cf5;
  --brand-dark:   #0d4db3;
  --brand-light:  #e8f0fe;
  --text-main:    #2c2c2c;
  --text-muted:   #888;
  --bg-light:     #f7f8fc;
  --radius:       8px;
  --shadow-sm:    0 2px 12px rgba(0,0,0,0.07);
  --shadow-md:    0 6px 28px rgba(0,0,0,0.12);
  --nav-height:   80px;
  --transition:   0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ─────────────────────────────────────────
   2. 全局基础
───────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: var(--text-main);
  -webkit-font-smoothing: antialiased;
}

a { transition: color var(--transition), opacity var(--transition); }
img { max-width: 100%; height: auto; }

/* ─────────────────────────────────────────
   3. 导航栏
───────────────────────────────────────── */
.cbsect_c5171ca5 {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(0,0,0,0.08), var(--shadow-sm) !important;
  transition: background var(--transition), box-shadow var(--transition), transform .4s cubic-bezier(.22,1,.36,1) !important;
}

.navbar-nav > li > .cbnavl_bbb24f33 {
  position: relative;
  color: var(--text-main) !important;
  font-weight: 500;
  letter-spacing: 0.03em;
  height: var(--nav-height) !important;
  line-height: var(--nav-height) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition: color var(--transition) !important;
}

/* 禁用原始红色下划线 JS 动效，由我们接管 */
.nav_style_01 .navbar-nav > li > a::after { display: none !important; }

.navbar-nav > li > .cbnavl_bbb24f33::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  bottom: 16px !important;
  left: 50% !important;
  transform: translateX(-50%) scaleX(0) !important;
  width: 70% !important;
  height: 2px !important;
  background: var(--brand) !important;
  border-radius: 2px !important;
  transition: transform var(--transition) !important;
  transform-origin: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.navbar-nav > li:hover > .cbnavl_bbb24f33::after,
.navbar-nav > li.active > .cbnavl_bbb24f33::after,
.navbar-nav > li > .cbnavl_bbb24f33.active::after {
  transform: translateX(-50%) scaleX(1) !important;
}

.nav_style_01 .navbar-nav > li > a:hover,
.nav_style_01 .navbar-nav > .active > a,
.navbar-nav > li > .cbnavl_bbb24f33:hover,
.navbar-nav > li.active > .cbnavl_bbb24f33,
.navbar-nav > li > .cbnavl_bbb24f33.active {
  color: var(--brand) !important;
}

/* 下拉菜单 */
.dropdownmenu_f36g1R {
  border: none !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-md) !important;
  padding: 8px 0 !important;
  margin-top: 4px !important;
  overflow: hidden;
  animation: dropIn 0.22s ease forwards;
}

@keyframes dropIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.dropdowntextlink_yV1XEO {
  padding: 10px 20px !important;
  color: var(--text-main) !important;
  font-size: 14px !important;
  transition: background var(--transition), color var(--transition), padding-left var(--transition) !important;
  display: block;
}

.dropdowntextlink_yV1XEO:hover {
  background: var(--brand-light) !important;
  color: var(--brand) !important;
  padding-left: 26px !important;
}

/* 导航智能隐藏（配合 scroll-animate.js） */
.cbsect_c5171ca5.nav-hidden { transform: translateY(-100%) !important; }

/* ─────────────────────────────────────────
   4. 语言切换按钮
───────────────────────────────────────── */
.lang-switch-wrap {
  height: var(--nav-height);
  display: flex !important;
  align-items: center !important;
  margin-left: 12px;
  padding: 0 !important;
}

.lang-switch-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px;
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--brand) !important;
  border: 1.5px solid var(--brand) !important;
  border-radius: 40px !important;
  margin: 0 !important;
  transition: background var(--transition), color var(--transition) !important;
}

.lang-switch-btn:hover {
  background: var(--brand) !important;
  color: #fff !important;
}

.lang-switch-btn::after { display: none !important; }

.lang-icon { font-size: 14px; line-height: 1; }

@media (max-width: 767px) {
  .lang-switch-wrap { height: auto !important; display: block !important; }
  .lang-switch-btn  { margin: 8px 15px !important; height: 38px !important; line-height: 38px !important; }
}

/* ─────────────────────────────────────────
   5. Hero 轮播
───────────────────────────────────────── */
.cbhead_dca5cb3f, .cbhead_a4d62f11 {
  font-size: clamp(32px, 5vw, 62px) !important;
  font-weight: 300 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  color: #fff !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
}

.cbhead_c0fb183f, .cbhead_832f103a {
  font-size: 13px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.85) !important;
  font-weight: 400 !important;
}

.div_d9wypH, .cbdiv_850ab3a9 {
  background: var(--brand) !important;
  width: 48px !important; height: 3px !important; border-radius: 2px;
}

/* Hero 按钮 */
.cbbsbu_59ce80b6, .cbbsbu_7067120f, .cbbsbu_f3ba704a {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.9) !important;
  color: #fff !important;
  border-radius: 40px !important;
  padding: 12px 36px !important;
  font-size: 13px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  transition: all var(--transition) !important;
  background-color: transparent !important;
}

.cbbsbu_59ce80b6:hover, .cbbsbu_7067120f:hover, .cbbsbu_f3ba704a:hover {
  background: rgba(255,255,255,0.2) !important;
  background-color: rgba(255,255,255,0.2) !important;
  border-color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2) !important;
}

/* 轮播指示点 */
.cbslid_f70b5a0b {
  width: 10px !important; height: 10px !important;
  border: 2px solid rgba(255,255,255,0.6) !important;
  background: transparent !important;
  border-radius: 50% !important;
  border-width: 2px !important;
  transition: all var(--transition);
}

.cbslid_f70b5a0b.c-active, .cbslid_f70b5a0b:hover {
  background: #fff !important;
  background-color: #fff !important;
  border-color: #fff !important;
  border-bottom-color: #fff !important;
  border-top-color: #fff !important;
  border-left-color: #fff !important;
  border-right-color: #fff !important;
  transform: scale(1.2);
}

.c-slider-nav-dot.c-active, .c-slider-nav-dot:hover {
  border-color: var(--brand) !important;
}

/* ─────────────────────────────────────────
   6. 区块标题
───────────────────────────────────────── */
.heading_ST9EL4 {
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 600 !important;
  color: var(--text-main) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
}

.cbhead_2efa64d4 {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  font-weight: 400 !important;
  font-family: inherit !important;
}

/* ─────────────────────────────────────────
   7. 产品卡片
───────────────────────────────────────── */
.cbdiv_b3023c75 {
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform var(--transition), box-shadow var(--transition) !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
}

.cbdiv_b3023c75:hover { transform: translateY(-6px) !important; box-shadow: var(--shadow-md) !important; }
.cbimag_4dd24250 { transition: transform 0.5s ease !important; }
.cbdiv_b3023c75:hover .cbimag_4dd24250 { transform: scale(1.05) !important; }

.cbtext_df0055eb {
  font-size: 15px !important; font-weight: 600 !important;
  color: var(--text-main) !important; margin-top: 12px !important;
  transition: color var(--transition) !important;
}

.cbdiv_b3023c75:hover .cbtext_df0055eb,
.product_box:hover .product_title { color: var(--brand) !important; }

.cbpara_56bbf57c { font-size: 12px !important; color: var(--text-muted) !important; }

.cbdiv_6eab945f { width: 28px !important; overflow: hidden !important; transition: width var(--transition) !important; }
.cbdiv_b3023c75:hover .cbdiv_6eab945f { width: 52px !important; }

/* ─────────────────────────────────────────
   8. "更多"按钮 (product_btn / btn-danger)
───────────────────────────────────────── */
.product_btn, .product_btn1 {
  background: var(--brand) !important;
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
  border-radius: 40px !important;
  padding: 11px 32px !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  transition: all var(--transition) !important;
  box-shadow: 0 4px 14px rgba(26,108,245,0.25) !important;
}

.product_btn:hover, .product_btn1:hover {
  background: var(--brand-dark) !important;
  background-color: var(--brand-dark) !important;
  border-color: var(--brand-dark) !important;
  border-bottom-right-radius: 40px !important;
  border-bottom-left-radius: 40px !important;
  border-top-right-radius: 40px !important;
  border-top-left-radius: 40px !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(26,108,245,0.35) !important;
}

/* Bootstrap btn-danger 全量覆盖（包括 coolsite.built.css 里的） */
.btn-danger,
.btn-danger:active, .btn-danger.active,
.open > .dropdown-toggle.btn-danger,
.btn-danger.disabled, .btn-danger[disabled],
fieldset[disabled] .btn-danger {
  background-color: var(--brand) !important;
  border-color: var(--brand-dark) !important;
  color: #fff !important;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger.focus,
.btn-danger:active:hover, .btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger.disabled:hover, .btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover {
  background-color: var(--brand-dark) !important;
  border-color: var(--brand-dark) !important;
}

.btn-danger .badge { color: var(--brand) !important; background-color: #fff !important; }

/* Bootstrap btn-primary 统一 */
.btn-primary, .bg-primary { background-color: var(--brand) !important; border-color: var(--brand-dark) !important; }
.btn-primary:hover, .btn-primary:focus { background-color: var(--brand-dark) !important; border-color: var(--brand-dark) !important; }
.color-primary { color: var(--brand) !important; }

/* label-danger / progress-bar-danger */
.label-danger { background-color: var(--brand) !important; }
.progress-bar-danger { background-color: var(--brand) !important; }

/* ─────────────────────────────────────────
   9. 新闻卡片
───────────────────────────────────────── */
.news_box {
  padding: 28px 32px !important;
  border-radius: var(--radius) !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform var(--transition), box-shadow var(--transition) !important;
  position: relative; overflow: hidden;
}

.news_box::before {
  content: '';
  position: absolute; top: 0; left: 0;
  width: 3px; height: 100%;
  background: var(--brand);
  transform: scaleY(0); transform-origin: top;
  transition: transform var(--transition);
  border-radius: 0 2px 2px 0;
}

.news_box:hover { transform: translateY(-4px) !important; box-shadow: var(--shadow-md) !important; }
.news_box:hover::before { transform: scaleY(1); }

.news_custom_title {
  font-size: 18px !important; font-weight: 600 !important;
  color: var(--text-main) !important; line-height: 1.4 !important;
  margin-bottom: 10px !important; transition: color var(--transition) !important;
}

.news_box:hover .news_custom_title,
.news_box:hover .news_title { color: var(--brand) !important; }

.news_box:hover .news_btn {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
}

.news_custom_details { color: var(--text-muted) !important; font-size: 14px !important; line-height: 1.7 !important; }
.news_custom_date    { font-size: 12px !important; color: var(--text-muted) !important; }
.news_custom_line, .div_xwUn7j { background: var(--brand) !important; background-color: var(--brand) !important; }

/* ─────────────────────────────────────────
   10. 服务卡片
───────────────────────────────────────── */
.service_box { transition: transform var(--transition) !important; }
.service_box:hover { transform: translateY(-6px) !important; }

.service_text_box {
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  transition: box-shadow var(--transition) !important;
}
.service_box:hover .service_text_box { box-shadow: var(--shadow-md) !important; }

.service_text_title {
  font-size: 16px !important; font-weight: 600 !important;
  color: var(--text-main) !important; letter-spacing: 0 !important;
}

.service_line, .div_cEfjck, .div_cEfjck1, .div_ZJ8tuM, .div_AYArNG {
  background: var(--brand) !important;
  background-color: var(--brand) !important;
}

.service_box:hover .service_border,
.service_box:hover .div_96a6Ag    { border-color: var(--brand) !important; }
.service_box:hover .service_border2,
.service_box:hover .div_96a6Ag1   { border-color: var(--brand) !important; }
.service_box:hover .service_box_bg,
.service_box:hover .div_ZprGci    { background-color: rgba(26,108,245,.04) !important; }
.service_box:hover .service_text_title { color: var(--brand) !important; }
.service_arrow i, .icon_PRJwr4    { color: var(--brand) !important; }

.div_rd78Rf, .div_rd78Rf1 { border-color: var(--brand) !important; }

/* ─────────────────────────────────────────
   11. Hot box / 特色内容
───────────────────────────────────────── */
.hot_box1:hover .hot_title1,
.hot_box2:hover .hot_title2,
.hot_box3:hover .hot_title3       { color: var(--brand) !important; }
.cbdiv_ec5717dd:hover .cbtext_95e32e7f { color: var(--brand) !important; }

/* ─────────────────────────────────────────
   12. 联系 / 表单
───────────────────────────────────────── */
.cbinpu_727a9367 {
  border: 1px solid rgba(0,0,0,0.12) !important;
  border-radius: var(--radius) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  color: var(--text-main) !important;
  background: rgba(255,255,255,0.1) !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
  margin-bottom: 12px !important; width: 100% !important; display: block !important;
}

.cbinpu_727a9367:focus {
  border-color: rgba(255,255,255,0.6) !important;
  background: rgba(255,255,255,0.18) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.1) !important;
  outline: none !important;
}

.cbinpu_727a9367::placeholder { color: rgba(255,255,255,0.5) !important; }

.cbsubm_e635bc26 {
  background: #fff !important; color: var(--brand) !important;
  border: none !important; border-radius: 40px !important;
  padding: 12px 36px !important; font-size: 13px !important;
  font-weight: 600 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase !important; cursor: pointer !important;
  transition: all var(--transition) !important; margin-top: 8px !important;
}

.cbsubm_e635bc26:hover {
  background: var(--brand-light) !important;
  background-color: var(--brand-light) !important;
  color: var(--brand) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

/* ─────────────────────────────────────────
   13. 分页
───────────────────────────────────────── */
.pagination > .active > a,
.pagination>.active>a {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
}

.pagination > li > a:hover,
.pagination>li>a:hover { color: var(--brand) !important; border-color: var(--brand) !important; }

.pagination > li > .paginationlink_fx6NKQ:hover {
  color: #fff !important;
  background-color: var(--brand) !important;
}

/* ─────────────────────────────────────────
   14. 各类装饰元素
───────────────────────────────────────── */
/* 装饰短线 */
.cbdiv_850ab3a9, .cbdiv_d89676dd, .div_d9wypH { background-color: var(--brand) !important; }

/* 图标 */
.icon_71mPnE, .cbicon_ff799e2f { color: var(--brand) !important; }
.cbicon_dea20815:hover { background-color: var(--brand) !important; }
.cbicon_ff799e2f:hover { background-color: var(--brand) !important; color: #fff !important; }

/* 文字颜色 */
.cbhead_0cd47d9c, .cbhead_000c72ba, .cbhead_1a65a7f9,
.cbhead_62453680, .cbhead_6947534a, .cbhead_77c521dc,
.cbhead_90f12664, .cbhead_95ee39ce, .cbhead_9c011d3b { color: var(--brand) !important; }

.paragraph_8XGq8Z, .paragraph_DXvLj2, .paragraph_LUeq0E1,
.paragraph_mSlgsK, .paragraph_pLWjyw { color: var(--brand) !important; }

.cbtext_581433af  { color: var(--brand) !important; }
.cbtext_c3ecb668:hover { color: var(--brand) !important; }
.textlink_RqHtBx  { color: var(--brand) !important; }
.bsbutton_EBWQxg  { color: var(--brand) !important; border-color: var(--brand) !important; }

/* product_btn_filter */
.product_btn_filter.active .product_text_filter { color: var(--brand) !important; }

/* ─────────────────────────────────────────
   15. 页脚
───────────────────────────────────────── */
.cbdiv_2435102a { border-top: 1px solid rgba(0,0,0,0.08); padding: 24px 0 !important; }
.paragraph_nnm8J0 { font-size: 13px !important; color: var(--text-muted) !important; }
.paragraph_nnm8J0 a { color: var(--text-muted) !important; text-decoration: none !important; transition: color var(--transition) !important; }
.paragraph_nnm8J0 a:hover { color: var(--brand) !important; }

/* ─────────────────────────────────────────
   16. 滚动进场动画（由 scroll-animate.js 驱动）
───────────────────────────────────────── */
#page-progress {
  position: fixed; top: 0; left: 0;
  width: 0%; height: 2px;
  background: linear-gradient(90deg, var(--brand), #56aaf5);
  z-index: 9999;
  transition: width 0.25s ease;
  pointer-events: none;
}

/* ─────────────────────────────────────────
   17. 移动端
───────────────────────────────────────── */
@media (max-width: 768px) {
  .cbsect_c5171ca5 { backdrop-filter: none; background: #fff !important; }
  .cbhead_dca5cb3f, .cbhead_a4d62f11 { font-size: 28px !important; }
  .cbdiv_b9195581, .cbdiv_e49969cd { padding: 12vw 4vw !important; width: 90% !important; right: 0 !important; }
  .news_box { padding: 20px !important; }
}