.page-products {
  --prod-gutter: clamp(1.1rem, 3vw, 2rem);
  --prod-hair: rgba(42, 59, 77, .32);
  --prod-hair-soft: rgba(42, 59, 77, .18);
}

.page-products .prod-h2 {
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: clamp(1.4rem, 3.4vw, 2.1rem);
  line-height: 1.28;
  color: var(--paper);
  margin: 0 0 .7rem;
  max-width: 24ch;
}

/* ============ 首屏 ============ */
.page-products .prod-hero {
  position: relative;
  padding: clamp(1.6rem, 4vw, 3rem) var(--prod-gutter) clamp(1.6rem, 3.6vw, 2.6rem);
  overflow: hidden;
}

.page-products .prod-hero::before {
  content: "";
  position: absolute;
  inset: -30% 45% 55% -25%;
  background: radial-gradient(58% 58% at 32% 26%, rgba(227, 168, 87, .13), transparent 72%);
  pointer-events: none;
  z-index: 0;
}

.page-products .prod-hero > * {
  position: relative;
  z-index: 1;
}

.page-products .prod-hero h1 {
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: clamp(1.75rem, 5vw, 3.1rem);
  line-height: 1.2;
  color: var(--paper);
  margin: .75rem 0 1rem;
  max-width: 22ch;
}

.page-products .prod-lede {
  max-width: var(--measure);
  margin: 0 0 1.35rem;
  color: var(--paper-72);
  font-size: 1.0625rem;
  line-height: 1.85;
}

.page-products .prod-quick {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-s);
  margin: 0;
}

/* ============ 版本带 ============ */
.page-products .prod-version-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-xl);
  padding: clamp(2rem, 5vw, 3.4rem) var(--prod-gutter);
}

.page-products .prod-version-num {
  margin: .55rem 0 .7rem;
  line-height: 1.05;
  color: var(--chip-gold);
}

.page-products .prod-version-badge {
  margin: 0 0 .9rem;
}

.page-products .prod-version-note {
  max-width: var(--measure);
  margin: 0 0 1.2rem;
  color: var(--paper-72);
  font-size: 1rem;
  line-height: 1.85;
}

.page-products .prod-version-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-s);
  margin: 0;
}

.page-products .prod-steps {
  list-style: none;
  margin: 1.2rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-m);
}

.page-products .prod-step {
  position: relative;
  padding: 1rem 1.05rem 1.1rem;
  background: rgba(12, 22, 38, .34);
  border: 1px solid var(--prod-hair-soft);
  border-radius: var(--r-soft);
  transition: border-color var(--t-fast), transform var(--t-fast);
}

.page-products .prod-step:hover {
  border-color: var(--chip-glow);
  transform: translateY(-2px);
}

.page-products .prod-step-no {
  display: inline-block;
  font-size: 1.35rem;
  color: var(--chip-gold);
  letter-spacing: .04em;
  margin-bottom: .35rem;
}

.page-products .prod-step-label {
  display: block;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.05rem;
  color: var(--paper);
  margin-bottom: .4rem;
}

.page-products .prod-step-text {
  margin: 0;
  font-size: .9rem;
  line-height: 1.75;
  color: var(--paper-72);
}

/* ============ 索引墙 ============ */
.page-products .prod-sec-head {
  padding: clamp(1.8rem, 4.4vw, 3rem) var(--prod-gutter) 0;
}

.page-products .prod-sec-lede {
  max-width: var(--measure);
  margin: 0 0 1.5rem;
  color: var(--paper-72);
  font-size: 1rem;
  line-height: 1.85;
}

.page-products .prod-wall-media,
.page-products .prod-fit-media {
  margin: 0 var(--prod-gutter) clamp(1.6rem, 3.4vw, 2.6rem);
}

.page-products .prod-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 var(--prod-gutter) clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--prod-hair-soft);
}

.page-products .prod-col {
  padding: 1.05rem .85rem 1.25rem;
  border-left: 1px solid var(--prod-hair-soft);
  border-bottom: 1px solid var(--prod-hair-soft);
}

.page-products .prod-col:nth-child(odd) {
  border-left: 0;
}

.page-products .prod-col-tag {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .85rem;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--paper);
}

.page-products .prod-col-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--chip-gold);
  flex: 0 0 auto;
}

.page-products .prod-col:nth-child(2) .prod-col-dot { background: var(--felt-light); }
.page-products .prod-col:nth-child(3) .prod-col-dot { background: var(--chip-glow); }
.page-products .prod-col:nth-child(4) .prod-col-dot { background: var(--wine); }
.page-products .prod-col:nth-child(5) .prod-col-dot { background: var(--lake-mid); }
.page-products .prod-col:nth-child(6) .prod-col-dot { background: var(--muted); }

