/* VEAZEN Global 版式：只引用 tokens.css 的 --vz-* 变量，不写颜色、字号、间距字面量。
   媒体查询的 768px、1024px 与 build_tokens.py 的字阶分档一致（CSS 变量不能用在媒体查询里）。
   组件的具体尺寸等设计方组件规格与 Figma 实测（DV-03、v2.0.1 导出），这里先按令牌搭结构。 */

/* Figma 9:2（设计包 v2.0.1 导出，1x 坐标）实测、令牌里还没有对应项的尺寸；设计方补进令牌后换成令牌（DV-02、DV-03）。
   测量记录见 wp-theme/measurements/p-home.md。 */
:root {
	--vz-m-header-h: 90px;    /* 页眉内容高，下方 1px 分隔线在 y=91 */
	--vz-m-logo-w: 142px;     /* 标志 x 72–214 */
	--vz-m-hero-h: 826px;     /* 首屏 y 92–918 */
	--vz-m-hero-bar-h: 92px;  /* 首屏图片底部黑条 y 826–918 */
	/* QA-20 的六个摄影比例与首页 03 两图间距自 0.5.2 起是正式令牌（v2.0.3 组件级增量，设计方第十轮批准）：由 build_tokens.py 从设计源 + 补丁生成到 tokens.css
	   （--vz-aspect-ratio-craft-wide / craft / moment 及 -mobile 三项、--vz-space-craft-gap），这里不再定义，避免重复。 */
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--vz-color-surface-page);
	color: var(--vz-color-text-primary);
	font-family: var(--vz-typography-body-font-family);
	font-size: var(--vz-typography-body-font-size);
	line-height: var(--vz-typography-body-line-height);
	font-weight: var(--vz-typography-body-font-weight);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--vz-color-text-link); }
h1, h2, h3, h4, p { margin: 0; }
:focus-visible { outline: var(--vz-border-width-strong) solid var(--vz-color-focus-on-light); outline-offset: var(--vz-space-4); }
.vz-section--dark :focus-visible, .vz-footer :focus-visible { outline-color: var(--vz-color-focus-on-dark); }

.vz-container {
	width: min(var(--vz-layout-container), calc(100% - 2 * var(--vz-layout-margin)));
	margin-inline: auto;
}
.vz-text-secondary { color: var(--vz-color-text-secondary); }
.vz-eyebrow { color: var(--vz-color-brand-red); text-transform: uppercase; }
.vz-section--dark .vz-eyebrow { color: var(--vz-color-text-inverse); } /* 品牌红在深色底只有 3.37:1，达不到小字 4.5:1；等令牌给深色底强调色再换（DV-20261025-16） */

/* 区段 */
.vz-section { padding-block: var(--vz-space-64); }
.vz-section > .vz-container > * + * { margin-top: var(--vz-space-24); }
.vz-section--subtle { background: var(--vz-color-surface-subtle); }
.vz-section--raised { background: var(--vz-color-surface-raised); }
.vz-section--dark { background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse); }
.vz-section--dark a { color: var(--vz-color-text-inverse); }
.vz-split { display: grid; gap: var(--vz-space-32); align-items: center; }
.vz-split > .wp-block-group > * + * { margin-top: var(--vz-space-16); }
.vz-stack { display: grid; gap: var(--vz-space-16); }

/* 页眉：导航用 WordPress 导航区块，手机端菜单的打开、关闭、Escape 与焦点由区块自带 */
.vz-header { border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); background: var(--vz-color-surface-page); }
.vz-header__bar { display: flex; align-items: center; gap: var(--vz-space-24); min-height: var(--vz-space-64); }
.vz-header__logo { display: inline-flex; align-items: center; min-height: var(--vz-space-48); }
.vz-header__logo img { width: calc(var(--vz-m-logo-w) * 0.75); height: auto; }
.vz-nav { margin-left: auto; font-family: var(--vz-typography-label-font-family); font-size: var(--vz-typography-label-font-size); font-weight: var(--vz-typography-label-font-weight); }
.vz-nav a { color: var(--vz-color-text-primary); text-decoration: none; display: inline-flex; align-items: center; min-height: var(--vz-space-48); }
/* 导航区块自带的菜单开关按钮放大到 48，满足点击区要求 */
.vz-nav .wp-block-navigation__responsive-container-open, .vz-nav .wp-block-navigation__responsive-container-close { min-width: var(--vz-space-48); min-height: var(--vz-space-48); justify-content: center; } /* 不改 display：桌面上由导航区块自己隐藏 */
.vz-nav .wp-block-navigation__container { gap: var(--vz-space-32); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--vz-color-surface-page); color: var(--vz-color-text-primary); }
.vz-header__tools { display: flex; align-items: center; gap: var(--vz-space-16); }
.vz-header__tools button {
	min-width: var(--vz-space-48); min-height: var(--vz-space-48);
	background: none; border: 0; color: var(--vz-color-text-primary); cursor: pointer;
}

