/* 神思者 · 福鼎白茶 品牌官网
   视觉方向：东方编辑质感（墨绿 + 宣纸米 + 茶汤金） */

:root {
  --ink: #17211b;
  --ink-2: #3c4a41;
  --ink-3: #6d7a71;
  --paper: #f7f4ed;
  --paper-2: #efe9dc;
  --green: #2d5a3d;
  --green-deep: #1b3123;
  --gold: #b08a4a;
  --line: rgba(23, 33, 27, 0.12);
  --serif: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --max: 1180px;
  --pad: clamp(20px, 5vw, 64px);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }

::selection { background: var(--green); color: #fff; }

.wrap {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--pad);
}

/* ---------- 顶部导航 ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px var(--pad);
  background: rgba(247, 244, 237, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s, background .3s;
}
.site-header.scrolled {
  border-bottom-color: var(--line);
  background: rgba(247, 244, 237, 0.94);
}

.logo { display: flex; align-items: baseline; gap: 12px; }
.logo-mark {
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: .18em;
}
.logo-sub {
  font-size: 11px;
  letter-spacing: .34em;
  color: var(--ink-3);
  text-transform: uppercase;
}

.nav { display: flex; gap: clamp(18px, 3vw, 40px); align-items: center; }
.nav a {
  font-size: 14px;
  letter-spacing: .12em;
  color: var(--ink-2);
  padding: 6px 0;
  position: relative;
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 0; height: 1px;
  background: var(--green);
  transition: width .3s ease;
}
.nav a:hover::after, .nav a[aria-current="page"]::after { width: 100%; }
.nav a[aria-current="page"] { color: var(--green); }

.nav-toggle {
  display: none;
  width: 42px; height: 42px;
  border: 1px solid var(--line);
  border-radius: 999px;
  align-items: center;
  justify-content: center;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
  display: block;
  width: 16px; height: 1px;
  background: var(--ink);
  position: relative;
  transition: transform .3s, opacity .3s;
}
.nav-toggle span::before, .nav-toggle span::after {
  content: ""; position: absolute; left: 0;
}
.nav-toggle span::before { top: -5px; }
.nav-toggle span::after { top: 5px; }
.nav-toggle.open span { background: transparent; }
.nav-toggle.open span::before { top: 0; transform: rotate(45deg); }
.nav-toggle.open span::after { top: 0; transform: rotate(-45deg); }

/* ---------- 首屏 ---------- */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.hero-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  animation: heroZoom 18s ease-out forwards;
}
@keyframes heroZoom { from { transform: scale(1.06); } to { transform: scale(1); } }
.hero::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(16, 26, 20, .38) 0%, rgba(16, 26, 20, .12) 42%, rgba(16, 26, 20, .78) 100%);
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--pad) clamp(56px, 9vh, 110px);
}
.hero-eyebrow {
  font-size: 12px;
  letter-spacing: .4em;
  color: rgba(255,255,255,.78);
  margin-bottom: 26px;
}
.hero h1 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(42px, 8.4vw, 96px);
  line-height: 1.14;
  letter-spacing: .06em;
  max-width: 14em;
}
.hero h1 em {
  font-style: normal;
  color: #e7d3a7;
}
.hero-sub {
  margin-top: 26px;
  max-width: 36em;
  font-size: clamp(14px, 1.6vw, 17px);
  line-height: 1.9;
  color: rgba(255,255,255,.84);
}
.hero-actions {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 34px;
  border-radius: 999px;
  font-size: 14px;
  letter-spacing: .16em;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s;
}
.btn-primary { background: var(--paper); color: var(--green-deep); }
.btn-primary:hover { background: #fff; transform: translateY(-2px); }
.btn-ghost { border: 1px solid rgba(255,255,255,.45); color: #fff; }
.btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.hero-meta {
  position: absolute;
  right: var(--pad);
  bottom: clamp(56px, 9vh, 110px);
  z-index: 2;
  writing-mode: vertical-rl;
  font-size: 12px;
  letter-spacing: .42em;
  color: rgba(255,255,255,.6);
}

.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  z-index: 2;
  width: 1px; height: 54px;
  background: rgba(255,255,255,.3);
  overflow: hidden;
}
.scroll-cue::after {
  content: "";
  position: absolute; left: 0; top: -100%;
  width: 100%; height: 50%;
  background: #fff;
  animation: cue 2.4s ease-in-out infinite;
}
@keyframes cue { 0% { top: -50%; } 60%,100% { top: 100%; } }

/* ---------- 通用区块 ---------- */
.section { padding: clamp(72px, 11vw, 140px) 0; }
.section-tight { padding: clamp(48px, 7vw, 88px) 0; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  letter-spacing: .32em;
  color: var(--gold);
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 34px; height: 1px;
  background: var(--gold);
}

.h2 {
  margin-top: 22px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(30px, 4.4vw, 54px);
  line-height: 1.28;
  letter-spacing: .04em;
}

.lede {
  margin-top: 22px;
  max-width: 40em;
  font-size: clamp(15px, 1.5vw, 17px);
  color: var(--ink-2);
  line-height: 2;
}

/* 数字带 */
.stats {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.stat {
  padding: 40px 26px;
  border-left: 1px solid var(--line);
}
.stat:first-child { border-left: none; }
.stat-num {
  font-family: var(--serif);
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1;
  color: var(--green);
}
.stat-num small { font-size: .45em; letter-spacing: .1em; margin-left: 4px; }
.stat-label {
  margin-top: 12px;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--ink-3);
}

/* 区块标题行 */
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: clamp(36px, 5vw, 64px);
}
.head-link {
  font-size: 13px;
  letter-spacing: .16em;
  color: var(--green);
  border-bottom: 1px solid var(--green);
  padding-bottom: 4px;
  white-space: nowrap;
}

