/* ============================================================================
   wild.css —— 「山野」主题 · PC 专属（≥1024px）
   ----------------------------------------------------------------------------
   1:1 还原《宜宇首页_山野方向_demo.html》的桌面版：
     令牌 / 尺寸 / 间距 / 圆角 / 字号 / 图片裁切比例 全部照搬设计稿，
     只把两处换掉：
       · 容器查询 cqw → 视口 vw（站点是真实视口布局，不是设计稿的容器壳）
       · 断点按站点真实三栏宽度重新校准（设计稿 1360 容器 ≈ 站点 1500 视口）
   
   ⚠️ 三重隔离，缺一不可：
     1. 整份裹在 @media (min-width:1024px) —— 移动端零字节生效
     2. 全部选择器带 html[data-theme="wild"] —— 只有切到山野才生效
     3. DOM 由 pc.js 生成 / SSR 按 cookie 输出 —— 窄屏连节点都不存在
   
   前缀 wh-（wild home），与现有 yq-* / pc-* 零冲突。
   ============================================================================ */

@media (min-width: 1024px) {

  /* ── 1. 设计令牌（照搬设计稿 :root 第 8-37 行） ───────────────────────── */
  html[data-theme="wild"] {
    /* 苔绿 · 深林 */
    --moss-50:#F2F6F2; --moss-100:#E3EDE6; --moss-200:#C6DACD; --moss-300:#9DC1AB;
    --moss-400:#5E9077; --moss-500:#1F8A5F; --moss-600:#2F7355; --moss-700:#17624A;
    --moss-800:#0F4534; --moss-900:#0A2E23;
    /* 落日橙 · 唯一行动色 */
    --ember-50:#FDF1E6; --ember-100:#FBE0C8; --ember-500:#E8762B;
    --ember-600:#C75F1C; --ember-700:#B8541A; --ember-800:#A64A12;
    /* 岩灰中性 */
    --bg:#F4F6F3; --raise:#FFFFFF; --sunken:#E9EDE8;
    --line:#DCE3DC; --line-2:#C9D3CB;
    --ink:#141A16; --ink-2:#4A574F; --ink-3:#667169;
    --grad-brand:linear-gradient(135deg,#17624A 0%,#0F4534 100%);
    --grad-ember:linear-gradient(135deg,#C75F1C 0%,#B8541A 100%);
    --grad-hero:linear-gradient(180deg,rgba(10,46,35,0) 30%,rgba(10,46,35,.72) 100%);
    /* 圆角（收敛自 6/10/14/20/26） */
    --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:18px; --r-full:999px;
    --fs-3xs:11px; --fs-2xs:12px; --fs-xs:13px; --fs-sm:15px; --fs-md:17px;
    --fs-lg:20px; --fs-xl:24px; --fs-2xl:32px;
    --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
    --sp-6:24px; --sp-7:32px; --sp-8:40px;
    --sh-1:0 1px 2px rgba(20,26,22,.05);
    --sh-2:0 2px 10px rgba(20,26,22,.07);
    --sh-3:0 10px 30px rgba(20,26,22,.12);
    --sh-brand:0 6px 18px rgba(23,98,74,.26);
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  /* ── 2. 兜底块已移到文件末尾（20260922ld3）──────────────────────────
     ⚠️ 它原来写在这里 —— 也就是 @media (min-width:1024px) 的内部。
        max-width:1023px 嵌套在 min-width:1024px 里，两个条件永不同真，
        整段兜底成为死代码：手机端带 yq_theme=wild 的用户拿到 wh-home
        裸 DOM，页面崩坏（紧急 bug 根因）。CSS 嵌套 media 不报错、
        nginx -t 类工具也不查，只能靠人肉回读，切记。 */

  /* ── 3. 山野首页容器 ─────────────────────────────────────────────────── */
  html[data-theme="wild"] .wh-home {
    padding: var(--sp-4) var(--sp-5) 0;
  }

  /* ── 4.1 山野 Hero（设计稿 .hero，第 240-257 行） ─────────────────────── */
  html[data-theme="wild"] .wh-hero {
    position: relative; overflow: hidden;
    min-height: 400px; display: flex; align-items: flex-end;
    border-radius: var(--r-lg); margin: var(--sp-4) var(--sp-4) 0;
    background: #0A2E23;
  }
  html[data-theme="wild"] .wh-hero__img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: center 55%;
  }
  html[data-theme="wild"] .wh-hero__veil {
    position: absolute; inset: 0; background: var(--grad-hero);
  }
  /* 等高线：设计稿原样 path，viewBox 0 0 400 320 */
  html[data-theme="wild"] .wh-hero__contour {
    position: absolute; right: -40px; top: -30px;
    width: 420px; height: 340px; color: #fff; opacity: .14;
    pointer-events: none;
  }
  html[data-theme="wild"] .wh-hero__body {
    position: relative; padding: var(--sp-7) var(--sp-6);
    color: #fff; max-width: 640px;
  }
  html[data-theme="wild"] .wh-hero__kick {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 700; letter-spacing: .12em;
    margin-bottom: 10px; opacity: .95;
  }
  html[data-theme="wild"] .wh-hero__kick::before {
    content: ""; width: 22px; height: 2px;
    background: var(--ember-500); border-radius: 2px;
  }
  html[data-theme="wild"] .wh-hero__t {
    font-size: clamp(30px, 3.4vw, 40px); font-weight: 900;
    letter-spacing: -.03em; line-height: 1.14;
    text-shadow: 0 2px 18px rgba(0,0,0,.28);
  }
  html[data-theme="wild"] .wh-hero__d {
    margin-top: 10px; font-size: 14px; opacity: .92;
    display: flex; flex-wrap: wrap; gap: 6px 14px;
  }
  html[data-theme="wild"] .wh-hero__cta {
    display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap;
  }
  html[data-theme="wild"] .wh-hero__stats {
    display: flex; gap: 22px; margin-top: 18px; padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.28);
  }
  html[data-theme="wild"] .wh-hero__stat b {
    display: block; font-size: 22px; font-weight: 900;
    line-height: 1.1; letter-spacing: -.02em;
  }
  html[data-theme="wild"] .wh-hero__stat small {
    font-size: 11px; opacity: .85; letter-spacing: .04em;
  }

  /* ── 按钮（设计稿 .btn，第 260-273 行） ───────────────────────────────── */
  html[data-theme="wild"] .wh-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 42px; padding: 0 20px; border-radius: var(--r-sm);
    border: 0; cursor: pointer; font-size: 15px; font-weight: 800;
    transition: .16s var(--ease); white-space: nowrap;
  }
  html[data-theme="wild"] .wh-btn--ember {
    background: var(--grad-ember); color: #fff;
    box-shadow: 0 6px 18px rgba(183,84,26,.3);
  }
  html[data-theme="wild"] .wh-btn--ember:hover {
    filter: brightness(1.08); transform: translateY(-1px);
  }
  html[data-theme="wild"] .wh-btn--ghost {
    background: rgba(255,255,255,.14); color: #fff;
    border: 1px solid rgba(255,255,255,.5); backdrop-filter: blur(6px);
  }
  html[data-theme="wild"] .wh-btn--ghost:hover { background: rgba(255,255,255,.24) }

  /* ── 区块（设计稿 .sec / .sec-hd，第 276-283 行） ─────────────────────── */
  html[data-theme="wild"] .wh-sec { padding: var(--sp-6) var(--sp-5) 0 }
  html[data-theme="wild"] .wh-sec-hd {
    display: flex; align-items: flex-end; gap: var(--sp-3);
    margin-bottom: var(--sp-4);
  }
  html[data-theme="wild"] .wh-sec-hd__t {
    font-size: var(--fs-lg); font-weight: 900; letter-spacing: -.02em;
    display: flex; align-items: center; gap: 9px;
  }
  html[data-theme="wild"] .wh-sec-hd__t::before {
    content: ""; width: 4px; height: 17px; border-radius: 3px;
    background: var(--ember-500);
  }
  html[data-theme="wild"] .wh-sec-hd__d {
    font-size: 12.5px; color: var(--ink-3); padding-bottom: 2px;
  }
  html[data-theme="wild"] .wh-sec-hd__more {
    margin-left: auto; font-size: 12.5px; font-weight: 700;
    color: var(--moss-600); display: flex; align-items: center; gap: 3px;
  }

  /* ── 4.2 行程卡（设计稿 .trip，第 289-323 行） ────────────────────────── */
  html[data-theme="wild"] .wh-trips {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3);
  }
  html[data-theme="wild"] .wh-trip {
    background: var(--raise); border: 1px solid var(--line);
    border-radius: var(--r-md); overflow: hidden; display: flex;
    transition: .2s var(--ease);
  }
  html[data-theme="wild"] .wh-trip:hover {
    box-shadow: var(--sh-3); transform: translateY(-2px);
    border-color: var(--moss-300);
  }
  /* 日期块 62px 固定宽 —— 设计稿 flex:0 0 62px；b 放「11/29」这类日期数字。
     ★ 活动没填出发时间时后端给的是「待定」（两个汉字），19px 黑体居中在绿块里
       活像个按钮 —— 换成 14px 常规粗体，让它读起来是「说明」不是「数字」。 */
  html[data-theme="wild"] .wh-trip__date {
    flex: 0 0 62px; background: var(--grad-brand); color: #fff;
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 2px;
  }
  html[data-theme="wild"] .wh-trip__date b {
    font-size: 19px; font-weight: 900; line-height: 1; letter-spacing: -.02em;
  }
  html[data-theme="wild"] .wh-trip__date span { font-size: 11px; opacity: .82 }
  html[data-theme="wild"] .wh-trip__date--tbd b {
    font-size: 14px; font-weight: 800; letter-spacing: 0; line-height: 1.15;
  }
  html[data-theme="wild"] .wh-trip__body {
    flex: 1 1 auto; min-width: 0; padding: 11px 13px;
  }
  html[data-theme="wild"] .wh-trip__hd {
    display: flex; align-items: center; gap: 7px; margin-bottom: 5px;
  }
  html[data-theme="wild"] .wh-trip__t {
    font-size: 14.5px; font-weight: 800; line-height: 1.35;
    flex: 1 1 auto; min-width: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html[data-theme="wild"] .wh-lv {
    flex: 0 0 auto; font-size: 10.5px; font-weight: 800;
    padding: 2px 7px; border-radius: var(--r-xs); letter-spacing: .04em;
  }
  html[data-theme="wild"] .wh-lv-1 { background: var(--moss-50); color: var(--moss-700) }
  html[data-theme="wild"] .wh-lv-2 { background: var(--ember-50); color: var(--ember-800) }
  html[data-theme="wild"] .wh-lv-3 { background: #FBEAE8; color: #8F3D0C }
  html[data-theme="wild"] .wh-trip__meta {
    display: flex; flex-wrap: wrap; gap: 4px 12px;
    font-size: 12px; color: var(--ink-3); margin-bottom: 9px;
  }
  html[data-theme="wild"] .wh-trip__meta span {
    display: inline-flex; align-items: center; gap: 4px;
  }
  html[data-theme="wild"] .wh-trip__slot {
    height: 4px; border-radius: 4px; background: var(--sunken);
    overflow: hidden; margin-bottom: 7px;
  }
  html[data-theme="wild"] .wh-trip__slot i {
    display: block; height: 100%; border-radius: 4px;
    background: var(--grad-ember);
  }
  html[data-theme="wild"] .wh-trip__ft {
    display: flex; align-items: center; font-size: 11.5px;
  }
  html[data-theme="wild"] .wh-trip__left { color: var(--ember-800); font-weight: 800 }
  html[data-theme="wild"] .wh-trip__lead {
    margin-left: auto; color: var(--ink-3);
    display: flex; align-items: center; gap: 5px;
  }
  html[data-theme="wild"] .wh-trip__ava {
    width: 16px; height: 16px; border-radius: 50%;
    background: var(--moss-500); color: #fff; font-size: 9px;
    display: grid; place-items: center; font-weight: 800;
  }

  /* ── 4.3 快捷入口 6 宫格（设计稿 .quick / .qi，第 326-339 行） ─────────── */
  html[data-theme="wild"] .wh-quick {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-3);
  }
  html[data-theme="wild"] .wh-qi {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 14px 6px; border-radius: var(--r-md); background: var(--raise);
    border: 1px solid var(--line); transition: .18s var(--ease); text-align: center;
  }
  html[data-theme="wild"] .wh-qi:hover {
    transform: translateY(-3px); box-shadow: var(--sh-2);
    border-color: var(--moss-300);
  }
  html[data-theme="wild"] .wh-qi__ic {
    width: 40px; height: 40px; border-radius: 11px;
    display: grid; place-items: center;
    background: var(--moss-50); color: var(--moss-700);
  }
  html[data-theme="wild"] .wh-qi--ember .wh-qi__ic {
    background: var(--ember-50); color: var(--ember-700);
  }
  html[data-theme="wild"] .wh-qi__t { font-size: 12.5px; font-weight: 700; line-height: 1.2 }
  html[data-theme="wild"] .wh-qi__d { font-size: 10.5px; color: var(--ink-3); line-height: 1.3 }

  /* ── 4.4 话题 chips（设计稿 .chip，第 342-350 行） ─────────────────────── */
  html[data-theme="wild"] .wh-chips { display: flex; flex-wrap: wrap; gap: 8px }
  html[data-theme="wild"] .wh-chip {
    display: inline-flex; align-items: center; gap: 4px;
    height: 32px; padding: 0 13px; border-radius: var(--r-full);
    background: var(--raise); border: 1px solid var(--line);
    font-size: 13px; font-weight: 600; color: var(--ink-2);
    cursor: pointer; transition: .16s var(--ease);
  }
  html[data-theme="wild"] .wh-chip:hover {
    border-color: var(--moss-400); color: var(--moss-700);
  }
  html[data-theme="wild"] .wh-chip--on {
    background: var(--grad-brand); border-color: transparent;
    color: #fff; font-weight: 700;
  }
  html[data-theme="wild"] .wh-chip b { font-weight: 800; opacity: .7 }

  /* ── 4.5 工具条（设计稿 .toolbar / .seg，第 353-359 行） ───────────────── */
  html[data-theme="wild"] .wh-toolbar {
    display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-4);
  }
  html[data-theme="wild"] .wh-seg {
    display: flex; background: var(--sunken);
    border-radius: var(--r-full); padding: 3px; gap: 2px;
  }
  html[data-theme="wild"] .wh-seg button,
  html[data-theme="wild"] .wh-seg a {
    border: 0; background: none; cursor: pointer;
    padding: 6px 15px; border-radius: var(--r-full);
    font-size: 13px; font-weight: 700; color: var(--ink-3);
    transition: .16s var(--ease); line-height: 1.6;
  }
  html[data-theme="wild"] .wh-seg button.is-on {
    background: var(--raise); color: var(--ink); box-shadow: var(--sh-1);
  }
  html[data-theme="wild"] .wh-seg a:hover { color: var(--ink) }
  html[data-theme="wild"] .wh-toolbar__r { margin-left: auto; display: flex; gap: 6px }
  html[data-theme="wild"] .wh-icobtn {
    width: 32px; height: 32px; border-radius: var(--r-full);
    border: 1px solid var(--line); background: var(--raise);
    display: grid; place-items: center; color: var(--ink-3); cursor: pointer;
  }

  /* ── 4.6 瀑布流（设计稿 .water / .card，第 362-392 行） ────────────────── */
  html[data-theme="wild"] .wh-water { column-gap: var(--sp-3); column-count: 2 }
  html[data-theme="wild"] .wh-card {
    break-inside: avoid; margin-bottom: var(--sp-3);
    background: var(--raise); border: 1px solid var(--line);
    border-radius: var(--r-md); overflow: hidden;
    transition: .2s var(--ease); position: relative; display: block;
  }
  html[data-theme="wild"] .wh-card:hover {
    box-shadow: var(--sh-3); transform: translateY(-2px);
  }
  html[data-theme="wild"] .wh-card::after {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
    background: var(--ember-500); opacity: 0; transition: .2s var(--ease);
  }
  html[data-theme="wild"] .wh-card:hover::after { opacity: 1 }
  /* ★★ 卡片整条是 <a> 套 <span>（a 内不能放 div），span 默认 inline —— 不 blockify
     的话 overflow / padding / 绝对定位基准全部失效，图片会压住下面的文字、角标
     定位跑偏。这就是「图文尺寸溢出」的根因（20260922wx3）。 */
  html[data-theme="wild"] .wh-card > span,
  html[data-theme="wild"] .wh-ops > span { display: block }
  html[data-theme="wild"] .wh-card__img {
    display: block; position: relative; background: var(--sunken); overflow: hidden;
  }
  /* ★ 图片比例（20260922wx1 量像素 → wx3 定稿）
     设计稿 card__img 是 560x747 / 460x614（3:4 竖）混 460x259（16:9 横），
     aspect-ratio:auto —— 即「原图比例」，不是「统一比例」。
     线上实测 7 张真实内容图：比例 0.563(9:16) ~ 1.781(16:9)，跨度本身就是设计意图。
       ⚠️ wx1 加过 min-height:168px → 横图被拉成 0.61 的竖图（「很怪」）
       ⚠️ wx2 换成 max-height:380px + cover → 9:16 竖图被裁掉 108px（「看不全」）
     定稿：高度完全交给原图比例（height:auto），不设下限、不常态裁剪；
     只留 560px 上限给 1:2 以上的极端长图兜底，且用 contain（仍是看全图，两侧留底色）。
     实测线上最极端一张 9:16 在 275 列宽下 489px < 560 —— 现有图一张都不会被裁。 */
  html[data-theme="wild"] .wh-card__img img {
    width: 100%; height: auto; display: block;
    max-height: 560px;
    object-fit: contain; object-position: center;
  }
  html[data-theme="wild"] .wh-card__tag {
    position: absolute; left: 9px; top: 9px; padding: 3px 9px;
    border-radius: var(--r-full); background: rgba(10,46,35,.62);
    color: #fff; font-size: 11px; font-weight: 700; backdrop-filter: blur(6px);
  }
  html[data-theme="wild"] .wh-card__body { display: block; padding: 11px 13px 12px }
  html[data-theme="wild"] .wh-card__t {
    font-size: 14.5px; font-weight: 800; line-height: 1.4; letter-spacing: -.01em;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html[data-theme="wild"] .wh-card__d {
    margin-top: 5px; font-size: 12.5px; color: var(--ink-3); line-height: 1.55;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html[data-theme="wild"] .wh-card__ft {
    display: flex; align-items: center; gap: 8px; margin-top: 10px;
    padding-top: 9px; border-top: 1px solid var(--line);
  }
  html[data-theme="wild"] .wh-card__sec {
    font-size: 11px; font-weight: 700; color: var(--moss-700);
    background: var(--moss-50); padding: 2px 8px; border-radius: var(--r-xs);
  }
  html[data-theme="wild"] .wh-card__time { font-size: 11px; color: var(--ink-3) }
  html[data-theme="wild"] .wh-card__act {
    margin-left: auto; display: flex; gap: 11px;
    font-size: 11.5px; color: var(--ink-3);
  }
  html[data-theme="wild"] .wh-card__act span { display: inline-flex; align-items: center; gap: 3px }

  /* 纯文字卡（无图） */
  html[data-theme="wild"] .wh-card--text .wh-card__body { padding: 15px 14px 13px }
  html[data-theme="wild"] .wh-card--text .wh-card__t { font-size: 15.5px; letter-spacing: -.015em }

  /* ── 4.7 运营位（设计稿 .ops，第 395-403 行） ─────────────────────────── */
  html[data-theme="wild"] .wh-ops {
    break-inside: avoid; margin-bottom: var(--sp-3);
    border-radius: var(--r-md); overflow: hidden; position: relative;
    min-height: 180px; display: flex; align-items: flex-end;
  }
  html[data-theme="wild"] .wh-ops img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  }
  html[data-theme="wild"] .wh-ops__v { position: absolute; inset: 0; background: var(--grad-hero) }
  html[data-theme="wild"] .wh-ops__b { display: block; position: relative; padding: var(--sp-4); color: #fff }
  html[data-theme="wild"] .wh-ops__k {
    display: inline-block; font-size: 11px; font-weight: 800;
    background: var(--ember-500); color: #fff; padding: 2px 9px;
    border-radius: var(--r-full); margin-bottom: 7px;
  }
  /* 设计稿 .ops__t 就是 16px/900/-.01em，没有 clamp —— 因为它的标题只有 12 个字。
     真实帖子标题长得多，这里加两行封顶，避免把运营位撑成三行破坏比例。 */
  html[data-theme="wild"] .wh-ops__t {
    font-size: 16px; font-weight: 900; letter-spacing: -.01em;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }

  /* ── 4.8 页脚（设计稿 .ft，第 406-408 行） ────────────────────────────── */
  html[data-theme="wild"] .wh-ft {
    padding: var(--sp-6) var(--sp-4) var(--sp-5);
    text-align: center; color: var(--ink-3); font-size: 12px;
  }
  html[data-theme="wild"] .wh-ft__brand {
    font-family: "STKaiti","KaiTi","STSong","Songti SC",serif;
    font-size: 17px; color: var(--ink-2); margin-bottom: 6px;
  }
  html[data-theme="wild"] .wh-ft__links {
    display: flex; justify-content: center; flex-wrap: wrap;
    gap: 6px 14px; margin-top: 8px;
  }

  /* ── 右栏（设计稿 .rail / .rcard，第 428-446 行） ──────────────────────── */
  html[data-theme="wild"] .pc-rail .wh-rail { display: block }
  html[data-theme="wild"] .wh-rcard {
    background: var(--raise); border: 1px solid var(--line);
    border-radius: var(--r-md); padding: 15px 16px; margin-bottom: 14px;
  }
  html[data-theme="wild"] .wh-rcard__t {
    font-size: 14px; font-weight: 900; margin-bottom: 11px;
    display: flex; align-items: center; gap: 7px;
  }
  html[data-theme="wild"] .wh-rcard__t::before {
    content: ""; width: 3px; height: 14px; border-radius: 2px;
    background: var(--grad-ember);
  }
  html[data-theme="wild"] .wh-hot {
    display: flex; align-items: center; gap: 9px; min-height: 36px; font-size: 13px;
  }
  html[data-theme="wild"] .wh-hot__n {
    width: 18px; height: 18px; border-radius: 5px; background: var(--sunken);
    color: var(--ink-3); font-size: 11px; font-weight: 800;
    display: grid; place-items: center; flex: 0 0 auto;
  }
  html[data-theme="wild"] .wh-hot__n--top { background: var(--grad-ember); color: #fff }
  /* 近期出发列表尾部的出发时间标记（20260922wx4）
     原先直接复用 .wh-hot__n —— 那是个 18px 见方的序号方块，只够放 1 位数字；
     活动没填出发时间时后端给「待定」两个汉字，塞进去被挤成竖排、看着像坏了。
     给它自己一套：按需变宽、单行、浅苔绿底。 */
  html[data-theme="wild"] .wh-hot__d {
    flex: 0 0 auto; height: 18px; padding: 0 5px; box-sizing: border-box;
    border-radius: 5px; background: var(--moss-50); color: var(--moss-700);
    font-size: 10.5px; font-weight: 700; white-space: nowrap;
    display: inline-flex; align-items: center; justify-content: center;
  }
  html[data-theme="wild"] .wh-hot__t {
    flex: 1 1 auto; min-width: 0; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis;
  }
  /* 体量卡：沿用设计稿 .wx 的形态（44px 图标块 + 大数字 + 右列 meta） */
  html[data-theme="wild"] .wh-wx { display: flex; align-items: center; gap: 12px }
  html[data-theme="wild"] .wh-wx__ic {
    width: 44px; height: 44px; border-radius: var(--r-md);
    background: var(--moss-50); display: grid; place-items: center;
    color: var(--moss-700); flex: 0 0 auto;
  }
  html[data-theme="wild"] .wh-wx__t { flex: 1 1 auto; min-width: 0 }
  html[data-theme="wild"] .wh-wx__t b {
    font-size: 20px; font-weight: 900; display: block; line-height: 1.1;
  }
  /* small 之前是 inline（clientWidth=0、不参与省略号），天气描述一长就会顶歪整行 */
  html[data-theme="wild"] .wh-wx__t small {
    display: block; font-size: 12px; color: var(--ink-3);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  html[data-theme="wild"] .wh-wx__meta {
    margin-left: auto; text-align: right; font-size: 11.5px;
    color: var(--ink-3); line-height: 1.7;
  }
  /* 天气卡：实时 + 未来 4 天预报（20260922wx1）
     形态沿用设计稿「本周天气」那张卡：44px 图标块 + 大数字，下面是 4 天条。 */
  html[data-theme="wild"] .wh-wx--load .wh-wx__t b { color: var(--ink-3); opacity: .55 }
  html[data-theme="wild"] .wh-wxd {
    margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line);
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px;
  }
  html[data-theme="wild"] .wh-wxd__i {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 7px 2px 6px; border-radius: var(--r-sm); background: var(--sunken);
  }
  html[data-theme="wild"] .wh-wxd__d { font-size: 11px; color: var(--ink-3); font-weight: 700 }
  html[data-theme="wild"] .wh-wxd__ic {
    height: 22px; display: grid; place-items: center; color: var(--moss-700);
  }
  html[data-theme="wild"] .wh-wxd__ic svg { width: 20px; height: 20px }
  html[data-theme="wild"] .wh-wxd__t { font-size: 11.5px; font-weight: 800; letter-spacing: -.01em }
  html[data-theme="wild"] .wh-wxd__p {
    font-size: 10.5px; color: var(--ember-500); min-height: 13px; font-weight: 700;
  }
  html[data-theme="wild"] .wh-wx__upd {
    margin-top: 9px; font-size: 10.5px; color: var(--ink-3); opacity: .75;
  }
  /* 下载卡：深林底 */
  html[data-theme="wild"] .wh-dl {
    background: var(--grad-brand); border: 0; color: #fff;
  }
  html[data-theme="wild"] .wh-dl .wh-rcard__t { color: #fff }
  html[data-theme="wild"] .wh-dl__d {
    font-size: 12.5px; line-height: 1.75; opacity: .92; margin-bottom: 12px;
  }
  html[data-theme="wild"] .wh-dl__btn {
    display: block; text-align: center; min-height: 40px; line-height: 40px;
    border-radius: var(--r-full); background: rgba(255,255,255,.96);
    color: var(--moss-800); font-weight: 800; font-size: 13.5px;
  }

  /* ── 断点：按站点真实三栏宽度校准 ─────────────────────────────────────
     设计稿用容器查询（shell 宽度），站点是视口布局：
       视口 1280 ≈ 设计稿 900（内容列够 3 列行程卡）
       视口 1500 ≈ 设计稿 1360（右栏现身）
       视口 1700 ≈ 设计稿 1320 的 4 列瀑布流                              */
  @media (min-width: 1280px) {
    html[data-theme="wild"] .wh-water { column-count: 3 }
  }
  @media (min-width: 1700px) {
    html[data-theme="wild"] .wh-water { column-count: 4 }
  }
}

/* ── 9. 视口切换（20260922ld3）────────────────────────────────────────
   cookie=wild 时 index.vue 双渲染：wh-home（山野）与 .hm-home（常规首页）。
   宽屏看山野、窄屏看常规，全靠这里按视口互换 —— 这是唯一真源，
   不许再在别处按 UA/JS 猜设备（必然与真实视口打架）。 */
@media (min-width: 1024px) {
  html[data-theme="wild"] .hm-home { display: none !important }
}
@media (max-width: 1023px) {
  html[data-theme="wild"] .wh-home { display: none !important }
  html[data-theme="wild"] .wh-rail { display: none !important }
}
/* 防闪烁：主题属性还不是 wild 时（SSR light / fresh / dark），山野 DOM 先藏着，
   避免任何首帧渲染出无样式的山野结构。 */
html:not([data-theme="wild"]) .wh-home { display: none !important }
html:not([data-theme="wild"]) .wh-rail { display: none !important }
