/* ==========================================================================
   CFC · 移动端专属样式层 (wap.css)
   依据《移动端技术研究》方法论：独立样式层 / 只在 ≤767px 生效 / 桌面零回归
   结构：0 默认关 → 1 token → 2 防错基线 → 3 头部 → 4 抽屉 → 5 底部 tabbar
        6 排版与间距 → 7 首页 → 8 目录卡 → 9 车辆详情(含 sticky) → 10 答案/FAQ
        11 价格/城市/内容页 → 12 表单 → 13 页脚 → 14 横滑工具 → 15 滤镜抽屉
   ========================================================================== */

/* ---------- 0. 移动端控件默认关闭（否则桌面裸显） ---------- */
.m-tabbar, .m-vbar, .f-toggle, .f-backdrop, .m-close { display: none; }

@media (max-width: 767px) {

/* ---------- 1. token ---------- */
:root {
  color-scheme: light;
  --tap: 44px; --tap-sm: 40px;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px;
  --fs-11: 11px; --fs-12: 12px; --fs-13: 13px; --fs-14: 14px; --fs-15: 15px;
  --fs-16: 16px; --fs-18: 18px; --fs-20: 20px; --fs-22: 22px; --fs-26: 26px;
  --fs-input: 16px;
  --r-sm: 10px; --r-md: 14px; --r-lg: 20px;
  --hairline: .5px;
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-l: env(safe-area-inset-left, 0px);
  --safe-r: env(safe-area-inset-right, 0px);
  --tabbar-h: 58px;
  -webkit-tap-highlight-color: transparent;
}

/* ---------- 2. 防错基线 ---------- */
html, body { overflow-x: hidden; max-width: 100%; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
a:active, button:active, [role="button"]:active { opacity: .82; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.grain { display: none; }                 /* 移动端去掉噪点层，省合成 */
#prog { display: none; }
.navveil { backdrop-filter: none !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* 关键：移动端头部去掉 backdrop-filter，避免把 fixed 抽屉/底栏困在头部里 */
.nbar, .nbar-in, nav.menu { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.nbar-in { background: #fff !important; }

/* ---------- 3. 头部：公告条 + 导航条 ---------- */
.ntop { padding: 10px 14px 0; }
.ntop-in { min-height: 30px; gap: 10px; }
.ntop-in .l { gap: 7px; min-width: 0; }
.ntop-in .l span { font-size: var(--fs-11); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ntop-in .l span, .ntop-in .l b { opacity: 1; }
.ntop-in .r { gap: 10px; flex: none; }
.ntop-in .r a { font-size: var(--fs-11); }
.ntop-in .l { flex: 1 1 auto; }
.ntop-in .r { display: none; }                     /* 公告条只留标语，WhatsApp 在头部/底栏 */

.nbar { top: 0; padding: 8px 12px 0; }
.nbar-in { height: 58px; padding: 0 8px 0 12px; gap: 6px; border-radius: var(--r-lg);
  box-shadow: 0 1px 2px rgba(14,17,20,.05), 0 10px 30px -22px rgba(14,17,20,.5); }
.nbar .logo .lw b { font-size: 15px; }
.nbar .logo small { font-size: 9.5px; }
.nbar .logo .mk svg { width: 28px; height: 28px; }
.navv { display: none; }
.searchf { display: none; }
.lang { display: inline-flex !important; align-items: center; gap: 2px; padding: 2px; margin-right: 2px;
  border: 1px solid var(--line-2); border-radius: 999px; background: #fff; }
.lang a { width: 30px !important; height: 30px !important; font-size: 11px !important; line-height: 1 !important;
  box-shadow: none !important; border-radius: 999px !important; }
.lang a[data-on="on"] { background: var(--ink) !important; color: #fff !important; }
.lang a[data-on="off"] { background: transparent !important; color: var(--muted) !important; }
@media (max-width: 380px) {
  .lang a { width: 25px !important; height: 26px !important; font-size: 10.5px !important; }
  .nbar-r .btn-acc { font-size: 11px !important; padding: 0 8px !important; min-height: 32px !important; gap: 4px !important; }
  .nbar .logo .lw b { font-size: 14px; }
}
.burger { display: block; }
.nbar-r .btn-acc { min-height: 38px; padding: 0 12px; font-size: var(--fs-13); gap: 6px; }
.nbar-r .btn-acc .ico { display: none; }
@media (max-width: 380px) { .nbar-r .btn-acc { padding: 0 10px; font-size: var(--fs-12); } }

/* ---------- 4. 抽屉菜单（沿用 site.css 的 fixed+opacity 模式，仅改内部排版） ---------- */
nav.menu { background: #FFFFFF !important; }
nav.menu .m-head, nav.menu .m-body, nav.menu .m-foot, nav.menu .m-lang { display: block; }
nav.menu .m-head, nav.menu .m-foot, nav.menu .m-lang { display: flex; }
.m-head { position: static; display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px 10px; background: var(--bg); border-bottom: var(--hairline) solid var(--line); }
.m-logo { font-family: "Unbounded"; font-weight: 700; font-size: 15px; letter-spacing: -.02em; }
.m-logo b { color: var(--accent); }
.m-close { display: grid; place-items: center; width: var(--tap); height: var(--tap); border: 1px solid var(--line-2);
  background: #fff; border-radius: 999px; font-size: 22px; line-height: 1; color: var(--ink); }
.m-body { padding: 8px 0 4px; }
.m-grp { padding: 6px 0 2px; }
.m-t { display: block; padding: 12px 20px 6px; font-family: "JetBrains Mono"; font-size: 10.5px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }
nav.menu .m-head, nav.menu .m-foot, nav.menu .m-lang { display: flex; }
nav.menu .m-grp a { display: flex; align-items: center; min-height: 48px; padding: 12px 20px;
  font-family: "Golos Text", system-ui, sans-serif; font-weight: 500; font-size: var(--fs-16);
  letter-spacing: 0; opacity: 1; transform: none; transition: background .2s var(--ease);
  border-inline-start: 3px solid transparent; }
nav.menu .m-grp a:active { background: var(--bg-2); }
.m-foot { margin-top: 0; position: static; display: flex; flex-direction: column; gap: 10px;
  padding: 14px 16px calc(var(--safe-b) + 14px); background: var(--bg);
  border-top: var(--hairline) solid var(--line); }
nav.menu .m-foot a.m-wa { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px;
  background: #128C4A; color: #fff; border-radius: var(--r-md); font-weight: 600; font-size: var(--fs-16);
  font-family: "Golos Text", system-ui, sans-serif; opacity: 1; transform: none; }
.m-lang { display: flex; gap: 8px; }
.m-lang a { flex: 1; display: grid; place-items: center; min-height: var(--tap); border: 1px solid var(--line-2);
  border-radius: var(--r-md); font-family: "JetBrains Mono"; font-size: var(--fs-13); color: var(--ink-2); opacity: 1; transform: none; }
.m-lang a.on { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---------- 5. 底部 tab 栏（拇指热区） ---------- */
body { padding-bottom: calc(var(--tabbar-h) + var(--safe-b)); }
.m-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: grid;
  grid-template-columns: repeat(5, 1fr); background: rgba(255,255,255,.97);
  border-top: var(--hairline) solid var(--line); padding-bottom: var(--safe-b);
  padding-left: var(--safe-l); padding-right: var(--safe-r); }
.m-tabbar .tab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  min-height: var(--tabbar-h); font-size: var(--fs-11); color: var(--faint); position: relative; }
.m-tabbar .tab svg { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.m-tabbar .tab.on { color: var(--accent); }
.m-tabbar .tab-wa { background: var(--ink); color: #fff; margin: 6px 4px; border-radius: var(--r-md); min-height: 44px; }
.m-tabbar .tab-wa svg { stroke: none; fill: #fff; }
.m-tabbar .tab-wa span { font-weight: 600; }

/* ---------- 6. 排版 / 间距 ---------- */
.wrap { padding: 0 16px calc(var(--sp-6) + var(--safe-b)); }
section { padding: 28px 0; }
.hero { padding: 26px 0 20px; }
.hero h1 { font-size: clamp(28px, 8.6vw, 38px); line-height: 1.1; margin-top: 14px; letter-spacing: -.02em; }
.hero .lead { font-size: var(--fs-16); line-height: 1.6; margin-top: 12px; }
.pill { font-size: 10px; padding: 6px 11px; }
.hero-cta { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.hero-cta .btn { width: 100%; justify-content: center; min-height: 50px; font-size: var(--fs-16); }
.qsearch { margin-top: 14px; min-height: 52px; }
.qsearch input { font-size: var(--fs-input); }
.ticks { display: grid; grid-template-columns: 1fr; gap: 6px; margin-top: 14px; }
.ticks li { font-size: var(--fs-13); }
.hero-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 16px; }
.hero-facts span { font-size: var(--fs-11); }
.hero-facts b { font-size: var(--fs-18); }
h2 { font-size: clamp(22px, 6.4vw, 28px); line-height: 1.15; }
.ch { margin-bottom: 14px; }
.ch .more { font-size: var(--fs-12); }
h3, h4 { letter-spacing: -.01em; }
p, li { font-size: var(--fs-15); }
.sub, .note { font-size: var(--fs-13); }
.crumb { font-size: var(--fs-12); padding-top: 4px; }

/* 通用：可点元素 ≥44 */
.btn { min-height: var(--tap); padding: 12px 18px; font-size: var(--fs-15); }
.btn-sm { min-height: var(--tap-sm); padding: 10px 14px; font-size: var(--fs-14); }
.more { min-height: var(--tap-sm); display: inline-flex; align-items: center; }

/* ---------- 7. 首页 ---------- */
.hero-bgimg { display: none; }            /* 首屏不再叠大图，省流量与合成 */
.hero-bg { background: var(--surface); }
.stat-shell { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
.stat { padding: 14px; }
.stat b { font-size: var(--fs-22); }
.stat p, .stat .tag { font-size: var(--fs-11); }
.duo, .rgrid, .fob3, .lanes { grid-template-columns: 1fr !important; }
.brands, #bwall { display: flex !important; grid-template-columns: none !important; flex-wrap: nowrap;
  gap: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
  padding: 2px 16px 10px; margin: 0 -16px; }
.brands > *, #bwall > * { flex: 0 0 46%; scroll-snap-align: start; }
#bwall .brand .nm { font-size: var(--fs-13); }
.panel { min-height: 0; padding: 20px 18px; grid-template-columns: 1fr !important; row-gap: 16px; }
.panel .p-spec { border-left: 0; padding-left: 0; }
.bento { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
.bento .shell, .bento .b-a, .bento .b-b, .bento .b-c, .bento .b-d, .bento .b-e,
.bento .b-f, .bento .b-g, .bento .b-h { grid-column: span 1 !important; grid-row: auto !important; }
.bento .b-i { grid-column: span 2 !important; }
.bento .core { flex-direction: column !important; }
.b-i .plate { flex: none !important; aspect-ratio: 16/10; min-height: 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
.b-i .veh { padding: 14px 16px 16px !important; gap: 9px !important; justify-content: flex-start !important; }
.b-i .veh h4 { font-size: var(--fs-16) !important; }
.b-i .veh .row b { font-size: var(--fs-20) !important; }
.specgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.plate { aspect-ratio: 4/3; }
.veh { padding: 12px 14px 14px; gap: 7px; }
.veh h4 { font-size: var(--fs-15); }
.veh .sp, .veh .row .badge { font-size: var(--fs-11); }
.veh .row b { font-size: var(--fs-18) !important; }
.vtabs { gap: 8px; margin-bottom: 12px; overflow-x: auto; }
.vtabs button { min-height: var(--tap-sm); padding: 0 16px; font-size: var(--fs-13); }
.rail.rail5 { display: flex !important; grid-template-columns: none !important; overflow-x: auto;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 8px; }
.rail.rail5 .step { flex: 0 0 76% !important; padding: 0 !important; scroll-snap-align: start; }
.step .core { padding: 18px 16px; gap: 10px; }
.step .n { font-size: var(--fs-26); }
.why { display: grid !important; grid-template-columns: 1fr !important; gap: 18px; }
.why-ph img { width: 100%; height: auto; }
.why-i { padding: 12px 0; }
.anscards12 { grid-template-columns: 1fr !important; gap: 8px; }
.q12 { padding: 13px 14px; min-height: 52px; }
.q12 span { font-size: var(--fs-14); }
.kwchips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.kwchips a { flex: 0 0 auto; font-size: var(--fs-12); }
.fob-card { padding: 18px 16px; }
.cta { padding: 20px 18px; }
.cta h2 { font-size: var(--fs-22); }
.photogrid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
.scenes.three, .scenes { grid-template-columns: 1fr !important; }

/* ---------- 8. 目录卡（2 列）+ 筛选 ---------- */
.catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
.catgrid .veh h4 { font-size: var(--fs-14); line-height: 1.3; }
.catgrid .veh h4 a { display: block; }
.catgrid .loc { font-size: 10px; }
.ftool { position: sticky; top: 66px; z-index: 30; background: var(--bg); padding: 8px 0; margin: 0 0 10px;
  display: flex; gap: 8px; align-items: center; }
.f-toggle { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1;
  min-height: var(--tap); border: 1px solid var(--line-2); border-radius: var(--r-md); background: #fff;
  font-size: var(--fs-14); font-weight: 600; }
.f-toggle b { font-family: "JetBrains Mono"; font-size: var(--fs-12); color: var(--accent); }
.pbands { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.pbands a { flex: 0 0 auto; min-height: 38px; display: inline-flex; align-items: center; }
.pager { display: flex; flex-wrap: wrap; gap: 8px; }
.pager a { min-width: 40px; height: 40px; }
.pricelist .prow { display: block; padding: 14px 0; }
.pricelist .prow > * + * { margin-top: 8px; }
.prow table, .pricewrap { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ---------- 9. 鐩綍绛涢€夛紙淇濈暀鐙崰瑙勫垯锛?--------- */
.filters, .ftool { position: sticky; top: 62px; z-index: 30; background: var(--bg);
  padding: 8px 0 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 8px; }
.filters select, .filters input[type="search"], .filters input[type="text"],
.ftool select, .ftool input[type="search"], .ftool input[type="text"] {
  flex: 1 1 100%; min-height: 44px; border: 1px solid var(--line-2); border-radius: var(--r-md);
  background: #fff; padding: 0 12px; }
.filters .spacer, .ftool .spacer { display: none; }
.filters .btn-sm, .ftool .btn-sm { flex: 1 1 30%; min-height: 42px; justify-content: center; font-size: var(--fs-13); }
.filters .pband, .pband { min-height: 40px; }
/* ---------- 9. 车辆详情 ---------- */
.top { display: block !important; }
.top > .shell, .top .deal { position: static; }
.gallery .plate.main { aspect-ratio: 4/3; }
.gthumbs { display: flex !important; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity; padding-bottom: 6px; margin-top: 8px; }
.gthumb { flex: 0 0 74px !important; width: 74px; height: 58px; aspect-ratio: auto; scroll-snap-align: start; }
.gmeta { font-size: var(--fs-11); }
.deal { padding: 18px 16px 20px; }
.deal h1, .deal .dsp { font-size: clamp(23px, 7vw, 30px); }
.deal .sub { font-size: var(--fs-12); }
.price .v { font-size: var(--fs-26) !important; }
.deal .acts { display: flex; flex-direction: column; gap: 10px; }
.deal .acts .btn { width: 100%; justify-content: center; min-height: 50px; }
.rows { grid-template-columns: 1fr !important; }
.rows > div { padding: 9px 0; font-size: var(--fs-14); }
.descbox { padding: 18px 16px !important; }
.descbox .desc { font-size: var(--fs-16) !important; line-height: 1.6; }
.desc-facts { gap: 6px; }
.desc-facts li { font-size: 10px; padding: 4px 10px; }
.relq a { font-size: var(--fs-14); }
.specs { grid-template-columns: 1fr !important; gap: 10px; }
.spec { padding: 16px; }
.photogrid { grid-template-columns: repeat(2, 1fr) !important; }
.pg-b b { font-size: var(--fs-13); }
.pg-b i { font-size: var(--fs-13); }

/* 车辆页 sticky 转化条（价格 + WhatsApp） */
.m-vbar { display: flex; align-items: center; gap: 10px; position: fixed; left: 0; right: 0;
  bottom: calc(var(--tabbar-h) + var(--safe-b) + 1px); z-index: 70; padding: 9px 12px;
  padding-left: calc(12px + var(--safe-l)); padding-right: calc(12px + var(--safe-r));
  background: rgba(255,255,255,.98); border-top: var(--hairline) solid var(--line-2);
  box-shadow: 0 -8px 26px -18px rgba(14,17,20,.5); }
.m-vbar-p { display: flex; flex-direction: column; flex: none; }
.m-vbar-p b { font-family: "Golos Text", system-ui, sans-serif; font-size: var(--fs-18); letter-spacing: -.02em; }
.m-vbar-p span { font-family: "JetBrains Mono"; font-size: 9.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }
.m-vbar .btn { flex: 1; justify-content: center; min-height: 46px; }
body.vehicle-page { padding-bottom: calc(var(--tabbar-h) + var(--safe-b) + 66px); }

/* ---------- 10. 答案 / FAQ 手风琴 ---------- */
.faqcol { padding: 6px 16px 10px; }
.faqcol .q button, .faq-list summary { min-height: 52px; padding: 14px 30px 14px 0; font-size: var(--fs-15); }
.faqcol .q .a p, .faq-list .faq-a { font-size: var(--fs-14); line-height: 1.65; }
.qcat { font-size: 9.5px; }
.faqgrid { grid-template-columns: 1fr !important; gap: 10px; }
.popq { display: flex; flex-direction: column; gap: 8px; }
.popc { min-height: 52px; padding: 12px 14px; }
.popc span { font-size: var(--fs-14); }
.anscards { display: flex !important; flex-wrap: nowrap; gap: 10px; overflow-x: auto;
  -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 8px; }
.anscards > * { flex: 0 0 84%; scroll-snap-align: start; }
.anscard-b b { font-size: var(--fs-15); }
.anscard-b span { font-size: var(--fs-12); }
.ansbox { padding: 20px 18px 22px; }
.ansbox .anslead { font-size: var(--fs-16); line-height: 1.65; }
.anscards12 .q12 i { font-size: var(--fs-14); }
.fchips { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.fchips button { flex: 0 0 auto; min-height: 38px; }

/* ---------- 11. 价格 / 城市 / 内容页 ---------- */
.stat-shell { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.routes, .lanes .core, .lane-grid { grid-template-columns: 1fr !important; }
.track, .schem { min-height: 0; }
.mrow, .rows.two { display: block !important; }
.prose, .page-body { font-size: var(--fs-16); line-height: 1.7; }
.prose img, .page-body img { width: 100%; height: auto; border-radius: var(--r-md); }
.prose table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prose h2 { margin-top: 22px; }
.prose h3 { margin-top: 18px; }
.prose blockquote { padding: 14px 16px; font-size: var(--fs-15); }
.blist { padding-left: 18px; }
.blist li { font-size: var(--fs-15); }
.logochips { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.logochips a { flex: 0 0 auto; }
.side { padding: 18px 16px; }
.dealers-grid, .two-col { grid-template-columns: 1fr !important; }

/* ---------- 12. 表单（16px 防 iOS 缩放） ---------- */
input, textarea, select, .qsearch input, .f-field input, .f-field select,
form input, form textarea, form select { font-size: var(--fs-input) !important; }
input, select, textarea { min-height: var(--tap); width: 100%; border-radius: var(--r-md); }
form .row, .form-grid { grid-template-columns: 1fr !important; gap: 12px; }
button[type="submit"] { min-height: 48px; font-size: var(--fs-16); }
.inquiry form button, .form-card button, .co-form button, form.stack button[type="submit"] { width: 100%; min-height: 50px; }
.qsearch { display: flex; gap: 8px; align-items: center; }
.qsearch input { flex: 1 1 auto; min-width: 0; padding: 0 12px; }
.qsearch button[type="submit"] { flex: 0 0 auto; width: auto; padding: 0 18px; min-height: 46px; }

/* ---------- 13. 页脚 ---------- */
.ft3 { padding-top: 26px; }
.ft3-top { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.ft3-time { margin-top: 0; }
.ft3-eta ul { display: block !important; columns: 1 !important; }
.ft3-eta li { display: flex !important; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 8px 0; border-bottom: var(--hairline) solid var(--line); }
.ft3-eta li .c { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ft3-eta li .l, .ft3-eta li b { flex: 0 0 auto; white-space: nowrap; }
.ft3-brand p { font-size: var(--fs-14); line-height: 1.6; }
.ft3-entity div { display: block; margin: 4px 0; }
.ft3-entity dt { margin-bottom: 2px; }
.ft3-cols, .ft3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 14px; }
.ft3-col a, .ft3-col span { min-height: 34px; font-size: var(--fs-13); }
.ft3-eta li { font-size: var(--fs-12); }
.ft3-bar { flex-direction: column; align-items: flex-start; gap: 8px; font-size: var(--fs-12); }
.ft3-eta { padding-bottom: 20px; }

/* ---------- 14. 横滑工具 ---------- */
.h-scroll, .chips, .scenes { display: flex !important; gap: 12px; overflow-x: auto;
  -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 8px; }
.h-scroll > *, .scenes > * { flex: 0 0 82%; scroll-snap-align: start; }
.chips a { flex: 0 0 auto; }

/* ---------- 15. 滤镜抽屉（bottom sheet） ---------- */
.f-backdrop { position: fixed; inset: 0; z-index: 110; background: rgba(14,17,20,.45); }
.f-backdrop.show { display: block; }
.f-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 120; max-height: 86vh; max-height: 86dvh;
  overflow-y: auto; background: var(--surface); border-radius: var(--r-lg) var(--r-lg) 0 0;
  padding: 20px 18px calc(var(--safe-b) + 20px);
  transform: translateY(100%); transition: transform .26s var(--ease);
  box-shadow: 0 -12px 40px rgba(14,17,20,.2); overscroll-behavior: contain; }
.f-sheet.open { transform: none; }
.f-sheet h4 { font-size: var(--fs-16); margin-bottom: 12px; }
.f-sheet .f-close { position: absolute; inset-inline-end: 14px; top: 12px; width: var(--tap); height: var(--tap);
  display: grid; place-items: center; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: 20px; }
.f-sheet .f-body > * + * { margin-top: 14px; }
.f-sheet label { display: block; font-size: var(--fs-13); color: var(--muted); margin-bottom: 6px; }
.f-sheet .pbands, .f-sheet .fchips { flex-wrap: wrap; overflow: visible; }
.f-sheet .apply { margin-top: 16px; }

/* ---------- 16. 触控与小字下限（移动端可读性） ---------- */
nav.menu a, .ft3 a, .ft3-col a, .mg-brands a, .logochips a, .pricelist a, .prow a,
.answers a.q12, .popq a, .relq a, .blist li a, .brand a, .brandcard,
.crumbs a, .crumb a, .scene-link, .pgc, .deal .chip { min-height: 40px; }
.ft3-col a, .ft3-col span, .logochips a { display: inline-flex; align-items: center; }
.faqcol .q button span, .faq-list summary { font-size: var(--fs-15); }
.mono, .tag, .qcat, .veh .sp, .veh .loc, .loc, .ft3-eta li, .gmeta, .desc-facts li,
.pricelist .mono, .bc-meta, .stat .tag, .hero-facts span, .badge, .chip { font-size: max(11px, 0.69rem); }
.ft3-h, .m-t, .kw-h, .relq-h { font-size: 11px; }
.hero .lead, .panel p, .prose p, .descbox .desc, .ansbox .anslead { font-size: var(--fs-16); }
.section p, .wrap > p, .sub { font-size: var(--fs-14); }
.ft3-bar span, .ft3-bar a { font-size: var(--fs-12); }

/* ---------- 17. 第二轮收口：筛选可用性 + 价格/交付/答案页 ---------- */
/* 目录页筛选：不再隐藏表单，改为紧凑内联（搜索/排序/状态/价格档全部可用） */
.pbands { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 2px 0 6px; }
.pbands a { flex: 0 0 auto; min-height: 40px; display: inline-flex; align-items: center;
  padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: var(--fs-13); }
.pbands a.on, .pbands a[aria-current] { background: var(--ink); border-color: var(--ink); color: #fff; }
.pbands a.reset { border-style: dashed; color: var(--muted); }

/* 价格页：行改块、表格横滚 */
.pricelist .prow { display: block; padding: 16px 0; }
.pricelist .prow > * + * { margin-top: 10px; }
.pricelist .pbrand { font-size: var(--fs-16); }
.pricelist table, .prow table, .rt2 table, .pkg table { display: block; width: 100%;
  overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prow td, .prow th { white-space: nowrap; }
.mrow { display: block !important; }
.mrow > * + * { margin-top: 8px; }

/* 交付页：路线块横滑 + 节点紧凑 */
.rgrid, .lanes { grid-template-columns: 1fr !important; gap: 12px; }
.schem { min-height: 0; padding: 12px 0; }
.nodes { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: var(--fs-12); }
.nodes span { flex: 0 0 auto; }
.track { min-height: 34px; }
.rt2, .lane { padding: 16px; }
.rt2 .meta { font-size: var(--fs-12); }

/* 答案页：卡片与列密排 */
.answers-page .q12, .q12 { border-radius: var(--r-md); }
.faqcol .q + .q { border-top: var(--hairline) solid var(--line); }
.anscards .anscard { min-height: 0; }
.anscard-b { padding: 14px 16px; }
.ansbox .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ansbox .chips a, .ansbox .chips span { min-height: 38px; display: inline-flex; align-items: center;
  padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; font-size: var(--fs-12); }

/* 城市/交付 chips 横滑 */
.cities .chips, .city-chips { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cities .chips a { flex: 0 0 auto; }

/* 相册：滑到第 N 张时的计数由 gmeta 承担；缩略图条加渐隐提示 */
.gthumbs { position: relative; }
.gthumbs::after { content: ""; position: sticky; right: 0; top: 0; width: 18px; height: 58px; flex: 0 0 18px;
  background: linear-gradient(to left, var(--bg), rgba(244,245,246,0)); pointer-events: none; }

/* ---------- 18. 最终裁决（防前面规则覆盖） ---------- */
.ft3-eta ul { display: block !important; columns: 1 !important; }
.ft3-eta li { display: flex !important; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 8px 0; border-bottom: var(--hairline) solid var(--line); }
.ft3-eta li .c { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ft3-eta li .l, .ft3-eta li b { flex: 0 0 auto; white-space: nowrap; }
.brands, #bwall { display: flex !important; grid-template-columns: none !important; flex-wrap: nowrap; gap: 10px;
  overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding: 2px 16px 10px; margin: 0 -16px; }
.brands > *, #bwall > * { flex: 0 0 46%; scroll-snap-align: start; }
.anscards { display: flex !important; flex-wrap: nowrap; gap: 10px; overflow-x: auto;
  -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 8px; }
.anscards > * { flex: 0 0 84%; scroll-snap-align: start; }

/* ---------- 19. 子栏目页深度优化 ---------- */
/* 通用：区块头 + 指标 + 面包屑 */
.crumb { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 6px; overflow-x: auto; white-space: nowrap; padding: 6px 0 2px; min-width: 0; }
.crumb a, .crumb span { flex: 0 0 auto; font-size: var(--fs-12); }
.ch-idx { gap: 8px; }
.ch-idx .n { font-size: var(--fs-13); }
.ch h2 { font-size: clamp(21px, 6vw, 27px); }
.ch .sub { font-size: var(--fs-14); }
.stat-shell { border-radius: var(--r-lg); padding: 10px; gap: 8px; }
.stat { padding: 12px; min-height: 0; }
.stat b { font-size: var(--fs-20); }
.stat .tag { font-size: 10px; }

/* 品牌页 / 城市页 / 目录页：车型 chip 条横滑 */
.mchips, .model-chips, .bc-models { display: flex; gap: 8px; overflow-x: auto;
  -webkit-overflow-scrolling: touch; padding: 2px 0 8px; }
.mchips a, .model-chips a, .bc-models a { flex: 0 0 auto; min-height: 40px; display: inline-flex; align-items: center;
  padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: var(--fs-13); }
/* 品牌页 / 城市页：卡片 2 列 + 章节间距收紧 */
.brand-cars .shell, .city-cars .shell, .catgrid .shell { border-radius: var(--r-lg); }
.brand-page section, .city-page section { padding: 22px 0; }
.brand-page .ch, .city-page .ch { margin-bottom: 10px; }
/* FAQ / 问答：单列 + 手风琴（按钮行 ≥52px） */
.faqgrid .faqcol { padding: 4px 14px 6px; }
.faqgrid .q button { min-height: 52px; padding: 13px 28px 13px 0; font-size: var(--fs-15); line-height: 1.35; }
.faqgrid .q .a p { font-size: var(--fs-14); line-height: 1.65; }
/* 侧栏 CTA 卡 */
.side { padding: 16px; }
.side h4 { font-size: var(--fs-17); }
.side .btn, .side .btn-wide { width: 100%; justify-content: center; min-height: 48px; }
/* 价格页：品牌块 + 车型行双列 */
.pricelist { border-top: 0; }
.pricelist .prow { border-bottom: var(--hairline) solid var(--line); }
.pricelist .prow + .prow { margin-top: 2px; }
.pricelist .prow .rows, .pricelist .prow ul { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px 10px; }
.pricelist .prow a { font-size: var(--fs-13); }
.pricelist .prow .mono { font-size: var(--fs-12); }
/* 交付 / 运费 / 经销商：卡片单列 + 图 2 列 + CTA 满宽 */
.rgrid .rt2, .lane, .way, .way-detail { padding: 16px; }
.rgrid .schem, .lane .schem { padding: 10px 0; }
.rgrid .meta { display: flex; justify-content: space-between; gap: 8px; font-size: var(--fs-12); }
.picgrid, .scenes.two, .subgrid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
.dealers-page .btn, .way .btn { width: 100%; justify-content: center; min-height: 48px; }
/* 答案枢纽：分类 chips 横滑 + 卡片列表 */
.fchips, .qcat-chips { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
.fchips button { flex: 0 0 auto; min-height: 40px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; }
.fchips button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.popq { display: flex; flex-wrap: nowrap !important; overflow-x: auto; gap: 8px; -webkit-overflow-scrolling: touch; }
.popq .popc { flex: 0 0 84%; }
/* 车辆页：相关车 2 列、规格 2 列 */
.photogrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
.specs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.specs .spec { padding: 14px; }
.specs .spec .k { font-size: 10px; }
.specs .spec .v { font-size: var(--fs-15); }
.crumb, .crumbs { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
.crumb a, .crumb span, .crumb i, .crumbs a { flex: 0 0 auto; }

/* ---------- 20. 车辆详情页专项（三级落地页） ---------- */
/* 规格 chips：标签大写、值正常大小写；2 列网格省高度 */
.desc-facts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; margin-top: 16px; }
.desc-facts li { display: flex !important; align-items: flex-start; justify-content: space-between; gap: 8px;
  padding: 9px 12px !important; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2);
  font-size: 11px !important; letter-spacing: 0; text-transform: none !important; min-height: 0; }
.desc-facts li span { font-size: 9.5px; letter-spacing: .03em; text-transform: uppercase; color: var(--faint);
  white-space: normal; max-width: 56%; line-height: 1.25; overflow-wrap: anywhere; word-break: break-word; hyphens: auto; }
.desc-facts li b { flex: 1 1 auto; font-size: 12px; font-weight: 600; color: var(--ink); text-align: right;
  min-width: 0; white-space: normal; overflow: visible; word-break: normal; overflow-wrap: anywhere; hyphens: auto; line-height: 1.3; }
.desc-facts li:last-child b, .desc-facts li b.mono { font-size: 11px; letter-spacing: 0; }
@media (max-width: 360px) { .desc-facts { grid-template-columns: 1fr !important; } }
/* 描述正文：RU 16px、行高 1.6，段间留白 */
.descbox .desc { font-size: var(--fs-16) !important; line-height: 1.62 !important; }
/* 相关车 / 相似车卡片：图片统一 4:3，标题与价格分行 */
.photogrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; align-items: stretch; }
.photogrid .pgc { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-md); overflow: hidden; }
.photogrid .pg-im { display: block; aspect-ratio: 4/3; overflow: hidden; }
.photogrid .pg-im img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photogrid .pg-b { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 12px 12px; }
.photogrid .pg-b b { font-size: var(--fs-13); font-weight: 600; line-height: 1.3; color: var(--ink); }
.photogrid .pg-b i { font-style: normal; font-family: "Golos Text", system-ui, sans-serif; font-size: var(--fs-14);
  font-weight: 700; color: var(--accent-ink); }
/* 三块规格卡：单列更易读 */
.specs { grid-template-columns: 1fr !important; }
.specs .spec { padding: 16px; }
.specs .spec .v { font-size: var(--fs-16); }
/* 顶部图库与价格区 */
.gallery .plate.main { border-radius: var(--r-lg); }
.deal .badges { gap: 6px; }
.deal .chip { font-size: var(--fs-12); min-height: 34px; display: inline-flex; align-items: center; padding: 0 12px; }
.deal .dsp { margin-top: 4px; }
.desc-facts li b { font-size: 12px; word-break: normal; overflow-wrap: break-word; }
.desc-facts li:last-child b { font-size: 11px; letter-spacing: 0; }

/* ---------- 21. 移动端收口：头部不溢出 / 11px 字号地板 / 触控地板 ---------- */
.nbar-in { padding: 0 6px 0 10px !important; gap: 4px !important; }
.nbar .logo .lw b { font-size: 13.5px; }
.nbar .logo .mk svg { width: 26px; height: 26px; }
.nbar-r { gap: 5px; }
.nbar-r .btn-acc { min-height: 34px !important; padding: 0 10px !important; font-size: 12px !important; }
.lang { padding: 2px; margin-right: 0; position: relative; }
.lang a { width: 27px !important; height: 27px !important; font-size: 10.5px !important; position: relative; }
.lang a::after { content: ""; position: absolute; left: -2px; right: -2px; top: -8px; bottom: -8px; }
.burger { width: 40px; height: 40px; }
@media (max-width: 360px) {
  .nbar .logo .lw b { font-size: 12.5px; }
  .nbar .logo .lw small { display: none; }
}
/* 11px 字号地板（标签/元信息类） */
:where(.mono, .tag, .loc, .sp, .qcat, .tg, .pd-l, .pd-k, .badge, .chip, .note, .sub,
  .p-spec span, .specgrid span, .desc-facts span, .desc-facts li, .veh .sp, .veh .loc,
  .gmeta, .kw-h, .relq-h, .ch-idx, .stat .tag, .bc-meta, .ft3-eta li, .ft3-eta li .l,
  .ft3-eta li b, .ft3-h, .m-t, .fcount, .vcount) { font-size: max(11px, 0.6875rem) !important; }
/* 触控地板（块级/列表型可点元素） */
a.q12, a.popc, a.anscard, a.brandcard, a.pgc, a.scene-link, a.chip-l, a.bl, a.pband,
.abc button, .fchips button, .bsort button, .faqcol .a a, .relq a, .kwchips a,
.logochips a, .mg-brands a, .crumb a { min-height: 40px; }
.abc button, .fchips button, a.chip-l, a.pband { display: inline-flex; align-items: center; justify-content: center; }
.faqcol .a a, .relq a { display: inline-flex; align-items: center; }
/* 品牌墙卡片文字（102 个 .tg） */
#bwall .brand .tg, .brands .brand .tg { font-size: 11px !important; }

/* ---------- 22. 整卡可点（车辆卡：点图/空白也能进详情） ---------- */
.catgrid .shell, .bento .shell { position: relative; }
.catgrid .shell .veh h4 a::after, .bento .shell .veh h4 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.catgrid .shell .row .badge, .catgrid .shell .loc, .bento .shell .row .badge { position: relative; z-index: 3; }

/* ---------- 23. 第三轮探针定位：11px 地板 / 真触控地板 / logo 定高 ---------- */
.core.rt2 .schem .nodes span, .scenes .scene figcaption span, .scene figcaption span,
.hero-grid .pill span, .ft3-brand .ft3-entity dt, .ft3-entity dt, .reqs dt, .wastats span,
.cform label, .waget-h, .faqcol .fqh, .dphoto figcaption b, .est-h, .spec .k, .specs .k,
.chips .chip-l i, .chip-l i {
  font-size: max(11px, 0.6875rem) !important;
}
.ft3-bar span.fb-lang a, .reqs dd a, .panel .foot span.n a, .fob-card ul li a,
.pricelist .prow .pbrand a, .logochips a {
  display: inline-flex; align-items: center; min-height: 44px;
}
.pricelist .prow .pbrand a { min-height: 40px; }
a.logo { display: inline-flex; align-items: center; min-height: 40px; }
.logochips a img, .prow .pbrand img { height: 22px !important; width: auto !important; }
}