/* ---------- 产品卡片 ---------- */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.6vw, 34px);
}
.product-card {
  background: #fff;
  border: 1px solid var(--line);
  transition: transform .35s ease, box-shadow .35s ease;
  display: flex;
  flex-direction: column;
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 48px rgba(23, 33, 27, .12);
}
.product-media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--paper-2);
}
.product-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}
.product-card:hover .product-media img { transform: scale(1.05); }
.product-body {
  padding: 22px 22px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.product-tag {
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--gold);
}
.product-name {
  display: block;
  margin-top: 10px;
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: .03em;
}
.product-meta {
  margin-top: 8px;
  font-size: 13px;
  color: var(--ink-3);
}
.product-foot {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.product-price {
  font-family: var(--serif);
  font-size: 20px;
  color: var(--green);
}
.product-more {
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--ink-3);
}
.product-card:hover .product-more { color: var(--green); }

.product-skeleton {
  background: linear-gradient(90deg, var(--paper-2) 25%, #f5f1e8 37%, var(--paper-2) 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s infinite linear;
  aspect-ratio: 4/3;
}
@keyframes shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }

/* 产品页筛选 */
.filter-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 34px;
}
.filter-btn {
  padding: 9px 22px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: .1em;
  color: var(--ink-2);
  transition: all .25s;
}
.filter-btn:hover { border-color: var(--green); color: var(--green); }
.filter-btn.active { background: var(--green); border-color: var(--green); color: #fff; }

/* ---------- 工艺 ---------- */
.craft {
  background: var(--green-deep);
  color: var(--paper);
}
.craft .eyebrow { color: #d8bd88; }
.craft .eyebrow::before { background: #d8bd88; }
.craft .h2 { color: #fff; }
.craft .lede { color: rgba(247,244,237,.72); }
.craft-grid {
  margin-top: clamp(44px, 6vw, 72px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
}
.craft-step {
  background: var(--green-deep);
  padding: clamp(28px, 3.4vw, 44px);
  position: relative;
}
.craft-num {
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .3em;
  color: #d8bd88;
}
.craft-title {
  margin-top: 26px;
  font-family: var(--serif);
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: .06em;
}
.craft-text {
  margin-top: 14px;
  font-size: 14px;
  line-height: 2;
  color: rgba(247,244,237,.66);
}

.craft-visual {
  margin-top: clamp(44px, 6vw, 72px);
  aspect-ratio: 21 / 9;
  overflow: hidden;
}
.craft-visual img {
  width: 100%; height: 100%;
  object-fit: cover;
}

/* ---------- 品牌介绍 ---------- */
.brand { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brand-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
}
.brand-card {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: clamp(30px, 4vw, 58px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.brand-card img { width: 100%; max-width: 420px; height: auto; }
.brand-facts {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px 32px;
}
.brand-fact strong {
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  color: var(--green);
}
.brand-fact strong small { font-size: .5em; letter-spacing: .08em; margin-left: 3px; }
.brand-fact span {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--ink-3);
}
.footer-phone {
  display: inline-block;
  margin-top: 18px;
  font-family: var(--serif);
  font-size: 19px;
  letter-spacing: .06em;
  color: var(--gold);
}
.subhead {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2vw, 24px);
  margin-bottom: 18px;
}
.section-note {
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  line-height: 1.9;
  color: var(--ink-3);
}

/* ---------- 品牌故事 ---------- */
.story-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(32px, 6vw, 88px);
  align-items: center;
}
.story-media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.story-media img { width: 100%; height: 100%; object-fit: cover; }
.quote {
  margin-top: 28px;
  padding-left: 22px;
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.9;
  color: var(--ink);
}
.story-sign {
  margin-top: 28px;
  font-size: 13px;
  letter-spacing: .2em;
  color: var(--ink-3);
}

/* ---------- CTA ---------- */
.cta {
  background: var(--paper-2);
  text-align: center;
  padding: clamp(64px, 9vw, 120px) 0;
}
.cta h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.4;
  letter-spacing: .05em;
}
.cta p {
  margin: 18px auto 0;
  max-width: 34em;
  color: var(--ink-2);
  font-size: 15px;
}
.cta .btn { margin-top: 34px; }
.btn-dark { background: var(--green); color: #fff; }
.btn-dark:hover { background: var(--green-deep); transform: translateY(-2px); }

/* ---------- 页脚 ---------- */
.site-footer {
  background: var(--green-deep);
  color: rgba(247,244,237,.66);
  padding: 64px 0 34px;
  font-size: 13px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 40px;
}
.footer-brand {
  font-family: var(--serif);
  font-size: 26px;
  letter-spacing: .2em;
  color: #fff;
}
.footer-slogan {
  margin-top: 14px;
  max-width: 24em;
  line-height: 1.9;
}
.footer-title {
  font-size: 11px;
  letter-spacing: .3em;
  color: #fff;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-links a:hover { color: #fff; }
.footer-bottom {
  margin-top: 52px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(247,244,237,.45);
}

/* ---------- 内页页头 ---------- */
.page-hero {
  padding: calc(120px + 6vh) 0 clamp(40px, 6vw, 72px);
  background: var(--paper);
}
.page-hero h1 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(36px, 6vw, 68px);
  letter-spacing: .06em;
  line-height: 1.2;
}
.page-hero p {
  margin-top: 18px;
  max-width: 40em;
  color: var(--ink-2);
}

/* 联系我们 */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}
.info-list { border-top: 1px solid var(--line); }
.info-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  align-items: baseline;
}
.info-label {
  font-size: 12px;
  letter-spacing: .24em;
  color: var(--ink-3);
}
.info-value { font-size: 16px; color: var(--ink); line-height: 1.8; }
.contact-map {
  aspect-ratio: 1 / 1;
  background: linear-gradient(150deg, #e6eee4, #d3e0d3);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--green);
  border: 1px solid var(--line);
}
.contact-map strong {
  font-family: var(--serif);
  font-size: 24px;
  letter-spacing: .2em;
}

/* ---------- 动效 ---------- */
.js .reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
}
.js .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .hero-img { animation: none; }
  .scroll-cue::after { animation: none; }
  html { scroll-behavior: auto; }
}

/* ---------- 产品详情 ---------- */
.pd { padding: calc(96px + 4vh) 0 clamp(56px, 8vw, 96px); }
.pd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--ink-3);
  margin-bottom: clamp(26px, 4vw, 44px);
}
.pd-breadcrumb a:hover { color: var(--green); }
.pd-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
}
.pd-media {
  background: var(--paper-2);
  border: 1px solid var(--line);
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.pd-media img { width: 100%; height: 100%; object-fit: cover; }
.pd-info h1 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(30px, 4.4vw, 46px);
  line-height: 1.25;
  letter-spacing: .04em;
  margin: 12px 0;
}
.pd-spec { font-size: 14px; color: var(--ink-3); letter-spacing: .08em; }
.pd-price { margin: 30px 0 4px; display: flex; align-items: baseline; gap: 12px; }
.pd-price strong {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 34px;
  color: var(--green);
}
.pd-price small { font-size: 12px; letter-spacing: .14em; color: var(--ink-3); }
.pd-price-locked { align-items: center; gap: 18px; margin-top: 28px; }
.pd-price-locked .btn { height: 48px; }
.pd-desc { margin-top: 26px; }
.pd-desc p {
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.95;
  margin-bottom: 12px;
}
.pd-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: clamp(28px, 4vw, 40px); }
.pd-meta { margin-top: clamp(30px, 4vw, 44px); }
.pd-empty { max-width: 560px; padding: 30px 0 20px; }
.pd-empty h1 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(30px, 5vw, 44px);
  letter-spacing: .04em;
}
.pd-empty p { margin: 18px 0 28px; color: var(--ink-3); }
.pd-skel {
  background: linear-gradient(90deg, var(--paper-2) 25%, #f5f1e8 37%, var(--paper-2) 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s infinite linear;
}

/* ---------- 响应式 ---------- */
@media (max-width: 960px) {
  .product-grid, .craft-grid { grid-template-columns: repeat(2, 1fr); }
  .story-grid { grid-template-columns: 1fr; }
  .brand-grid { grid-template-columns: 1fr; }
  .brand-card { order: -1; }
  .pd-grid { grid-template-columns: 1fr; }
  .pd-media { aspect-ratio: 1 / 1; }
  .story-media { aspect-ratio: 4 / 3; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-map { aspect-ratio: 16 / 10; }
  .hero-meta { display: none; }
}

@media (max-width: 720px) {
  .nav {
    position: fixed;
    inset: 0 0 auto 0;
    top: 76px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 18px var(--pad) 28px;
    background: rgba(247,244,237,.98);
    border-bottom: 1px solid var(--line);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s, transform .25s;
  }
  .nav.open { opacity: 1; transform: none; pointer-events: auto; }
  .nav a { padding: 10px 0; font-size: 17px; }
  .nav-toggle { display: flex; }

  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3) { border-left: none; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }

  .product-grid, .craft-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .section-head { align-items: flex-start; }
  .hero h1 { font-size: clamp(34px, 10.5vw, 52px); }
  .hero-actions { gap: 14px; }
  .btn { height: 48px; padding: 0 26px; }
  .cta .btn { width: 100%; }
}

/* ---------- 价格门禁 ---------- */
.btn-outline {
  border: 1px solid var(--green);
  color: var(--green);
  background: transparent;
}
.btn-outline:hover { background: var(--green); color: #fff; }

.product-price.locked {
  font-family: var(--serif);
  background: none;
  border: 0;
  border-bottom: 1px dashed rgba(176, 138, 74, .6);
  padding: 0 0 3px;
  font-size: 15px;
  letter-spacing: .06em;
  color: var(--gold);
  cursor: pointer;
}
.product-price.locked:hover { color: var(--green); border-bottom-color: var(--green); }

.price-gate-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 30px;
  padding: 16px 22px;
  border: 1px dashed rgba(45, 90, 61, .35);
  background: rgba(239, 233, 220, .5);
}
.price-gate-bar[hidden] { display: none; }

.price-gate-text {
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ink-2);
}
.price-gate-btn {
  border: 0;
  padding: 0;
  background: none;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--green);
  border-bottom: 1px solid var(--green);
  padding-bottom: 3px;
  cursor: pointer;
}
.price-gate-btn:hover { color: var(--green-deep); }