/* 按钮 */
.vz-actions { display: flex; flex-wrap: wrap; gap: var(--vz-space-16); align-items: center; }
.vz-button-primary .wp-block-button__link {
	display: inline-flex; align-items: center; min-height: var(--vz-space-48);
	padding: var(--vz-space-12) var(--vz-space-24);
	background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse);
	border-radius: var(--vz-radius-none); text-decoration: none;
	font-family: var(--vz-typography-button-font-family); font-size: var(--vz-typography-button-font-size); font-weight: var(--vz-typography-button-font-weight);
}
.vz-button-link .wp-block-button__link {
	display: inline-flex; align-items: center; min-height: var(--vz-space-48); min-width: var(--vz-space-48);
	padding: 0; background: none; color: inherit; text-decoration: underline;
	font-family: var(--vz-typography-button-font-family); font-size: var(--vz-typography-button-font-size); font-weight: var(--vz-typography-button-font-weight);
}

/* 首屏：手机上下排，1024 起左右分屏、图片贴右边 */
.vz-hero { display: grid; }
.vz-hero__text { padding: var(--vz-space-48) var(--vz-layout-margin); display: grid; gap: var(--vz-space-24); align-content: center; }
.vz-hero__media { position: relative; }
.vz-hero__bar { position: absolute; inset: auto 0 0 0; display: flex; align-items: center; min-height: var(--vz-space-48); padding: 0 var(--vz-space-24); background: var(--vz-color-surface-dark-raised); color: var(--vz-color-text-inverse); }

/* 图片占位（c-image-fallback）：中性底色，不放生成图 */
.vz-ph { display: grid; place-items: center; background: var(--vz-color-surface-subtle); color: var(--vz-color-text-muted); aspect-ratio: var(--vz-aspect-ratio-card); }
.vz-ph--hero { aspect-ratio: var(--vz-aspect-ratio-hero-mobile); }
.vz-ph--card { aspect-ratio: var(--vz-aspect-ratio-product); }
.vz-ph--portrait { aspect-ratio: var(--vz-aspect-ratio-portrait); }
.vz-ph--story { aspect-ratio: var(--vz-aspect-ratio-story); }
.vz-ph--dark { background: var(--vz-color-surface-dark-raised); color: var(--vz-color-text-inverse); }
.vz-section--subtle .vz-ph { background: var(--vz-color-surface-page); }

/* 卡片网格 */
.vz-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--vz-layout-gutter); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vz-cards--3 { grid-template-columns: minmax(0, 1fr); }
.vz-card a { display: grid; gap: var(--vz-space-8); color: inherit; text-decoration: none; height: 100%; }
.vz-card__title { display: block; padding-top: var(--vz-space-8); }
.vz-card--all > a, .vz-card--all > div { display: grid; gap: var(--vz-space-8); background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse); padding: var(--vz-space-16); align-content: end; min-height: 100%; height: 100%; }
.vz-card--all .vz-todo { justify-self: start; margin: 0; }
.vz-card__arrow { font-size: var(--vz-typography-h2-font-size); }
.vz-card__arrow--inline { font-size: inherit; color: var(--vz-color-brand-red); }

/* 乐器探索页（Figma 36:2，设计方 STG-02）：品类格白底、名称行带箭头；深色导语的短分隔线与箭头链接；03 入口卡 */
.vz-cards--tiles .vz-card:not(.vz-card--all) > a { background: var(--vz-color-surface-page); gap: 0; } /* 末格深色不受影响（首页末格是链接） */
.vz-section--subtle .vz-cards--tiles .vz-ph { background: var(--vz-color-surface-subtle); }
.vz-card__body { display: flex; align-items: center; justify-content: space-between; gap: var(--vz-space-8); padding: var(--vz-space-16); min-height: var(--vz-space-48); }
.vz-card__body .vz-card__title { padding-top: 0; }
.vz-hero__anchor, .vz-link-arrow { display: inline-flex; align-items: center; min-height: var(--vz-space-48); color: inherit; text-decoration: none; }
.vz-stack > * + * { margin-top: var(--vz-space-24); }
.vz-rule-accent { width: var(--vz-space-48); margin: 0; border: 0; border-top: var(--vz-border-width-strong) solid var(--vz-color-brand-red); }
.vz-cards--entries .vz-card > a, .vz-cards--entries .vz-card > div { display: flex; align-items: center; justify-content: space-between; gap: var(--vz-space-8); padding: var(--vz-space-24); min-height: var(--vz-space-48); background: var(--vz-color-surface-page); border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); color: inherit; text-decoration: none; }
.vz-cards--entries .vz-card__title { padding-top: 0; }

/* 01 主张 */
.vz-intro__slogan { width: min(100%, calc(var(--vz-space-128) * 3)); justify-self: end; }

/* 页脚 */
.vz-footer { padding-block: var(--vz-space-64) var(--vz-space-32); }
.vz-footer__grid { display: grid; gap: var(--vz-space-32); }
.vz-footer__brand img { height: var(--vz-space-48); width: auto; } /* 官方标志（Q1） */
.vz-footer__brand > * + * { margin-top: var(--vz-space-16); }
.vz-footer__motto { margin: 0; }
.vz-footer__motto + .vz-footer__motto-en { margin-top: var(--vz-space-4); }
.vz-lang-en .vz-footer__motto { display: none; } /* 品牌口号对：英文页只显示英文行（DV-03） */
.vz-footer ul { list-style: none; margin: var(--vz-space-8) 0 0; padding: 0; display: grid; }
.vz-footer a { color: var(--vz-color-text-inverse); text-decoration: none; display: inline-flex; align-items: center; min-height: var(--vz-space-48); }
.vz-footer__legal { margin-top: var(--vz-space-48); padding-top: var(--vz-space-24); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-on-dark); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--vz-space-16); }
.vz-footer__legal p { margin: 0; }
.vz-footer__icp a { color: inherit; } /* 备案号链接（工信部要求可点击） */
.vz-locale-trigger--footer { color: var(--vz-color-text-inverse); } /* 页脚第二个语言与地区入口（DV-01），与页眉共用同一弹窗 */

