/* navigation-menu.css: 专门存放导航与分类 mega menu 相关样式（从 header.css / style.css 抽离） */
:root {
  --parent-color: #005bbb;
  --parent-hover: #0073e6;
  /* 加强在毛玻璃上对比：使用更深但柔和的蓝灰色 */
  --tree-line: rgba(55, 72, 95, 0.70); /* 稍加深：减少蓝调，提升对比 */
  --tree-line-horizontal: linear-gradient(to right, rgba(55,72,95,0.60), rgba(55,72,95,0.78));
  --tree-line-vertical: linear-gradient(to bottom, rgba(55,72,95,0.60), rgba(55,72,95,0.78));
  /* Mega 面板最大宽度可调 */
  --mega-max-width: 1200px;
  --mega-heading-icon-size: 48px;
  --mega-heading-icon-gap: 14px;
  --mega-branch-icon-size: 48px;
  --mega-branch-icon-gap: 14px;
}

/* 顶部水平主菜单基础 */
.main-navigation { flex: 1; max-width: 600px; margin: 0 0px; }
.nav-menu { list-style:none; display:flex; gap:32px; justify-content:flex-start; }
/* 桌面端：当导航项过多时允许自动换行，避免文字被压缩成竖排 */
@media (min-width:769px){
  /* 换行时每行首尾贴边，中间均匀分布：使用一行一行包裹方案的轻量替代——让项可扩展并利用 space-between */
  .nav-menu { flex-wrap:wrap; row-gap:8px; }
  /* 压缩最小宽度与左右内距：每行可放更多项 */
  .nav-menu > li { flex:1 1 90px; min-width:90px; display:flex; justify-content:center; transition:flex-basis .25s ease,min-width .25s ease; max-width:var(--nav-item-max-width, 180px); }
  .nav-menu > li > a { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; display:inline-block; }
  /* 超长仍被截断的项：JS 添加 .is-overflow，可显示 tooltip */
  .nav-menu > li.is-overflow > a { cursor:help; }
  .nav-menu > li.is-overflow > a::before { content:attr(data-full-text); position:absolute; left:50%; top:100%; transform:translate(-50%,8px); background:#1f2937; color:#fff; font-size:12px; line-height:1.3; padding:6px 8px; border-radius:6px; white-space:normal; max-width:260px; width:max-content; opacity:0; visibility:hidden; pointer-events:none; box-shadow:0 4px 14px rgba(0,0,0,.15); z-index:300; }
  .nav-menu > li.is-overflow > a:hover::before, .nav-menu > li.is-overflow > a:focus::before { opacity:1; visibility:visible; }
  /* Tooltip 三角 */
  .nav-menu > li.is-overflow > a::after { content:""; position:absolute; left:50%; top:100%; transform:translate(-50%,4px); width:0; height:0; border:6px solid transparent; border-top-color:#1f2937; opacity:0; visibility:hidden; pointer-events:none; z-index:301; }
  .nav-menu > li.is-overflow > a:hover::after, .nav-menu > li.is-overflow > a:focus::after { opacity:1; visibility:visible; }
  /* 通过给每个行的项目统一 flex:1 实现行内均匀分布，但首尾贴边需要行级容器。为了不改 HTML，使用伪行检测：在超出宽度换行后，space-between 效果受 gap 影响，改为移除水平 gap 并用内边距补偿 */
  .nav-menu { column-gap:0; gap:0; }
  .nav-menu > li { padding:0 10px; }
  .nav-menu { justify-content:space-between; }
  /* 防止最后一行只有少量元素时过度拉伸：最少元素时回退左对齐（2 个或 1 个） */
  .nav-menu.has-few-last-row { justify-content:flex-start; }
}

/* Tooltip 额外层（JS 注入 inline style 已含基础样式；这里可放置全局 override） */
.nav-overflow-tooltip { font-family:inherit; letter-spacing:.2px; }
.nav-menu li { position:relative; }
.nav-menu li a { text-decoration:none; color:#333; font-size:16px; font-weight:500; padding:8px 0; transition:color .3s ease; position:relative; }
.nav-menu li a:hover { color:#007bff; }
.nav-menu li a::after { content:""; position:absolute; bottom:0; left:0; width:0; height:2px; background:#007bff; transition:width .3s ease; }
.nav-menu li a:hover::after { width:100%; }

/* 普通下拉 */
.nav-menu li.menu-item-has-children::after { content:none; }
.nav-menu li.menu-item-has-children > ul.sub-menu { position:absolute; top:100%; left:0; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.05); list-style:none; padding:12px 0; min-width:180px; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .3s cubic-bezier(.175,.885,.32,1.275); border-radius:4px; border:1px solid #f0f0f0; z-index:100; }
.nav-menu li.menu-item-has-children:hover > ul.sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.nav-menu li.menu-item-has-children ul.sub-menu li a { display:block; padding:8px 24px; font-size:14px; color:#666; transition:all .2s ease; }
.nav-menu li.menu-item-has-children ul.sub-menu li a:hover { color:#007bff; background:#f9f9f9; padding-left:28px; }
.nav-menu li.menu-item-has-children ul.sub-menu li { position:relative; }
.nav-menu li.menu-item-has-children ul.sub-menu li.menu-item-has-children > a::after { content:'\25B8'; margin-left:6px; font-size:12px; color:#999; }
.nav-menu li.menu-item-has-children ul.sub-menu li .sub-menu { top:0; left:100%; margin-left:8px; transform:translateX(8px); }
.nav-menu li.menu-item-has-children ul.sub-menu li.menu-item-has-children:hover > .sub-menu { opacity:1; visibility:visible; transform:translateX(0); }

/* Mega Menu 面板 */
.nav-menu li.menu-item > .mega-menu { position:fixed; top:var(--header-bottom,70px); left:50%; background:rgba(255,255,255,0.55); /* 半透明供毛玻璃透出 */ border:1px solid rgba(240,240,240,0.7); box-shadow:0 12px 40px rgba(15,23,42,.08); border-radius:16px; opacity:0; visibility:hidden; transform:translate(-50%,12px); transition:all .28s cubic-bezier(.16,1,.3,1); z-index:600; backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%); }
/* 如果浏览器不支持 backdrop-filter，使用纯白背景降级（渐进增强） */
@supports not ((backdrop-filter: blur(10px))) {
  .nav-menu li.menu-item > .mega-menu { background:#fff; border:1px solid #f0f0f0; }
}
.nav-menu li.menu-item:hover > .mega-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
/* 移动端回退为原始静态定位避免覆盖页面 */
@media (max-width:768px){
  .nav-menu li.menu-item > .mega-menu { position:static; left:auto; top:auto; transform:none; }
  .nav-menu li.menu-item:hover > .mega-menu { transform:none; }
}
/* 顶级链接维持较低层级，避免换行后第二行文字浮在面板之上 */
.nav-menu li.menu-item > a.nav-top-link { position:relative; z-index:10; }
.nav-menu li.menu-item:hover > a.nav-top-link { z-index:11; }
/* 防止面板在未可见时占用点击区域 */
/* 保持 hover 区域无断层：面板显示时启用 pointer-events；隐藏时禁用 */
.nav-menu li.menu-item > .mega-menu { pointer-events:none; }
.nav-menu li.menu-item:hover > .mega-menu, .nav-menu li.menu-item:focus-within > .mega-menu { pointer-events:auto; }
.mega-menu.mega-multi { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:32px 48px; padding:24px 32px 28px; width:clamp(480px, 70vw, var(--mega-max-width, 1200px)); max-width:100%; }
/* grid 子项列样式兼容原结构 */
.mega-menu.mega-multi .mega-column { min-width:0; }
/* === 一级分类分隔线（仅列与列之间，不对内部子分类绘制网格） === */
@media (min-width:769px){
  .mega-menu.mega-multi { position:relative; }
  /* 调整列内左侧内距，提升列内容与竖向分隔线的间隔 */
  .mega-menu.mega-multi .mega-column { position:relative; padding:4px 0 4px 20px; }
  .mega-menu.mega-multi .mega-column::after { content:""; position:absolute; top:0; right:-24px; width:1px; height:100%; background:var(--tree-line-vertical); pointer-events:none; }
  /* 去掉最后一列的线由 JS 处理（添加 .is-row-end） */
  /* 去除内部横向网格线，保持简洁 */
  .mega-menu.mega-multi::before, .mega-menu.mega-multi::after { content:none; }
  /* 恢复层级竖线：仅对包含进一步子级的分支显示竖线（深层结构可读性） */
  .mega-menu.mega-multi .mega-submenu.tree-branch { border-left:1px dashed var(--tree-line); }
  /* 去掉第一层（列标题直接子列表）竖线，可通过额外类 tree-root 控制 */
  .mega-menu.mega-multi .mega-column > .mega-submenu.tree-branch.tree-root { border-left:none; }
  /* 横向分隔线：改为 JS 绝对定位插入 .mega-row-separator 元素，避免 DOM 顺序限制 */
  .mega-menu.mega-multi .mega-row-separator { position:absolute; left:0; right:0; height:1px; background:var(--tree-line-horizontal); pointer-events:none; }
}
/* 统一最大宽度：>=1200px 即锁定到 --mega-max-width */
@media (min-width: 1200px) { .mega-menu.mega-multi { max-width:var(--mega-max-width, 1200px); } }
/* 更大屏也不再放宽，保持一致 */
@media (min-width: 1500px) { .mega-menu.mega-multi { max-width:var(--mega-max-width, 1200px); } }
/* 行底留出空间，避免最后一行贴边 */
.mega-menu.mega-multi { align-content:start; }
/* 为避免高度过长的列拉伸其它列，限制列内部标题与列表垂直间距 */
.mega-menu.mega-multi .mega-column-heading {  display:inline-flex; align-items:center; gap:var(--mega-heading-icon-gap, 10px); }
.mega-heading-icon { width:var(--mega-heading-icon-size, 32px); height:var(--mega-heading-icon-size, 32px); display:inline-flex; align-items:center; justify-content:center; border-radius:0; overflow:hidden; flex:0 0 auto; background:transparent; box-shadow:none; }
.mega-heading-icon img { width:100%; height:100%; object-fit:contain; display:block; }
.mega-heading-text { display:inline-flex; align-items:center; line-height:1.4; }
/* 去掉桌面端滚动条，允许内容自然增高。若高度过长可后续再做分组分页。 */
.mega-column { min-width:160px; }

/* 有子分类的强调颜色 */
/* 取消初始蓝色：仅在 hover / focus 时高亮。若需恢复可在元素上添加 .is-accent 类 */
.nav-menu li.menu-item-has-children > a,
.nav-menu-fallback li.menu-item-has-children > a,
.mega-column-heading.has-children,
.mega-submenu .mega-submenu-item > a.has-children { color:#333; font-weight:500; }
/* 可选恢复：.is-accent 允许某些特例保持蓝色 */
.nav-menu li.menu-item-has-children > a.is-accent,
.mega-column-heading.has-children.is-accent,
.mega-submenu .mega-submenu-item > a.has-children.is-accent { color:var(--parent-color); }

.nav-menu li.menu-item-has-children > a:hover,
.nav-menu li.menu-item-has-children > a:focus,
.mega-column-heading.has-children:hover,
.mega-column-heading.has-children:focus,
.mega-submenu-item > a.has-children:hover,
.mega-submenu-item > a.has-children:focus { color:var(--parent-hover); }

/* 列标题默认颜色改为正文色，hover 时仍使用变量 */
.mega-menu.mega-multi .mega-column-heading { color:#333; font-weight:500; }
.mega-menu.mega-multi .mega-column-heading.is-accent { color:var(--parent-color); }

/* 多列与子层结构 */
.mega-submenu { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.mega-submenu .mega-submenu { margin-top:6px; padding-left:16px; }
.mega-submenu-link { font-size:14px; color:#4d5966; text-decoration:none; transition:color .2s ease, transform .2s ease; display:inline-block; }
.mega-submenu-link.has-icon { display:inline-flex; align-items:center; gap:var(--mega-branch-icon-gap, 8px); }
.mega-branch-icon { width:var(--mega-branch-icon-size, 22px); height:var(--mega-branch-icon-size, 22px); display:inline-flex; align-items:center; justify-content:center; border-radius:0; overflow:hidden; flex:0 0 auto; background:transparent; box-shadow:none; }
.mega-branch-icon img { width:100%; height:100%; object-fit:contain; display:block; }
.mega-branch-text { display:inline-flex; align-items:center; line-height:1.4; }
.mega-submenu-link:hover { color:#007bff; transform:translateX(4px); }
.mega-submenu .mega-submenu-link { font-size:13px; }
/* 顶层统一字号 */
.mega-submenu.tree-root > .mega-submenu-item > .mega-submenu-link { font-size:14px; }

/* 树形层次虚线表现 */
.mega-submenu.tree-branch { position:relative; margin:0; padding-left:1rem; }
.tree-branch { border-left:1px dashed var(--tree-line); }
.mega-submenu-item { position:relative; }
.mega-submenu-item::before { content:""; position:absolute; left:-1rem; top:0.9em; width:1rem; height:0; border-top:1px dashed var(--tree-line); }
.mega-submenu-item > a { display:inline-block; padding:4px 6px; border-radius:4px; font-size:14px; line-height:1.4; }
.mega-submenu-item > a.has-children::after, .mega-column-heading.has-children::after { content:""; display:inline-block; width:6px; height:6px; margin-left:4px; border-radius:50%; background:currentColor; }

/* 桌面端：去除一级分类(顶层 tree-root 直接子项)的横向虚线 */
@media (min-width:769px){
  .mega-submenu.tree-root > .mega-submenu-item::before { content:none; border-top:none; }
  /* 如果列标题包在 .mega-submenu-item 中也移除 */
  .mega-submenu.tree-root > .mega-submenu-item.mega-column-heading-item::before { content:none; border-top:none; }
}

/* 响应式（与 header 原逻辑兼容） */
@media (max-width: 992px) { .nav-menu { gap:20px; } }
@media (max-width: 768px) {
  .main-navigation { order:3; width:100%; display:none; background:none; padding:0; box-shadow:none; border:none; border-radius:0; }
  /* 打开后允许纵向滚动，避免大量一级分类溢出无法点击 */
  .main-navigation.is-open { display:block; max-height:calc(100vh - var(--mobile-nav-offset, 100px)); overflow-y:auto; overscroll-behavior:contain; }
  /* 主导航与回退导航在手机端统一左右 20px 内边距 */
  .nav-menu, .nav-menu-fallback { padding:0 20px; }
  /* 滚动条细化（可选）仅触摸设备不破坏手势，颜色半透明 */
  .main-navigation.is-open::-webkit-scrollbar { width:8px; }
  .main-navigation.is-open::-webkit-scrollbar-track { background:transparent; }
  .main-navigation.is-open::-webkit-scrollbar-thumb { background:rgba(0,0,0,0.15); border-radius:4px; }
  .main-navigation.is-open::-webkit-scrollbar-thumb:hover { background:rgba(0,0,0,0.28); }
  .nav-menu { flex-direction:column; gap:0; justify-content:flex-start; }
  .nav-menu > li { width:100%; border-bottom:none; position:relative; padding:0; display:flex; align-items:center; }
  .nav-menu > li:last-child { border-bottom:none; }
  /* 让链接与按钮分离并共享水平空间 */
  .nav-menu > li > a { flex:1 1 auto; display:block; padding:14px 8px 14px 12px; font-size:16px; position:relative; z-index:1; }
  .nav-menu > li > a[role="button"] { cursor:pointer; }
  .nav-menu li.menu-item-has-children::after { display:none; }
  /* 显示子菜单切换按钮 */
  .submenu-toggle { display:inline-flex; flex:0 0 auto; margin-right:8px; background:none; border:none; cursor:pointer; padding:10px; line-height:1; align-items:center; justify-content:center; border-radius:6px; min-width:40px; min-height:40px; position:relative; z-index:2; }
  /* 增加触摸热区：扩大可点面积，同时通过透明背景避免遮挡文字 */
  .submenu-toggle svg { width:22px; height:22px; transition:transform .3s ease; fill:currentColor; pointer-events:none; }
  .submenu-toggle:active { background:rgba(0,0,0,0.06); }
  .submenu-toggle:hover { background:rgba(0,0,0,0.05); }
  /* 去掉对链接的额外右侧padding，按钮独立布局 */
  .menu-item.is-expanded > .submenu-toggle svg { transform:rotate(180deg); }
  .submenu-toggle:focus-visible { outline:2px solid #2271b1; outline-offset:2px; }
  .nav-menu li .sub-menu { display:none; position:static; background:none; border:none; box-shadow:none; opacity:1; visibility:visible; transform:none; padding:4px 0 8px 20px; margin-top:0; border-left:1px dashed var(--tree-line); }
  .nav-menu li .mega-menu { display:none; position:static; background:none; border:none; box-shadow:none; opacity:1; visibility:visible; transform:none; padding:12px 0 12px 16px; margin:0; width:100%; }
  .nav-menu li.is-expanded > .sub-menu, .nav-menu li.is-expanded > .mega-menu { display:block; }
  .nav-menu li .sub-menu li a { padding:10px 0; font-size:15px; color:#4d5966; }
  .nav-menu > .mobile-nav-panel { display:none; list-style:none; padding:0; margin:0 0 12px 0; }
  .nav-menu > .mobile-nav-panel.is-visible { display:block; }
  .nav-menu > .mobile-nav-panel .sub-menu, .nav-menu > .mobile-nav-panel .mega-menu { display:block; position:static; background:none; border:none; box-shadow:none; opacity:1; visibility:visible; transform:none; padding:4px 0 8px 20px; margin:0; width:100%; border-left:1px dashed var(--tree-line); }
  .nav-menu > .mobile-nav-panel .mega-menu { padding:12px 0 12px 16px; }
  .nav-menu > .mobile-nav-panel .mega-menu.mega-multi { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; row-gap:16px; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column { min-width:auto; margin:0; display:flex; flex-direction:column; gap:8px; padding-left:8px; border-left:1px dashed var(--tree-line); }
  /* 调整移动端列左侧内距为 20px 与桌面保持一致 */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column { padding-left:20px; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column-heading, .nav-menu > .mobile-nav-panel .mega-menu .mega-single-heading { padding:6px 0; display:inline-flex; align-items:center; gap:var(--mega-heading-icon-gap, 10px); color:#d64545; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column-heading .mega-heading-icon { width:44px; height:44px; border-radius:0; box-shadow:none; background:transparent; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu-link.has-icon { gap:var(--mega-branch-icon-gap, 14px); }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu-link .mega-branch-icon { width:30px; height:30px; border-radius:0; background:transparent; box-shadow:none; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu, .nav-menu > .mobile-nav-panel .mega-menu .mega-single-list { padding:0; margin:0; }

  /* 当 mobile-nav-panel 显示时：移除根级分支左侧竖线，只保留更深层结构线，减少视觉噪声 */
  .nav-menu > .mobile-nav-panel.is-visible > .mega-menu > .mega-column > .mega-submenu.tree-branch { border-left:none; }
  /* 若根级 tree-branch 直接在 panel 下（不经 mega-column 包裹）也一并移除 */
  .nav-menu > .mobile-nav-panel.is-visible > .mega-menu > .mega-submenu.tree-branch { border-left:none; }

  /* 贴紧水平虚线：去除移动端 mega-submenu-link 左侧默认内距 */
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item > .mega-submenu-link { padding-left:0; margin-left:0; }
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item > .mega-submenu-link { padding-left:0; margin-left:0; }

  /* =============================
     树形缩进层级展示（移动端）
     depth-n 由 JS 动态添加
     ============================= */
  .nav-menu li.menu-item[data-depth] > a { position:relative; }
  /* 基础缩进：从第二层开始 */
  .nav-menu li.menu-item.depth-2 > a { padding-left:12px; }
  .nav-menu li.menu-item.depth-3 > a { padding-left:28px; }
  .nav-menu li.menu-item.depth-4 > a { padding-left:44px; }
  .nav-menu li.menu-item.depth-5 > a { padding-left:60px; }
  /* mega-submenu-item 使用同样规则 */
  .nav-menu li.mega-submenu-item.depth-2 > a { padding-left:12px; }
  .nav-menu li.mega-submenu-item.depth-3 > a { padding-left:28px; }
  .nav-menu li.mega-submenu-item.depth-4 > a { padding-left:44px; }
  .nav-menu li.mega-submenu-item.depth-5 > a { padding-left:60px; }

  /* 统一缩进步长变量（供未来动态计算） */
  .nav-menu li[data-depth] > a { --indent-step:20px; }
  /* 可选：使用 calc 统一规则（保留上述具体数字增强兼容性） */
  .nav-menu li.menu-item[data-depth] > a { --depth: attr(data-depth integer); }
  /* 如果浏览器支持 attr(integer) 则启用自动计算，否则回退到上面固定规则 */
  @supports (padding-left: calc(var(--depth) * 16px)) {
    .nav-menu li.menu-item[data-depth] > a { padding-left: calc((var(--depth) - 1) * 16px + 12px); }
  }

  /* 层级竖线与连接线 (伪元素) */
  .nav-menu li.menu-item.depth-2 > a::before,
  .nav-menu li.menu-item.depth-3 > a::before,
  .nav-menu li.menu-item.depth-4 > a::before,
  .nav-menu li.menu-item.depth-5 > a::before { content:""; position:absolute; left:4px; top:0; bottom:0; width:10px; pointer-events:none; }
  .nav-menu li.mega-submenu-item.depth-2 > a::before,
  .nav-menu li.mega-submenu-item.depth-3 > a::before,
  .nav-menu li.mega-submenu-item.depth-4 > a::before,
  .nav-menu li.mega-submenu-item.depth-5 > a::before { content:""; position:absolute; left:4px; top:0; bottom:0; width:10px; pointer-events:none; }

  /* mega-submenu-item 不使用自有竖线，改为父级 ul 的 border-left 树形表现 */
  .nav-menu li.mega-submenu-item.depth-2 > a::before,
  .nav-menu li.mega-submenu-item.depth-3 > a::before,
  .nav-menu li.mega-submenu-item.depth-4 > a::before,
  .nav-menu li.mega-submenu-item.depth-5 > a::before { content:none; }
  .nav-menu li.menu-item.depth-2 > a::before { border-left:1px dashed var(--tree-line, #d0d7de); }
  .nav-menu li.menu-item.depth-3 > a::before { border-left:1px dashed var(--tree-line, #d0d7de); }
  .nav-menu li.menu-item.depth-4 > a::before { border-left:1px dashed var(--tree-line, #d0d7de); }
  .nav-menu li.menu-item.depth-5 > a::before { border-left:1px dashed var(--tree-line, #d0d7de); }

  /* 在有下级的项前添加分支点 */
  .nav-menu li.menu-item.menu-item-has-children.depth-2 > a::after,
  .nav-menu li.menu-item.menu-item-has-children.depth-3 > a::after,
  .nav-menu li.menu-item.menu-item-has-children.depth-4 > a::after,
  .nav-menu li.menu-item.menu-item-has-children.depth-5 > a::after { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:8px; height:8px; background:#6b7280; border-radius:50%; }
  .nav-menu li.mega-submenu-item.depth-2 > a.has-children::after,
  .nav-menu li.mega-submenu-item.depth-3 > a.has-children::after,
  .nav-menu li.mega-submenu-item.depth-4 > a.has-children::after,
  .nav-menu li.mega-submenu-item.depth-5 > a.has-children::after { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:8px; height:8px; background:#6b7280; border-radius:50%; }

  /* ============ Mega Submenu 树形线重构 ============ */
  .nav-menu .mega-menu .mega-submenu.tree-branch { position:relative; padding-left:16px; margin:6px 0 0 0; border-left:1px dashed var(--tree-line); }
  /* 第一层列下的根分支（列标题的直接子列表） */
  .nav-menu .mega-menu .mega-column > .mega-submenu.tree-branch { margin-top:0px; }
  /* 水平连接线：每个子项向左延伸到竖线 */
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item { position:relative; }
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item::before { content:""; position:absolute; left:-16px; top:0.9em; width:16px; height:0; border-top:1px dashed var(--tree-line); }
  /* 有子项的节点加一个分叉圆点（覆盖原有 after 的位置，根据缩进统一居中） */
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item > a.has-children { position:relative; }
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after { left:-20px; }
  /* 更深层分支增加额外左缩进，形成阶梯 */
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch { padding-left:20px; }
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item::before { left:-20px; width:20px; }
  /* 第三层分支缩进由 24px 调整为 20px，与第二层保持一致，减少过度右移 */
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch .mega-submenu.tree-branch { padding-left:20px; }
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item::before { left:-20px; width:20px; }
  /* 防止圆点与水平线重叠：更深层圆点微调 */
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after { left:-24px; }
  /* 深层节点圆点跟随新的缩进：padding-left 20px -> 圆点偏移 -24px (保持与上层公式一致：缩进 + 4px) */
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after { left:-24px; }

  /* 两列 mega-menu 子项同样应用缩进 (列内 li) */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu li.menu-item.depth-2 > a { padding-left:12px; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu li.menu-item.depth-3 > a { padding-left:28px; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu li.menu-item.depth-4 > a { padding-left:44px; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-submenu li.menu-item.depth-5 > a { padding-left:60px; }

  /* === 覆盖：确保 mobile-nav-panel 根级左侧虚线真正移除（放在 tree-branch 通用规则之后） === */
  .nav-menu > .mobile-nav-panel.is-visible > .sub-menu,
  .nav-menu > .mobile-nav-panel.is-visible > .mega-menu { border-left:none !important; padding-left:0 !important; }
  /* 根级列内第一层 tree-branch 去除自身竖线与多余左内距（保留更深层结构线） */
  .nav-menu > .mobile-nav-panel.is-visible > .mega-menu > .mega-column > .mega-submenu.tree-branch { border-left:none !important; padding-left:0 !important; }
  /* 如果根级直接是 tree-branch（无列包裹） */
  .nav-menu > .mobile-nav-panel.is-visible > .mega-menu > .mega-submenu.tree-branch { border-left:none !important; padding-left:0 !important; }
  /* 更深层继续保持缩进与竖线：仅当其祖先是根级被清除后，第二层起仍需要左侧视觉层级；因此不做额外处理 */

  /* === 圆点移动：移动端将所有 has-children 圆点从左侧改为文字末尾 === */
  /* 1. 先清除桌面与之前定义的定位（左侧的小圆点） */
  .nav-menu li.menu-item.menu-item-has-children.depth-2 > a::after,
  .nav-menu li.menu-item.menu-item-has-children.depth-3 > a::after,
  .nav-menu li.menu-item.menu-item-has-children.depth-4 > a::after,
  .nav-menu li.menu-item.menu-item-has-children.depth-5 > a::after,
  .nav-menu li.mega-submenu-item.depth-2 > a.has-children::after,
  .nav-menu li.mega-submenu-item.depth-3 > a.has-children::after,
  .nav-menu li.mega-submenu-item.depth-4 > a.has-children::after,
  .nav-menu li.mega-submenu-item.depth-5 > a.has-children::after,
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after,
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after,
  .nav-menu .mega-menu .mega-submenu.tree-branch .mega-submenu.tree-branch .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after { position:static; left:auto; top:auto; transform:none; margin-left:6px; width:6px; height:6px; display:inline-block; vertical-align:middle; }
  /* 2. 统一视觉：稍微缩小，避免与文字基线错位 */
  .nav-menu li.menu-item.menu-item-has-children > a::after,
  .nav-menu li.mega-submenu-item > a.has-children::after,
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item > a.has-children::after { background:currentColor; border-radius:50%; }
  /* 3. 如果某些 has-children 本身已有图标，允许通过 .no-dot 移除 */
  .nav-menu a.no-dot::after { content:none !important; }
  /* 4. 列标题（红色一级分类）圆点也移到文字后方 */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column-heading.has-children::after { position:static; left:auto; top:auto; transform:none; margin-left:6px; width:6px; height:6px; display:inline-block; vertical-align:middle; background:currentColor; border-radius:50%; }

  /* === 列标题使用普通子项样式（移动端）=== */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column-heading { color:#4d5966; font-size:14px; font-weight:400; padding:4px 6px; line-height:1.4; border-radius:4px; display:inline-block; background:none; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column-heading:hover { color:#007bff; background:rgba(0,0,0,0.04); }
  /* 若需要保持列标题所在第一层也显示树形竖线：为其后续子列表添加 tree-branch 或自身包裹 ul 已有。此处确保列标题与其直接子列表在视觉上对齐 */
  /* 统一：根级 tree-root 仍保持竖线，第一层 li 标题不额外缩进，第二层开始根据嵌套的 .tree-branch 增加 padding-left */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column > .mega-submenu.tree-branch.tree-root { border-left:1px dashed var(--tree-line); padding-left:0; margin-top:0; }
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column > .mega-submenu.tree-branch.tree-root > .mega-submenu-item.mega-column-heading-item > .mega-submenu-link { padding-left:0; }
  /* 子级嵌套 UL 默认继续阶梯缩进（已由通用 .tree-branch 规则处理），这里微调列标题与其子 UL 间距 */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column > .mega-submenu.tree-branch.tree-root > .mega-submenu-item.mega-column-heading-item > .mega-submenu.tree-branch { margin-top:4px; }
  /* 后续嵌套的分支继承原有阶梯缩进 */
  /* 当列标题本身需要强调（通过 is-accent）仍可保持蓝色 */
  .nav-menu > .mobile-nav-panel .mega-menu .mega-column-heading.is-accent { color:var(--parent-color); font-weight:500; }
  /* 恢复一级分类(列标题)前的水平虚线：使用与普通子项一致的连接线 */
  .nav-menu .mega-menu .mega-submenu.tree-branch > .mega-submenu-item.mega-column-heading-item::before { content:""; }
}

/* 小屏隐藏虚线结构以简化视觉 */
/* 在超小屏保留层级虚线，增强层次感；如需去除可恢复此前规则 */