body.pg-lock { overflow: hidden; }

.pg-mask {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(23, 33, 27, .62);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}
.pg-mask[hidden] { display: none; }

.pg-dialog {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: 92vh;
  overflow-y: auto;
  background: var(--paper);
  padding: clamp(26px, 5vw, 46px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
}
.pg-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 0;
  background: none;
  font-size: 26px;
  line-height: 1;
  color: var(--ink-3);
  cursor: pointer;
}
.pg-close:hover { color: var(--ink); }

.pg-title {
  margin-top: 14px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(26px, 4vw, 34px);
  letter-spacing: .04em;
}
.pg-sub {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--ink-3);
}

.pg-tabs {
  display: flex;
  gap: 26px;
  margin: 26px 0 8px;
  border-bottom: 1px solid var(--line);
}
.pg-tab {
  position: relative;
  border: 0;
  background: none;
  padding: 10px 0 14px;
  font-size: 14px;
  letter-spacing: .08em;
  color: var(--ink-3);
  cursor: pointer;
}
.pg-tab.active { color: var(--green); }
.pg-tab.active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--green);
}

.pg-form { padding-top: 18px; }
.pg-form[hidden] { display: none; }
.pg-field { margin-bottom: 16px; }
.pg-field label {
  display: block;
  margin-bottom: 7px;
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--ink-3);
}
.pg-field input,
.pg-field select {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  font-size: 15px;
  color: var(--ink);
  font-family: inherit;
}
.pg-field input:focus,
.pg-field select:focus {
  outline: none;
  border-color: var(--green);
}
.pg-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.pg-consent,
.pg-tip {
  font-size: 12px;
  line-height: 1.8;
  color: var(--ink-3);
}
.pg-consent { margin: 4px 0 18px; }
.pg-tip { margin-top: 16px; }
.pg-submit { width: 100%; border: 0; cursor: pointer; }
.pg-submit:disabled { opacity: .6; cursor: default; }
.pg-msg {
  min-height: 20px;
  margin-top: 12px;
  font-size: 13px;
  color: #a33a2a;
}

