/* ═══════════════════════════════════════════════════════════════════
   VAPAU Home V2.1 — 首页预览
   ───────────────────────────────────────────────────────────────────
   命名空间：所有规则都限定在 .vapau-home-v2 / body.vapau-v2-page 之内，
   且这个文件只在 /home-v2/ 页面 enqueue。两道保险，对 V1 首页零影响。
   ═══════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────────────────
   接管页面：V2 自带 header 和 footer，主题那两套要收起来，否则页面顶部
   会出现两条页头、底部出现两个页脚（模板走的是 get_header()/get_footer()，
   保留它们是为了 wp_head/wp_footer 里的年龄门、购物车抽屉、offcanvas 面板）。
   #offcanvas 刻意不隐藏 —— 移动端汉堡按钮要复用它。
   ─────────────────────────────────────────────────────────────────── */
body.vapau-v2-page header#header.ct-header,
body.vapau-v2-page footer#footer.ct-footer,
body.vapau-v2-page #vpu-ss {
  display: none !important;
}
body.vapau-v2-page #main-container > .ct-container,
body.vapau-v2-page #main-container > .ct-container-full {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.vapau-home-v2 {
  /* ---- 设计 token ---- */
  --v2-bg:            #FAF8F4;
  --v2-surface:       #FFFFFF;
  --v2-text:          #17131C;
  --v2-muted:         #716B75;
  --v2-primary:       #4B246B;
  --v2-primary-soft:  #F0EAF4;
  --v2-border:        #E6E0E8;
  --v2-success:       #2E6A4F;

  --v2-r-sm:    10px;
  --v2-r-btn:   14px;
  --v2-r-card:  18px;   /* 卡片 16-20 */
  --v2-r-hero:  22px;   /* Hero 20-24 */

  --v2-s1: 8px;  --v2-s2: 16px; --v2-s3: 24px;
  --v2-s4: 32px; --v2-s5: 40px; --v2-s6: 48px; --v2-s7: 56px;

  --v2-pad: 16px;        /* 手机左右边距 */
  --v2-max: 1240px;      /* 手机/平板下的容器上限 */
  --v2-tabbar: 64px;

  /* ── 桌面宽度系统 ──
     旧版内容被锁在 1176px，1440 屏两侧各空 132px、1920 屏各空 372px，
     整页看着像一条窄内容带。改成分层上限：Hero 最宽，普通内容次之，
     gutter 用 clamp 随视口缩放，绝不使用 100vw（会带出横向滚动条）。 */
  --vapau-v2-content-max: 1520px;
  --vapau-v2-hero-max: 1680px;
  /* 3.6vw 让 1440 屏落在 ~52px（要求 40-56px），1920 屏 ~69px */
  --vapau-v2-desktop-gutter: clamp(32px, 3.6vw, 72px);

  /* 区块底色：靠深浅节奏拉开层次，不再是「暖白底 + 白卡」一路平铺 */
  --v2-band-cat:   #F5F4F6;
  --v2-band-brand: #211825;   /* 深茄紫 */
  --v2-band-model: #ECE6F0;   /* 浅紫灰 */
  --v2-band-feat:  #FFFFFF;
  --v2-band-trust: #54276B;   /* 品牌紫带 */
  --v2-band-help:  #F5F4F6;
  --v2-band-foot:  #17131C;

  background: var(--v2-bg);
  color: var(--v2-text);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  padding-bottom: calc(var(--v2-tabbar) + env(safe-area-inset-bottom, 0px) + var(--v2-s2));
  overflow-x: hidden;
}

.vapau-home-v2 *,
.vapau-home-v2 *::before,
.vapau-home-v2 *::after { box-sizing: border-box; }

.vapau-home-v2 h1, .vapau-home-v2 h2, .vapau-home-v2 h3 {
  font-family: Manrope, "DM Sans", Inter, -apple-system, sans-serif;
  color: var(--v2-text); margin: 0; letter-spacing: -0.01em;
}
.vapau-home-v2 img { max-width: 100%; height: auto; display: block; }
.vapau-home-v2 a { color: inherit; text-decoration: none; }

.vapau-home-v2 .vapau-v2-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.vapau-home-v2 svg {
  width: 22px; height: 22px; fill: none;
  stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}

/* 统一的最大宽度容器 */
.vapau-home-v2 .vapau-v2-wrap {
  width: 100%; max-width: var(--v2-max);
  margin-left: auto; margin-right: auto;
  padding-left: var(--v2-pad); padding-right: var(--v2-pad);
}

