/* ==========================================================================
   页签条吸顶（et-hero-tabs 那条横向锚点导航）
   适用页面：contact.html（联系我们）/ Introduction.html（公司简介）/
             Assure.html（服务保障）/ cooperation/aff.html（推广）/
             cooperation/partner.html（合作伙伴）
   这五页的结构完全一样：
       section.et-container.container_bg1 > .comp_container > .et-hero-tabs
           > ul.et-hero-tabs-container > li.et-hero-tab × N
       main.et-main > section.et-slide × N
   页签与小节一一对应，点击/滚动高亮都由 js/et-tabs.js 负责。

   ★ 为什么单独一个文件而不是塞进 global.css：
     global.css 与源站逐字节一致，是「对照基准」，改了以后逐行 diff 就没法用了。
     而且 bt.html 的 bt-blocks.css 里已经有一份同样的吸顶规则，但那份只服务于
     bt 一页（那边还带命令条、锚点前缀不同）；这里抽成五页共用的一份，
     页面里的 <link> 决定了它落在 global.css / 各页 CSS 之后 —— 覆盖顺序可控。

   ★ JS 早就会加 .is-stuck（et-tabs.js 的 syncStuck），但之前这五页没有对应样式，
     `position` 一直是 static，那个类名只当摆设。本文件把 CSS 补齐即可，
     一行 JS 都不用动；JS 里 barH() 会读 computed position，看到 sticky 才把
     页签条高度算进锚点偏移，所以两边必须配套。
   ========================================================================== */

/* ---------- 1. 吸顶 ----------
   为什么用 sticky 而不是源站的 .navFix（fixed）：
   ① 源站导航**不吸顶**，页签条能顶到视口最上沿 y=0；我们的导航是 fixed 常驻的，
      照抄 fixed top:0 会把页签条塞到导航底下，用户根本看不见。
      top 直接读 --navheight：PC 62 / 手机 50（mobile.css 已把该变量改写成
      --wapnavheight），与导航下沿严丝合缝。
   ② fixed 会脱流，吸住瞬间下面的内容整体上跳 74px；sticky 留在文档流里，没有这一跳。
   z-index 900 低于导航的 999，滚动时页签条从导航下面穿过去。 */
.et-container.container_bg1 {
  position: sticky;
  top: var(--navheight, 62px);
  z-index: 900;
}

/* ---------- 2. 吸住后的状态（.is-stuck 由 et-tabs.js 加） ---------- */
.et-container.container_bg1.is-stuck {
  box-shadow: 0 4px 12px rgba(16, 40, 84, 0.1);
  border-bottom-color: #e3e3e3;
}

/* 2-1 页签居中。参考图（源站吸顶态）中间对齐，未吸顶时保持 global.css 的
     左对齐 —— 一左一中，滚动时能明显看出「这条被拎起来了」。
     `safe center`：放得下就居中；放不下（窄屏 + 页签多）就退回左对齐，
     纯 center 会把第一个页签顶出滚动容器，用户滚到最左也够不着。 */
.et-container.container_bg1.is-stuck .et-hero-tabs-container {
  justify-content: center;
  justify-content: safe center;
}

/* 2-2 吸住时给当前页签加一条**文字宽度**的下划线（参考图里 售前咨询 下面那条）。
     未吸顶时不画：参考图的常态只有文字变蓝，源站也是这样。
     画在 a 上而不是 li 上：a 是 display:block + width:100%，盒子宽度正好等于
     文字宽度（li 的 0 32px 外边距不参与），所以 left/right:0 就是文字两端。
     global.css 里那个 .et-hero-tab-slider 是 <span>，源站没给它算过位置，
     bt-blocks.css 已经按源站视觉藏掉了，这里也不依赖它。 */
.et-container.container_bg1.is-stuck .et-hero-tabs-container .et-hero-tab.active a {
  position: relative;
}
.et-container.container_bg1.is-stuck .et-hero-tabs-container .et-hero-tab.active a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--Original, #0056ff);
}

/* 2-3 源站那个 <span class="et-hero-tab-slider"> 藏掉。
     global.css 里它是 position:absolute，位置靠 JS 写 left/width。以前页签条是
     static，它没有定位祖先、飘到文档很下面（看不见）；改成 sticky 之后页签条
     成了它的定位祖先，它就会在**没吸顶时**也画出一条蓝线 —— 参考图的常态没有
     这条线（只有文字变蓝），吸顶态要的是文字宽度的线（2-2 已用 ::after 画好），
     所以直接藏。bt-blocks.css 里对 bt 页也是同一个结论。 */
.et-container .et-hero-tabs-container .et-hero-tab-slider {
  display: none;
}

/* ---------- 3. 锚点让位 ----------
   #hash 直接跳（以及 JS 的 go()）时，标题要落在「导航 + 页签条」下面，
   不能被吸顶条压住。页签条真实高度由 et-tabs.js 写进 --bt-tabbar-h
   （手机上更矮，resize 时会重算），没取到时按 PC 的 74 兜底。 */
.et-main .et-slide[id] {
  scroll-margin-top: calc(var(--navheight, 62px) + var(--bt-tabbar-h, 74px) + 8px);
}

/* ---------- 4. 手机端（≤768） ----------
   global.css 在窄屏把 .et-container 改成了 position:relative（为了给
   下拉按钮留定位），权重 (0,1,0) 低于本文件第 1 节的 (0,2,0)，不用重复声明。
   这里只处理两点：
   ① 吸住时下划线贴到条的底边（条高 58 = a 的 56 + 上下 1px 边框）；
   ② 页签行高 56、字号 13（mobile.css 已改），下划线自然跟着文字宽度走，
      参考图里 492 宽下 4 个页签居中、间距均匀，就是这套规则算出来的。 */
@media screen and (max-width: 768px) {
  .et-container.container_bg1.is-stuck .et-hero-tabs-container .et-hero-tab.active a::after {
    bottom: 1px;
  }
}

/* ---------- 5.（已回退，2026-10-21 02:10 撤掉）----------
   这一节原来是「窄屏页签行通栏」：≤992 时把 .overflow_tab 的左右内边距一起归零，
   因为 mobile.css 4.4 只归零了右边（padding-right:0），页签行比正文宽 16px、
   组右偏 8px、最后一条分隔线被切在屏幕外。
   实测并无肉眼差异（用户看不出区别），且通栏后页签行的左右留白和正文不一致，
   用户要求回退 —— 现在窄屏页签行恢复成 mobile.css 的原样（左 16/20、右 0）。
   以后若要再动，记住两点：
     ★ 选择器必须带 .comp_container（(0,3,0)）—— mobile.css 那条 (0,2,0)
       且**加载顺序在本文件之后**，不提权会被盖回去；
     ★ overflow-x:auto 会让 overflow-y 也变成 auto，动到高度时要显式 overflow-y:hidden。
   -------------------------------------------------------------------- */