.pg-result { padding-top: 22px; }
.pg-result[hidden] { display: none; }
.pg-result-label {
  font-size: 14px;
  color: var(--ink-2);
}
.pg-code {
  margin: 16px 0;
  padding: 20px;
  text-align: center;
  background: var(--green-deep);
  color: #f3ead9;
  font-family: var(--serif);
  font-size: clamp(26px, 5vw, 34px);
  letter-spacing: .22em;
}

@media (max-width: 560px) {
  .pg-row { grid-template-columns: 1fr; gap: 0; }
  .pg-dialog { padding: 24px 20px 30px; }
  .price-gate-bar { padding: 14px 16px; }
}

/* ---------- 首页 · 超级货盘 ---------- */
.hp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(18px, 2.4vw, 30px);
}
.hp-card {
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid var(--line);
  background: #fff;
  transition: transform .35s ease, box-shadow .35s ease;
}
.hp-card:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(23, 33, 27, .12); }
.hp-sell { background: var(--green-deep); border-color: var(--green-deep); color: #f3ead9; }
.hp-kicker {
  font-size: 11px;
  letter-spacing: .26em;
  color: var(--gold);
  text-transform: uppercase;
}
.hp-sell .hp-kicker { color: #d8c39a; }
.hp-title {
  margin-top: 16px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.4;
}
.hp-text {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.95;
  color: var(--ink-2);
}
.hp-sell .hp-text { color: rgba(243, 234, 217, .78); }
.hp-cta {
  margin-top: auto;
  padding-top: 26px;
  font-size: 13px;
  letter-spacing: .16em;
  color: var(--green);
}
.hp-sell .hp-cta { color: #e7d3a7; }

/* ---------- 卖家入驻页 ---------- */
.sp-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: clamp(24px, 3.4vw, 40px);
  margin-bottom: 22px;
}
.sp-card[hidden] { display: none; }
.sp-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
.sp-tab {
  padding: 12px 18px;
  font-size: 14px;
  letter-spacing: .08em;
  color: var(--ink-3);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.sp-tab.active { color: var(--green); border-bottom-color: var(--green); font-weight: 600; }
.sp-form[hidden], .sp-result[hidden] { display: none; }
.sp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}
.sp-span2 { grid-column: 1 / -1; }
.sp-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--ink-3);
}
.sp-field input, .sp-field select {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--paper);
  font: inherit;
  font-size: 14px;
  color: var(--ink);
}
.sp-field input:focus, .sp-field select:focus { outline: none; border-color: var(--green); background: #fff; }
.sp-consent { margin-top: 16px; font-size: 12px; color: var(--ink-3); line-height: 1.8; }
.sp-submit { margin-top: 22px; width: 100%; }
.sp-msg { min-height: 20px; margin-top: 12px; font-size: 13px; color: #a33a2a; }
.sp-tip { margin-top: 14px; font-size: 12px; color: var(--ink-3); line-height: 1.8; }
.sp-result-label { font-size: 14px; color: var(--ink-2); }
.sp-code {
  margin: 16px 0;
  padding: 20px;
  text-align: center;
  background: var(--green-deep);
  color: #f3ead9;
  font-family: var(--serif);
  font-size: clamp(26px, 5vw, 34px);
  letter-spacing: .22em;
}
.sp-dash-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.sp-company { margin-top: 10px; font-family: var(--serif); font-weight: 500; font-size: clamp(24px, 3vw, 34px); }
.sp-meta { margin-top: 8px; font-size: 13px; color: var(--ink-3); }
.sp-h3 { font-family: var(--serif); font-weight: 500; font-size: 20px; }
.sp-hint { margin: 10px 0 0; font-size: 13px; color: var(--ink-3); line-height: 1.8; }
.sp-upload { display: block; }
.sp-upload-box {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  max-width: 320px;
  border: 1px dashed var(--line);
  background: var(--paper);
  cursor: pointer;
  overflow: hidden;
  text-align: center;
  font-size: 13px;
  color: var(--ink-3);
  line-height: 1.8;
}
.sp-upload-box img { width: 100%; height: 100%; object-fit: cover; }
.sp-upload-box video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.sp-upload-actions { display: flex; gap: 8px; margin-top: 10px; max-width: 320px; }
.sp-img-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink-2);
  font-size: 12px;
  letter-spacing: .06em;
  cursor: pointer;
  transition: border-color .25s, color .25s, background .25s;
}
.sp-img-btn:hover { border-color: var(--green); color: var(--green); }
.sp-img-del { border-color: rgba(163, 58, 42, .28); color: #a33a2a; }
.sp-img-del:hover { border-color: #a33a2a; color: #a33a2a; background: #fff5f4; }
.sp-list-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.sp-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}
.sp-thumb { width: 84px; height: 64px; object-fit: cover; background: var(--paper-2); flex: none; }
.sp-thumb-ph { display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--ink-3); }
.sp-item-body { flex: 1; min-width: 0; }
.sp-item-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sp-item-meta { margin-top: 4px; font-size: 12px; color: var(--ink-3); }
.sp-item-price { margin-top: 6px; font-size: 13px; color: var(--ink-2); }
.sp-reason { margin-top: 6px; font-size: 12px; color: #a33a2a; }
.sp-status { font-size: 11px; padding: 2px 8px; border-radius: 999px; letter-spacing: .06em; }
.sp-pending { background: #fff7e6; color: #a86a10; }
.sp-approved { background: #e6f7ed; color: #2c8a4b; }
.sp-rejected { background: #fff1f0; color: #a33a2a; }
.sp-del { height: 34px; padding: 0 16px; font-size: 12px; flex: none; }
.sp-empty { padding: 28px 0; font-size: 13px; color: var(--ink-3); text-align: center; }

@media (max-width: 760px) {
  .hp-grid, .sp-grid { grid-template-columns: 1fr; }
  .sp-item { flex-wrap: wrap; }
}

/* ---------- 首页 · 货盘优势 / 入驻流程 ---------- */
.hpv {
  background: var(--green-deep);
  color: var(--paper);
}
.hpv .eyebrow { color: #d8bd88; }
.hpv .eyebrow::before { background: #d8bd88; }
.hpv .h2 { color: #fff; }
.hpv .lede { color: rgba(247, 244, 237, .72); }
.hpv-grid {
  margin-top: clamp(44px, 6vw, 72px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .14);
}
.hpv-item {
  background: var(--green-deep);
  padding: clamp(26px, 3.2vw, 42px);
}
.hpv-no {
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .3em;
  color: #d8bd88;
}
.hpv-title {
  margin-top: 20px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.4;
  letter-spacing: .04em;
}
.hpv-text {
  margin-top: 12px;
  font-size: 14px;
  line-height: 2;
  color: rgba(247, 244, 237, .66);
}

.hp-flow {
  margin-top: clamp(36px, 5vw, 56px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 40px);
}
.hp-step {
  border-top: 1px solid var(--line);
  padding-top: 24px;
}
.hp-step-no {
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .26em;
  color: var(--gold);
}
.hp-step h3 {
  margin-top: 14px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(21px, 2.2vw, 27px);
  letter-spacing: .04em;
}
.hp-step p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.95;
  color: var(--ink-2);
}
.hp-note {
  margin-top: clamp(26px, 3vw, 38px);
  font-size: 13px;
  color: var(--ink-3);
}
.brew-note {
  margin-top: clamp(20px, 2.6vw, 30px);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--ink-3);
}

@media (max-width: 960px) {
  .hpv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .hpv-grid, .hp-flow { grid-template-columns: 1fr; }
}

/* ---------- 首页 · 纯货盘首屏（无背景素材） ---------- */
.hero-plain {
  background:
    radial-gradient(120% 80% at 78% 6%, rgba(176, 138, 74, .26), transparent 62%),
    radial-gradient(110% 80% at 6% 96%, rgba(45, 90, 61, .5), transparent 66%),
    linear-gradient(158deg, #101d17 0%, #1b3123 48%, #26402f 100%);
}
.hero-plain::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 120px 120px;
  -webkit-mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
  mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
  pointer-events: none;
}
.hero-plain::after {
  background: linear-gradient(180deg, rgba(8, 16, 12, .18) 0%, rgba(8, 16, 12, 0) 42%, rgba(8, 16, 12, .5) 100%);
}

/* ---------- 顶部查价下拉 ---------- */
.nav { gap: clamp(14px, 2.2vw, 34px); }
.nav-query { position: relative; display: flex; align-items: center; }
.nav-query-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  font-size: 14px;
  letter-spacing: .12em;
  color: var(--ink-2);
  transition: color .25s;
}
.nav-query-btn:hover,
.nav-query.open .nav-query-btn { color: var(--green); }
.nav-caret { font-size: 10px; transition: transform .25s; }
.nav-query.open .nav-caret { transform: rotate(180deg); }

.nav-query-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translate(-50%, 8px);
  min-width: 248px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 22px 48px rgba(23, 33, 27, .14);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s, transform .22s;
  z-index: 60;
}
.nav-query.open .nav-query-menu {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.nav-query-menu button,
.nav-query-menu a {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 12px;
  text-align: left;
  transition: background .2s;
}
.nav-query-menu button:hover,
.nav-query-menu a:hover { background: var(--paper); }
.nav-query-menu strong {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .04em;
  color: var(--ink);
}
.nav-query-menu span {
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--ink-3);
}

/* ---------- 首页 · 查价入口卡片 ---------- */
.hp-query-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.hp-query {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(26px, 3.4vw, 42px);
  background: #fff;
  text-align: left;
  transition: background .3s, color .3s;
}
.hp-query:hover { background: var(--green-deep); color: #f3ead9; }
.hp-query-tag {
  font-size: 11px;
  letter-spacing: .26em;
  color: var(--gold);
}
.hp-query-title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.35;
  letter-spacing: .04em;
}
.hp-query-text {
  font-size: 14px;
  line-height: 1.95;
  color: var(--ink-2);
  transition: color .3s;
}
.hp-query:hover .hp-query-text { color: rgba(243, 234, 217, .74); }
.hp-query-cta {
  margin-top: auto;
  padding-top: 20px;
  font-size: 13px;
  letter-spacing: .14em;
  color: var(--green);
  transition: color .3s;
}
.hp-query:hover .hp-query-cta { color: #e7d3a7; }
.hp-query-sell { background: var(--green-deep); color: #f3ead9; }
.hp-query-sell .hp-query-text { color: rgba(243, 234, 217, .74); }
.hp-query-sell .hp-query-cta { color: #e7d3a7; }

/* 价格档位小标签 */
.product-price {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.product-price em {
  font-style: normal;
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--ink-3);
}

.pg-tabs[hidden] { display: none; }

/* 产品详情页 · 价格分级 */
.pd-tiers {
  margin-top: 20px;
  border-top: 1px solid var(--line);
}
.pd-tier {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.pd-tier span {
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--ink-3);
}
.pd-tier strong {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--green);
}
.pd-lock-hint {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.8;
  color: var(--ink-3);
}
.pd-price-locked { flex-wrap: wrap; }

/* 数据来源脚注 */
.stats-note {
  margin-top: 22px;
  font-size: 12px;
  line-height: 1.9;
  color: var(--ink-3);
}

/* ---------- 主播数据墙（默认掩码，解锁后显示真实数据） ---------- */
.anch-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.anch-card {
  background: #fff;
  padding: clamp(24px, 3vw, 38px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.anch-label {
  font-size: 12px;
  letter-spacing: .2em;
  color: var(--ink-3);
}
.anch-value {
  font-family: var(--serif);
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.2;
  color: var(--green);
}
/* 掩码态：金色星号，明确「锁定」观感 */
.anch-grid:not(.anch-open) .anch-value {
  color: var(--gold);
  letter-spacing: .12em;
  user-select: none;
}
.anch-sub {
  font-size: 12px;
  color: var(--ink-3);
}
.anch-lock-cta {
  grid-column: 1 / -1;
  background: var(--paper-2);
  padding: 26px clamp(24px, 3vw, 38px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.anch-lock-cta p {
  font-size: 13px;
  line-height: 1.9;
  color: var(--ink-2);
  max-width: 34em;
}
.anch-open .anch-lock-cta { display: none; }

@media (max-width: 960px) {
  .anch-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .anch-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .hp-query-grid { grid-template-columns: 1fr; }
  .hp-query { padding: 26px 22px; }
}

@media (max-width: 720px) {
  .nav-query { width: 100%; flex-direction: column; align-items: stretch; }
  .nav-query-btn {
    width: 100%;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 17px;
  }
  .nav-query-menu {
    position: static;
    transform: none;
    min-width: 0;
    width: 100%;
    padding: 0 0 8px 14px;
    display: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
  }
  .nav-query.open .nav-query-menu { display: flex; transform: none; }
  .hp-query-title { font-size: 24px; }
  .hero-actions .btn { width: 100%; }
}

/* ---------- 产品卡片 · 选品按钮 ---------- */
.product-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.pick-btn {
  flex: none;
  padding: 4px 10px;
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--green);
  background: transparent;
  border: 1px solid rgba(23, 33, 27, .18);
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.pick-btn:hover { background: var(--green-deep); color: #f3ead9; border-color: var(--green-deep); }
.pick-btn.picked { background: var(--paper-2); color: var(--ink-3); border-color: var(--line); cursor: default; }

/* ---------- 主播选品车 ---------- */
.pick-dock {
  position: fixed;
  right: 22px;
  bottom: 26px;
  z-index: 150;
}
.pick-dock[hidden] { display: none; }
.pick-dock-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  font-size: 13px;
  letter-spacing: .12em;
  color: #f3ead9;
  background: var(--green-deep);
  border: 0;
  box-shadow: 0 16px 36px rgba(23, 33, 27, .28);
  cursor: pointer;
  transition: transform .2s;
}
.pick-dock-btn:hover { transform: translateY(-2px); }
.pick-count {
  min-width: 22px;
  padding: 2px 6px;
  font-family: var(--sans);
  font-size: 12px;
  text-align: center;
  color: var(--green-deep);
  background: var(--gold);
  border-radius: 999px;
}

.pick-mask {
  position: fixed;
  inset: 0;
  z-index: 210;
  background: rgba(23, 33, 27, .62);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}
.pick-mask[hidden] { display: none; }
.pick-dialog {
  width: 100%;
  max-width: 620px;
  max-height: 92vh;
  overflow-y: auto;
  background: var(--paper);
  padding: clamp(24px, 4vw, 38px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
}
.pick-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.pick-head h3 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(22px, 3vw, 28px);
  letter-spacing: .05em;
}
.pick-close {
  width: 34px;
  height: 34px;
  border: 0;
  background: none;
  font-size: 24px;
  line-height: 1;
  color: var(--ink-3);
  cursor: pointer;
}
.pick-close:hover { color: var(--ink); }
.pick-sub {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.85;
  color: var(--ink-3);
}
.pick-list {
  margin-top: 22px;
  border-top: 1px solid var(--line);
}
.pick-empty {
  padding: 28px 0;
  font-size: 13px;
  line-height: 1.9;
  color: var(--ink-3);
}
.pick-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.pick-item-main {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.pick-item-no {
  flex: none;
  width: 22px;
  font-family: var(--serif);
  font-size: 14px;
  color: var(--gold);
}
.pick-item-main strong {
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.4;
}
.pick-item-main span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: var(--ink-3);
}
.pick-item-price {
  flex: none;
  font-family: var(--serif);
  font-size: 18px;
  color: var(--green);
}
.pick-remove {
  flex: none;
  padding: 4px 8px;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--ink-3);
  background: none;
  border: 1px solid var(--line);
  cursor: pointer;
}
.pick-remove:hover { color: #a03a2a; border-color: rgba(160, 58, 42, .4); }
.pick-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 26px;
}
.pick-link {
  padding: 0;
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--ink-3);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}
.pick-link:hover { color: #a03a2a; border-color: rgba(160, 58, 42, .4); }
.pick-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ---------- 详情页 · 批次溯源摘要 ---------- */
.pd-trace {
  margin-top: clamp(24px, 3vw, 34px);
  border-top: 1px solid var(--line);
}
.pd-trace-head { padding: 20px 0 4px; }
.pd-trace-head h3 {
  margin-top: 6px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: .06em;
}
.pd-trace-empty {
  padding: 20px 0;
  font-size: 13px;
  line-height: 1.9;
  color: var(--ink-3);
}
.pd-trace-link {
  display: inline-block;
  margin: 16px 0 4px;
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--green);
  border-bottom: 1px solid currentColor;
}

/* ---------- 拿样申请弹窗 ---------- */
.sample-dialog { max-width: 560px; }
.sample-note {
  margin-top: 14px;
  padding: 14px 16px;
  font-size: 12px;
  line-height: 1.85;
  color: var(--ink-2);
  background: var(--paper-2);
  border-left: 2px solid var(--gold);
}
.sample-done {
  padding: 20px 0 8px;
}
.sample-done h3 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 24px;
  color: var(--green);
}
.sample-done p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.95;
  color: var(--ink-2);
}

/* ---------- 信任承诺 ---------- */
.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.trust-card {
  background: #fff;
  padding: clamp(24px, 3.2vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trust-no {
  font-size: 11px;
  letter-spacing: .24em;
  color: var(--gold);
}
.trust-title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.4;
  letter-spacing: .04em;
}
.trust-text {
  font-size: 13px;
  line-height: 1.95;
  color: var(--ink-2);
}

@media (max-width: 960px) {
  .trust-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .pick-dock { right: 14px; bottom: 16px; }
  .pick-dock-btn { padding: 12px 18px; font-size: 12px; }
  .pick-item { flex-wrap: wrap; }
  .pick-actions { width: 100%; }
  .pick-actions .btn { flex: 1; }
}

/* ---------- 批次溯源档案页 ---------- */
.trace-grid {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: clamp(24px, 3.4vw, 48px);
  align-items: start;
  margin-top: clamp(24px, 3vw, 36px);
}
.trace-side {
  position: sticky;
  top: 100px;
  background: #fff;
  border: 1px solid var(--line);
}
.trace-media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--paper-2);
}
.trace-media img { width: 100%; height: 100%; object-fit: cover; }
.trace-media-fallback { background: linear-gradient(140deg, #e6eee4, #cfdccf); }
.trace-meta { padding: clamp(20px, 2.6vw, 30px); }
.trace-meta h2 {
  margin: 10px 0 18px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 28px);
  line-height: 1.4;
  letter-spacing: .03em;
}
.trace-price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.trace-price span { font-size: 12px; letter-spacing: .14em; color: var(--ink-3); }
.trace-price strong { font-family: var(--serif); font-weight: 500; font-size: 24px; color: var(--green); }

.trace-main { min-width: 0; }
.trace-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: clamp(22px, 3vw, 36px);
}
.trace-card h2 {
  margin-top: 6px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 30px);
  letter-spacing: .04em;
}
.trace-list { margin-top: 20px; }
.trace-missing {
  margin-top: 18px;
  padding: 18px 0;
  font-size: 13px;
  line-height: 1.95;
  color: var(--ink-3);
}
.trace-note {
  margin-top: 18px;
  padding: 14px 16px;
  font-size: 12px;
  line-height: 1.9;
  color: var(--ink-2);
  background: var(--paper-2);
  border-left: 2px solid var(--gold);
}
.trace-trust { grid-template-columns: repeat(3, 1fr); margin-top: 24px; }
.trace-trust .trust-card { padding: 22px 20px; }
.trace-trust .trust-title { font-size: 18px; }
.trace-trust .trust-text { font-size: 12px; }
.trace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.trace-empty {
  grid-column: 1 / -1;
  padding: 40px 0;
  text-align: center;
}
.trace-empty h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: .04em;
}
.trace-empty p { margin: 14px 0 24px; font-size: 14px; color: var(--ink-3); }
.trace-skel {
  height: 320px;
  background: linear-gradient(90deg, var(--paper-2) 25%, #f5f1e8 37%, var(--paper-2) 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s infinite linear;
}

@media (max-width: 960px) {
  .trace-grid { grid-template-columns: 1fr; }
  .trace-side { position: static; }
  .trace-trust { grid-template-columns: 1fr; }
}

/* ---------- 品牌专区 ---------- */
a.filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.brand-how {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-bottom: 34px;
}
.brand-how > * {
  background: var(--paper);
  padding: 22px 20px;
  color: inherit;
  transition: background .25s;
}
.brand-how > a:hover { background: #fff; }
.brand-how-no {
  display: block;
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--ink-3);
  margin-bottom: 10px;
}
.brand-how strong {
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .04em;
  color: var(--ink);
  margin-bottom: 8px;
}
.brand-how p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--ink-3); }

.brand-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 8px 0 22px;
}
.brand-count { font-size: 13px; letter-spacing: .06em; color: var(--ink-3); }