/* ─────────────────────────── 按钮 ─────────────────────────── */
.vapau-home-v2 .vapau-v2-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 22px; border-radius: var(--v2-r-btn);
  font-size: 15px; font-weight: 600; letter-spacing: 0.01em;
  border: 1px solid transparent; cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.vapau-home-v2 .vapau-v2-btn--primary { background: var(--v2-primary); color: #fff; }
.vapau-home-v2 .vapau-v2-btn--primary:hover { background: #3C1C57; }
.vapau-home-v2 .vapau-v2-btn--ghost {
  background: transparent; color: var(--v2-text);
  border-color: var(--v2-border); min-height: 44px; font-size: 14px;
}
.vapau-home-v2 .vapau-v2-btn--ghost:hover { border-color: var(--v2-primary); color: var(--v2-primary); }

.vapau-home-v2 .vapau-v2-ph {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  background: var(--v2-primary-soft); color: var(--v2-primary);
  font-family: Manrope, sans-serif; font-size: 28px; font-weight: 700;
}

.vapau-home-v2 .vapau-v2-iconbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 0; background: transparent; color: var(--v2-text);
  border-radius: var(--v2-r-sm); cursor: pointer; position: relative;
  -webkit-tap-highlight-color: transparent;
}
.vapau-home-v2 .vapau-v2-iconbtn:hover { background: var(--v2-primary-soft); color: var(--v2-primary); }
.vapau-home-v2 .vapau-v2-cartbtn__n {
  position: absolute; top: 4px; right: 3px;
  min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: var(--v2-primary); color: #fff;
  font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.vapau-home-v2 .vapau-v2-cartbtn__n[data-n="0"] { display: none; }

/* ═════════════════ 桌面 Header（>=1024px 才显示）═════════════════ */
.vapau-home-v2 .vapau-v2-dheader { display: none; }

/* ═════════════════ 移动 Header ═════════════════ */
.vapau-home-v2 .vapau-v2-header {
  background: var(--v2-surface);
  border-bottom: 1px solid var(--v2-border);
  padding: var(--v2-s1) var(--v2-pad) 12px;
}
.vapau-home-v2 .vapau-v2-header__bar {
  display: grid; grid-template-columns: 44px 1fr auto;
  align-items: center; gap: var(--v2-s1); min-height: 56px;
}
.vapau-home-v2 .vapau-v2-logo { display: flex; align-items: center; justify-content: center; min-width: 0; }
.vapau-home-v2 .vapau-v2-logo img { width: 40px; height: 40px; border-radius: var(--v2-r-sm); }
.vapau-home-v2 .vapau-v2-logo__text {
  font-family: Manrope, sans-serif; font-weight: 700; font-size: 19px;
  letter-spacing: 0.06em; color: var(--v2-primary);
}
.vapau-home-v2 .vapau-v2-header__actions { display: flex; align-items: center; gap: 2px; }

.vapau-home-v2 .vapau-v2-search { margin-top: 10px; }
.vapau-home-v2 .vapau-v2-search form {
  display: flex; align-items: center; gap: 10px;
  height: 48px; padding: 0 14px;
  background: var(--v2-bg); border: 1px solid var(--v2-border);
  border-radius: var(--v2-r-btn);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.vapau-home-v2 .vapau-v2-search form:focus-within {
  background: var(--v2-surface); border-color: var(--v2-primary);
  box-shadow: 0 0 0 3px rgba(75,36,107,.12);
}
.vapau-home-v2 .vapau-v2-search__icon { flex: none; width: 19px; height: 19px; color: var(--v2-muted); }
.vapau-home-v2 .vapau-v2-search input[type="search"],
.vapau-home-v2 .vapau-v2-dsearch input[type="search"] {
  flex: 1 1 auto; min-width: 0; height: 46px;
  border: 0 !important; outline: 0 !important; background: transparent !important;
  box-shadow: none !important; padding: 0 !important; margin: 0 !important;
  font-size: 16px !important;   /* < 16px 会让 iOS Safari 聚焦时放大整页 */
  font-family: inherit; color: var(--v2-text) !important;
  -webkit-appearance: none; appearance: none; border-radius: 0;
}
.vapau-home-v2 .vapau-v2-search input::placeholder,
.vapau-home-v2 .vapau-v2-dsearch input::placeholder { color: var(--v2-muted); opacity: 1; }
.vapau-home-v2 .vapau-v2-search input::-webkit-search-decoration,
.vapau-home-v2 .vapau-v2-search input::-webkit-search-results-button { -webkit-appearance: none; }

/* ─────────────────────────── 区块通用 ─────────────────────────── */
.vapau-home-v2 .vapau-v2-main { padding-top: var(--v2-s3); display: flex; flex-direction: column; }

/* ── 移动端区块顺序：品牌入口紧跟 Hero ──
   95% 流量在移动端，客户进来第一件事是找品牌。原顺序里 Shop by Brand 要滚到
   ~1162px 才出现，太靠后。用 flex order 重排，**不动 DOM**，桌面端不受影响。 */
@media (max-width: 1023px) {
  .vapau-home-v2 .vapau-v2-band--hero   { order: 1; }
  .vapau-home-v2 .vapau-v2-band--brand  { order: 2; }
  .vapau-home-v2 .vapau-v2-band--cat    { order: 3; }
  .vapau-home-v2 .vapau-v2-band--model  { order: 4; }
  .vapau-home-v2 .vapau-v2-band--feat   { order: 5; }
  .vapau-home-v2 .vapau-v2-band--trust  { order: 6; }
  .vapau-home-v2 .vapau-v2-band--help   { order: 7; }
  .vapau-home-v2 .vapau-v2-band--footer { order: 8; }
}
.vapau-home-v2 .vapau-v2-section { margin: 0 0 var(--v2-s6); }
/* band 自己用 padding 撑开间距，内部 section 不再额外留 margin */
.vapau-home-v2 .vapau-v2-band .vapau-v2-section { margin-bottom: 0; }

/* ══════════════════ band：全宽背景 + 内层容器 ══════════════════
   外层 .vapau-v2-band 铺满视口宽度只负责底色，内层 .vapau-v2-wrap 收内容宽度。
   这样底色能顶到屏幕两边，内容仍然居中限宽，宽屏下才有"分层"而不是一条窄带。 */
.vapau-home-v2 .vapau-v2-band {
  margin: 0;                       /* 底色区块之间不留缝，靠 padding 撑开 */
  padding-top: var(--v2-s5); padding-bottom: var(--v2-s5);
}
.vapau-home-v2 .vapau-v2-band--cat   { background: var(--v2-band-cat); }
.vapau-home-v2 .vapau-v2-band--brand { background: var(--v2-band-brand); }
.vapau-home-v2 .vapau-v2-band--model { background: var(--v2-band-model); }
.vapau-home-v2 .vapau-v2-band--feat  { background: var(--v2-band-feat); }
.vapau-home-v2 .vapau-v2-band--trust { background: var(--v2-band-trust); }
.vapau-home-v2 .vapau-v2-band--help  { background: var(--v2-band-help); }
.vapau-home-v2 .vapau-v2-band--footer{ background: var(--v2-band-foot); }
.vapau-home-v2 .vapau-v2-band--hero  { background: transparent; padding-top: var(--v2-s3); }

/* 深色 band 上的文字与卡片 */
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-section__title,
.vapau-home-v2 .vapau-v2-band--trust .vapau-v2-section__title { color: #fff; }
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-section__link { color: #D9C6E8; }
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-section__link:hover { color: #fff; }
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-brandcard {
  background: var(--v2-surface); border-color: transparent;
}
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-brandcard:hover { border-color: #7A5C90; }
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-brandmore .vapau-v2-btn {
  background: transparent; color: #E7DCEF; border-color: rgba(255,255,255,.28);
}
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-brandmore .vapau-v2-btn:hover {
  background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.5);
}
/* 浅色 band 上的白卡需要一点描边，否则糊在一起 */
.vapau-home-v2 .vapau-v2-band--model .vapau-v2-modelcard { border-color: #DCD2E4; }
.vapau-home-v2 .vapau-v2-band--cat .vapau-v2-catcard { border-color: #E3E1E6; }
.vapau-home-v2 .vapau-v2-section__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--v2-s2); margin-bottom: var(--v2-s2);
}
.vapau-home-v2 .vapau-v2-section__title { font-size: 21px; font-weight: 700; line-height: 1.25; }
.vapau-home-v2 .vapau-v2-section__tools { display: flex; align-items: center; gap: var(--v2-s2); }
.vapau-home-v2 .vapau-v2-section__link {
  flex: none; font-size: 14px; font-weight: 600; color: var(--v2-primary);
  min-height: 44px; display: inline-flex; align-items: center;
}

/* ═══════════════════════ Hero ═══════════════════════
   手机 4:5 构图：上方产品图区 220-250px，下方文案。
   产品用透明底抠图 + 品牌光晕，视觉面积占比明显高于普通缩略图。 */
.vapau-home-v2 .vapau-v2-hero { margin: 0 0 var(--v2-s5); }
.vapau-home-v2 .vapau-v2-hero__viewport { overflow: hidden; touch-action: pan-y; border-radius: var(--v2-r-hero); }
.vapau-home-v2 .vapau-v2-hero__track {
  display: flex; align-items: stretch;
  transition: transform .6s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}
.vapau-home-v2 .vapau-v2-slide {
  flex: 0 0 100%; min-width: 0;
  display: flex; flex-direction: column;
  background: var(--v2-surface);
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-r-hero);
  overflow: hidden;
}

/* ── 每个品牌一套独立视觉主题 ──
   色值取自各品牌产品本身的主色调（金/蓝/冷灰/莓红/墨黑），刻意压低饱和度，
   保持 quiet premium，不做霓虹。四个变量驱动：底色两端 + 光晕 + 强调色，
   加新品牌只要补一行，不用改结构。
   ⚠️ 这是视觉设计取值，不是商品数据 —— 不影响任何价格、库存或分类。 */
.vapau-home-v2 .vapau-v2-slide {
  --slide-bg1: #2B2333; --slide-bg2: #4A3F57;
  --slide-glow: rgba(160,130,190,.30); --slide-accent: #C7B2DC;
}
.vapau-home-v2 .vapau-v2-slide--alibarbar { --slide-bg1: #241B12; --slide-bg2: #5A4426; --slide-glow: rgba(214,173,86,.36); --slide-accent: #E8C071; }
.vapau-home-v2 .vapau-v2-slide--iget      { --slide-bg1: #101728; --slide-bg2: #2B3D63; --slide-glow: rgba(104,152,224,.32); --slide-accent: #8FB6F0; }
.vapau-home-v2 .vapau-v2-slide--gunnpod   { --slide-bg1: #1E2126; --slide-bg2: #474E58; --slide-glow: rgba(196,208,222,.30); --slide-accent: #CBD6E4; }
.vapau-home-v2 .vapau-v2-slide--wala      { --slide-bg1: #26141C; --slide-bg2: #5E2F3E; --slide-glow: rgba(226,118,138,.30); --slide-accent: #F0919F; }
.vapau-home-v2 .vapau-v2-slide--relx      { --slide-bg1: #161619; --slide-bg2: #3C3C44; --slide-glow: rgba(178,178,190,.28); --slide-accent: #C6C6D2; }

/* ── 整张卡片就是一块品牌画布 ──
   之前是「深色产品区 + 白色文案区」上下拼接，接缝很硬。现在背景提到 slide 本身，
   产品与文案共享同一块底，文案靠底部渐变浮上来。
   手机用 4:5 画布（产品是主视觉），桌面切成左文右图但底还是同一块。 */
.vapau-home-v2 .vapau-v2-slide {
  position: relative;
  display: block;                    /* 手机端用绝对定位分层，不用 flex */
  aspect-ratio: 4 / 5;               /* 1080×1350 的比例 */
  border: 0;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.028) 0 1px, rgba(255,255,255,0) 1px 10px),
    radial-gradient(126% 78% at 50% 4%, var(--slide-bg2) 0%, var(--slide-bg1) 72%);
}

.vapau-home-v2 .vapau-v2-slide__media {
  position: absolute; inset: 0;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 7% 8% 0;
  background: none;                  /* 背景已经在 slide 上了 */
}
/* 品牌光晕：产品落在有氛围的底子上，而不是死色块 */
.vapau-home-v2 .vapau-v2-slide__glow {
  position: absolute; left: 50%; top: 40%;
  width: 88%; aspect-ratio: 1 / 1; transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, var(--slide-glow) 0%, rgba(0,0,0,0) 68%);
  pointer-events: none;
}
.vapau-home-v2 .vapau-v2-slide__media img {
  position: relative; z-index: 1;
  width: auto; height: 62%;          /* 产品占主视觉 */
  max-width: 100%; max-height: 62%;
  object-fit: contain;               /* 完整不裁切 */
  filter: drop-shadow(0 22px 34px rgba(0,0,0,.5));
}

/* 底部渐变叠加信息 —— 文字压在自家品牌底色上，读得清又不切断画面 */
.vapau-home-v2 .vapau-v2-slide__body {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  display: flex; flex-direction: column;
  padding: 26% var(--v2-s2) 20px;    /* 上方留出渐变过渡区 */
  background: linear-gradient(to top,
    var(--slide-bg1) 0%,
    color-mix(in srgb, var(--slide-bg1) 88%, transparent) 42%,
    color-mix(in srgb, var(--slide-bg1) 45%, transparent) 68%,
    rgba(0,0,0,0) 100%);
}
/* 不支持 color-mix 的浏览器退回纯黑渐变，仍然保证可读 */
@supports not (background: color-mix(in srgb, red 50%, blue)) {
  .vapau-home-v2 .vapau-v2-slide__body {
    background: linear-gradient(to top, var(--slide-bg1) 0%, rgba(0,0,0,.86) 42%, rgba(0,0,0,.42) 68%, rgba(0,0,0,0) 100%);
  }
}

/* 品牌 / 型号 / 副标题分层 —— 真实 DOM 文本，没有一个字是画进图里的 */
.vapau-home-v2 .vapau-v2-slide__brand {
  margin: 0 0 3px; font-size: 12.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--slide-accent);
}
.vapau-home-v2 .vapau-v2-slide__model {
  font-family: Manrope, sans-serif; font-size: 30px; font-weight: 800;
  line-height: 1.1; letter-spacing: -0.02em; color: #fff;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vapau-home-v2 .vapau-v2-slide__sub {
  margin: 8px 0 0; font-size: 14.5px; line-height: 1.45; color: rgba(255,255,255,.74);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vapau-home-v2 .vapau-v2-slide__price {
  margin: 12px 0 0; font-size: 20px; font-weight: 700; color: #fff;
}
.vapau-home-v2 .vapau-v2-slide__from { font-size: 13px; font-weight: 500; color: rgba(255,255,255,.62); }
/* ⚠️ 必须 !important。全站 mu-plugin `00-brand.php` 里有
   `.woocommerce-Price-amount{color:#241436!important}`，普通的 color:inherit
   打不过它——踩过一次：Hero 换成深色画布后价格还是深紫，压在深棕底上几乎看不见。 */
.vapau-home-v2 .vapau-v2-slide__price,
.vapau-home-v2 .vapau-v2-slide__price .woocommerce-Price-amount,
.vapau-home-v2 .vapau-v2-slide__price .woocommerce-Price-currencySymbol {
  color: #fff !important;
  font-size: inherit; font-weight: inherit;
}
.vapau-home-v2 .vapau-v2-slide__price .vapau-v2-slide__from { color: rgba(255,255,255,.62) !important; }
/* 深底上用白按钮，对比最干净；文字取该品牌的深色底，形成呼应 */
.vapau-home-v2 .vapau-v2-slide__body .vapau-v2-btn {
  margin-top: var(--v2-s2); width: 100%;
  background: #fff; color: var(--slide-bg1);
}
.vapau-home-v2 .vapau-v2-slide__body .vapau-v2-btn:hover {
  background: var(--slide-accent); color: var(--slide-bg1);
}

/* 控制条 */
.vapau-home-v2 .vapau-v2-hero__controls {
  display: flex; align-items: center; gap: var(--v2-s1); padding-top: 14px;
}
.vapau-home-v2 .vapau-v2-hero__arrow,
.vapau-home-v2 .vapau-v2-hero__play {
  flex: none; width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--v2-surface); color: var(--v2-text);
  border: 1px solid var(--v2-border); border-radius: 50%;
  cursor: pointer; transition: border-color .18s, color .18s;
}
.vapau-home-v2 .vapau-v2-hero__arrow:hover,
.vapau-home-v2 .vapau-v2-hero__play:hover { border-color: var(--v2-primary); color: var(--v2-primary); }
.vapau-home-v2 .vapau-v2-hero__arrow svg,
.vapau-home-v2 .vapau-v2-hero__play svg { width: 18px; height: 18px; }
.vapau-home-v2 .vapau-v2-hero__play { margin-left: auto; }
.vapau-home-v2 .vapau-v2-hero__play .vapau-v2-ic-play { display: none; }
.vapau-home-v2 .vapau-v2-hero__play[data-paused="true"] .vapau-v2-ic-pause { display: none; }
.vapau-home-v2 .vapau-v2-hero__play[data-paused="true"] .vapau-v2-ic-play { display: block; }
.vapau-home-v2 .vapau-v2-ic-play { fill: currentColor; stroke: none; }

.vapau-home-v2 .vapau-v2-hero__dots { display: flex; align-items: center; gap: 4px; }
.vapau-home-v2 .vapau-v2-hero__dot {
  width: 24px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.vapau-home-v2 .vapau-v2-hero__dot::after {
  content: ''; width: 7px; height: 7px; border-radius: 50%;
  background: var(--v2-border); transition: background .2s, width .2s;
}
.vapau-home-v2 .vapau-v2-hero__dot.is-active::after { background: var(--v2-primary); width: 20px; border-radius: 4px; }
.vapau-home-v2 .vapau-v2-hero__dot:focus-visible::after { box-shadow: 0 0 0 3px rgba(75,36,107,.25); }
.vapau-home-v2 .vapau-v2-hero__counter {
  font-size: 13px; font-weight: 600; color: var(--v2-muted);
  font-variant-numeric: tabular-nums; margin-left: 2px;
  white-space: nowrap; flex: none;
}

/* ═══════════════════ Shop by Category ═══════════════════ */
.vapau-home-v2 .vapau-v2-catgrid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}
.vapau-home-v2 .vapau-v2-catcard {
  display: flex; flex-direction: column;
  background: var(--v2-surface); border: 1px solid var(--v2-border);
  border-radius: var(--v2-r-card); overflow: hidden;
  transition: border-color .18s ease, transform .18s ease;
}
.vapau-home-v2 .vapau-v2-catcard:hover { border-color: var(--v2-primary); transform: translateY(-2px); }
.vapau-home-v2 .vapau-v2-catcard__media {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 1 / 1; background: var(--v2-bg); padding: 14px;
}
.vapau-home-v2 .vapau-v2-catcard__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.vapau-home-v2 .vapau-v2-catcard__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 3px; }
.vapau-home-v2 .vapau-v2-catcard__name {
  font-family: Manrope, sans-serif; font-size: 15.5px; font-weight: 700; line-height: 1.3;
  overflow-wrap: anywhere; hyphens: auto;
}
.vapau-home-v2 .vapau-v2-catcard__meta { font-size: 13px; color: var(--v2-muted); }
.vapau-home-v2 .vapau-v2-catcard__cta {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 6px;
  font-size: 13.5px; font-weight: 600; color: var(--v2-primary);
}
.vapau-home-v2 .vapau-v2-catcard__cta svg { width: 15px; height: 15px; }

/* ═══════════════════ Shop by Brand（分组）═══════════════════ */
.vapau-home-v2 .vapau-v2-brandgroup + .vapau-v2-brandgroup { margin-top: var(--v2-s5); }
.vapau-home-v2 .vapau-v2-brandgroup__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--v2-s2); margin-bottom: 12px;
  padding-bottom: 9px; border-bottom: 1px solid var(--v2-border);
}
.vapau-home-v2 .vapau-v2-brandgroup__title {
  font-size: 13px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--v2-muted);
}
.vapau-home-v2 .vapau-v2-brandgroup__link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 600; color: var(--v2-primary);
  min-height: 44px;
}
.vapau-home-v2 .vapau-v2-brandgroup__link svg { width: 15px; height: 15px; }

.vapau-home-v2 .vapau-v2-brandgrid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
  /* 跨行也等高：品牌名长短不一时（Alibarbar vs Kuz）行高会不齐，
     430px 下实测出现过 265 / 273 混排。 */
  grid-auto-rows: 1fr;
}
/* 移动端每组只露 6 个重点品牌，其余走 View all —— 首页不需要把 8 个全铺开 */
@media (max-width: 699px) {
  .vapau-home-v2 .vapau-v2-brandgrid > .vapau-v2-brandcard:nth-child(n+7) { display: none; }
}
.vapau-home-v2 .vapau-v2-brandcard {
  position: relative; display: flex; flex-direction: column;
  background: var(--v2-surface); border: 1px solid var(--v2-border);
  border-radius: var(--v2-r-card); overflow: hidden; padding-bottom: 14px;
  transition: border-color .18s ease, transform .18s ease;
}
.vapau-home-v2 .vapau-v2-brandcard:hover { border-color: var(--v2-primary); transform: translateY(-2px); }
.vapau-home-v2 .vapau-v2-brandcard__media {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 4 / 3;              /* 图片高度统一 => 卡片等高 */
  background: var(--v2-bg); padding: 12px; margin-bottom: 10px;
}
.vapau-home-v2 .vapau-v2-brandcard__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.vapau-home-v2 .vapau-v2-brandcard__name {
  padding: 0 14px; font-family: Manrope, sans-serif;
  font-size: 15.5px; font-weight: 700; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;   /* 最多一行 */
}
.vapau-home-v2 .vapau-v2-brandcard__meta { padding: 3px 14px 0; font-size: 13px; color: var(--v2-muted); }
.vapau-home-v2 .vapau-v2-brandcard__arrow {
  position: absolute; right: 12px; bottom: 12px; color: var(--v2-primary); opacity: .55;
}
.vapau-home-v2 .vapau-v2-brandcard__arrow svg { width: 16px; height: 16px; }
.vapau-home-v2 .vapau-v2-brandmore { margin: var(--v2-s2) 0 0; text-align: center; }
.vapau-home-v2 .vapau-v2-brandmore .vapau-v2-btn { width: 100%; background: var(--v2-surface); }

