/* 顶部分类导航 + 侧边栏分类导航（0911-顶部导航分类优化）
 * H5 默认；≥960px 为 PC。下拉用 CSS anchor 定位，JS 只切换 .is-open
 * 选择器限定在 #home-nav-slider.category-nav--top / .category-nav--sidebar，不影响其它 .slider-content */
.category-nav {
  --cat-nav-border: rgba(255, 255, 255, 0.3);
  --cat-nav-border-width: 0.5px;
  --cat-nav-radius: 6px;
  --cat-nav-height: 40px;
  --cat-nav-gap: 9px;
  --cat-nav-pad: 10px;
  --cat-nav-active: var(--theme-color, #f79004);
  --cat-nav-dropdown-bg: #121212;
  --cat-nav-dropdown-width: 80px;
  --cat-nav-dropdown-offset: 4px;
  --cat-nav-dropdown-radius: 4px;
  --cat-nav-child-active-bg: rgba(255, 255, 255, 0.1);
  --cat-nav-child-inactive: rgba(255, 255, 255, 0.5);
}

#home-nav-slider.slider-content.category-nav--top {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--cat-nav-gap);
  box-sizing: border-box;
  height: 4.8rem;
  padding: 0 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#home-nav-slider.category-nav--top .category-nav__item.slider-item {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
  color: #fff;
}

#home-nav-slider.category-nav--top .category-nav__trigger,
#home-nav-slider.category-nav--top .category-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  height: var(--cat-nav-height);
  padding: var(--cat-nav-pad);
  border: var(--cat-nav-border-width) solid var(--cat-nav-border);
  border-radius: var(--cat-nav-radius);
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-user-drag: none;
  user-select: none;
}

#home-nav-slider.category-nav--top .category-nav__label {
  display: block;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  white-space: nowrap;
}

#home-nav-slider.category-nav--top .category-nav__item.active .category-nav__trigger,
#home-nav-slider.category-nav--top .category-nav__item.active .category-nav__link {
  color: var(--cat-nav-active);
}

#home-nav-slider.category-nav--top .category-nav__chevron {
  display: block;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  color: inherit;
}

/* 下拉：展开时由 JS 挂到 body 并按 tab 实际矩形定位，避开横向滚动容器裁切 */
#home-nav-slider.category-nav--top .category-nav__dropdown,
body > .category-nav__dropdown--portal {
  display: none;
  position: fixed;
  box-sizing: border-box;
  right: auto;
  bottom: auto;
  width: var(--cat-nav-dropdown-width);
  margin: 0;
  z-index: 300;
  padding: 0;
  list-style: none;
  background: var(--cat-nav-dropdown-bg, #121212);
  border-radius: var(--cat-nav-dropdown-radius, 4px);
  overflow: hidden;
}

#home-nav-slider.category-nav--top .category-nav__item.is-open > .category-nav__dropdown {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body > .category-nav__dropdown--portal {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

#home-nav-slider.category-nav--top .category-nav__dropdown-item,
body > .category-nav__dropdown--portal .category-nav__dropdown-item {
  margin: 0;
  padding: 0;
}

#home-nav-slider.category-nav--top .category-nav__dropdown-link,
body > .category-nav__dropdown--portal .category-nav__dropdown-link {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  padding: 4px 12px;
  color: var(--cat-nav-child-inactive, rgba(255, 255, 255, 0.5));
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background: transparent;
}

#home-nav-slider.category-nav--top .category-nav__dropdown-item.is-active .category-nav__dropdown-link,
body > .category-nav__dropdown--portal .category-nav__dropdown-item.is-active .category-nav__dropdown-link {
  color: var(--cat-nav-active, #f79004);
  background: var(--cat-nav-child-active-bg, rgba(255, 255, 255, 0.1));
}

@media screen and (min-width: 960px) {
  .category-nav {
    --cat-nav-dropdown-width: 100px;
    --cat-nav-dropdown-offset: 9px;
  }

  #home-nav-slider.slider-content.category-nav--top {
    gap: 10px;
  }

  #home-nav-slider.category-nav--top .category-nav__trigger,
  #home-nav-slider.category-nav--top .category-nav__link {
    height: auto;
    min-height: 45px;
    padding: 12px 14px;
    border-width: 1px;
    border-color: #fff;
    border-radius: 8px;
  }

  #home-nav-slider.category-nav--top .category-nav__item.active .category-nav__trigger,
  #home-nav-slider.category-nav--top .category-nav__item.active .category-nav__link {
    border-color: #ff9000;
    color: var(--cat-nav-active);
  }

  #home-nav-slider.category-nav--top .category-nav__dropdown-link,
  body > .category-nav__dropdown--portal .category-nav__dropdown-link {
    height: 42px;
    padding: 10px 16px;
    font-size: 16px;
  }
}

/* 覆盖 homepage.css 在 640px 下给 .slider-content 的 0.3rem 内边距 */
@media screen and (max-width: 640px) {
  #home-nav-slider.slider-content.category-nav--top {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ---- 侧边栏：只作用带 category-nav--sidebar 的分类树 ---- */
.category-nav--sidebar .nav-item.is-parent-active > a {
  color: var(--cat-nav-active);
}

.category-nav--sidebar .nav-item.is-parent-active:not(.active) > a {
  border: 1.5px solid var(--cat-nav-active);
  border-radius: 0.5rem;
}

.category-nav--sidebar .nav-arrow {
  width: 10px;
  height: 10px;
}

.category-nav--sidebar .category-nav__chevron {
  display: block;
  width: 10px;
  height: 10px;
  color: inherit;
}

.category-nav--sidebar .nav-child dd.active {
  background-color: rgba(255, 144, 0, 0.2);
}

.category-nav--sidebar .nav-child dd.active a,
.category-nav--sidebar .nav-child dd.active .nav-title {
  color: var(--cat-nav-active);
}