/* 待补文案的标记：只在 P1 结构阶段出现，文案进 copy-deck 后删除 */
.vz-todo { outline: var(--vz-border-width-hairline) dashed var(--vz-color-border-strong); color: var(--vz-color-text-muted); padding: var(--vz-space-4) var(--vz-space-8); overflow-wrap: anywhere; }
.vz-card { min-width: 0; }
.vz-todo--dark { outline-color: var(--vz-color-border-on-dark); color: var(--vz-color-text-inverse); }

@media (min-width: 768px) {
	.vz-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* 设计方 2026-10-26 首页断点规格：768 两列换行，1024 起三列 */
	.vz-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.vz-section { padding-block: var(--vz-space-96); }
	.vz-header__bar { min-height: var(--vz-m-header-h); }
	.vz-header__logo img { width: var(--vz-m-logo-w); }
	.vz-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 8fr); min-height: var(--vz-m-hero-h); } /* 文字 672 : 图片 768 */
	.vz-hero__bar { min-height: var(--vz-m-hero-bar-h); padding-inline: var(--vz-space-32); }
	.vz-hero__text { padding-inline: calc((100vw - var(--vz-layout-container)) / 2) var(--vz-space-64); }
	.vz-ph--hero { aspect-ratio: auto; height: 100%; }
	.vz-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--vz-space-64); }
	.vz-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vz-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.vz-footer__grid { grid-template-columns: 2fr repeat(var(--vz-footer-cols, 3), minmax(0, 1fr)); } /* 栏数由条目门槛决定（DV-02） */
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* 目录页：面包屑、商品详情、规格选择、购买区、参数表、筛选（结构按 Figma 37:2 实测：图库约占左 54%） */
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vz-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--vz-space-8); color: var(--vz-color-text-secondary); }
.vz-breadcrumb li { display: inline-flex; align-items: center; min-height: var(--vz-space-48); }
.vz-breadcrumb li + li::before { content: "/"; margin-right: var(--vz-space-8); }
.vz-breadcrumb a { color: inherit; display: inline-flex; align-items: center; justify-content: center; min-height: var(--vz-space-48); min-width: var(--vz-space-48); }
.vz-model { font-family: var(--vz-font-family-mono); color: var(--vz-color-text-secondary); }
.vz-product__grid { display: grid; gap: var(--vz-space-32); }
.vz-product__info { display: grid; gap: var(--vz-space-16); align-content: start; }
.vz-variants { display: grid; gap: var(--vz-space-16); }
.vz-variants__list { list-style: none; margin: var(--vz-space-8) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--vz-space-8); }
.vz-chip {
	display: inline-flex; align-items: center; gap: var(--vz-space-8); min-height: var(--vz-space-48); padding: 0 var(--vz-space-16);
	border: var(--vz-border-width-default) solid var(--vz-color-border-default); color: var(--vz-color-text-primary); text-decoration: none;
	background: var(--vz-color-surface-page);
}
.vz-chip.is-selected { border-color: var(--vz-color-text-primary); border-width: var(--vz-border-width-strong); }
.vz-chip.is-disabled { color: var(--vz-color-text-muted); text-decoration: line-through; }
.vz-buy { display: grid; gap: var(--vz-space-12); padding-top: var(--vz-space-16); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-specs { margin: 0; display: grid; }
.vz-specs__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--vz-space-16); padding-block: var(--vz-space-16); border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-specs dd { margin: 0; }
.vz-filters { display: grid; gap: var(--vz-space-16); }
.vz-series { display: grid; gap: var(--vz-space-48); } /* 品类页按系列分段（SERIES_DISPLAY） */
.vz-series__group > .vz-t-h3 { margin: 0 0 var(--vz-space-16); }
@media (min-width: 1024px) {
	.vz-product__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--vz-space-48); }
	.vz-product__grid:has(.vz-product__media:empty) { grid-template-columns: minmax(0, 1fr); } /* 无授权主图时不留空的左半栏（QA-03 无图版式，节点二 2026-11-01） */
	.vz-filters { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
}