/* ═══════════════════ Shop by Model ═══════════════════ */
.vapau-home-v2 .vapau-v2-chips {
  display: flex; gap: var(--v2-s1); padding-bottom: 2px; margin-bottom: var(--v2-s2);
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; scroll-snap-type: x proximity;
}
.vapau-home-v2 .vapau-v2-chips::-webkit-scrollbar { display: none; }
.vapau-home-v2 .vapau-v2-chip {
  flex: none; min-height: 44px; padding: 0 18px;
  border: 1px solid var(--v2-border); border-radius: 999px;
  background: var(--v2-surface); color: var(--v2-text);
  font-size: 14.5px; font-weight: 600; font-family: inherit;
  cursor: pointer; scroll-snap-align: start; white-space: nowrap;
  transition: background .18s, border-color .18s, color .18s;
}
.vapau-home-v2 .vapau-v2-chip:hover { border-color: var(--v2-primary); color: var(--v2-primary); }
.vapau-home-v2 .vapau-v2-chip.is-active { background: var(--v2-primary); border-color: var(--v2-primary); color: #fff; }
.vapau-home-v2 .vapau-v2-chip:focus-visible { outline: 2px solid var(--v2-primary); outline-offset: 2px; }

.vapau-home-v2 .vapau-v2-modelpanel { display: none; }
.vapau-home-v2 .vapau-v2-modelpanel.is-active { display: block; }
.vapau-home-v2 .vapau-v2-modelgrid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
  /* 1fr 让所有行取同一高度——同一行内 grid 本来就 stretch，但 3 个型号排成
     2+1 两行时，跨行高度会不一致。加这条保证整片卡片视觉上齐平。 */
  grid-auto-rows: 1fr;
}
.vapau-home-v2 .vapau-v2-modelcard {
  display: flex; flex-direction: column;
  background: var(--v2-surface); border: 1px solid var(--v2-border);
  border-radius: var(--v2-r-card); overflow: hidden;
  transition: border-color .18s ease, transform .18s ease;
}
.vapau-home-v2 .vapau-v2-modelcard:hover { border-color: var(--v2-primary); transform: translateY(-2px); }
.vapau-home-v2 .vapau-v2-modelcard__media {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 4 / 3; background: var(--v2-bg); padding: 12px;
}
.vapau-home-v2 .vapau-v2-modelcard__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
/* body 用 flex:1 撑开，卡片在网格里自然等高 */
.vapau-home-v2 .vapau-v2-modelcard__body {
  flex: 1 1 auto; display: flex; flex-direction: column;
  padding: 11px 13px 13px;
}
.vapau-home-v2 .vapau-v2-modelcard__name {
  font-family: Manrope, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vapau-home-v2 .vapau-v2-modelcard__meta { margin-top: 3px; font-size: 12.5px; color: var(--v2-muted); }
.vapau-home-v2 .vapau-v2-modelcard__price {
  margin-top: auto; padding-top: 6px; font-size: 13.5px; font-weight: 700; color: var(--v2-text);
}
.vapau-home-v2 .vapau-v2-modelcard__price .woocommerce-Price-amount { font-size: inherit; color: inherit; font-weight: inherit; }
.vapau-home-v2 .vapau-v2-modelmore { margin: var(--v2-s2) 0 0; text-align: center; }
.vapau-home-v2 .vapau-v2-modelmore .vapau-v2-btn { width: 100%; }

/* ═══════════════════ Featured Products ═══════════════════ */
.vapau-home-v2 .vapau-v2-railwrap { position: relative; }
.vapau-home-v2 .vapau-v2-rail {
  display: flex; gap: 12px;
  padding: 4px var(--v2-pad);
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth;
}
.vapau-home-v2 .vapau-v2-rail::-webkit-scrollbar { display: none; }
.vapau-home-v2 .vapau-v2-pcard {
  /* 一屏露出约 1.2-1.4 张，露出下一张的一部分提示可滑动 */
  flex: 0 0 calc(72% - 6px);
  display: flex; flex-direction: column;
  background: var(--v2-surface); border: 1px solid var(--v2-border);
  border-radius: var(--v2-r-card); overflow: hidden;
  padding-bottom: 13px; scroll-snap-align: start;
}
.vapau-home-v2 .vapau-v2-pcard__link { display: flex; flex-direction: column; flex: 1 1 auto; }
.vapau-home-v2 .vapau-v2-pcard__media {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 1 / 1; background: var(--v2-bg); padding: 14px; margin-bottom: 10px;
  overflow: hidden;
}
.vapau-home-v2 .vapau-v2-pcard__media img {
  max-width: 100%; max-height: 100%; object-fit: contain;
  transition: transform .28s ease;
}
.vapau-home-v2 .vapau-v2-pcard__brand {
  padding: 0 13px; font-size: 12.5px; font-weight: 600; color: var(--v2-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vapau-home-v2 .vapau-v2-pcard__title {
  padding: 3px 13px 0; font-size: 14.5px; font-weight: 600; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.7em;
}
.vapau-home-v2 .vapau-v2-pcard__price {
  padding: 6px 13px 0; font-size: 15.5px; font-weight: 700; color: var(--v2-text);
}
.vapau-home-v2 .vapau-v2-pcard__price .woocommerce-Price-amount { font-size: inherit; color: inherit; font-weight: inherit; }
.vapau-home-v2 .vapau-v2-pcard .vapau-v2-btn { margin: 11px 13px 0; }

/* 横滑箭头 + 进度：桌面才出现 */
.vapau-home-v2 .vapau-v2-railnav { display: none; gap: 6px; }
.vapau-home-v2 .vapau-v2-railbtn {
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--v2-surface); color: var(--v2-text);
  border: 1px solid var(--v2-border); border-radius: 50%; cursor: pointer;
  transition: border-color .18s, color .18s, opacity .18s;
}
.vapau-home-v2 .vapau-v2-railbtn:hover:not(:disabled) { border-color: var(--v2-primary); color: var(--v2-primary); }
.vapau-home-v2 .vapau-v2-railbtn:disabled { opacity: .35; cursor: default; }
.vapau-home-v2 .vapau-v2-railbtn svg { width: 17px; height: 17px; }
.vapau-home-v2 .vapau-v2-railbar { display: none; height: 3px; background: var(--v2-border); border-radius: 2px; margin-top: 14px; }
.vapau-home-v2 .vapau-v2-railbar span {
  display: block; height: 100%; width: 30%;
  background: var(--v2-primary); border-radius: 2px; transition: width .2s, margin-left .2s;
}

/* ═══════════════════ 服务与信任 ═══════════════════ */
.vapau-home-v2 .vapau-v2-trust {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}
.vapau-home-v2 .vapau-v2-trust li {
  display: flex; flex-direction: column; gap: 9px;
  padding: 14px; background: var(--v2-surface);
  border: 1px solid var(--v2-border); border-radius: var(--v2-r-card);
}
.vapau-home-v2 .vapau-v2-trust__ic { color: var(--v2-primary); }
.vapau-home-v2 .vapau-v2-trust__ic svg { width: 22px; height: 22px; }
.vapau-home-v2 .vapau-v2-trust strong { display: block; font-size: 14px; font-weight: 700; line-height: 1.3; }
.vapau-home-v2 .vapau-v2-trust em {
  display: block; margin-top: 3px; font-style: normal;
  font-size: 12.5px; line-height: 1.4; color: var(--v2-muted);
}

/* ═══════════════════ FAQ / Support ═══════════════════ */
.vapau-home-v2 .vapau-v2-help {
  background: var(--v2-surface);
  border: 1px solid var(--v2-border); border-radius: var(--v2-r-card); overflow: hidden;
}
.vapau-home-v2 .vapau-v2-help__row {
  display: flex; align-items: center; justify-content: space-between; gap: var(--v2-s2);
  min-height: 64px; padding: 13px 16px;
  border-bottom: 1px solid var(--v2-border); transition: background .15s;
}
.vapau-home-v2 .vapau-v2-help__row:last-child { border-bottom: 0; }
.vapau-home-v2 .vapau-v2-help__row:hover { background: var(--v2-primary-soft); }
.vapau-home-v2 .vapau-v2-help__row strong { display: block; font-size: 15px; font-weight: 600; }
.vapau-home-v2 .vapau-v2-help__row em {
  display: block; margin-top: 2px; font-style: normal;
  font-size: 12.5px; line-height: 1.4; color: var(--v2-muted);
}
.vapau-home-v2 .vapau-v2-help__row svg { flex: none; width: 17px; height: 17px; color: var(--v2-muted); }


/* Trust 带是深紫底，文字与图标一律浅色（移动端也适用） */
.vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust li {
  background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14);
}
.vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust__ic { color: #E4D3F0; }
.vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust strong { color: #fff; }
.vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust em { color: rgba(255,255,255,.70); }
/* Brand 带是深茄紫底 */
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-brandcard__name { color: var(--v2-text); }
.vapau-home-v2 .vapau-v2-band--brand .vapau-v2-brandcard__meta { color: var(--v2-muted); }

/* ═══════════════════ Footer（深底浅字）═══════════════════ */
.vapau-home-v2 .vapau-v2-footer { border-top: 0; }
.vapau-home-v2 .vapau-v2-footer__cols {
  display: flex; flex-direction: column; gap: var(--v2-s4);   /* 移动端纵向堆叠 */
}
.vapau-home-v2 .vapau-v2-footer__brand {
  margin: 0 0 10px; font-family: Manrope, sans-serif;
  font-size: 20px; font-weight: 800; letter-spacing: .12em; color: #fff;
}
.vapau-home-v2 .vapau-v2-footer__blurb {
  margin: 0; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.58); max-width: 34ch;
}
.vapau-home-v2 .vapau-v2-footer__ct {
  margin: 0 0 10px; font-size: 12px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5);
}
.vapau-home-v2 .vapau-v2-footer__col ul { list-style: none; margin: 0; padding: 0; }
.vapau-home-v2 .vapau-v2-footer__col li { margin: 0; }
.vapau-home-v2 .vapau-v2-footer__col a {
  display: inline-flex; align-items: center; min-height: 40px;
  font-size: 14.5px; color: rgba(255,255,255,.82); transition: color .15s;
}
.vapau-home-v2 .vapau-v2-footer__col a:hover { color: #fff; }
.vapau-home-v2 .vapau-v2-footer__legal {
  margin: var(--v2-s4) 0 0; padding-top: var(--v2-s3);
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 12.5px; line-height: 1.7; color: rgba(255,255,255,.5);
}
.vapau-home-v2 .vapau-v2-footer__legal span { display: block; }

/* ═══════════════════ 移动底部导航 ═══════════════════ */
.vapau-home-v2 .vapau-v2-tabbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 8000;   /* 低于年龄门 999999 */
  display: grid; grid-template-columns: repeat(5, 1fr);
  background: rgba(255,255,255,.97);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  backdrop-filter: saturate(180%) blur(10px);
  border-top: 1px solid var(--v2-border);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.vapau-home-v2 .vapau-v2-tab {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; min-height: var(--v2-tabbar); padding: 8px 2px;
  border: 0; background: transparent; cursor: pointer;
  font-family: inherit; font-size: 10.5px; font-weight: 600;
  color: var(--v2-muted); -webkit-tap-highlight-color: transparent;
}
.vapau-home-v2 .vapau-v2-tab svg { width: 21px; height: 21px; }
.vapau-home-v2 .vapau-v2-tab.is-active { color: var(--v2-primary); }
.vapau-home-v2 .vapau-v2-tab.is-active svg { stroke-width: 1.9; }
.vapau-home-v2 .vapau-v2-tab__n {
  position: absolute; top: 6px; left: 50%; margin-left: 4px;
  min-width: 17px; height: 17px; padding: 0 4px;
  border-radius: 9px; background: var(--v2-primary); color: #fff;
  font-size: 10.5px; font-weight: 700; line-height: 17px; text-align: center;
}
.vapau-home-v2 .vapau-v2-tab__n[data-n="0"] { display: none; }

/* ═══════════════════════════ 响应式 ═══════════════════════════ */

/* ── 320px：最窄目标机型 ── */
@media (max-width: 359px) {
  .vapau-home-v2 { --v2-pad: 12px; }
  .vapau-home-v2 .vapau-v2-section__title { font-size: 19px; }
  .vapau-home-v2 .vapau-v2-slide__model { font-size: 25px; }
  .vapau-home-v2 .vapau-v2-catgrid,
  .vapau-home-v2 .vapau-v2-brandgrid,
  .vapau-home-v2 .vapau-v2-modelgrid,
  .vapau-home-v2 .vapau-v2-trust { gap: 10px; }
  .vapau-home-v2 .vapau-v2-tab { font-size: 9.5px; }
  .vapau-home-v2 .vapau-v2-tab svg { width: 19px; height: 19px; }
  .vapau-home-v2 .vapau-v2-pcard { flex-basis: calc(78% - 6px); }

  /* 控制条在 320px 会挤爆，收窄圆点让计数器有位置 */
  .vapau-home-v2 .vapau-v2-hero__controls { gap: 6px; }
  .vapau-home-v2 .vapau-v2-hero__dots { gap: 0; }
  .vapau-home-v2 .vapau-v2-hero__dot { width: 20px; }
  .vapau-home-v2 .vapau-v2-hero__dot.is-active::after { width: 7px; border-radius: 50%; }
  .vapau-home-v2 .vapau-v2-hero__counter { font-size: 12px; margin-left: 0; }
}

/* ── 大屏手机：画布更高一点，产品更舒展 ── */
@media (min-width: 414px) and (max-width: 1023px) {
  .vapau-home-v2 .vapau-v2-slide { aspect-ratio: 1 / 1.18; }
  .vapau-home-v2 .vapau-v2-slide__media img { height: 64%; max-height: 64%; }
  .vapau-home-v2 .vapau-v2-slide__model { font-size: 33px; }
}

/* ── 平板 768px ── */
@media (min-width: 700px) {
  .vapau-home-v2 { --v2-pad: 24px; }
  .vapau-home-v2 .vapau-v2-brandgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vapau-home-v2 .vapau-v2-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vapau-home-v2 .vapau-v2-pcard { flex-basis: calc(38% - 6px); }
  .vapau-home-v2 .vapau-v2-modelmore .vapau-v2-btn { width: auto; min-width: 280px; }
  /* >=700px 品牌卡就全展示了（nth-child 隐藏规则只在 <=699px 生效），
     这时那条「View all N brands」是多余的，收掉。 */
  .vapau-home-v2 .vapau-v2-brandmore { display: none; }

  /* 型号数决定列数，避免出现空白占位格 */
  .vapau-home-v2 .vapau-v2-modelgrid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vapau-home-v2 .vapau-v2-modelgrid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  /* 两个分类时用宽卡横排，不做四列留白 */
  .vapau-home-v2 .vapau-v2-catgrid[data-count="2"] .vapau-v2-catcard { flex-direction: row; align-items: stretch; }
  .vapau-home-v2 .vapau-v2-catgrid[data-count="2"] .vapau-v2-catcard__media { flex: 0 0 44%; aspect-ratio: auto; }
  .vapau-home-v2 .vapau-v2-catgrid[data-count="2"] .vapau-v2-catcard__body { flex: 1 1 auto; justify-content: center; padding: 20px; }
  .vapau-home-v2 .vapau-v2-catgrid[data-count="2"] .vapau-v2-catcard__name { font-size: 20px; }
}

/* ══════════ 桌面 >=1024px：独立 Header + 横版 Hero ══════════ */
@media (min-width: 1024px) {
  .vapau-home-v2 {
    padding-bottom: 0;
    /* gutter 随视口缩放：1440 屏两侧约 52px，1920 屏约 69px */
    --v2-pad: var(--vapau-v2-desktop-gutter);
    /* ⚠️ max-width 是**外框**，含左右 padding。直接写 1520 的话，1920 屏上
       内容只剩 1382、两侧空 269px。要让「内容」真正达到 1520，
       外框得再加上两侧 gutter。 */
    --v2-max: calc(var(--vapau-v2-content-max) + 2 * var(--vapau-v2-desktop-gutter));
  }
  /* Hero 比普通内容再宽一档，同样把 gutter 加回外框 */
  .vapau-home-v2 .vapau-v2-band--hero > .vapau-v2-wrap {
    max-width: calc(var(--vapau-v2-hero-max) + 2 * var(--vapau-v2-desktop-gutter));
  }
  /* band 上下留白在桌面加大，让分层更清楚 */
  .vapau-home-v2 .vapau-v2-band { padding-top: var(--v2-s7); padding-bottom: var(--v2-s7); }
  .vapau-home-v2 .vapau-v2-band--hero { padding-top: var(--v2-s5); padding-bottom: var(--v2-s5); }
  .vapau-home-v2 .vapau-v2-band--trust { padding-top: 32px; padding-bottom: 32px; }
  .vapau-home-v2 .vapau-v2-section { margin-bottom: 0; }

  /* 移动 header / 底部导航退场，换上桌面导航 */
  .vapau-home-v2 .vapau-v2-header { display: none; }
  .vapau-home-v2 .vapau-v2-tabbar { display: none; }
  .vapau-home-v2 .vapau-v2-dheader {
    display: block; background: var(--v2-surface);
    border-bottom: 1px solid var(--v2-border);
    position: sticky; top: 0; z-index: 200;
  }
  .vapau-home-v2 .vapau-v2-dheader__inner {
    display: flex; align-items: center; gap: var(--v2-s4);
    min-height: 82px;            /* 76-88px */
  }
  .vapau-home-v2 .vapau-v2-wordmark {
    flex: none; display: flex; align-items: center;
    font-family: Manrope, sans-serif;
    font-size: 25px; font-weight: 800; letter-spacing: .14em;
    color: var(--v2-primary); text-transform: uppercase;
  }
  /* 图片形态的 wordmark：只锁高度，宽度随 2.9:1 自适应。
     36px 是按原来 25px 大写文字的视觉重量配的——lockup 上下有 V 的尖角，
     等高换算会显得比文字小一号。 */
  .vapau-home-v2 .vapau-v2-wordmark img {
    display: block; height: 36px; width: auto; max-width: 260px;
  }
  .vapau-home-v2 .vapau-v2-dnav { display: flex; align-items: center; gap: var(--v2-s3); flex: none; }
  .vapau-home-v2 .vapau-v2-dnav__link {
    position: relative; display: inline-flex; align-items: center;
    min-height: 44px; font-size: 15px; font-weight: 600; color: var(--v2-text);
    transition: color .18s;
  }
  .vapau-home-v2 .vapau-v2-dnav__link:hover { color: var(--v2-primary); }
  .vapau-home-v2 .vapau-v2-dnav__link.is-active { color: var(--v2-primary); }
  .vapau-home-v2 .vapau-v2-dnav__link.is-active::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 16px;
    height: 2px; background: var(--v2-primary); border-radius: 2px;
  }
  .vapau-home-v2 .vapau-v2-dheader__actions {
    display: flex; align-items: center; gap: var(--v2-s1); margin-left: auto; flex: 1 1 auto;
    justify-content: flex-end;
  }
  .vapau-home-v2 .vapau-v2-dsearch {
    display: flex; align-items: center; gap: 9px;
    flex: 1 1 auto; max-width: 340px; height: 44px; padding: 0 14px;
    background: var(--v2-bg); border: 1px solid var(--v2-border); border-radius: var(--v2-r-btn);
    transition: border-color .18s, box-shadow .18s;
  }
  .vapau-home-v2 .vapau-v2-dsearch:focus-within {
    background: var(--v2-surface); border-color: var(--v2-primary);
    box-shadow: 0 0 0 3px rgba(75,36,107,.12);
  }
  .vapau-home-v2 .vapau-v2-dsearch svg { flex: none; width: 18px; height: 18px; color: var(--v2-muted); }
  .vapau-home-v2 .vapau-v2-dsearch input[type="search"] { height: 42px; font-size: 15px !important; }

  /* ── Hero 横版：左文案右产品，但**共享同一块品牌画布** ──
     ⚠️ 这里不能给 media 单独写背景。踩过一次：移动端换品牌主题后，桌面端
     还留着旧的浅紫渐变把品牌色盖掉，Gunnpod 的深色产品落在浅底上几乎看不见。
     背景只在 .vapau-v2-slide 上出现一次，两侧自然连成一片。 */
  .vapau-home-v2 .vapau-v2-slide {
    display: flex; flex-direction: row-reverse; align-items: stretch;
    /* ⚠️ 必须是**确定**高度，不能用 min-height。
       flex 容器高度由内容决定时，图片的百分比 max-height 约束不住它——
       踩过一次：把 max-height 从 82% 提到 96%，图片反过来把整张 slide
       从 511px 撑到 745px，越放越大停不下来。定死高度后百分比才有基准，
       也顺带保证每帧等高、切换不跳。 */
    aspect-ratio: auto; height: clamp(540px, 36vw, 620px); min-height: 0;
    background:
      repeating-linear-gradient(115deg, rgba(255,255,255,.028) 0 1px, rgba(255,255,255,0) 1px 10px),
      radial-gradient(86% 128% at 74% 14%, var(--slide-bg2) 0%, var(--slide-bg1) 72%);
  }
  .vapau-home-v2 .vapau-v2-slide__media {
    position: relative; inset: auto;
    flex: 0 0 57%;                   /* 产品侧 55-58% */
    height: auto; padding: 28px 32px 28px 0;
    align-items: center; background: none;
  }
  .vapau-home-v2 .vapau-v2-slide__glow { width: 82%; top: 50%; left: 46%; }
  .vapau-home-v2 .vapau-v2-slide__media img {
    height: auto; max-height: 94%; max-width: 108%;
    /* 轻微越过左边界渗进文案侧，两边本来就是同一块底，不会有裁切感 */
    margin-left: -8%;
  }
  .vapau-home-v2 .vapau-v2-slide__body {
    position: relative; inset: auto; z-index: 2;
    flex: 0 0 43%;                   /* 文案侧 42-45% */
    justify-content: center; min-width: 0;
    padding: var(--v2-s6) var(--v2-s3) var(--v2-s6) clamp(40px, 4vw, 72px);
    background: none;                /* 桌面不需要渐变遮罩，整卡同底 */
  }
  /* 控制条收进 Hero 底部安全区，不再散落在外面的浅色底上 */
  .vapau-home-v2 .vapau-v2-band--hero > .vapau-v2-wrap { position: relative; }
  .vapau-home-v2 .vapau-v2-hero__controls {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 0 clamp(40px, 4vw, 72px) 26px;
    pointer-events: none;
  }
  .vapau-home-v2 .vapau-v2-hero__controls > * { pointer-events: auto; }
  .vapau-home-v2 .vapau-v2-hero__arrow,
  .vapau-home-v2 .vapau-v2-hero__play {
    background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.30); color: #fff;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  }
  .vapau-home-v2 .vapau-v2-hero__arrow:hover,
  .vapau-home-v2 .vapau-v2-hero__play:hover { background: rgba(255,255,255,.24); border-color: #fff; color: #fff; }
  .vapau-home-v2 .vapau-v2-hero__dot::after { background: rgba(255,255,255,.42); }
  .vapau-home-v2 .vapau-v2-hero__dot.is-active::after { background: #fff; }
  .vapau-home-v2 .vapau-v2-hero__counter { color: rgba(255,255,255,.78); }
  .vapau-home-v2 .vapau-v2-slide__brand { font-size: 13px; margin-bottom: 7px; }
  .vapau-home-v2 .vapau-v2-slide__model { font-size: 46px; line-height: 1.04; }
  .vapau-home-v2 .vapau-v2-slide__sub { font-size: 16px; margin-top: 12px; }
  .vapau-home-v2 .vapau-v2-slide__price { font-size: 22px; margin-top: 16px; }
  .vapau-home-v2 .vapau-v2-slide__body .vapau-v2-btn {
    width: auto; align-self: flex-start; padding: 0 36px; margin-top: var(--v2-s3);
  }

  /* ── Shop by Category：两张宽卡，图文左右排 ── */
  .vapau-home-v2 .vapau-v2-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v2-s3); }
  .vapau-home-v2 .vapau-v2-catcard { flex-direction: row; align-items: stretch; height: clamp(260px, 20vw, 320px); }
  .vapau-home-v2 .vapau-v2-catcard__media {
    flex: 0 0 46%; aspect-ratio: auto; height: 100%; padding: 20px;
  }
  .vapau-home-v2 .vapau-v2-catcard__body {
    flex: 1 1 auto; justify-content: center; padding: var(--v2-s4);
  }
  .vapau-home-v2 .vapau-v2-catcard__name { font-size: 24px; }
  .vapau-home-v2 .vapau-v2-catcard__meta { font-size: 14.5px; }
  .vapau-home-v2 .vapau-v2-catcard__cta { margin-top: 14px; font-size: 14.5px; }

  /* ── Shop by Brand：4×2，卡片压扁，整块区域缩短 ── */
  .vapau-home-v2 .vapau-v2-brandgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--v2-s2); }
  .vapau-home-v2 .vapau-v2-brandcard {
    height: clamp(260px, 19vw, 300px);
    padding-bottom: 0; flex-direction: column;
  }
  /* ⚠️ flex-basis 必须是 0 + min-height:0。用 `1 1 auto` 的话图片会按自身
     内容撑开，把下面的品牌名和数量整个顶出卡片外——只剩一张图，文字全不见了。 */
  .vapau-home-v2 .vapau-v2-brandcard__media {
    flex: 1 1 0; min-height: 0; aspect-ratio: auto; margin-bottom: 0; padding: 16px;
  }
  .vapau-home-v2 .vapau-v2-brandcard__media img { max-height: 100%; width: auto; }
  .vapau-home-v2 .vapau-v2-brandcard__body {
    flex: 0 0 auto; display: flex; flex-direction: column; gap: 2px;
    padding: 12px 16px 16px;
  }
  .vapau-home-v2 .vapau-v2-brandcard__name,
  .vapau-home-v2 .vapau-v2-brandcard__meta { padding: 0; }
  .vapau-home-v2 .vapau-v2-brandcard__arrow { bottom: 16px; right: 16px; }

  /* ── Shop by Model：按真实型号数决定列数，不留空格 ── */
  .vapau-home-v2 .vapau-v2-modelgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--v2-s2); }
  .vapau-home-v2 .vapau-v2-modelgrid[data-count="1"] { grid-template-columns: minmax(0, 340px); }
  .vapau-home-v2 .vapau-v2-modelgrid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vapau-home-v2 .vapau-v2-modelgrid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vapau-home-v2 .vapau-v2-modelcard__media { padding: 18px; }
  .vapau-home-v2 .vapau-v2-section__title { font-size: 26px; }

  /* ── Featured：完整 4 张 + 右侧露出下一张的一角 ── */
  .vapau-home-v2 .vapau-v2-railwrap {
    max-width: var(--v2-max); margin: 0 auto;
    padding-left: calc(var(--v2-pad) - 4px); padding-right: 0;
  }
  .vapau-home-v2 .vapau-v2-rail { padding-left: 4px; padding-right: var(--v2-pad); scroll-snap-type: x proximity; }
  /* 4 张整卡 + 约 8% 的第 5 张露头，提示还能往右滑 */
  .vapau-home-v2 .vapau-v2-pcard { flex-basis: calc((100% - 3 * 16px) / 4.32); }
  .vapau-home-v2 .vapau-v2-pcard { border-color: #EDEAF0; }   /* 白底上不要厚重边框 */
  .vapau-home-v2 .vapau-v2-railnav { display: flex; }
  .vapau-home-v2 .vapau-v2-railbar { display: block; }
  .vapau-home-v2 .vapau-v2-pcard:hover .vapau-v2-pcard__media img { transform: scale(1.05); }

  /* ── Trust：全宽品牌紫带 ── */
  .vapau-home-v2 .vapau-v2-trust { gap: var(--v2-s3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust li {
    background: transparent; border: 0; padding: 0;
    flex-direction: row; align-items: flex-start; gap: 14px;
  }
  .vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust__ic { color: #E4D3F0; flex: none; }
  .vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust strong { color: #fff; font-size: 15px; }
  .vapau-home-v2 .vapau-v2-band--trust .vapau-v2-trust em { color: rgba(255,255,255,.72); }

  /* 桌面一次全展示得下，就不需要那条「View all N brands」补充出口了 */
  .vapau-home-v2 .vapau-v2-brandmore { display: none; }

  /* ── Footer 四列 ── */
  .vapau-home-v2 .vapau-v2-footer { text-align: left; }
  .vapau-home-v2 .vapau-v2-footer__cols {
    display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: var(--v2-s5);
  }
  .vapau-home-v2 .vapau-v2-footer__legal {
    display: flex; justify-content: space-between; gap: var(--v2-s3);
    margin-top: var(--v2-s5); padding-top: var(--v2-s3);
    border-top: 1px solid rgba(255,255,255,.12);
  }
}

/* ── 1400px+：字号再放大一档 ──
   ⚠️ 这里**不要**再写 height。Hero 高度已由 clamp(540px, 36vw, 620px) 统一管，
   写死会把它压回去——踩过一次：1920 屏本该 620px 却停在 530px，
   产品图跟着被 max-height 限死，右侧空出一大片。 */
@media (min-width: 1400px) {
  .vapau-home-v2 .vapau-v2-slide__model { font-size: 52px; }
  .vapau-home-v2 .vapau-v2-slide__sub { font-size: 17px; }
}

/* 尊重系统的「减少动态效果」设置 */
@media (prefers-reduced-motion: reduce) {
  .vapau-home-v2 .vapau-v2-hero__track { transition: none; }
  .vapau-home-v2 .vapau-v2-rail { scroll-behavior: auto; }
  .vapau-home-v2 .vapau-v2-catcard,
  .vapau-home-v2 .vapau-v2-brandcard,
  .vapau-home-v2 .vapau-v2-modelcard,
  .vapau-home-v2 .vapau-v2-pcard__media img { transition: none; }
  .vapau-home-v2 .vapau-v2-catcard:hover,
  .vapau-home-v2 .vapau-v2-brandcard:hover,
  .vapau-home-v2 .vapau-v2-modelcard:hover { transform: none; }
  .vapau-home-v2 .vapau-v2-pcard:hover .vapau-v2-pcard__media img { transform: none; }
}

/* ═══════════════════════════════════════════════════════════════════
   移动端密度重构（<=1023px）
   ───────────────────────────────────────────────────────────────────
   老板反馈：95% 流量在移动端，客户进首页要立刻看到有哪些品牌和型号。
   实测旧版：Header 135px、Hero 569px、品牌区要滚到 1162px 才出现。
   这一段把首屏压缩到「Header + Hero + 第一排品牌」都能看见。
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1023px) {

  /* ── Header：135px -> ~104px ── */
  .vapau-home-v2 .vapau-v2-header { padding: 6px var(--v2-pad) 8px; }
  .vapau-home-v2 .vapau-v2-header__bar { min-height: 46px; }
  .vapau-home-v2 .vapau-v2-logo img { width: 34px; height: 34px; }
  .vapau-home-v2 .vapau-v2-iconbtn { width: 40px; height: 40px; }
  .vapau-home-v2 .vapau-v2-iconbtn svg { width: 20px; height: 20px; }
  .vapau-home-v2 .vapau-v2-search { margin-top: 6px; }
  .vapau-home-v2 .vapau-v2-search form { height: 40px; padding: 0 12px; }
  .vapau-home-v2 .vapau-v2-search input[type="search"] { height: 38px; }
  .vapau-home-v2 .vapau-v2-search__icon { width: 17px; height: 17px; }

  /* ── Hero：竖排 569px -> 横向构图 ~336px ──
     不是把原来那张竖图等比缩小，而是换成左文右图的横向结构。 */
  .vapau-home-v2 .vapau-v2-band--hero { padding-top: 10px; padding-bottom: 10px; }
  .vapau-home-v2 .vapau-v2-slide {
    aspect-ratio: auto; height: 256px;   /* band 总高落在 320-360 区间 */
    /* row-reverse：模板里 media 写在 body 前面，要「左文案右产品」必须反向 */
    display: flex; flex-direction: row-reverse; align-items: stretch;
  }
  .vapau-home-v2 .vapau-v2-slide__media {
    position: relative; inset: auto;
    flex: 0 0 46%;                     /* 产品图占位 42-46% */
    padding: 8px 6px 8px 0; align-items: center; justify-content: flex-end;
  }
  /* ⚠️ 这里**不能**用负 margin 硬把图片撑大。试过 margin-left:-32%：图片确实
     到了 200px 高，但左边界跑到 slide 之外（实测 -37 ~ -51px），被 overflow
     裁掉了——违反「不裁切产品」。改为在 media 区内 contain，宁可矮一点也要完整。
     素材限制的说明见交付文档。 */
  .vapau-home-v2 .vapau-v2-slide__media img {
    width: 100%; height: 100%;
    max-height: 210px; max-width: 100%; margin-left: 0;
    object-fit: contain;
    filter: drop-shadow(0 12px 20px rgba(0,0,0,.45));
  }
  .vapau-home-v2 .vapau-v2-slide__glow { width: 116%; top: 50%; left: 52%; }
  .vapau-home-v2 .vapau-v2-slide__media::after { display: none; }
  .vapau-home-v2 .vapau-v2-slide__body {
    position: relative; inset: auto; z-index: 2;
    flex: 1 1 auto; min-width: 0; justify-content: center;
    padding: 16px 4px 16px 16px;
    background: none;                  /* 横向布局不需要底部渐变遮罩 */
  }
  .vapau-home-v2 .vapau-v2-slide__brand { font-size: 11.5px; letter-spacing: .12em; margin-bottom: 2px; }
  .vapau-home-v2 .vapau-v2-slide__model {
    font-size: 26px; line-height: 1.08; -webkit-line-clamp: 2;
  }
  .vapau-home-v2 .vapau-v2-slide__sub { font-size: 12.5px; margin-top: 5px; -webkit-line-clamp: 2; }
  .vapau-home-v2 .vapau-v2-slide__price { font-size: 14px; margin-top: 8px; }
  .vapau-home-v2 .vapau-v2-slide__from { font-size: 11px; }
  .vapau-home-v2 .vapau-v2-slide__body .vapau-v2-btn {
    width: auto; align-self: flex-start;
    min-height: 41px; padding: 0 18px; margin-top: 12px; font-size: 13.5px;
  }
  .vapau-home-v2 .vapau-v2-hero__controls { padding-top: 8px; }
  .vapau-home-v2 .vapau-v2-hero__arrow,
  .vapau-home-v2 .vapau-v2-hero__play { width: 38px; height: 38px; }
  .vapau-home-v2 .vapau-v2-hero__dot { height: 38px; }

  /* ── 品牌区：2 列大卡 -> 4×2 紧凑 logo 卡 ── */
  .vapau-home-v2 .vapau-v2-band--brand { padding-top: 20px; padding-bottom: 22px; }
  .vapau-home-v2 .vapau-v2-band--brand .vapau-v2-section__head { margin-bottom: 12px; }
  .vapau-home-v2 .vapau-v2-band--brand .vapau-v2-section__title { font-size: 18px; }
  .vapau-home-v2 .vapau-v2-band--brand .vapau-v2-section__link { font-size: 12.5px; min-height: 36px; }
  .vapau-home-v2 .vapau-v2-brandgrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px; grid-auto-rows: auto;
  }
  /* 8 个品牌全部展示，不再截断到 6 个 */
  .vapau-home-v2 .vapau-v2-brandgrid > .vapau-v2-brandcard:nth-child(n+7) { display: flex; }
  .vapau-home-v2 .vapau-v2-brandcard {
    height: 100px; padding-bottom: 0;
    display: flex; flex-direction: column; border-radius: 12px;
  }
  .vapau-home-v2 .vapau-v2-brandcard__media {
    flex: 1 1 0; min-height: 0; aspect-ratio: auto;
    margin-bottom: 0; padding: 7px 6px 2px;
  }
  .vapau-home-v2 .vapau-v2-brandcard__media img { max-height: 100%; max-width: 100%; width: auto; }
  .vapau-home-v2 .vapau-v2-brandcard__body { flex: 0 0 auto; padding: 0 6px 8px; }
  .vapau-home-v2 .vapau-v2-brandcard__name {
    padding: 0; font-size: 12px; line-height: 1.2; text-align: center;
  }
  /* 4 列下没有余地放数量，隐藏；品牌页里仍然显示 */
  .vapau-home-v2 .vapau-v2-brandcard__meta { display: none; }
  .vapau-home-v2 .vapau-v2-brandcard__arrow { display: none; }
  .vapau-home-v2 .vapau-v2-brandmore { display: none; }

  /* 移动端用 active 反馈代替 hover */
  .vapau-home-v2 .vapau-v2-brandcard:active { transform: scale(.97); }

  /* ── 其余区块上下留白收紧，让内容更快出现 ── */
  .vapau-home-v2 .vapau-v2-band { padding-top: 24px; padding-bottom: 26px; }
  .vapau-home-v2 .vapau-v2-section__title { font-size: 19px; }
}

/* 360px 以下再压一档 */
@media (max-width: 374px) {
  .vapau-home-v2 .vapau-v2-slide { height: 244px; }
  .vapau-home-v2 .vapau-v2-slide__model { font-size: 23px; }
  .vapau-home-v2 .vapau-v2-slide__media img { max-height: 180px; }
  .vapau-home-v2 .vapau-v2-brandgrid { gap: 7px; }
  .vapau-home-v2 .vapau-v2-brandcard { height: 94px; }
  .vapau-home-v2 .vapau-v2-brandcard__name { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .vapau-home-v2 .vapau-v2-brandcard:active { transform: none; }
}
