/* 本页模块导航 / 首页、设备、体验、方案与关于我们共用，不影响文档和控制台。
 * 固定在主导航下，模块定位预留两层导航高度；不替换原有页面字体或品牌色。
 */
.page-sections[hidden], .page-sections__list[hidden] { display: none; }
.page-sections {
  --sections-header: 72px;
  position: sticky;
  top: var(--sections-header);
  z-index: 1100;
  background: rgb(255 255 255 / 97%);
  border-bottom: 1px solid var(--line);
  color: var(--ink-900);
}
.page-sections__inner {
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  max-width: 1280px;
  min-height: 64px;
  padding: 8px 24px;
  margin-inline: auto;
}
.page-sections__label { flex: none; font-size: 13px; color: var(--ink-500); }
.page-sections button { font: inherit; cursor: pointer; }
.page-sections__toggle {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
  font-size: 15px;
  font-weight: 600;
}
.page-sections__current { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-sections__chevron { flex: none; transition: transform .15s; }
.page-sections__toggle[aria-expanded="true"] .page-sections__chevron { transform: rotate(180deg); }
.page-sections__count { margin-left: auto; flex: none; font-size: 12px; color: var(--ink-500); white-space: nowrap; }
.page-sections__next {
  flex: none;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--brand-600);
  font-size: 23px !important;
}
.page-sections__next:hover { background: var(--brand-blue-soft); }
.page-sections__list {
  position: absolute;
  top: 100%;
  left: 24px;
  right: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  max-height: min(480px, calc(100dvh - 160px));
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #c5cbd5 transparent;
  margin: 0;
  padding: 12px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0 0 14px 14px;
  box-shadow: 0 12px 24px rgb(23 40 74 / 8%);
}
.page-sections__list::-webkit-scrollbar { width: 5px; }
.page-sections__list::-webkit-scrollbar-thumb { background: #c5cbd5; border-radius: 5px; }
.page-sections__list::-webkit-scrollbar-track { background: transparent; }
.page-sections__list a {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-height: 44px;
  padding: 12px;
  border-radius: 8px;
  color: var(--ink-700);
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.page-sections__list a span { flex: none; color: var(--ink-500); font-size: 12px; }
.page-sections__list a:hover, .page-sections__list a[aria-current="location"] { background: var(--brand-blue-soft); color: var(--brand-600); }
.page-sections :focus-visible { outline: 2px solid var(--brand-600); outline-offset: 3px; }
.page-sections__progress { display: block; width: 100%; height: 2px; background: var(--brand-600); transform: scaleX(0); transform-origin: left; }
/* 展示模块边界：保留原图与原配色，仅加分界线与定位安全距离。 */
.has-page-sections :is(.home-page, .product-page, .case-page, .solution-page, .about-page) > section { position: relative; border-top: 1px solid var(--line); scroll-margin-top: var(--page-sections-offset, 152px); }
.has-page-sections :is(.home-page, .product-page, .case-page, .solution-page, .about-page) > section:first-child { border-top: 0; }
.has-page-sections :is(.home-page, .product-page, .case-page, .solution-page, .about-page) :is(h1, h2) { scroll-margin-top: var(--page-sections-offset, 152px); }
/* 关于我们：联系区从业务模块拆出后，延续原有留白与外部链接的定位安全距离。 */
.has-page-sections .about-contact-section { padding-block: 48px 72px; }
.has-page-sections .about-contact-section .about-contact { margin-top: 0; }
.has-page-sections .about-page #contactStart { scroll-margin-top: var(--page-sections-offset, 152px); }
@media (max-width: 600px) {
  .has-page-sections .about-contact-section { padding-block: 32px 48px; }
  .page-sections__inner { min-height: 56px; gap: 8px; padding: 4px 12px; }
  .page-sections__label { font-size: 11px; }
  .page-sections__toggle { flex: 1; gap: 6px; font-size: 13px; }
  .page-sections__count { font-size: 11px; }
  .page-sections__list { left: 8px; right: 8px; grid-template-columns: minmax(0, 1fr); padding: 8px; }
  .page-sections__list a { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-sections__chevron { transition: none; }
}