/* 语言与地区切换（1-2）：入口、原生 dialog 弹窗、原生单选、译文暂缺提示、无脚本页。尺寸按 Figma 67:2 / 67:55 实测（弹窗宽 528、选项行高 62），断点取主题统一的 768。 */
:root { --vz-m-locale-w: 528px; --vz-m-locale-option-h: 62px; }
.vz-locale-trigger {
	display: inline-flex; align-items: center; gap: var(--vz-space-8); min-height: var(--vz-space-48); min-width: var(--vz-space-48); padding: 0 var(--vz-space-8);
	color: var(--vz-color-text-primary); text-decoration: none; background: none; border: 0; cursor: pointer; font: inherit; white-space: nowrap;
}
.vz-locale-trigger[hidden] { display: none; }
.vz-locale-trigger--desktop { display: none; }
.vz-nav__locale { margin-top: var(--vz-space-16); padding-top: var(--vz-space-16); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-nav__locale .vz-locale-trigger { padding: 0; }
@media (min-width: 600px) { /* 与导航区块自己的手机菜单断点一致 */
	.vz-locale-trigger--desktop:not([hidden]) { display: inline-flex; }
	.vz-nav__locale { display: none; }
}
.vz-locale {
	width: min(var(--vz-m-locale-w), calc(100vw - 2 * var(--vz-space-24))); max-width: none; max-height: calc(100dvh - 2 * var(--vz-space-24));
	padding: 0; border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); background: var(--vz-color-surface-page); color: var(--vz-color-text-primary);
	box-shadow: var(--vz-shadow-overlay); overflow: auto;
}
.vz-locale::backdrop { background: var(--vz-color-surface-overlay); opacity: 0.55; }
.vz-locale__panel { padding: var(--vz-space-32) var(--vz-space-32) var(--vz-space-24); }
.vz-locale__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--vz-space-16); padding-bottom: var(--vz-space-16); border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-locale__close, .vz-notice__close {
	display: inline-flex; align-items: center; justify-content: center; min-width: var(--vz-space-48); min-height: var(--vz-space-48);
	background: none; border: 0; color: var(--vz-color-text-primary); cursor: pointer;
}
.vz-locale__close { margin: calc(-1 * var(--vz-space-12)) calc(-1 * var(--vz-space-12)) 0 0; }
.vz-locale__group { margin: var(--vz-space-24) 0 0; padding: 0; border: 0; min-width: 0; }
.vz-locale__legend { padding: 0; margin-bottom: var(--vz-space-12); color: var(--vz-color-text-secondary); }
.vz-locale__option {
	display: flex; align-items: center; gap: var(--vz-space-12); min-height: var(--vz-m-locale-option-h); padding: 0 var(--vz-space-16);
	border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); cursor: pointer;
}
.vz-locale__option input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--vz-color-brand-red); }
.vz-locale__option input:focus-visible { outline: none; } /* 焦点画在整行（Figma 67:2） */
.vz-locale__option:has(input:checked) { background: var(--vz-color-surface-subtle); font-weight: 700; }
.vz-locale__option:has(input:focus-visible) { outline: var(--vz-border-width-strong) solid var(--vz-color-focus-on-light); outline-offset: calc(-1 * var(--vz-border-width-strong)); }
.vz-locale__single { display: flex; align-items: center; min-height: var(--vz-m-locale-option-h); padding: 0 var(--vz-space-16); background: var(--vz-color-surface-subtle); font-weight: 700; }
.vz-locale__contact { display: inline-flex; align-items: center; min-height: var(--vz-space-48); margin-top: var(--vz-space-8); color: var(--vz-color-brand-red); }
.vz-locale__help { margin-top: var(--vz-space-24); padding-top: var(--vz-space-16); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); color: var(--vz-color-text-secondary); }
.vz-locale__confirm {
	display: flex; width: 100%; align-items: center; justify-content: center; min-height: var(--vz-space-48); margin-top: var(--vz-space-24); padding: 0 var(--vz-space-24);
	background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse); border: 0; cursor: pointer; font: inherit; font-weight: 700;
}
@media (max-width: 767px) {
	.vz-locale[open] { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-height: none; margin: 0; border: 0; box-shadow: none; }
	.vz-locale__panel { min-height: 100%; display: flex; flex-direction: column; padding: var(--vz-space-24); }
	.vz-locale__confirm { position: sticky; bottom: 0; margin-top: auto; }
	.vz-locale__help { margin-bottom: var(--vz-space-24); }
}
.vz-notice { background: var(--vz-color-surface-subtle); border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); border-left: var(--vz-space-4) solid var(--vz-color-brand-red); }
.vz-notice__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--vz-space-16); min-height: var(--vz-space-48); }
.vz-notice__close[hidden] { display: none; }
.vz-locale-page .vz-locale__form { max-width: var(--vz-m-locale-w); margin-inline: auto; }
.vz-locale-page .vz-main > h1 { max-width: var(--vz-m-locale-w); margin-inline: auto; }
.vz-locale-page .vz-locale-trigger, .vz-locale-page .vz-header__search { display: none; } /* Figma 69:2：无脚本页的页眉只有标志与导航 */
.vz-locale__links { list-style: none; margin: 0; padding: 0 0 var(--vz-space-16); border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-locale__links a { display: inline-flex; align-items: center; min-width: var(--vz-space-48); min-height: var(--vz-space-48); color: var(--vz-color-text-primary); }
.vz-locale__links a.is-current { color: var(--vz-color-brand-red); font-weight: 700; }

/* 页脚里的语言与地区入口：深色底上反白（基础 .vz-locale-trigger 在上面定义，这里放在文件末尾以覆盖） */
.vz-footer .vz-locale-trigger { color: var(--vz-color-text-inverse); background: transparent; border-color: var(--vz-color-border-on-dark); }

/* 品牌故事页（Figma 74:2 / 75:2，一页纸 ABOUT_AND_FOOTER）：分屏导入与收尾的图位比例、深色三章节 */
.vz-ph--about-hero { aspect-ratio: 1.16 / 1; }
.vz-ph--workshop { aspect-ratio: 1.05 / 1; }
.vz-split--center { align-items: center; }
.vz-archive { margin-top: var(--vz-space-32); }
.vz-archive__row { display: grid; gap: var(--vz-space-16); padding-block: var(--vz-space-32); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-on-dark); }
.vz-archive__row > * { margin: 0; }
@media (min-width: 1024px) {
	.vz-archive__row { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--vz-space-48); }
}