.page-products .prod-col-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-products .prod-entry {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  align-items: baseline;
  padding: .42rem 0 .46rem;
  border-bottom: 1px solid var(--paper-06);
}

.page-products .prod-entry:last-child {
  border-bottom: 0;
}

.page-products .prod-entry-idx {
  font-size: .68rem;
  color: var(--muted);
  letter-spacing: .04em;
}

.page-products .prod-entry-name {
  font-size: .9rem;
  color: var(--paper);
  overflow-wrap: anywhere;
}

.page-products .prod-entry-meta {
  grid-column: 2;
  font-family: var(--font-mono);
  font-size: .66rem;
  line-height: 1.5;
  color: var(--chip-gold);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height var(--t-fast), opacity var(--t-fast);
}

.page-products .prod-entry:hover .prod-entry-meta {
  max-height: 2.6rem;
  opacity: 1;
}

/* ============ 条目标注 ============ */
.page-products .prod-fields-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  margin: 0 var(--prod-gutter) clamp(2rem, 4vw, 3rem);
  padding: 1px;
  background: var(--prod-hair-soft);
  counter-reset: pf;
}

.page-products .prod-field {
  background: rgba(12, 22, 38, .5);
  padding: 1.25rem 1.15rem 1.35rem;
  margin: 0;
}

.page-products .prod-field dt {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1rem;
  color: var(--paper);
  margin-bottom: .55rem;
}

.page-products .prod-field dt::before {
  counter-increment: pf;
  content: counter(pf, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: .72rem;
  color: var(--chip-gold);
  margin-right: .6rem;
  letter-spacing: .04em;
}

.page-products .prod-field dd {
  margin: 0;
  font-size: .94rem;
  line-height: 1.8;
  color: var(--paper-72);
}

/* ============ 下载与更新 ============ */
.page-products .prod-get-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-l);
  padding: 0 var(--prod-gutter) clamp(2rem, 4.4vw, 3.2rem);
}

.page-products .prod-get-card {
  padding: 1.35rem 1.25rem 1.45rem;
  background: rgba(12, 22, 38, .36);
  border: 1px solid var(--prod-hair-soft);
  border-radius: var(--r-card);
  transition: border-color var(--t-fast), transform var(--t-fast);
}

.page-products .prod-get-card:nth-child(2) {
  border-radius: var(--r-card-alt);
}

.page-products .prod-get-card:hover {
  border-color: var(--chip-glow);
  transform: translateY(-2px);
}

.page-products .prod-get-title {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.12rem;
  letter-spacing: -.01em;
  line-height: 1.4;
  color: var(--paper);
  margin: .5rem 0 .8rem;
}

.page-products .prod-get-list {
  margin: 0 0 .9rem;
  padding-left: 1.1rem;
  list-style: decimal;
}

.page-products .prod-get-list li {
  font-size: .94rem;
  line-height: 1.8;
  color: var(--paper-72);
  margin-bottom: .45rem;
}

.page-products .prod-get-note {
  margin: 0;
  padding-top: .85rem;
  border-top: 1px solid var(--paper-06);
  font-size: .88rem;
  line-height: 1.75;
  color: var(--chip-glow);
}

.page-products .prod-get-media {
  margin: 0;
}

/* ============ 适配清单 ============ */
.page-products .prod-fit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-xl);
  padding: 0 var(--prod-gutter) clamp(2rem, 4.4vw, 3.2rem);
}

.page-products .prod-fit-group {
  margin: 1.6rem 0 .5rem;
  font-size: .78rem;
  letter-spacing: .08em;
  color: var(--chip-gold);
  text-transform: uppercase;
}

.page-products .prod-fit-matrix .prod-fit-group:first-child {
  margin-top: 0;
}

.page-products .prod-fit-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .4rem .9rem;
  align-items: center;
  padding: .85rem 0 .95rem;
  border-bottom: 1px solid var(--paper-06);
}

.page-products .prod-fit-label {
  font-size: .94rem;
  color: var(--paper);
  overflow-wrap: anywhere;
}

.page-products .prod-fit-count {
  font-size: .76rem;
  color: var(--muted);
  text-align: right;
  white-space: nowrap;
}

.page-products .prod-bar {
  grid-column: 1;
  display: block;
  height: 9px;
  border-radius: 99px;
  background: rgba(244, 241, 232, .09);
  overflow: hidden;
}

.page-products .prod-fit-state {
  grid-column: 2;
  font-size: .74rem;
  color: var(--felt-light);
  text-align: right;
  white-space: nowrap;
}

.page-products .prod-fit-state--pending {
  color: var(--muted);
}

.page-products .prod-bar-fill {
  display: block;
  height: 100%;
  width: var(--w, 100%);
  border-radius: 99px;
  background: linear-gradient(90deg, var(--felt-green), var(--felt-light));
}

.page-products .prod-bar-fill--pending {
  background: linear-gradient(90deg, rgba(169, 186, 198, .35), var(--muted));
}