.brand-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.brand-skel {
  min-height: 380px;
  background: linear-gradient(90deg, var(--paper-2) 25%, #f5f1e8 37%, var(--paper-2) 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s infinite linear;
}

.brand-card { background: var(--paper); display: flex; flex-direction: column; }
.brand-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(140deg, #e6eee4, #cfdccf);
}
.brand-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.brand-card:hover .brand-media img { transform: scale(1.04); }
button.brand-media { width: 100%; border: 0; padding: 0; cursor: pointer; text-align: left; font: inherit; color: inherit; background: none; }
.brand-media-play { position: relative; }

.brand-video-modal {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(0,0,0,.78);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.brand-video-modal[hidden] { display: none; }
.brand-video-box {
  position: relative;
  width: 100%; max-width: 880px;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}
.brand-video-close {
  position: absolute; top: 8px; right: 12px; z-index: 2;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,.5);
  color: #fff; font-size: 22px; line-height: 1;
  cursor: pointer; border: 0;
}
.brand-video-close:hover { background: rgba(0,0,0,.8); }
.brand-video-title {
  position: absolute; top: 0; left: 0; right: 56px;
  padding: 14px 18px;
  color: #fff; font-family: var(--serif); font-size: 16px;
  background: linear-gradient(180deg, rgba(0,0,0,.7), transparent);
  z-index: 1;
  pointer-events: none;
}
.brand-video-player {
  display: block;
  width: 100%;
  max-height: 70vh;
  background: #000;
}
.brand-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(23, 33, 27, .55);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  padding-left: 4px;
  backdrop-filter: blur(2px);
}
.brand-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, .92);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--green);
}
.brand-platform {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 3px 8px;
  background: rgba(23, 33, 27, .72);
  color: #fff;
  font-size: 11px;
  letter-spacing: .08em;
}
.brand-body {
  padding: 18px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.brand-brand { margin: 0; font-size: 11px; letter-spacing: .16em; color: var(--green); }
.brand-title {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: .03em;
  color: var(--ink);
}
.brand-prod { margin: 0; font-size: 12px; line-height: 1.7; color: var(--ink-3); }
.brand-cat { margin: 0; font-size: 11px; letter-spacing: .1em; color: var(--ink-3); }
.brand-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
}
.brand-price { font-family: var(--serif); font-size: 19px; color: var(--ink); }
.brand-price em {
  display: block;
  font-style: normal;
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--ink-3);
  margin-bottom: 2px;
}
.brand-btn { flex: none; padding: 8px 14px; font-size: 12px; }
.brand-watch {
  display: block;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--green);
}