/* 品牌资讯页（Figma 82:3 / 82:74）与文章页 */
.vz-journal__hero .vz-journal__filter { margin-top: var(--vz-space-32); }
.vz-journal__filter .vz-variants__list { margin: 0; }
.vz-chip[aria-current="page"] { background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse); border-color: var(--vz-color-surface-dark); }
.vz-journal__featured { display: grid; gap: var(--vz-space-24); margin-bottom: var(--vz-space-64); }
.vz-journal__card { display: grid; gap: var(--vz-space-16); align-content: start; }
.vz-journal__card--featured { grid-template-columns: minmax(0, 1fr); }
.vz-journal__cover img { display: block; width: 100%; height: auto; aspect-ratio: var(--vz-aspect-ratio-story); object-fit: cover; }
.vz-journal__body { display: grid; gap: var(--vz-space-8); }
.vz-journal__body h2 a, .vz-journal__body h3 a { display: inline-flex; align-items: center; min-height: var(--vz-space-48); color: inherit; text-decoration: none; } /* 标题链接撑到 48 高，满足点击区要求 */
.vz-journal__body h2 a:hover, .vz-journal__body h3 a:hover { text-decoration: underline; }
.vz-journal__list-title { margin-bottom: var(--vz-space-32); }
.vz-journal__grid { display: grid; gap: var(--vz-space-32) var(--vz-layout-gutter); }
.vz-journal__card--text .vz-journal__body { padding-top: var(--vz-space-16); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-pagination { display: flex; align-items: center; gap: var(--vz-space-16); margin-top: var(--vz-space-48); }
.vz-journal__empty { display: grid; gap: var(--vz-space-16); }
/* QA-03 无图版式（Figma 103:3 / 103:105 / 103:205 / 103:257）：无授权图片时不放灰框，文字版式；图片加载失败时脚本去掉容器并加 .vz-hero--text */
.vz-hero--text { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.vz-hero--text .vz-hero__text { max-width: 900px; padding-block: var(--vz-space-64); }
/* 真实图片沿用占位的比例与裁切：首屏手机档按首屏比例、1024 起撑满右栏；品牌故事首屏 1.16 : 1；品类与商品卡按产品图比例；加载失败由脚本去掉容器 */
.vz-hero__figure, .vz-about__figure, .vz-card__media, .vz-product__figure { display: block; overflow: hidden; }
.vz-hero__figure { aspect-ratio: var(--vz-aspect-ratio-hero-mobile); }
.vz-about__figure { aspect-ratio: 1.16 / 1; }
.vz-card__media { aspect-ratio: var(--vz-aspect-ratio-product); }
.vz-hero__figure img, .vz-about__figure img, .vz-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vz-product__figure img { display: block; width: 100%; height: auto; }
.vz-cards--tiles .vz-card.vz-card--tile > a { display: grid; gap: var(--vz-space-8); align-content: start; padding: var(--vz-space-24); min-height: calc(var(--vz-space-128) + var(--vz-space-32)); background: var(--vz-color-surface-page); border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-card--tile .vz-card__title { padding-top: var(--vz-space-16); }
.vz-tile__no { color: var(--vz-color-brand-red); }
.vz-tile__alt { color: var(--vz-color-text-secondary); margin-top: auto; }
.vz-cards:not(.vz-cards--tiles) .vz-card--tile > a { padding: var(--vz-space-24); border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-craft__text { max-width: 760px; display: grid; gap: var(--vz-space-16); }
/* QA-18 / QA-20 有图模式容器尺寸按 Figma 画框：首页 03 图一 2 : 1（1440 档 640×320）、图二 10 : 7（640×448）叠放，两图间距 28px；品牌故事收尾 1.05 : 1（640×610）；首页 04 三卡 6 : 7（432×504） */
.vz-craft__stack { gap: var(--vz-space-craft-gap); }
.vz-craft__stack > * + * { margin-top: 0; } /* 去掉 .vz-stack 子项 24px 上边距与 16px 栅格间距的叠加，只留组件级 28px */
.vz-craft__figure { display: block; overflow: hidden; aspect-ratio: var(--vz-aspect-ratio-craft-wide); }
.vz-craft__figure + .vz-craft__figure { aspect-ratio: var(--vz-aspect-ratio-craft); }
.vz-about__workshop { display: block; overflow: hidden; aspect-ratio: 1.05 / 1; }
.vz-craft__figure img, .vz-about__workshop img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vz-stories__grid--home .vz-journal__cover img { aspect-ratio: var(--vz-aspect-ratio-moment); }
@media (max-width: 767px) { /* 设计方第九轮：移动端三项比例，只作用于这三处摄影容器 */
	.vz-craft__figure { aspect-ratio: var(--vz-aspect-ratio-craft-wide-mobile); }
	.vz-craft__figure + .vz-craft__figure { aspect-ratio: var(--vz-aspect-ratio-craft-mobile); }
	.vz-stories__grid--home .vz-journal__cover img { aspect-ratio: var(--vz-aspect-ratio-moment-mobile); }
}
.vz-about__text > * { max-width: 900px; } /* 容器仍是版心，只限内容宽度，与其他段落左对齐 */
.vz-about__text > .wp-block-group > * + * { margin-top: var(--vz-space-16); } /* 无图时没有 .vz-split，补回眉题、标题、导语之间的间距 */
.vz-journal__body h3 { line-height: 1.3; }
/* 服务支持页 /support/（Figma 82:276 / 82:346，一页纸 SUPPORT_PAGE）：首屏搜索框（浅灰底、整行）、三张灰底入口卡（1440 档 288 高）、折叠问答（细线分隔、右侧加减号） */
.vz-support__title { max-width: 20em; }
.vz-support__lead { max-width: 40em; }
.vz-support__search { margin-top: var(--vz-space-48); }
.vz-support__input { display: block; width: 100%; margin: 0; padding: var(--vz-space-24); border: var(--vz-border-width-hairline) solid transparent; border-radius: 0; background: var(--vz-color-surface-subtle); color: var(--vz-color-text-primary); font: inherit; font-size: var(--vz-typography-body-lg-font-size); line-height: var(--vz-typography-body-lg-line-height); appearance: none; -webkit-appearance: none; }
.vz-support__input::placeholder { color: var(--vz-color-text-secondary); opacity: 1; }
.vz-support__input:focus-visible { outline-offset: 0; }
.vz-support__count { min-height: var(--vz-space-24); margin-top: var(--vz-space-8); }
.vz-support__services .vz-t-h2 { margin-bottom: var(--vz-space-32); }
.vz-support__cards .vz-card > a, .vz-support__cards .vz-card > div { display: grid; gap: var(--vz-space-8); align-content: start; padding: var(--vz-space-24); min-height: calc(var(--vz-space-128) * 2 + var(--vz-space-32)); background: var(--vz-color-surface-subtle); color: inherit; text-decoration: none; }
.vz-support__cards .vz-card > a { position: relative; }
.vz-support__cards .vz-card__title { padding-top: var(--vz-space-8); }
.vz-support__cards .vz-card__arrow { position: absolute; right: var(--vz-space-24); bottom: var(--vz-space-24); }
.vz-support__faq .vz-t-h2 { margin-bottom: var(--vz-space-24); }
.vz-faq__list { border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-faq__category { padding-top: var(--vz-space-32); color: var(--vz-color-text-secondary); }
.vz-faq__item { border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-faq__q { display: flex; align-items: center; justify-content: space-between; gap: var(--vz-space-16); padding-block: var(--vz-space-32); cursor: pointer; list-style: none; }
.vz-faq__q::-webkit-details-marker { display: none; }
.vz-faq__q::after { content: '+'; flex: none; font-size: var(--vz-typography-h3-font-size); line-height: 1; }
.vz-faq__item[open] > .vz-faq__q::after { content: '−'; }
.vz-faq__a { max-width: 900px; padding-bottom: var(--vz-space-32); }
.vz-faq__state, .vz-faq__none { max-width: 900px; }
.vz-faq__clear { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; min-height: var(--vz-space-48); }
.vz-support__contact { padding-top: 0; }
/* 旧插件 veazen-connect 的功能页（/verify/ 等短代码）：可见控件接主题令牌（设计方第十轮 SUP-02）。插件自带 veazen.css 在页脚后加载，
   这里用 .vz-main .veazen 提高一级特异性覆盖；蜜罐 .veazen-hp 与签名、字段、接口逻辑不动。 */
.vz-main .veazen { max-width: 900px; margin: var(--vz-space-32) 0 0; font-size: var(--vz-typography-body-font-size); line-height: var(--vz-typography-body-line-height); }
.vz-main .veazen .veazen-title { margin: 0 0 var(--vz-space-8); font-family: var(--vz-typography-h3-font-family); font-size: var(--vz-typography-h3-font-size); font-weight: var(--vz-typography-h3-font-weight); line-height: var(--vz-typography-h3-line-height); }
.vz-main .veazen .veazen-muted { color: var(--vz-color-text-secondary); font-size: var(--vz-typography-body-font-size); }
.vz-main .veazen-form label { display: block; margin: var(--vz-space-24) 0 0; font-weight: var(--vz-typography-label-font-weight); }
.vz-main .veazen-form input[type=text], .vz-main .veazen-form input[type=url], .vz-main .veazen-form input[type=date], .vz-main .veazen-form select, .vz-main .veazen-form textarea { display: block; width: 100%; min-height: var(--vz-space-48); margin-top: var(--vz-space-8); padding: var(--vz-space-12) var(--vz-space-16); border: var(--vz-border-width-hairline) solid var(--vz-color-border-strong); border-radius: var(--vz-radius-none); background: var(--vz-color-surface-page); color: var(--vz-color-text-primary); font: inherit; }
.vz-main .veazen-form input::placeholder { color: var(--vz-color-text-secondary); opacity: 1; }
.vz-main .veazen-form button { display: inline-flex; align-items: center; min-height: var(--vz-space-48); min-width: var(--vz-space-48); margin-top: var(--vz-space-24); padding: var(--vz-space-12) var(--vz-space-24); border: 0; border-radius: var(--vz-radius-none); background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse); font-family: var(--vz-typography-button-font-family); font-size: var(--vz-typography-button-font-size); font-weight: var(--vz-typography-button-font-weight); cursor: pointer; }
.vz-main .veazen-form button:hover { background: var(--vz-color-brand-red); }
.vz-main .veazen-check { color: var(--vz-color-text-secondary); font-size: var(--vz-typography-body-font-size); }
.vz-main .veazen-msg { margin: var(--vz-space-24) 0 0; padding: var(--vz-space-16); border-radius: var(--vz-radius-none); border-left: var(--vz-space-4) solid currentColor; }
.vz-main .veazen-ok { background: var(--vz-color-state-success-bg); color: var(--vz-color-state-success); }
.vz-main .veazen-warn { background: var(--vz-color-state-warning-bg); color: var(--vz-color-state-warning); }
.vz-main .veazen-error { background: var(--vz-color-state-error-bg); color: var(--vz-color-state-error); }
.vz-main .veazen-info { background: var(--vz-color-state-info-bg); color: var(--vz-color-state-info); }
.vz-main .veazen-table th, .vz-main .veazen-table td { border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); padding: var(--vz-space-8); }
.vz-main .veazen-cat { margin: var(--vz-space-24) 0 var(--vz-space-8); font-family: var(--vz-typography-label-font-family); font-size: var(--vz-typography-label-font-size); font-weight: var(--vz-typography-label-font-weight); }
.vz-main .veazen-faq { border-bottom: var(--vz-border-width-hairline) solid var(--vz-color-border-default); padding: 0; }
.vz-main .veazen-faq summary { display: flex; align-items: center; min-height: var(--vz-space-48); padding-block: var(--vz-space-16); font-weight: var(--vz-typography-label-font-weight); }
.vz-main .veazen-faq div { padding: 0 0 var(--vz-space-16); color: var(--vz-color-text-primary); }
/* 音乐生活页：B29 授权前首屏只有文字（设计方 2026-10-26 C4），标题与导语限宽保持编辑感；授权图到位后再按 95:3 加回两栏照片位 */
.vz-stories__hero { padding-block: var(--vz-space-64) var(--vz-space-48); }
.vz-stories__title { max-width: 14em; }
.vz-stories__lead { max-width: 36em; }
.vz-stories__grid { margin-top: var(--vz-space-32); }
/* 资讯精选无封面时文字区按正文版心限宽，不留空图列（设计方 QA-04）；列表卡片标题换行平衡、行距放宽（QA-05） */
.vz-journal__card--featured.vz-journal__card--text .vz-journal__body { max-width: 760px; }
.vz-journal__grid { row-gap: var(--vz-space-48); }
.vz-journal__body h2, .vz-journal__body h3 { text-wrap: balance; }
/* 首页 05 / 06：卡片网格复用资讯页的 .vz-journal__grid；06 深色段只有文字，颜色沿用 .vz-section--dark */
.vz-home-journal__grid { margin-top: var(--vz-space-32); }
.vz-home-journal__more, .vz-home-stories__more { margin-top: var(--vz-space-32); }
.vz-article__inner { max-width: 760px; }
.vz-article__inner > * + * { margin-top: var(--vz-space-24); }
.vz-article__content img { max-width: 100%; height: auto; }
.vz-article__content a { color: inherit; }
@media (min-width: 768px) {
	.vz-journal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.vz-journal__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vz-journal__grid--text { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--vz-space-48) var(--vz-space-32); } /* 全部无封面：两列文字版式（103:205） */
	.vz-hero--text .vz-hero__text { padding-inline: calc((100vw - var(--vz-layout-container)) / 2) var(--vz-space-64); }
	.vz-hero__figure { aspect-ratio: auto; height: 100%; } /* 1024 起撑满右栏；要写在基础规则之后，否则基础的 aspect-ratio 会按高度把宽度撑出视口 */
	.vz-hero__media { min-width: 0; overflow: hidden; }
	.vz-journal__card--featured { grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: var(--vz-space-48); align-items: center; }
	.vz-journal__card--featured.vz-journal__card--text { grid-template-columns: minmax(0, 1fr); }
}

/* 样式总览 /style-guide/（内部页）：色板、间距条、比例格；其余全部复用页面组件 */
.vz-sg-swatches { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--vz-space-16); }
.vz-sg-swatch { display: grid; gap: var(--vz-space-4); }
.vz-sg-swatch__chip { display: block; aspect-ratio: 3 / 2; border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-sg-spaces { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--vz-space-8); }
.vz-sg-spaces li { display: flex; align-items: center; gap: var(--vz-space-16); }
.vz-sg-space__bar { display: block; height: var(--vz-space-12); background: var(--vz-color-brand-red); }
.vz-sg-inline { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--vz-space-8); }
.vz-sg-ratios { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--vz-space-16); align-items: start; }
.vz-style-guide .vz-specs dt code, .vz-style-guide .vz-specs dd code { font-size: inherit; }