.page-products .prod-fit-tail {
  margin: 1.1rem 0 0;
  font-size: .88rem;
  line-height: 1.8;
  color: var(--paper-72);
}

.page-products .prod-fit-issues {
  list-style: none;
  margin: 0 0 1.2rem;
  padding: 0;
}

.page-products .prod-fit-issues li {
  padding: .8rem 0 .85rem;
  border-bottom: 1px solid var(--paper-06);
}

.page-products .prod-fit-issues strong {
  display: block;
  font-size: .95rem;
  font-weight: 700;
  color: var(--paper);
  margin-bottom: .3rem;
}

.page-products .prod-fit-issues span {
  display: block;
  font-size: .88rem;
  line-height: 1.75;
  color: var(--paper-72);
}

.page-products .prod-fit-help {
  margin: 0;
  font-size: .88rem;
  line-height: 1.8;
  color: var(--paper-72);
}

.page-products .prod-fit-help a {
  color: var(--chip-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-products .prod-fit-help a:hover {
  color: var(--chip-glow);
}

/* ============ 换设备三步 ============ */
.page-products .prod-relogin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-xl);
  padding: 0 var(--prod-gutter) clamp(2rem, 4.4vw, 3.2rem);
}

.page-products .prod-relogin-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: rl;
}

.page-products .prod-relogin-item {
  position: relative;
  padding: 0 0 1.4rem 2.6rem;
  border-left: 1px solid var(--prod-hair-soft);
  margin-left: .5rem;
}

.page-products .prod-relogin-item:last-child {
  padding-bottom: .3rem;
}

.page-products .prod-relogin-no {
  position: absolute;
  left: -0.55rem;
  top: -.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: var(--r-capsule);
  background: var(--ink-night);
  border: 1px solid var(--chip-gold);
  color: var(--chip-gold);
  font-size: .82rem;
  letter-spacing: .02em;
}

.page-products .prod-relogin-title {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.08rem;
  line-height: 1.45;
  color: var(--paper);
  margin: .2rem 0 .55rem;
}

.page-products .prod-relogin-text {
  margin: 0;
  max-width: var(--measure);
  font-size: .94rem;
  line-height: 1.8;
  color: var(--paper-72);
}

.page-products .prod-relogin-media {
  margin: 0;
}

/* ============ 收尾 ============ */
.page-products .prod-end {
  padding: clamp(2rem, 4.4vw, 3.2rem) var(--prod-gutter) clamp(2.4rem, 5vw, 4rem);
  border-top: 1px solid var(--prod-hair-soft);
}

.page-products .prod-end-title {
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: clamp(1.3rem, 3.2vw, 1.9rem);
  line-height: 1.3;
  color: var(--paper);
  margin: 0 0 .8rem;
}

.page-products .prod-end-text {
  max-width: var(--measure);
  margin: 0 0 1.3rem;
  font-size: 1rem;
  line-height: 1.85;
  color: var(--paper-72);
}

.page-products .prod-end-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-s);
  margin: 0;
}

/* ============ 响应式 ============ */
@media (min-width: 640px) {
  .page-products .prod-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-products .prod-col:nth-child(odd) {
    border-left: 1px solid var(--prod-hair-soft);
  }

  .page-products .prod-col:nth-child(3n + 1) {
    border-left: 0;
  }

  .page-products .prod-fields-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-products .prod-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-products .prod-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 2.4rem;
    left: 100%;
    width: var(--gap-m);
    height: 1px;
    background: var(--prod-hair);
  }
}

@media (min-width: 900px) {
  .page-products .prod-version-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    align-items: start;
  }

  .page-products .prod-get-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    grid-template-areas:
      "phone media"
      "pc media";
    align-items: start;
  }

  .page-products .prod-get-grid > .prod-get-card:nth-child(1) { grid-area: phone; }
  .page-products .prod-get-grid > .prod-get-card:nth-child(2) { grid-area: pc; }
  .page-products .prod-get-grid > .prod-get-media { grid-area: media; align-self: stretch; }

  .page-products .prod-get-media .media-img {
    height: 100%;
    object-fit: cover;
  }

  .page-products .prod-fit-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: start;
  }

  .page-products .prod-relogin-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    align-items: start;
  }
}

@media (min-width: 1024px) {
  .page-products .prod-cols {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .page-products .prod-col:nth-child(3n + 1) {
    border-left: 1px solid var(--prod-hair-soft);
  }

  .page-products .prod-col:nth-child(6n + 1) {
    border-left: 0;
  }

  .page-products .prod-fields-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-products .prod-step,
  .page-products .prod-get-card {
    transition: none;
  }

  .page-products .prod-step:hover,
  .page-products .prod-get-card:hover {
    transform: none;
  }
}

.page-products {
  --w: 1rem;
}