.brand-empty {
  padding: clamp(40px, 6vw, 72px) 24px;
  text-align: center;
  border: 1px solid var(--line);
  background: var(--paper);
}
.brand-empty h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: .04em;
  margin: 0 0 14px;
}
.brand-empty p { margin: 0 auto 24px; max-width: 520px; font-size: 14px; line-height: 1.9; color: var(--ink-3); }

@media (max-width: 960px) {
  .brand-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-how { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .brand-grid { grid-template-columns: 1fr; }
  .brand-toolbar { flex-wrap: wrap; }
}

/* ---------- 宣传卡片整块可点击 ---------- */
a.stat,
a.hpv-item,
a.trust-card,
a.hp-step,
a.craft-step {
  position: relative;
  color: inherit;
  text-decoration: none;
  transition: background .25s, box-shadow .25s;
}
a.stat, a.hpv-item, a.hp-step, a.craft-step { display: block; }
a.trust-card { display: flex; flex-direction: column; gap: 10px; }
a.stat:hover { background: rgba(45, 90, 61, .06); }
a.hpv-item:hover, a.craft-step:hover { background: #223f2b; }
a.trust-card:hover { background: #fbfaf6; box-shadow: inset 0 0 0 1px rgba(45, 90, 61, .2); }
a.hp-step:hover { border-top-color: var(--green); }

a.stat::after,
a.hpv-item::after,
a.trust-card::after,
a.hp-step::after,
a.craft-step::after {
  content: "→";
  position: absolute;
  right: 18px;
  bottom: 14px;
  font-size: 12px;
  color: var(--green);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .25s, transform .25s;
  pointer-events: none;
}
a.stat::after { top: 16px; bottom: auto; }
a.hpv-item::after, a.craft-step::after { color: #d8bd88; }
a.stat:hover::after,
a.hpv-item:hover::after,
a.trust-card:hover::after,
a.hp-step:hover::after,
a.craft-step:hover::after { opacity: 1; transform: translateX(0); }

/* ---------- 主播名录 ---------- */
.anchor-dir-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.6vw, 34px);
  margin-top: clamp(28px, 4vw, 48px);
}
.ad-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: clamp(24px, 3vw, 36px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform .3s, box-shadow .3s;
}
.ad-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(23,33,27,.1); }
.ad-platform {
  align-self: flex-start;
  font-size: 11px;
  letter-spacing: .1em;
  padding: 3px 10px;
  border-radius: 999px;
  color: #fff;
}
.ad-pl-dy { background: #161823; }
.ad-pl-ks { background: #ff5000; }
.ad-pl-wx { background: #07c160; }
.ad-pl-tb { background: #ff4400; }
.ad-pl-xhs { background: #ff2442; }
.ad-pl-other { background: var(--ink-3); }
.ad-name {
  font-family: var(--serif);
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: .04em;
  margin-top: 6px;
}
.ad-fans { font-size: 15px; color: var(--green); font-weight: 600; }
.ad-gmv { font-size: 13px; color: var(--ink-2); }
.ad-cats { font-size: 12px; color: var(--ink-3); line-height: 1.8; }
.ad-cta {
  margin-top: auto;
  padding-top: 16px;
  font-size: 13px;
  color: var(--green);
  border-top: 1px solid var(--line);
  align-self: flex-start;
}
.ad-cta:hover { border-bottom: 1px solid var(--green); }
@media (max-width: 960px) { .anchor-dir-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .anchor-dir-grid { grid-template-columns: 1fr; } }