/* 批次 1a（V1_1_REVIEW）：品类卡统计行、首页 03 工艺文章、乐器探索七品类分段、页眉下拉与搜索、搜索结果与 404 */
.vz-card__text { display: grid; gap: var(--vz-space-4); min-width: 0; }
.vz-card__meta { color: var(--vz-color-text-secondary); }
.vz-card--tile .vz-card__meta { margin-top: var(--vz-space-8); }
.vz-craft__list { list-style: none; margin: var(--vz-space-16) 0 0; padding: 0; display: grid; }
.vz-craft__list li { border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-on-dark); }
.vz-craft__list a { display: flex; align-items: center; justify-content: space-between; gap: var(--vz-space-16); min-height: var(--vz-space-48); padding-block: var(--vz-space-8); color: inherit; text-decoration: none; }
.vz-families { display: grid; gap: var(--vz-space-32); margin-top: var(--vz-space-32); }
.vz-family { display: grid; gap: var(--vz-space-16); padding-top: var(--vz-space-24); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-family__head { display: grid; gap: var(--vz-space-16); align-items: start; }
.vz-family__media { display: block; width: 120px; aspect-ratio: var(--vz-aspect-ratio-product); overflow: hidden; }
.vz-family__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vz-family__text { display: grid; gap: var(--vz-space-4); }
.vz-family__text h3 a { color: inherit; text-decoration: none; }
.vz-family__series { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--vz-space-8); align-content: start; }
.vz-header { position: relative; }
.vz-header__search summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; width: var(--vz-space-48); height: var(--vz-space-48); color: var(--vz-color-text-primary); }
.vz-header__search summary::-webkit-details-marker { display: none; }
.vz-header__search .vz-search__form { position: absolute; right: var(--vz-layout-margin); top: 100%; z-index: 20; display: flex; gap: var(--vz-space-8); padding: var(--vz-space-8); background: var(--vz-color-surface-page); border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-search__form { display: flex; flex-wrap: wrap; gap: var(--vz-space-8); }
.vz-search__form input { flex: 1 1 240px; min-height: var(--vz-space-48); padding: 0 var(--vz-space-12); border: var(--vz-border-width-hairline) solid var(--vz-color-border-strong); font: inherit; background: var(--vz-color-surface-page); color: var(--vz-color-text-primary); }
.vz-search__form button { min-height: var(--vz-space-48); padding: 0 var(--vz-space-24); border: 0; background: var(--vz-color-surface-dark); color: var(--vz-color-text-inverse); cursor: pointer; font: inherit; }
.vz-results { list-style: none; margin: 0; padding: 0; display: grid; }
.vz-results__item { display: grid; gap: var(--vz-space-4); padding-block: var(--vz-space-16); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-default); }
.vz-results__item a { color: inherit; text-decoration: none; }
.vz-nav .wp-block-navigation__submenu-container { background: var(--vz-color-surface-page); border: var(--vz-border-width-hairline) solid var(--vz-color-border-default); padding: var(--vz-space-8) 0; min-width: 220px; }
.vz-nav .wp-block-navigation__submenu-container a { padding: var(--vz-space-8) var(--vz-space-16); min-height: var(--vz-space-48); width: 100%; }
.vz-nav .wp-block-navigation__submenu-icon { margin-left: var(--vz-space-4); }
.vz-nav .wp-block-navigation-submenu__toggle { min-width: var(--vz-space-48); min-height: var(--vz-space-48); display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.vz-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon { margin: 0; }
.vz-family__text h3 a { display: inline-flex; align-items: center; min-height: var(--vz-space-48); }
.vz-results__item > a { display: inline-flex; align-items: center; min-height: var(--vz-space-48); }
@media (min-width: 768px) {
  .vz-family { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--vz-space-32); }
  .vz-family__head { grid-template-columns: 120px minmax(0, 1fr); }
  .vz-family__head:not(:has(.vz-family__media)) { grid-template-columns: minmax(0, 1fr); }
}

/* 批次 1a 第二部分：系列段头、品牌故事章节与里程碑、页脚联系 */
.vz-series__head { display: grid; gap: var(--vz-space-8); margin-bottom: var(--vz-space-16); max-width: 720px; }
.vz-series__points { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--vz-space-8) var(--vz-space-24); color: var(--vz-color-text-secondary); }
.vz-series__points li::before { content: "·"; margin-right: var(--vz-space-8); color: var(--vz-color-brand-red); }
.vz-archive__row { display: grid; gap: var(--vz-space-16); padding-block: var(--vz-space-24); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-on-dark); }
.vz-timeline { list-style: none; margin: 0; padding: 0; display: grid; }
.vz-timeline__item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--vz-space-16); padding-block: var(--vz-space-12); border-top: var(--vz-border-width-hairline) solid var(--vz-color-border-on-dark); }
.vz-timeline__item:first-child { border-top: 0; }
.vz-timeline__year { color: var(--vz-color-text-inverse); }
.vz-timeline__text a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.vz-footer__contact li { color: var(--vz-color-neutral-300); }
@media (min-width: 768px) {
  .vz-archive__row { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--vz-space-32); }
  .vz-timeline__item { grid-template-columns: 96px minmax(0, 1fr); }
}
