/* ==========================================================================
   JpSticks Paper — 全站样式
   纸质编辑风：米白底 / 墨黑正文 / 烟草琥珀强调
   ========================================================================== */

/* ---------- 1. 设计令牌 ---------- */
:root {
	--paper: #f4f1ea;
	--paper-2: #eae5da;
	--paper-3: #e0d9cb;
	--card: #fffefb;
	--ink: #17140f;
	--ink-2: #453d33;
	--mute: #857a6b;
	--line: #d8d1c3;
	--line-soft: #e5dfd2;
	--accent: #a2531c;
	--accent-deep: #7a3d12;
	--accent-soft: #f0e2d3;
	--dark: #131009;
	--dark-2: #1e1a12;
	--ok: #2f6b4f;
	--warn: #a8352c;

	--serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, "SimSun", Georgia, "Times New Roman", serif;
	--sans: "Inter", -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;

	--wrap: 1320px;
	--wrap-narrow: 900px;
	--gap: 28px;
	--radius: 2px;

	--ease: cubic-bezier(.22, .61, .36, 1);
	--dur: .32s;
}

/* ---------- 2. 重置 ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.7;
	font-feature-settings: "kern" 1;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

body.jpst-lock {
	overflow: hidden;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--dur) var(--ease);
}

a:hover {
	color: var(--accent);
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

h1, h2, h3, h4, h5 {
	margin: 0;
	font-family: var(--serif);
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -.01em;
}

p {
	margin: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

hr {
	border: 0;
	border-top: 1px solid var(--line);
	margin: 40px 0;
}

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

:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	background: var(--ink);
	color: #fff;
	padding: 12px 20px;
}

.skip-link:focus {
	left: 12px;
	top: 12px;
}

/* ---------- 3. 通用组件 ---------- */
.wrap {
	width: 100%;
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 40px;
}

.wrap--narrow {
	max-width: var(--wrap-narrow);
}

.wrap--wide {
	max-width: 1180px;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 32px;
	border: 1px solid transparent;
	border-radius: var(--radius);
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.btn--sm {
	padding: 10px 18px;
	font-size: 12px;
	letter-spacing: .08em;
}

.btn--solid {
	background: var(--ink);
	color: #fff;
}

.btn--solid:hover {
	background: var(--accent);
	color: #fff;
}

.btn--line {
	border-color: var(--ink);
	color: var(--ink);
	background: transparent;
}

.btn--line:hover {
	background: var(--ink);
	color: #fff;
}

.btn--invert {
	background: var(--paper);
	color: var(--ink);
}

.btn--invert:hover {
	background: var(--accent);
	color: #fff;
}

.btn--ghost {
	border-color: rgba(255, 255, 255, .4);
	color: #fff;
}

.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	border-radius: 50%;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}

.icon-btn:hover {
	background: rgba(23, 20, 15, .07);
	color: var(--accent);
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mute);
}

.eyebrow__line {
	width: 34px;
	height: 1px;
	background: currentColor;
	display: inline-block;
}

.eyebrow--invert {
	color: rgba(255, 255, 255, .55);
}

/* 价格 */
.woocommerce-Price-amount {
	font-family: var(--sans);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.price-unit {
	font-size: .72em;
	color: var(--mute);
	font-weight: 400;
	letter-spacing: .02em;
}

del .woocommerce-Price-amount {
	color: var(--mute);
	font-weight: 400;
	text-decoration: line-through;
}

ins {
	text-decoration: none;
}

/* 面包屑 */
.crumbs {
	padding: 22px 0 0;
	font-size: 12.5px;
	color: var(--mute);
}

.crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.crumbs li:not(:last-child)::after {
	content: "/";
	margin-left: 8px;
	color: var(--line);
}

.crumbs li[aria-current] {
	color: var(--ink-2);
	max-width: 340px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- 4. 顶部条与页头 ---------- */
.strip {
	background: var(--dark);
	color: rgba(255, 255, 255, .72);
	font-size: 11.5px;
	letter-spacing: .06em;
}

.strip__inner {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 9px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.strip__note {
	display: flex;
	align-items: center;
	gap: 9px;
}

.dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--accent);
	display: inline-block;
	box-shadow: 0 0 0 3px rgba(162, 83, 28, .18);
}

.strip__right {
	color: rgba(255, 255, 255, .45);
}

.masthead {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(244, 241, 234, .94);
	backdrop-filter: saturate(140%) blur(12px);
	border-bottom: 1px solid var(--line);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.masthead.is-hidden {
	transform: translateY(-100%);
}

.masthead.is-stuck {
	box-shadow: 0 12px 30px -22px rgba(23, 20, 15, .5);
}

.masthead__inner {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 40px;
	height: 76px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 32px;
}

.masthead__burger {
	display: none;
	flex-direction: column;
	gap: 5px;
	width: 42px;
}

.masthead__burger span {
	display: block;
	width: 20px;
	height: 1.5px;
	background: var(--ink);
	transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}

.brand {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1;
}

.brand__mark {
	width: auto;
	height: 34px;
}

.brand__word {
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -.02em;
}

.brand__sub {
	font-family: var(--sans);
	font-size: 9.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-top: 4px;
}

.brand--invert .brand__word {
	color: #fff;
	font-size: 34px;
}

.primary-nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

.primary-nav a {
	position: relative;
	font-size: 14px;
	font-weight: 500;
	color: var(--ink-2);
	padding: 6px 0;
	white-space: nowrap;
}

.primary-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--accent);
	transition: width var(--dur) var(--ease);
}

.primary-nav a:hover {
	color: var(--ink);
}

.primary-nav a:hover::after {
	width: 100%;
}

.masthead__tools {
	display: flex;
	align-items: center;
	gap: 2px;
}

.bag-count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	font-family: var(--sans);
	line-height: 17px;
	text-align: center;
}

/* 搜索面板 */
.search-panel {
	border-top: 1px solid var(--line);
	background: var(--card);
	padding: 26px 40px 30px;
}

.search-panel__form {
	max-width: var(--wrap);
	margin: 0 auto;
	display: flex;
	gap: 12px;
}

.search-panel__form input[type="search"] {
	flex: 1;
	padding: 14px 18px;
	border: 1px solid var(--line);
	background: var(--paper);
	font-size: 15px;
}

.search-panel__hints {
	max-width: var(--wrap);
	margin: 14px auto 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	font-size: 12.5px;
	color: var(--mute);
}

.search-panel__hints a {
	border-bottom: 1px solid var(--line);
	padding-bottom: 1px;
}

/* ---------- 5. 抽屉 ---------- */
.drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
}

.drawer__scrim {
	position: absolute;
	inset: 0;
	background: rgba(19, 16, 9, .55);
	opacity: 0;
	transition: opacity var(--dur) var(--ease);
}

.drawer.is-open .drawer__scrim {
	opacity: 1;
}

.drawer__panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(400px, 88vw);
	background: var(--paper);
	padding: 22px 28px 40px;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform .38s var(--ease);
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.drawer.is-open .drawer__panel {
	transform: translateX(0);
}

.drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.drawer__eyebrow {
	font-size: 10.5px;
	letter-spacing: .24em;
	color: var(--mute);
}

.drawer__search {
	display: flex;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 8px;
}

.drawer__search input {
	flex: 1;
	border: 0;
	background: transparent;
	font-size: 15px;
	padding: 6px 0;
	outline: none;
}

.drawer__search button {
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--ink-2);
}

.drawer__label {
	font-size: 10.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 12px;
}

.drawer__nav li a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 13px 0;
	border-bottom: 1px solid var(--line-soft);
	font-family: var(--serif);
	font-size: 18px;
}

.drawer__nav li em {
	font-family: var(--sans);
	font-style: normal;
	font-size: 11.5px;
	color: var(--mute);
}

.drawer__links {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 13px;
	color: var(--ink-2);
	padding-top: 20px;
	border-top: 1px solid var(--line);
}

/* ---------- 6. 首屏 ---------- */
.hero {
	border-bottom: 1px solid var(--line);
	padding: 70px 0 0;
	overflow: hidden;
}

.hero__grid {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 40px;
	display: grid;
	grid-template-columns: 1.02fr 1fr;
	gap: 60px;
	align-items: center;
}

.hero__title {
	font-size: clamp(42px, 5.4vw, 84px);
	font-weight: 600;
	letter-spacing: -.03em;
	line-height: 1.03;
}

.hero__title em {
	font-style: italic;
	color: var(--accent);
}

.hero__lead {
	margin: 28px 0 0;
	max-width: 460px;
	font-size: 15.5px;
	line-height: 1.85;
	color: var(--ink-2);
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
}

.hero__stats {
	display: flex;
	gap: 48px;
	margin: 46px 0 0;
	padding-top: 26px;
	border-top: 1px solid var(--line);
}

.hero__stats dt {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
}

.hero__stats dd {
	margin: 6px 0 0;
	font-family: var(--serif);
	font-size: 30px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.hero__visual {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 12px;
	align-content: stretch;
	aspect-ratio: 1.02 / 1;
}

.hero__figure {
	margin: 0;
	position: relative;
	overflow: hidden;
	background: var(--paper-2);
	border: 1px solid var(--line-soft);
}

.hero__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.6s var(--ease);
}

.hero__figure:hover img {
	transform: scale(1.04);
}

.hero__figure--main {
	grid-row: span 2;
}

.hero__figure figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 54px 18px 16px;
	background: linear-gradient(to top, rgba(19, 16, 9, .88) 8%, rgba(19, 16, 9, .42) 52%, rgba(19, 16, 9, 0));
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.hero__figure figcaption span {
	font-size: 9px;
	letter-spacing: .22em;
	color: rgba(255, 255, 255, .68);
}

.hero__figure figcaption strong {
	font-family: var(--serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.42;
	color: #fff;
}

/* ---------- 7. 滚动横幅 ---------- */
.marquee {
	background: var(--dark);
	color: rgba(255, 255, 255, .82);
	overflow: hidden;
	padding: 14px 0;
	margin-top: 70px;
}

.marquee__track {
	display: flex;
	gap: 34px;
	width: max-content;
	animation: marquee 42s linear infinite;
	font-size: 11.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	white-space: nowrap;
}

.marquee__track span[aria-hidden] {
	color: var(--accent);
}

@keyframes marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ---------- 8. 区块通用 ---------- */
.section {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 96px 40px;
	border-bottom: 1px solid var(--line);
}

.section:last-of-type {
	border-bottom: 0;
}

.section--alt {
	background: var(--paper-2);
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.section--alt > * {
	max-width: var(--wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}

.section__head {
	margin-bottom: 46px;
	max-width: 640px;
}

.section__head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	max-width: none;
}

.section__title {
	font-size: clamp(30px, 3.4vw, 46px);
	font-weight: 600;
	letter-spacing: -.02em;
}

.section__desc {
	margin-top: 16px;
	font-size: 15px;
	color: var(--ink-2);
	line-height: 1.85;
	max-width: 520px;
}

.link-more {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 3px;
	white-space: nowrap;
}

/* ---------- 9. 分类列表 ---------- */
.catlist {
	border-top: 1px solid var(--ink);
}

.catlist__item a {
	display: grid;
	grid-template-columns: 62px 1fr auto 34px;
	align-items: center;
	gap: 20px;
	padding: 22px 8px;
	border-bottom: 1px solid var(--line);
	transition: background var(--dur) var(--ease), padding var(--dur) var(--ease);
}

.catlist__item a:hover {
	background: var(--card);
	padding-left: 20px;
	padding-right: 20px;
}

.catlist__num {
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--mute);
	font-variant-numeric: tabular-nums;
}

.catlist__name {
	font-family: var(--serif);
	font-size: clamp(20px, 2vw, 27px);
	font-weight: 500;
	letter-spacing: -.01em;
}

.catlist__count {
	font-size: 12.5px;
	color: var(--mute);
	font-variant-numeric: tabular-nums;
}

.catlist__arrow {
	font-size: 16px;
	color: var(--mute);
	transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
	text-align: right;
}

.catlist__item a:hover .catlist__arrow {
	transform: translateX(6px);
	color: var(--accent);
}

/* ---------- 10. 商品网格与卡片 ---------- */
.pgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--gap);
}

.pcard {
	position: relative;
	display: flex;
	flex-direction: column;
	background: transparent;
	transition: transform var(--dur) var(--ease);
}

.pcard:hover {
	transform: translateY(-3px);
}

.pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--card);
	border: 1px solid var(--line-soft);
	overflow: hidden;
}

.pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6%;
	transition: transform .7s var(--ease), padding .7s var(--ease);
}

.pcard:hover .pcard__media img {
	transform: scale(1.045);
	padding: 4%;
}

.pcard__flag {
	position: absolute;
	left: 10px;
	top: 10px;
	background: var(--ink);
	color: #fff;
	font-size: 10px;
	letter-spacing: .1em;
	padding: 4px 9px;
	text-transform: uppercase;
}

.pcard__flag--out {
	background: var(--warn);
}

.pcard__body {
	padding: 16px 2px 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.pcard__brand {
	font-size: 10.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mute);
}

.pcard__title {
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2em;
}

.pcard__title a {
	color: var(--ink);
}

.pcard__title a:hover {
	color: var(--accent);
}

.pcard__foot {
	margin-top: auto;
	padding-top: 10px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.pcard__price {
	font-size: 15px;
	font-weight: 600;
	color: var(--accent-deep);
	line-height: 1.3;
}

.pcard__price .price-unit {
	display: block;
	font-size: 11px;
	margin-top: 1px;
}

.pcard__cta {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .06em;
	border: 1px solid var(--line);
	padding: 7px 12px;
	white-space: nowrap;
	color: var(--ink-2);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.pcard__cta:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.pcard__cta--muted {
	color: var(--mute);
	border-style: dashed;
	pointer-events: none;
}

/* ---------- 11. 横向商品轨道 ---------- */
.section--rail {
	overflow: hidden;
}

.section--tint {
	background: linear-gradient(180deg, rgba(234, 229, 218, .42), rgba(234, 229, 218, 0));
}

.rail {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin-right: -40px;
	padding-right: 40px;
	-webkit-mask-image: linear-gradient(to right, #000 96%, rgba(0, 0, 0, .15) 100%);
	mask-image: linear-gradient(to right, #000 96%, rgba(0, 0, 0, .15) 100%);
}

.rail::-webkit-scrollbar {
	display: none;
}

.rail__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * var(--gap)) / 4);
	gap: var(--gap);
	align-items: start;
}

.rail__cell {
	scroll-snap-align: start;
	min-width: 0;
}

.rail__hint {
	margin-top: 20px;
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--mute);
}

/* ---------- 11b. 左右分栏（旧结构，保留备用） ---------- */
.split {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 56px;
	align-items: start;
}

.split--reverse {
	grid-template-columns: 1fr 280px;
}

.split--reverse .split__intro {
	order: 2;
}

.split__intro {
	position: sticky;
	top: 110px;
}

.split__text {
	margin: 18px 0 26px;
	font-size: 14.5px;
	line-height: 1.85;
	color: var(--ink-2);
}

.split__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gap);
}

/* ---------- 12. 品牌墙 ---------- */
.brandwall {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.brandwall a {
	display: inline-flex;
	align-items: baseline;
	gap: 9px;
	padding: 12px 20px;
	border: 1px solid var(--line);
	background: var(--card);
	transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.brandwall a:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.brandwall__name {
	font-family: var(--serif);
	font-size: 15px;
}

.brandwall__count {
	font-size: 11px;
	color: var(--mute);
	font-variant-numeric: tabular-nums;
}

.brandwall a:hover .brandwall__count {
	color: rgba(255, 255, 255, .55);
}

/* ---------- 13. 指南卡片 ---------- */
.guides {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--ink);
}

.guide {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 34px 30px 34px 0;
	border-right: 1px solid var(--line);
	transition: background var(--dur) var(--ease), padding var(--dur) var(--ease);
}

.guide:last-child {
	border-right: 0;
}

.guide:hover {
	background: var(--card);
	padding-left: 24px;
}

.guide__num {
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}

.guide h3 {
	font-size: 22px;
	font-weight: 600;
}

.guide p {
	font-size: 13.5px;
	line-height: 1.8;
	color: var(--ink-2);
}

.guide__more {
	margin-top: auto;
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--mute);
	padding-top: 16px;
}

/* ---------- 14. FAQ ---------- */
.faq {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 60px;
	align-items: start;
}

.faq__text {
	margin-top: 18px;
	font-size: 14px;
	line-height: 1.85;
	color: var(--ink-2);
}

.faq__text a {
	border-bottom: 1px solid var(--accent);
	color: var(--accent-deep);
}

.faq__list {
	border-top: 1px solid var(--ink);
}

.faq__item {
	border-bottom: 1px solid var(--line);
}

.faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 0;
	cursor: pointer;
	font-family: var(--serif);
	font-size: 17px;
	font-weight: 500;
	list-style: none;
}

.faq__item summary::-webkit-details-marker {
	display: none;
}

.faq__item summary::after {
	content: "+";
	font-family: var(--sans);
	font-size: 20px;
	font-weight: 300;
	color: var(--mute);
	transition: transform var(--dur) var(--ease);
}

.faq__item[open] summary::after {
	transform: rotate(45deg);
}

.faq__item p {
	padding: 0 0 22px;
	font-size: 14px;
	line-height: 1.85;
	color: var(--ink-2);
	max-width: 640px;
}

.faq__item p a {
	color: var(--accent-deep);
	border-bottom: 1px solid var(--line);
}

/* ---------- 15. 收尾 CTA ---------- */
.closing {
	background: var(--dark);
	color: #fff;
	padding: 78px 40px;
}

.closing__inner {
	max-width: var(--wrap);
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.closing h2 {
	font-size: clamp(30px, 3.6vw, 48px);
	font-weight: 600;
	letter-spacing: -.02em;
	color: #fff;
}

.closing p {
	max-width: 520px;
	font-size: 14.5px;
	line-height: 1.85;
	color: rgba(255, 255, 255, .62);
}

.closing .btn {
	margin-top: 12px;
}
.closing p.closing__stamp {
	font-size: 12.5px;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .38);
	margin-top: -6px;
}

/* ---------- 16. 页脚 ---------- */
.site-footer {
	background: var(--dark);
	color: rgba(255, 255, 255, .72);
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.site-footer__inner {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 72px 40px 60px;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 50px;
}

.site-footer__desc {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.85;
	max-width: 340px;
	color: rgba(255, 255, 255, .5);
}

/* 页脚邮箱：放在品牌说明下面，白字加下划线，深色底上看得清 */
.site-footer__mail {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.7;
}

.site-footer__mail span {
	display: block;
	margin-bottom: 5px;
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .52);
}

.site-footer__mail a {
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
}

.site-footer__mail a:hover {
	border-bottom-color: rgba(255, 255, 255, .85);
}

.site-footer__stats {
	display: flex;
	gap: 36px;
	margin: 28px 0 0;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.site-footer__stats dt {
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .52);
}

.site-footer__stats dd {
	margin: 5px 0 0;
	font-family: var(--serif);
	font-size: 22px;
	color: #fff;
	font-variant-numeric: tabular-nums;
}

.site-footer__col h3 {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .42);
	margin-bottom: 18px;
}

.site-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.site-footer__col a {
	font-size: 13.5px;
	color: rgba(255, 255, 255, .78);
}

.site-footer__col a:hover {
	color: #fff;
}

.site-footer__legal {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 22px 40px 34px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 11.5px;
	color: rgba(255, 255, 255, .52);
}

.site-footer__warn {
	max-width: 520px;
	text-align: right;
	line-height: 1.7;
}

/* ---------- 17. 列表页 ---------- */
.page-head {
	padding: 34px 0 40px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 40px;
}

.page-head--simple {
	padding: 26px 0 26px;
	margin-bottom: 32px;
}

.page-title {
	font-size: clamp(32px, 4vw, 54px);
	font-weight: 600;
	letter-spacing: -.025em;
}

.page-head__meta {
	margin-top: 16px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 18px;
	font-size: 13px;
	color: var(--mute);
}

.page-head__desc {
	max-width: 640px;
	line-height: 1.8;
	color: var(--ink-2);
}

/* 分类说明：给列表页一段正经介绍，别让页面只剩商品格子。 */
.catalog-answer {
	max-width: 760px;
	margin: 0 0 12px;
	padding: 2px 0 2px 14px;
	border-left: 2px solid var(--accent);
	font-size: 14.5px;
	line-height: 1.85;
	color: var(--ink-2);
}

.catalog-stamp {
	max-width: 760px;
	margin: 0 0 34px;
	font-size: 11.5px;
	letter-spacing: .02em;
	color: var(--mute);
}

.catalog-intro {
	max-width: 760px;
	margin: 0 0 40px;
	padding: 22px 0 0;
	border-top: 1px solid var(--line);
	font-size: 14px;
	line-height: 1.9;
	color: var(--ink-2);
}

.catalog-intro p {
	margin: 0 0 10px;
}

.catalog-intro p:last-child {
	margin-bottom: 0;
}

.catalog-intro a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.catalog {
	display: grid;
	grid-template-columns: 232px 1fr;
	gap: 48px;
	align-items: start;
	padding-bottom: 90px;
}

.catalog__side {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.catalog__side-head {
	display: none;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ink);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.facet__title {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mute);
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ink);
	margin-bottom: 4px;
}

.facet__list {
	max-height: 460px;
	overflow-y: auto;
	padding-right: 6px;
}

.facet__list::-webkit-scrollbar {
	width: 3px;
}

.facet__list::-webkit-scrollbar-thumb {
	background: var(--line);
}

.facet__list a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	font-size: 13.5px;
	color: var(--ink-2);
	line-height: 1.5;
}

.facet__list a em {
	font-style: normal;
	font-size: 11px;
	color: var(--mute);
	font-variant-numeric: tabular-nums;
}

.facet__list a:hover,
.facet__list a.is-active {
	color: var(--accent-deep);
}

.facet__list a.is-active {
	font-weight: 600;
}

.facet--search form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 14px;
}

.facet--search input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--line);
	background: var(--card);
	font-size: 13.5px;
}

.facet--note p {
	margin-top: 14px;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mute);
}

.facet--note a {
	color: var(--accent-deep);
	border-bottom: 1px solid var(--line);
}

.catalog__bar {
	display: flex;
	align-items: center;
	gap: 18px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 34px;
}

.catalog__filter-btn {
	display: none;
}

.catalog__result {
	font-size: 13px;
	color: var(--mute);
}

.catalog__result strong {
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

.catalog__order {
	margin-left: auto;
}

.catalog__order form {
	display: flex;
	align-items: center;
}

.catalog__order select {
	border: 0;
	border-bottom: 1px solid var(--line);
	background: transparent;
	padding: 6px 24px 6px 0;
	font-size: 13px;
	color: var(--ink-2);
	cursor: pointer;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--mute) 50%), linear-gradient(135deg, var(--mute) 50%, transparent 50%);
	background-position: calc(100% - 9px) 14px, calc(100% - 5px) 14px;
	background-size: 4px 4px, 4px 4px;
	background-repeat: no-repeat;
}

/* 分页 */
.catalog__pager,
.pager,
.navigation.pagination {
	margin-top: 56px;
}

.woocommerce-pagination ul,
.pager .nav-links,
.navigation.pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
	border: 0;
}

.woocommerce-pagination ul li,
.pager .page-numbers {
	border: 0 !important;
	margin: 0 !important;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--line);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.woocommerce-pagination ul li span.current,
.pager .page-numbers.current {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.woocommerce-pagination ul li a:hover,
.pager .page-numbers:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

/* 空状态 */
.empty {
	padding: 80px 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.empty__title {
	font-family: var(--serif);
	font-size: 22px;
}

.empty__text {
	font-size: 14px;
	color: var(--mute);
	max-width: 420px;
}

/* ---------- 18. 商品详情 ---------- */
.product-single {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 60px;
	padding: 30px 0 70px;
	align-items: start;
}

.gallery__stage {
	aspect-ratio: 1 / 1;
	background: var(--card);
	border: 1px solid var(--line-soft);
	overflow: hidden;
}

.gallery__stage img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 4%;
}

.gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.gallery__thumb {
	width: 74px;
	height: 74px;
	padding: 4px;
	border: 1px solid var(--line);
	background: var(--card);
	cursor: pointer;
	transition: border-color var(--dur) var(--ease);
}

.gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gallery__thumb.is-active,
.gallery__thumb:hover {
	border-color: var(--ink);
}

.product-single__brand {
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 10px;
}

.product-single__brand a {
	color: inherit;
	border-bottom: 1px solid transparent;
}

.product-single__brand a:hover,
.product-single__brand a:focus-visible {
	border-bottom-color: currentColor;
}

.product-single__title {
	font-size: clamp(24px, 2.6vw, 36px);
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.28;
}

.product-single__price {
	margin: 24px 0 0;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--line);
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
}

.price-now {
	font-family: var(--sans);
	font-size: 30px;
	font-weight: 600;
	color: var(--accent-deep);
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.price-now .price-unit {
	font-size: 13px;
	margin-left: 4px;
}

.price-note {
	font-size: 11.5px;
	color: var(--mute);
	letter-spacing: .04em;
}

.product-single__answer {
	margin: 0;
	padding: 16px 0 0;
	font-size: 14.5px;
	line-height: 1.8;
	color: var(--ink-2);
}

.product-single__stamp {
	margin: 8px 0 0;
	font-size: 11.5px;
	letter-spacing: .02em;
	color: var(--mute);
}

.product-single__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	padding: 20px 0;
	border-bottom: 1px solid var(--line);
}

.product-single__facts li {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.product-single__facts span {
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mute);
}

.product-single__facts strong {
	font-size: 14px;
	font-weight: 500;
}

.product-single__buy {
	padding: 26px 0;
}

.product-single__service {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 20px;
	border-top: 1px solid var(--line);
}

.product-single__service li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 12.5px;
	color: var(--ink-2);
	line-height: 1.6;
}

.product-single__service svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: var(--accent);
}

/* 变体表单 */
.variations_form,
form.cart {
	display: block;
}

table.variations {
	width: 100%;
	border: 0;
	margin-bottom: 18px;
	background: transparent;
}

table.variations tbody,
table.variations tr {
	display: block;
}

table.variations tr {
	margin-bottom: 16px;
}

table.variations th.label {
	display: block;
	padding: 0 0 8px;
	text-align: left;
	background: transparent;
	border: 0;
}

table.variations th.label label {
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
	font-weight: 600;
}

table.variations td.value {
	display: block;
	padding: 0;
	background: transparent;
	border: 0;
}

table.variations select {
	width: 100%;
	max-width: 320px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	background: var(--card);
	font-size: 14px;
	appearance: none;
}

.reset_variations {
	font-size: 11.5px;
	color: var(--mute);
	border-bottom: 1px solid var(--line);
	display: inline-block;
	margin-bottom: 12px;
}

.woocommerce-variation-price {
	margin: 6px 0 16px;
}

/* 变体价格已同步到上方价格区，避免重复显示 */
.single_variation .woocommerce-variation-price {
	display: none;
}

.woocommerce-variation-price .price {
	font-size: 24px;
	font-weight: 600;
	color: var(--accent-deep);
}

.woocommerce-variation-availability {
	font-size: 12.5px;
	color: var(--mute);
	margin-bottom: 12px;
}

.woocommerce-variation-add-to-cart,
form.cart .quantity + button,
form.cart .single_add_to_cart_button {
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex-wrap: wrap;
}

.quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--ink);
	height: 52px;
}

.quantity input[type="number"] {
	width: 54px;
	height: 100%;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
}

.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

button.single_add_to_cart_button,
.single_add_to_cart_button.button {
	flex: 1;
	min-height: 52px;
	background: var(--ink);
	color: #fff;
	border: 1px solid var(--ink);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}

button.single_add_to_cart_button:hover,
.single_add_to_cart_button.button:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

.single_add_to_cart_button.disabled,
.single_add_to_cart_button[disabled] {
	opacity: .45;
	cursor: not-allowed;
}

/* 详情下方 */
.product-detail {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 60px;
	padding: 56px 0 70px;
	border-top: 1px solid var(--line);
	align-items: start;
}

.product-detail__title {
	font-size: 24px;
	margin-bottom: 22px;
}

.product-detail__side {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.detail-block {
	border-top: 1px solid var(--ink);
	padding-top: 16px;
}

.detail-block h3 {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 14px;
}

.detail-block p {
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--ink-2);
}

.tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tagcloud a {
	font-size: 12px !important;
	padding: 5px 11px;
	border: 1px solid var(--line);
	color: var(--ink-2);
	background: var(--card);
}

.tagcloud a:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.spec-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
}

.spec-table th,
.spec-table td {
	text-align: left;
	padding: 8px 0;
	border-bottom: 1px solid var(--line-soft);
	vertical-align: top;
}

.spec-table th {
	color: var(--mute);
	font-weight: 500;
	width: 40%;
}

.section--related {
	padding-top: 0;
	border-top: 1px solid var(--line);
}

/* ---------- 19. 长文排版 ---------- */
.prose {
	font-size: 15px;
	line-height: 1.95;
	color: var(--ink-2);
	max-width: 760px;
}

.prose > * + * {
	margin-top: 1.1em;
}

.prose h2 {
	font-size: 26px;
	margin-top: 2em;
	color: var(--ink);
}

.prose h3 {
	font-size: 20px;
	margin-top: 1.8em;
	color: var(--ink);
}

.prose h4 {
	font-size: 16px;
	margin-top: 1.6em;
	color: var(--ink);
}

.prose p {
	margin: 0;
}

.prose ul,
.prose ol {
	padding-left: 1.3em;
	list-style: revert;
}

.prose li {
	margin: .4em 0;
}

.prose a {
	color: var(--accent-deep);
	border-bottom: 1px solid var(--line);
}

.prose strong {
	color: var(--ink);
	font-weight: 600;
}

.prose blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 22px;
	border-left: 2px solid var(--accent);
	font-family: var(--serif);
	font-size: 17px;
	color: var(--ink);
}

.prose img {
	margin: 1.4em 0;
	height: auto;
}

.prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	margin: 1.4em 0;
}

.prose th,
.prose td {
	border: 1px solid var(--line);
	padding: 10px 12px;
	text-align: left;
}

.prose th {
	background: var(--paper-2);
	font-weight: 600;
	color: var(--ink);
}

.prose hr {
	margin: 2.4em 0;
}

/* 商品正文的结构块：小标题 / 规格表 / 补充说明。
   2026-10-26 新增。这三个 class 此前没有任何样式定义，
   规格表会按 .prose ul 的规则渲染成带圆点的列表。 */

.prose .hz-h {
	margin-top: 2.4em;
	padding-bottom: .55em;
	border-bottom: 1px solid var(--line);
	font-size: 17px;
	letter-spacing: 0;
}

.prose .hz-spec {
	margin-top: 1.1em;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--line-soft);
	font-size: 13.5px;
	line-height: 1.6;
}

.prose .hz-spec li {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	align-items: baseline;
	gap: 0 18px;
	margin: 0;
	padding: 9px 0;
	border-bottom: 1px solid var(--line-soft);
	color: var(--ink);
}

.prose .hz-spec li b {
	flex: 0 0 auto;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--mute);
}

.prose .hz-note {
	margin-top: 1.1em;
	padding: 11px 14px;
	border-left: 2px solid var(--accent);
	background: var(--paper-2);
	font-size: 12.5px;
	line-height: 1.7;
	/* 用 --ink-2 而不是 --mute：灰底上 --mute 的对比度只有 3.2:1，
	   小字看着发虚。层级靠字号（12.5 对正文 15）和底色来区分就够了。 */
	color: var(--ink-2);
}

/* ---------- 20. 页面、文章、404 ---------- */
.page {
	padding: 10px 0 80px;
}

.page__hero {
	margin: 0 0 36px;
}

.page-head .postrow__date {
	display: block;
	margin-bottom: 10px;
}

.postlist {
	display: flex;
	flex-direction: column;
}

.postrow {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 30px;
	padding: 30px 0;
	border-bottom: 1px solid var(--line);
	align-items: start;
}

.postrow__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.postrow__date {
	font-size: 11.5px;
	letter-spacing: .1em;
	color: var(--mute);
	text-transform: uppercase;
}

.postrow__title {
	font-size: 22px;
	margin: 8px 0;
}

.postrow__excerpt {
	font-size: 14px;
	line-height: 1.8;
	color: var(--ink-2);
}

.postnav {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 34px 0 80px;
	border-top: 1px solid var(--line);
	font-size: 13.5px;
}

.notfound {
	padding: 90px 0 110px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.notfound__code {
	font-family: var(--serif);
	font-size: clamp(90px, 16vw, 180px);
	line-height: .9;
	color: var(--paper-3);
	letter-spacing: -.04em;
}

.notfound__title {
	font-size: 30px;
	margin-top: -10px;
}

.notfound__text {
	margin-top: 14px;
	font-size: 14.5px;
	color: var(--ink-2);
	max-width: 440px;
	line-height: 1.85;
}

.notfound__actions {
	display: flex;
	gap: 12px;
	margin-top: 28px;
	flex-wrap: wrap;
	justify-content: center;
}

.notfound__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 44px;
	padding-top: 26px;
	border-top: 1px solid var(--line);
	font-size: 13px;
	justify-content: center;
}

.notfound__cats a {
	border-bottom: 1px solid var(--line);
	padding-bottom: 2px;
}

/* ---------- 21. WooCommerce 通用接管 ---------- */
.woocommerce-notices-wrapper {
	position: relative;
	z-index: 5;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border: 1px solid var(--line) !important;
	border-top: 2px solid var(--ok) !important;
	background: var(--card) !important;
	color: var(--ink) !important;
	font-size: 13.5px !important;
	padding: 14px 18px !important;
	margin: 0 0 22px !important;
	list-style: none;
	border-radius: 0 !important;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	box-shadow: none !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-top-color: var(--warn) !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.wc-block-components-notice-banner .wc-block-components-button {
	margin-left: auto;
	background: var(--ink) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 8px 16px !important;
	font-size: 12px !important;
	border-radius: 0 !important;
	letter-spacing: .06em;
}

/* 按钮 */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.wc-block-components-button:not(.is-link) {
	background: var(--ink) !important;
	color: #fff !important;
	border: 1px solid var(--ink) !important;
	border-radius: 0 !important;
	font-family: var(--sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
	padding: 13px 26px !important;
	line-height: 1.2 !important;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .cart .button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--accent) !important;
	border-color: var(--accent) !important;
	color: #fff !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--ink) !important;
	color: #fff !important;
}

.woocommerce .button.wc-forward {
	background: transparent !important;
	color: var(--ink) !important;
	border-color: var(--line) !important;
}

.woocommerce .button.wc-forward:hover {
	background: var(--ink) !important;
	color: #fff !important;
}

/* 表单 */
.woocommerce form .form-row {
	padding: 0;
	margin: 0 0 18px;
}

.woocommerce form .form-row label {
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 7px;
	display: block;
	font-weight: 600;
}

.woocommerce form .form-row .required {
	color: var(--accent);
	text-decoration: none;
}

.woocommerce .input-text,
.woocommerce select,
.woocommerce textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	background: var(--card) !important;
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	font-size: 14px !important;
	color: var(--ink) !important;
	height: auto !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
}

.woocommerce .input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	border-color: var(--ink) !important;
	outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5 !important;
	padding: 0 !important;
	color: var(--ink) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
}

.select2-dropdown {
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	background: var(--card) !important;
}

.select2-container--default .select2-results__option--highlighted {
	background: var(--ink) !important;
	color: #fff !important;
}

/* 表格 */
.woocommerce table.shop_table {
	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-size: 14px;
}

.woocommerce table.shop_table th {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ink) !important;
	padding: 12px 10px !important;
	font-size: 10.5px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute) !important;
	font-weight: 600 !important;
	text-align: left;
}

.woocommerce table.shop_table td {
	border: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	padding: 18px 10px !important;
	background: transparent !important;
	vertical-align: middle;
}

.woocommerce table.shop_table td.product-name a {
	font-family: var(--serif);
	font-size: 15px;
	color: var(--ink);
}

.woocommerce table.shop_table td.product-name a:hover {
	color: var(--accent);
}

.woocommerce table.shop_table td.product-thumbnail img {
	width: 68px;
	border: 1px solid var(--line-soft);
	background: var(--card);
}

.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
	color: var(--accent-deep);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.woocommerce table.shop_table .product-remove a.remove {
	color: var(--mute) !important;
	background: transparent !important;
	width: 24px;
	height: 24px;
	line-height: 22px;
	font-size: 16px;
	border-radius: 0;
}

.woocommerce table.shop_table .product-remove a.remove:hover {
	color: #fff !important;
	background: var(--warn) !important;
}

.woocommerce table.shop_table .quantity .qty {
	border: 1px solid var(--line) !important;
	padding: 8px !important;
	width: 64px !important;
	background: var(--card) !important;
}

.woocommerce table.shop_table td.actions {
	padding: 18px 10px !important;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.woocommerce table.shop_table td.actions > .button,
.woocommerce table.shop_table td.actions > button {
	margin-left: auto;
}

.woocommerce table.shop_table td.actions .coupon {
	flex: 1 1 300px;
}

.woocommerce-cart table.shop_table .product-remove {
	width: 42px;
}

.woocommerce-cart table.shop_table .product-thumbnail {
	width: 96px;
}

.woocommerce-cart table.shop_table .product-price {
	width: 118px;
}

.woocommerce-cart table.shop_table .product-quantity {
	width: 150px;
}

.woocommerce-cart table.shop_table .product-subtotal {
	width: 120px;
}

.woocommerce .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.woocommerce .coupon .input-text {
	width: 170px !important;
}

/* 购物车两栏 */
.woocommerce-cart .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 50px;
}

.woocommerce-cart .woocommerce-cart-form {
	flex: 1 1 520px;
	min-width: 0;
	margin-bottom: 34px;
}

.woocommerce-cart .cart-collaterals {
	flex: 0 0 380px;
	margin-left: auto;
	margin-bottom: 34px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

.woocommerce .shop_table td.product-price,
.woocommerce .shop_table td.product-subtotal,
.woocommerce .shop_table th.product-price,
.woocommerce .shop_table th.product-subtotal,
.woocommerce .shop_table td.product-quantity,
.woocommerce .shop_table th.product-quantity {
	text-align: right;
}

/* 购物车汇总 */
.cart_totals,
.woocommerce-checkout-review-order {
	background: var(--card);
	border: 1px solid var(--line);
	padding: 26px;
}

.cart_totals h2,
.woocommerce-checkout-review-order h3,
#order_review_heading {
	font-family: var(--sans) !important;
	font-size: 11px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mute) !important;
	margin-bottom: 16px !important;
	padding: 0 !important;
	border: 0 !important;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	border-bottom: 1px solid var(--line-soft) !important;
	padding: 12px 0 !important;
}

.cart_totals .order-total .amount {
	font-size: 20px;
	color: var(--accent-deep);
}

.wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	text-align: center;
	display: block !important;
}

/* 结账两栏 */
.woocommerce-cart .prose,
.woocommerce-checkout .prose,
.woocommerce-account .prose {
	max-width: none;
}

.woocommerce-checkout form.checkout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 50px;
}

.woocommerce-checkout .woocommerce-NoticeGroup {
	flex: 0 0 100%;
}

.woocommerce-checkout #customer_details {
	flex: 1 1 480px;
	min-width: 0;
}

.woocommerce-checkout #order_review_heading {
	display: none;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
	padding: 0;
}

/* 字段栅格 */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
.woocommerce-account .woocommerce-address-fields__field-wrapper,
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 0 18px;
}

.woocommerce form .form-row {
	width: 100%;
	float: none;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - 9px);
}

.woocommerce form .form-row-wide,
.woocommerce form .form-row.notes {
	width: 100%;
}

.woocommerce form .form-row label {
	display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	width: 100%;
}

.woocommerce-checkout h3 {
	font-family: var(--sans) !important;
	font-size: 11px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mute) !important;
	padding: 22px 0 10px !important;
	margin: 0 0 12px !important;
	border-bottom: 1px solid var(--ink) !important;
}

.woocommerce-checkout #order_review {
	flex: 0 0 400px;
	background: var(--card);
	border: 1px solid var(--line);
	padding: 26px;
	position: sticky;
	top: 100px;
}

.woocommerce-checkout #order_review::before {
	content: "订单摘要";
	display: block;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	color: var(--mute);
	padding-bottom: 10px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--ink);
}

.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--line-soft) !important;
}

.woocommerce-checkout #payment {
	background: transparent !important;
	border-radius: 0 !important;
	margin-top: 18px;
}

.woocommerce-checkout #payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	border-bottom: 1px solid var(--line-soft);
	padding: 12px 0;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--paper-2) !important;
	border-radius: 0 !important;
	font-size: 13px;
	color: var(--ink-2);
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
}

.woocommerce-checkout #place_order {
	width: 100%;
	padding: 16px !important;
	font-size: 13px !important;
}

/* 我的账户 */
.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 40px 46px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 220px;
}

.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1 1 420px;
	min-width: 0;
}

/* 未登录：登录与注册并排 */
.woocommerce-account #customer_login {
	flex: 1 1 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}

.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
	width: auto;
	float: none;
	flex: 1 1 360px;
	max-width: 480px;
}

.woocommerce-account #customer_login h2 {
	font-size: 24px;
	margin-bottom: 18px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: auto;
	float: none;
	border-top: 1px solid var(--ink);
	padding-top: 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--line-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 11px 0;
	font-size: 13.5px;
	color: var(--ink-2);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	color: var(--accent-deep);
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: auto;
	float: none;
}

.woocommerce-account .woocommerce-MyAccount-content p {
	font-size: 14px;
	line-height: 1.85;
	color: var(--ink-2);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--serif);
	font-size: 22px;
	color: var(--ink);
	margin-bottom: 16px;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	border: 1px solid var(--line);
	padding: 28px;
	background: var(--card);
	border-radius: 0;
	max-width: 460px;
}

.woocommerce-account .woocommerce-form-login .lost_password {
	font-size: 12.5px;
	margin: 4px 0 0;
}

.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm {
	max-width: 640px;
}

.woocommerce-account .woocommerce-Address {
	background: var(--card);
	border: 1px solid var(--line);
	padding: 22px;
}

.woocommerce-account .woocommerce-Address-title h3 {
	font-size: 16px;
	margin-bottom: 10px;
}

/* 购物车区块（Cart Block）样式接管 */
.wp-block-woocommerce-cart,
.wc-block-cart {
	font-family: var(--sans);
}

.wc-block-cart .wc-block-components-title,
.wc-block-cart-items__header {
	font-family: var(--sans);
	font-size: 10.5px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute) !important;
	border-bottom: 1px solid var(--ink) !important;
}

.wc-block-cart-items {
	border-top: 1px solid var(--ink);
}

.wc-block-cart-items__row {
	border-bottom: 1px solid var(--line) !important;
}

.wc-block-cart-item__image img {
	border: 1px solid var(--line-soft);
	background: var(--card);
	border-radius: 0 !important;
}

.wc-block-cart-item__product .wc-block-components-product-name {
	font-family: var(--serif) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
	font-weight: 500;
}

.wc-block-components-product-price,
.wc-block-cart-item__total {
	color: var(--accent-deep) !important;
	font-variant-numeric: tabular-nums;
	font-weight: 600 !important;
}

.wc-block-cart__submit-container,
.wc-block-cart__main .wc-block-components-totals-item,
.wc-block-components-totals-wrapper,
.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wc-block-components-order-summary {
	border-radius: 0 !important;
}

.wc-block-cart .wc-block-components-sidebar {
	background: var(--card);
	border: 1px solid var(--line);
	padding: 26px !important;
}

.wc-block-cart .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-item__value {
	font-size: 13px;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 20px;
	color: var(--accent-deep);
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button {
	border-radius: 0 !important;
	font-family: var(--sans) !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
	font-size: 12.5px !important;
	font-weight: 600 !important;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--ink) !important;
	color: #fff !important;
	border: 1px solid var(--ink) !important;
}

.wc-block-cart__submit-button:hover {
	background: var(--accent) !important;
	border-color: var(--accent) !important;
}

.wc-block-components-quantity-selector {
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	background: var(--card) !important;
}

.wc-block-components-quantity-selector input {
	background: transparent !important;
}

.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select select {
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	background: var(--card) !important;
	font-size: 14px !important;
}

.wc-block-components-panel,
.wc-block-components-totals-coupon,
.wc-block-cart__empty-cart-wrapper {
	border-radius: 0 !important;
	background: transparent !important;
}

.wc-block-cart__empty-cart-wrapper {
	border: 1px dashed var(--line);
	padding: 50px 20px;
	text-align: center;
}

/* 结账区块（若后续切换为区块结账） */
.wc-block-checkout .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout {
	border-radius: 0 !important;
}

.wc-block-checkout__sidebar .wc-block-components-order-summary {
	background: var(--card);
	border: 1px solid var(--line);
	padding: 22px;
}

.wc-block-components-order-summary-item__description {
	font-size: 13px;
}

/* 星星评分 */
.star-rating {
	color: var(--accent);
	font-size: 12px;
}

.woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}

/* 隐藏多余装饰 */
.woocommerce .woocommerce-breadcrumb {
	display: none;
}

.woocommerce .onsale {
	background: var(--accent) !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-size: 11px !important;
	font-weight: 600;
	letter-spacing: .08em;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 5px 10px !important;
	line-height: 1.4 !important;
}

/* ---------- 22. 年龄确认 ---------- */
.age-gate {
	position: fixed;
	inset: 0;
	z-index: 400;
	background: rgba(19, 16, 9, .88);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	backdrop-filter: blur(6px);
}

.age-gate[hidden] {
	display: none;
}

.age-gate__panel {
	background: var(--paper);
	max-width: 520px;
	width: 100%;
	padding: 44px 40px;
	border-top: 3px solid var(--accent);
}

.age-gate__kicker {
	font-size: 10.5px;
	letter-spacing: .26em;
	color: var(--mute);
	margin-bottom: 16px;
}

.age-gate__title {
	font-size: 28px;
	margin-bottom: 16px;
}

.age-gate__text {
	font-size: 14px;
	line-height: 1.85;
	color: var(--ink-2);
}

.age-gate__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 26px;
}

.age-gate .btn--ghost {
	border-color: var(--line);
	color: var(--mute);
}

.age-gate .btn--ghost:hover {
	background: var(--paper-2);
	color: var(--ink);
}

/* ---------- 23. 滚动揭示 ---------- */
[data-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .7s var(--ease), transform .7s var(--ease);
}

[data-reveal].is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.marquee__track {
		animation: none;
	}

	html {
		scroll-behavior: auto;
	}
}

/* ---------- 24. 响应式 ---------- */
@media (max-width: 1180px) {
	.masthead__inner {
		gap: 20px;
		padding: 0 28px;
	}

	.primary-nav ul {
		gap: 20px;
	}

	.primary-nav a {
		font-size: 13px;
	}

	.hero__grid {
		gap: 40px;
		padding: 0 28px;
	}

	.hero__stats {
		gap: 32px;
	}

	.section {
		padding: 76px 28px;
	}

	.section--alt > * {
		padding-left: 28px;
		padding-right: 28px;
	}

	.wrap {
		padding: 0 28px;
	}

	.split {
		grid-template-columns: 240px 1fr;
		gap: 36px;
	}

	.rail {
		margin-right: -28px;
		padding-right: 28px;
	}

	.rail__track {
		grid-auto-columns: calc((100% - 2 * var(--gap)) / 3);
	}

	.split--reverse {
		grid-template-columns: 1fr 240px;
	}

	.product-single {
		gap: 40px;
	}

	.product-detail {
		gap: 40px;
		grid-template-columns: 1fr 280px;
	}

	.faq {
		grid-template-columns: 260px 1fr;
		gap: 40px;
	}

	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr 340px;
		gap: 34px;
	}

	.site-footer__inner {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
		gap: 34px;
		padding: 60px 28px 50px;
	}

	.site-footer__legal {
		padding: 20px 28px 30px;
	}
}

@media (max-width: 1024px) {
	.primary-nav {
		display: none;
	}

	.masthead__burger {
		display: inline-flex;
	}

	.masthead__inner {
		grid-template-columns: auto 1fr auto;
		height: 68px;
		gap: 12px;
	}

	.masthead__brand {
		justify-self: center;
	}

	.stick--brand {
		display: none;
	}

	.hero {
		padding-top: 48px;
	}

	.hero__grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.hero__visual {
		gap: 10px;
	}

	.marquee {
		margin-top: 48px;
	}

	.pgrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.split,
	.split--reverse {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.rail__track {
		grid-auto-columns: calc((100% - var(--gap)) / 2);
	}

	.split__intro {
		position: static;
	}

	.split--reverse .split__intro {
		order: 0;
	}

	.guides {
		grid-template-columns: 1fr;
	}

	.guide {
		border-right: 0;
		border-bottom: 1px solid var(--line);
		padding: 26px 0;
	}

	.guide:hover {
		padding-left: 16px;
	}

	.faq {
		grid-template-columns: 1fr;
	}

	.catalog {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.catalog__side {
		position: fixed;
		inset: 0 auto 0 0;
		width: min(340px, 88vw);
		background: var(--paper);
		z-index: 210;
		padding: 22px 24px 40px;
		overflow-y: auto;
		transform: translateX(-101%);
		transition: transform .36s var(--ease);
		box-shadow: 24px 0 60px -40px rgba(0, 0, 0, .5);
		gap: 26px;
	}

	.catalog__side.is-open {
		transform: translateX(0);
	}

	.catalog__side-head {
		display: flex;
	}

	.catalog__filter-btn {
		display: inline-flex;
	}

	.catalog__bar {
		position: sticky;
		top: 68px;
		background: var(--paper);
		z-index: 40;
	}

	.product-single {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.product-detail {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.woocommerce-checkout form.checkout {
		flex-direction: column;
	}

	.woocommerce-checkout #order_review {
		position: static;
		flex: 0 0 auto;
		width: 100%;
		margin-top: 26px;
	}

	.woocommerce-cart .woocommerce {
		flex-direction: column;
	}

	.woocommerce-cart .cart-collaterals {
		flex: 0 0 auto;
		width: 100%;
		margin-left: 0;
	}

	.woocommerce-account .woocommerce {
		flex-direction: column;
		gap: 28px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		flex: 0 0 auto;
		width: 100%;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 40px 30px;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__warn {
		text-align: left;
	}
}

@media (max-width: 768px) {
	body {
		font-size: 15px;
	}

	.strip__inner {
		padding: 8px 18px;
		font-size: 10.5px;
		justify-content: center;
		text-align: center;
	}

	.strip__right {
		display: none;
	}

	.masthead__inner {
		padding: 0 16px;
		height: 62px;
	}

	.brand__mark {
		height: 26px;
	}

	.brand__word {
		font-size: 21px;
	}

	.brand__sub {
		font-size: 8px;
		letter-spacing: .12em;
	}

	.icon-btn {
		width: 38px;
		height: 38px;
	}

	.icon-btn--account {
		display: none;
	}

	.wrap {
		padding: 0 18px;
	}

	.hero {
		padding: 38px 0 0;
	}

	.hero__grid {
		padding: 0 18px;
		gap: 32px;
	}

	.hero__title {
		font-size: clamp(34px, 10vw, 46px);
	}

	.hero__lead {
		font-size: 14.5px;
		margin-top: 20px;
	}

	.hero__actions {
		margin-top: 26px;
	}

	.hero__actions .btn {
		flex: 1;
		padding: 14px 18px;
		font-size: 12px;
	}

	.hero__stats {
		gap: 0;
		justify-content: space-between;
		margin-top: 32px;
		padding-top: 20px;
	}

	.hero__stats dd {
		font-size: 22px;
	}

	.hero__visual {
		gap: 8px;
	}

	.marquee {
		padding: 10px 0;
		margin-top: 36px;
	}

	.marquee__track {
		gap: 22px;
		font-size: 10px;
		animation-duration: 30s;
	}

	.section {
		padding: 54px 18px;
	}

	.section--alt > * {
		padding-left: 18px;
		padding-right: 18px;
	}

	.section__head {
		margin-bottom: 30px;
	}

	.section__head--row {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.section__title {
		font-size: 26px;
	}

	.eyebrow {
		margin-bottom: 14px;
		font-size: 10px;
	}

	.catlist__item a {
		grid-template-columns: 34px 1fr auto;
		gap: 12px;
		padding: 16px 2px;
	}

	.catlist__num {
		font-size: 10px;
	}

	.catlist__name {
		font-size: 18px;
	}

	.catlist__arrow {
		display: none;
	}

	.pgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 14px;
	}

	.pcard__title {
		font-size: 13px;
	}

	.pcard__price {
		font-size: 14px;
	}

	.pcard__cta {
		font-size: 10.5px;
		padding: 6px 9px;
	}

	.pcard__flag {
		font-size: 9px;
		padding: 3px 7px;
		left: 7px;
		top: 7px;
	}

	.split__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 14px;
	}

	.rail {
		margin-right: -18px;
		padding-right: 18px;
	}

	.rail__track {
		grid-auto-columns: 62%;
		gap: 14px;
	}

	.brandwall a {
		padding: 9px 14px;
	}

	.brandwall__name {
		font-size: 13.5px;
	}

	.closing {
		padding: 54px 18px;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
		padding: 44px 18px 34px;
		gap: 30px 24px;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__legal {
		padding: 18px 18px 28px;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.page-head {
		padding: 22px 0 26px;
		margin-bottom: 26px;
	}

	.page-title {
		font-size: 28px;
	}

	.crumbs {
		padding-top: 14px;
		font-size: 11.5px;
	}

	.catalog__bar {
		top: 62px;
		padding-bottom: 14px;
		margin-bottom: 22px;
		gap: 12px;
	}

	.catalog__result {
		font-size: 12px;
	}

	.catalog__order select {
		font-size: 12px;
		max-width: 120px;
	}

	.product-single {
		padding: 18px 0 44px;
	}

	.gallery__thumb {
		width: 60px;
		height: 60px;
	}

	.product-single__title {
		font-size: 22px;
	}

	.price-now {
		font-size: 25px;
	}

	.product-single__facts {
		gap: 18px;
	}

	.quantity {
		height: 48px;
	}

	button.single_add_to_cart_button {
		min-height: 48px;
	}

	.product-detail {
		padding: 34px 0 44px;
	}

	.prose {
		font-size: 14.5px;
	}

	.postrow {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.postrow__media {
		max-width: 220px;
	}

	.age-gate__panel {
		padding: 32px 22px;
	}

	.age-gate__title {
		font-size: 22px;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 12px 6px !important;
		font-size: 13px !important;
	}

	.woocommerce table.shop_table td.product-thumbnail img {
		width: 52px;
	}

	.cart_totals,
	.woocommerce-checkout-review-order,
	.woocommerce-checkout #order_review {
		padding: 18px;
	}

	.woocommerce .coupon {
		width: 100%;
	}

	.woocommerce .coupon .input-text {
		flex: 1;
		width: auto !important;
	}

	/* 移动端购物车表格改卡片式 */
	.woocommerce-cart table.shop_table,
	.woocommerce-cart table.shop_table tbody {
		display: block;
	}

	.woocommerce-cart table.shop_table thead {
		display: none;
	}

	.woocommerce-cart table.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 74px 1fr auto;
		grid-template-areas:
			"thumb name remove"
			"thumb price price"
			"qty qty subtotal";
		align-items: center;
		gap: 6px 14px;
		padding: 18px 0;
		border-bottom: 1px solid var(--line);
	}

	.woocommerce-cart table.shop_table tr:not(.cart_item) {
		display: block;
	}

	.woocommerce-cart table.shop_table td {
		display: block;
		border: 0 !important;
		padding: 0 !important;
		text-align: left;
	}

	.woocommerce-cart table.shop_table td::before {
		display: none;
	}

	.woocommerce-cart table.shop_table td.product-remove {
		grid-area: remove;
		align-self: start;
	}

	.woocommerce-cart table.shop_table td.product-thumbnail {
		grid-area: thumb;
	}

	.woocommerce-cart table.shop_table td.product-thumbnail img {
		width: 74px;
	}

	.woocommerce-cart table.shop_table td.product-name {
		grid-area: name;
		font-size: 14px;
		line-height: 1.5;
	}

	.woocommerce-cart table.shop_table td.product-price {
		grid-area: price;
		font-size: 12.5px;
		font-weight: 400;
		color: var(--mute);
		text-align: left;
	}

	.woocommerce-cart table.shop_table td.product-price::before {
		content: "单价 ";
		display: inline;
	}

	.woocommerce-cart table.shop_table td.product-quantity {
		grid-area: qty;
	}

	.woocommerce-cart table.shop_table td.product-subtotal {
		grid-area: subtotal;
		text-align: right;
		font-size: 15px;
	}

	.woocommerce-cart table.shop_table td.actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 18px 0 !important;
	}

	.woocommerce-cart table.shop_table td.actions .coupon {
		display: flex;
		gap: 8px;
	}

	.woocommerce-cart table.shop_table td.actions .coupon .input-text {
		flex: 1;
		width: auto !important;
	}

	.woocommerce-cart table.shop_table td.actions > button {
		margin-left: 0;
	}
}

/* ---------- 25. 脚本生成的控件 ---------- */
.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
}

.chip {
	padding: 12px 26px;
	min-width: 68px;
	border: 1px solid var(--line);
	background: var(--card);
	color: var(--ink-2);
	font-family: var(--sans);
	font-size: 13.5px;
	cursor: pointer;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.chip:hover {
	border-color: var(--ink);
	color: var(--ink);
}

.chip.is-active {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.qty-btn {
	width: 34px;
	height: 100%;
	border: 0;
	background: transparent;
	color: var(--ink-2);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}

.qty-btn:hover {
	background: var(--paper-2);
	color: var(--accent-deep);
}

.price-now.is-variation {
	color: var(--accent-deep);
}

.single_add_to_cart_button.is-loading {
	opacity: .7;
	pointer-events: none;
}

@media (max-width: 768px) {
	.chip {
		padding: 9px 15px;
		font-size: 12.5px;
	}

	.qty-btn {
		width: 32px;
	}
}

@media (max-width: 480px) {
	.hero__stats dt {
		font-size: 9.5px;
	}

	.pgrid {
		gap: 16px 10px;
	}

	.pcard__body {
		padding-top: 12px;
		gap: 6px;
	}

	.pcard__title {
		font-size: 12.5px;
	}

	.guide h3 {
		font-size: 19px;
	}

	.woocommerce-account .woocommerce {
		gap: 20px;
	}

	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register {
		padding: 20px;
	}
}

/* ==========================================================================
   16. 首页新增模块（快链 / 分类图卡 / 预算 / 机型表 / 打包 / 图墙 / 须知）
   ========================================================================== */

/* ---------- 16.1 热门快链 ---------- */
.quickfind {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 28px 40px 0;
	display: flex;
	align-items: baseline;
	gap: 22px;
	flex-wrap: wrap;
}

.quickfind__label {
	margin: 0;
	font-size: 10.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	white-space: nowrap;
}

.quickfind__row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.quickfind__chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 13px;
	border: 1px solid var(--line);
	background: var(--card);
	font-size: 12.5px;
	color: var(--ink-2);
	text-decoration: none;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}

.quickfind__chip span {
	font-size: 10px;
	color: var(--mute);
	font-variant-numeric: tabular-nums;
}

.quickfind__chip:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.quickfind__chip:hover span {
	color: rgba(255, 255, 255, .55);
}

/* ---------- 16.2 分类图卡 ---------- */
.catcards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 168px;
	gap: 10px;
	margin-top: 44px;
}

.catcard {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	padding: 18px 18px 16px;
	background: var(--dark);
	text-decoration: none;
	color: #fff;
	transition: background var(--dur) var(--ease);
}

.catcard::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(120% 100% at 100% 0%, rgba(162, 83, 28, .3), rgba(162, 83, 28, 0) 58%),
		linear-gradient(to top, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0) 60%);
	pointer-events: none;
}

.catcard::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 16px;
	height: 1px;
	background: rgba(255, 255, 255, .16);
}

.catcard--all {
	background: var(--ink);
}

.catcard:hover {
	background: var(--accent-deep);
}

.catcard__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.catcard__num {
	position: absolute;
	top: 15px;
	right: 16px;
	font-family: var(--serif);
	font-size: 27px;
	line-height: 1;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .15);
	transition: color var(--dur) var(--ease);
}

.catcard:hover .catcard__num {
	color: rgba(255, 255, 255, .4);
}

.catcard__name {
	font-family: var(--serif);
	font-size: 19px;
	line-height: 1.3;
	color: #fff;
}

.catcard__count {
	font-size: 11px;
	color: rgba(255, 255, 255, .58);
	font-variant-numeric: tabular-nums;
}

.catcard__arrow {
	position: absolute;
	right: 16px;
	bottom: 15px;
	z-index: 1;
	font-size: 15px;
	color: rgba(255, 255, 255, .55);
	opacity: 0;
	transform: translateX(-5px);
	transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.catcard:hover .catcard__arrow {
	opacity: 1;
	transform: none;
}

/* ---------- 16.3 按预算 ---------- */
.section--tiers {
	padding-top: 78px;
	padding-bottom: 78px;
}

.tiers {
	display: grid;
	grid-template-columns: 290px 1fr;
	gap: 54px;
	align-items: start;
}

.tiers__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.tier {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-height: 148px;
	padding: 24px 22px;
	border: 1px solid var(--line);
	background: var(--card);
	text-decoration: none;
	transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.tier__price {
	font-family: var(--serif);
	font-size: 23px;
	line-height: 1.2;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

.tier__note {
	font-size: 12.5px;
	color: var(--mute);
}

.tier__count {
	margin-top: auto;
	padding-top: 14px;
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}

.tier:hover {
	background: var(--ink);
	border-color: var(--ink);
}

.tier:hover .tier__price {
	color: #fff;
}

.tier:hover .tier__note {
	color: rgba(255, 255, 255, .58);
}

.tier:hover .tier__count {
	color: #d8925c;
}

/* ---------- 16.4 机型适配表 ---------- */
.device {
	display: grid;
	grid-template-columns: 330px 1fr;
	gap: 60px;
	align-items: start;
}

.device__intro .btn {
	margin-top: 26px;
}

.device__table {
	border-top: 1px solid var(--ink);
}

.device__row {
	display: grid;
	grid-template-columns: 92px 1fr 66px;
	gap: 18px;
	align-items: center;
	padding: 17px 6px;
	border-bottom: 1px solid var(--line);
	text-decoration: none;
	color: inherit;
	transition: background var(--dur) var(--ease), padding-left var(--dur) var(--ease);
}

.device__row--head {
	padding: 10px 6px;
	border-bottom: 1px solid var(--line);
	font-size: 9.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}

a.device__row:hover {
	background: var(--paper-2);
	padding-left: 12px;
}

.device__series {
	font-family: var(--serif);
	font-size: 18px;
	letter-spacing: .02em;
}

.device__dev {
	font-size: 13px;
	color: var(--ink-2);
	line-height: 1.5;
}

.device__count {
	text-align: right;
	font-size: 11px;
	color: var(--mute);
	font-variant-numeric: tabular-nums;
}

.device__foot {
	margin: 16px 0 0;
	font-size: 11.5px;
	line-height: 1.75;
	color: var(--mute);
}

/* ---------- 16.5 打包发货 ---------- */
.packing {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 54px;
	align-items: center;
}

.packing__figure {
	margin: 0;
}

.packing__figure img {
	width: 100%;
	height: auto;
	display: block;
	border: 1px solid var(--line-soft);
}

.packing__figure figcaption {
	margin-top: 12px;
	font-size: 11.5px;
	letter-spacing: .04em;
	color: var(--mute);
}

.steps {
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
}

.steps li {
	display: flex;
	gap: 20px;
	padding: 20px 0;
	border-top: 1px solid var(--line);
}

.steps li:first-child {
	border-top: 1px solid var(--ink);
}

.steps__num {
	flex-shrink: 0;
	padding-top: 3px;
	font-family: var(--serif);
	font-size: 12.5px;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}

.steps h3 {
	margin: 0 0 5px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .01em;
}

.steps p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.78;
	color: var(--ink-2);
}

/* ---------- 16.6 图片墙 ---------- */
.gallery {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 40px 92px;
	border-bottom: 1px solid var(--line);
}

.gallery__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 205px;
	gap: 10px;
}

.gallery__item {
	margin: 0;
	overflow: hidden;
	background: var(--paper-2);
}

.gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.6s var(--ease);
}

.gallery__item:hover img {
	transform: scale(1.05);
}

.gallery__item--tall {
	grid-row: span 2;
}

.gallery__item--wide {
	grid-column: span 2;
}

.gallery__caption {
	margin: 22px 0 0;
	font-family: var(--serif);
	font-size: 17px;
	color: var(--ink-2);
}

/* ---------- 16.7 下单前须知 ---------- */
.notice {
	display: grid;
	grid-template-columns: 290px 1fr;
	gap: 54px;
	align-items: start;
}

.notice__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 44px;
}

.notice__list li {
	display: flex;
	gap: 14px;
	padding: 19px 0;
	border-top: 1px solid var(--line);
}

.notice__list li:nth-child(1),
.notice__list li:nth-child(2) {
	border-top-color: var(--ink);
}

.notice__mark {
	flex-shrink: 0;
	padding-top: 2px;
	font-family: var(--serif);
	font-size: 12px;
	color: var(--accent);
}

.notice__list p {
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
	color: var(--ink-2);
}

.notice__list strong {
	display: block;
	margin-bottom: 2px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
}

/* ---------- 16.8 响应式 ---------- */
@media (max-width: 1180px) {
	.catcards {
		grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: 175px;
	}

	.tiers,
	.device,
	.notice {
		grid-template-columns: 250px 1fr;
		gap: 38px;
	}

	.packing {
		gap: 36px;
	}
}

@media (max-width: 1024px) {
	.hero__visual {
		aspect-ratio: auto;
		grid-template-rows: 260px 260px;
	}

	.tiers,
	.device,
	.notice {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.packing {
		grid-template-columns: 1fr;
	}

	.gallery__grid {
		grid-auto-rows: 170px;
	}
}

@media (max-width: 768px) {
	.hero__visual {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 300px 148px;
		gap: 8px;
	}

	.hero__figure--main {
		grid-row: span 1;
		grid-column: span 2;
	}

	.hero__figure figcaption {
		padding: 44px 14px 12px;
	}

	.hero__figure figcaption strong {
		font-size: 13px;
	}

	.quickfind {
		padding: 22px 20px 0;
		gap: 12px;
	}

	.quickfind__row {
		gap: 6px;
	}

	.quickfind__chip {
		padding: 6px 11px;
		font-size: 12px;
	}

	/* 小屏改成一列文字行，避免深色块堆叠，滚动更省力 */
	.catcards {
		display: block;
		margin-top: 26px;
	}

	.catcard {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		gap: 14px;
		min-height: 0;
		padding: 13px 14px;
		margin-bottom: 7px;
		background: var(--card);
		border: 1px solid var(--line);
		color: var(--ink);
	}

	.catcard::before,
	.catcard::after {
		display: none;
	}

	.catcard--all {
		background: var(--ink);
		border-color: var(--ink);
	}

	.catcard--all .catcard__name,
	.catcard--all .catcard__count {
		color: #fff;
	}

	.catcard--all .catcard__count {
		color: rgba(255, 255, 255, .6);
	}

	.catcard--all:hover {
		background: var(--accent-deep);
	}

	.catcard__body {
		position: static;
		gap: 2px;
	}

	.catcard__num {
		display: none;
	}

	.catcard__name {
		font-size: 15px;
		color: var(--ink);
	}

	.catcard__count {
		font-size: 11px;
		color: var(--mute);
	}

	.catcard__arrow {
		position: static;
		opacity: 1;
		transform: none;
		color: var(--mute);
		font-size: 13px;
	}

	.catcard--all .catcard__arrow {
		color: rgba(255, 255, 255, .6);
	}

	.tiers__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.tier {
		min-height: 126px;
		padding: 18px 16px;
	}

	.tier__price {
		font-size: 19px;
	}

	.device__row {
		grid-template-columns: 78px 1fr;
		gap: 12px;
		padding: 15px 2px;
	}

	.device__count {
		display: none;
	}

	.device__series {
		font-size: 16px;
	}

	.gallery {
		padding: 0 20px 70px;
	}

	.gallery__grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 150px;
	}

	.gallery__item--tall {
		grid-row: span 2;
	}

	.gallery__item--wide {
		grid-column: span 2;
	}

	.gallery__caption {
		font-size: 15px;
	}

	.notice__list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.notice__list li:nth-child(2) {
		border-top-color: var(--line);
	}

	.packing__figure figcaption {
		font-size: 11px;
	}
}

@media (max-width: 480px) {
	.tiers__list {
		grid-template-columns: 1fr;
	}

	.tier {
		min-height: 0;
	}

	.gallery__grid {
		grid-auto-rows: 120px;
	}
}

/* ---------- 16.9 列表页筛选提示 ---------- */
.page-head__active {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 4px 12px;
	border: 1px solid var(--accent);
	color: var(--accent-deep);
	font-size: 12px;
}

.page-head__active a {
	color: var(--accent-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.page-head__active a:hover {
	color: var(--ink);
}

/* ---------- 16.10 商品页 FAQ 引语 ---------- */
.faq__text-lead {
	margin-top: 18px;
	font-size: 13.5px;
	line-height: 1.85;
	color: var(--ink-2);
}

/* 类目页问答：类目名长短不一，把「常见问题」单独放一行，避免被挤成「常见问／题」。 */
.faq--cat .section__title span {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .06em;
	color: var(--mute);
}

/* ---------- 16.11 同品牌横向对比 ---------- */
.cmp-list {
	border-top: 1px solid var(--ink);
}

.cmp-list__item {
	border-bottom: 1px solid var(--line);
}

.cmp-list__item > a {
	display: grid;
	grid-template-columns: 1fr 190px 120px;
	gap: 20px;
	align-items: center;
	padding: 16px 0;
	transition: background var(--dur) var(--ease);
}

.cmp-list__item > a:hover {
	background: var(--paper-2);
}

.cmp-list__name {
	font-family: var(--serif);
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--ink);
}

.cmp-list__meta {
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--mute);
}

.cmp-list__price {
	font-size: 14px;
	font-weight: 600;
	text-align: right;
	color: var(--accent-deep);
}

.cmp-list__price .woocommerce-Price-amount {
	font-size: 14px;
}

@media (max-width: 720px) {
	.cmp-list__item > a {
		grid-template-columns: 1fr auto;
		row-gap: 4px;
	}

	.cmp-list__meta {
		grid-column: 1;
	}

	.cmp-list__price {
		grid-column: 2;
		grid-row: 1;
	}
}

/* ---------- 16.12 品牌价格表 ---------- */
.price-sheet .section__title {
	font-size: 19px;
}

.ptable {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	margin-top: 16px;
}

.ptable thead th {
	text-align: left;
	font-weight: 500;
	font-size: 11.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mute);
	padding: 10px 12px;
	border-bottom: 1px solid var(--ink);
	white-space: nowrap;
}

.ptable tbody td {
	padding: 13px 12px;
	border-bottom: 1px solid var(--line-soft);
	vertical-align: top;
	color: var(--ink-2);
}

.ptable tbody tr:hover {
	background: var(--paper-2);
}

.ptable tbody td:first-child {
	color: var(--ink);
}

.ptable tbody td a {
	color: var(--ink);
	border-bottom: 1px solid transparent;
	transition: border-color var(--dur) var(--ease);
}

.ptable tbody td a:hover {
	border-bottom-color: var(--accent);
}

.ptable__price {
	font-weight: 600;
	color: var(--accent-deep) !important;
	white-space: nowrap;
}

@media (max-width: 720px) {
	.ptable-wrap {
		overflow-x: auto;
	}

	.ptable {
		font-size: 12.5px;
	}

	.ptable thead th,
	.ptable tbody td {
		padding: 10px 8px;
	}
}

/* ---------- 16.13 文章页 ---------- */
.art__head {
	padding-bottom: 28px;
	border-bottom: 1px solid var(--ink);
}

.art__cat {
	display: inline-block;
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--accent-deep);
	border-bottom: 1px solid var(--accent);
	padding-bottom: 2px;
	margin-bottom: 18px;
}

.art__title {
	font-family: var(--serif);
	font-size: clamp(26px, 3.4vw, 40px);
	line-height: 1.32;
	font-weight: 600;
	letter-spacing: -.01em;
	margin: 0 0 16px;
}

.art__lead {
	font-size: 16px;
	line-height: 1.85;
	color: var(--ink-2);
	margin: 0 0 22px;
	max-width: 680px;
}

.art__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--mute);
}

.art__hero {
	margin: 30px 0 0;
}

.art__hero img {
	width: 100%;
	height: auto;
	display: block;
}

.art__body {
	margin-top: 40px;
}

.art__body--withtoc {
	display: grid;
	grid-template-columns: 208px 1fr;
	gap: 48px;
	align-items: start;
}

.art__toc {
	position: sticky;
	top: 96px;
	border-left: 2px solid var(--line);
	padding-left: 18px;
}

.art__toc-title {
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mute);
	margin: 0 0 12px;
}

.art__toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: toc;
}

.art__toc li {
	counter-increment: toc;
	margin-bottom: 9px;
	font-size: 13px;
	line-height: 1.55;
}

.art__toc li::before {
	content: counter(toc, decimal-leading-zero) " ";
	color: var(--mute);
	font-size: 11px;
}

.art__toc a {
	color: var(--ink-2);
	border-bottom: 1px solid transparent;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.art__toc a:hover {
	color: var(--accent-deep);
	border-bottom-color: var(--accent);
}

.art__content h2 {
	margin-top: 44px;
}

/* 文中提示块 */
.art-note {
	border-left: 3px solid var(--accent);
	background: var(--accent-soft);
	padding: 16px 20px;
	margin: 26px 0;
	font-size: 14px;
	line-height: 1.85;
	color: var(--ink-2);
}

/* 文内商品网格 */
.inline-shop {
	margin: 34px 0;
	padding: 22px 0;
	border-top: 1px solid var(--ink);
	border-bottom: 1px solid var(--line);
}

.inline-shop__title {
	font-family: var(--serif);
	font-size: 15px;
	margin: 0 0 18px;
	color: var(--ink);
}

.pgrid--inline {
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

/* 继续读列表 */
.rel-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--ink);
}

.rel-list li {
	border-bottom: 1px solid var(--line);
}

.rel-list a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 0;
	transition: background var(--dur) var(--ease);
}

.rel-list a:hover {
	background: var(--paper-2);
}

.rel-list__title {
	font-family: var(--serif);
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--ink);
}

.rel-list__date {
	flex-shrink: 0;
	font-size: 11.5px;
	letter-spacing: .06em;
	color: var(--mute);
}

.section__more {
	font-size: 13px;
	color: var(--accent-deep);
	border-bottom: 1px solid var(--accent);
	white-space: nowrap;
}

@media (max-width: 900px) {
	.art__body--withtoc {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.art__toc {
		position: static;
		border-left: 0;
		border-top: 1px solid var(--ink);
		padding: 18px 0 0;
	}

	.pgrid--inline {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---------- 16.14 中日双语内容块（兼容旧 guide 页面） ---------- */
.hzbi {
	margin-top: 8px;
}

.hzbi-titlebar {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	padding: 18px 22px;
	background: var(--paper-2);
	border-left: 3px solid var(--accent);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink);
	margin-bottom: 30px;
}

.hzbi-titlebar .zh {
	font-family: var(--serif);
	font-weight: 500;
}

.hzbi-titlebar .sl {
	color: var(--mute);
	font-size: 12px;
}

.hzbi-titlebar .ja {
	font-size: 13px;
	color: var(--mute);
}

.hzbi-h {
	font-family: var(--serif);
	font-size: clamp(20px, 2.4vw, 25px);
	font-weight: 600;
	line-height: 1.45;
	margin: 42px 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
	color: var(--ink);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
}

.hzbi-h .sl {
	color: var(--mute);
	font-size: 13px;
	font-weight: 400;
}

.hzbi-h .ja {
	font-size: 13px;
	font-weight: 400;
	color: var(--mute);
	letter-spacing: .02em;
}

.hzbi-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	margin: 20px 0 28px;
}

.hzbi-table thead th {
	text-align: left;
	font-weight: 500;
	font-size: 11.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mute);
	padding: 10px 12px;
	border-bottom: 1px solid var(--ink);
	white-space: nowrap;
}

.hzbi-table tbody td {
	padding: 13px 12px;
	border-bottom: 1px solid var(--line-soft);
	vertical-align: top;
	color: var(--ink-2);
	line-height: 1.7;
}

.hzbi-table tbody tr:hover {
	background: var(--paper-2);
}

.hzbi-table tbody td:first-child {
	color: var(--ink);
	font-weight: 500;
}

.hzbi-table a {
	color: var(--accent-deep);
	border-bottom: 1px solid var(--line);
}

.hzbi-table a:hover {
	border-bottom-color: var(--accent);
}

/* 表格里的日文小字 */
.hzbi-sub {
	display: block;
	margin-top: 3px;
	font-size: 11.5px;
	font-weight: 400;
	color: var(--mute);
	letter-spacing: .02em;
}

/* 双语正文块 */
.hzbi-cell {
	margin: 16px 0;
	padding: 16px 20px;
	font-size: 14.5px;
	line-height: 1.9;
	color: var(--ink-2);
	background: var(--card);
	border: 1px solid var(--line-soft);
}

.hzbi-cell p {
	margin: 0 0 10px;
}

.hzbi-cell p:last-child {
	margin-bottom: 0;
}

.hzbi-cell-zh {
	border-left: 3px solid var(--accent);
}

.hzbi-cell-ja {
	background: var(--paper-2);
	border-left: 3px solid var(--line);
	font-size: 13.5px;
}

.hzbi-tag {
	display: inline-block;
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mute);
	border: 1px solid var(--line);
	padding: 1px 6px;
	margin-right: 8px;
	vertical-align: middle;
}

.hzbi-cell a {
	color: var(--accent-deep);
	border-bottom: 1px solid var(--line);
}

.hzbi-cell a:hover {
	border-bottom-color: var(--accent);
}

/* 列表后紧跟段落时留出间隙，否则段落看着像列表的最后一项。 */
.hzbi-cell ul + p,
.hzbi-cell ol + p {
	margin-top: 14px;
}

/* ---------- 16.14b 联系页邮箱块 ---------- */
/* 只用在「联系我们」页：全站唯一的联系渠道，必须一眼看到。 */
.contact-mail {
	margin: 0 0 1.6em;
	padding: 22px 24px;
	background: var(--paper-2);
	border-left: 3px solid var(--accent);
}

.contact-mail .contact-mail__label {
	margin: 0 0 8px;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mute);
}

.contact-mail .contact-mail__addr {
	margin: 0 0 10px;
	font-family: var(--serif);
	font-size: clamp(18px, 5vw, 25px);
	line-height: 1.3;
}

.contact-mail .contact-mail__addr a {
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--accent);
}

.contact-mail .contact-mail__addr a:hover {
	color: var(--accent-deep);
}

.contact-mail .contact-mail__note {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
	color: var(--ink-2);
}

@media (max-width: 720px) {
	.hzbi-titlebar {
		padding: 14px 16px;
	}

	.hzbi-cell {
		padding: 14px 16px;
	}

	.hzbi-table {
		font-size: 12.5px;
	}

	.hzbi-table thead th,
	.hzbi-table tbody td {
		padding: 9px 8px;
	}
}

/* ---------- 16.15 文章列表补充 ---------- */
.postrow--nomedia {
	grid-template-columns: 1fr;
	padding: 26px 0;
}

.postrow__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
}

.postrow__cat {
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--accent-deep);
	border-bottom: 1px solid var(--accent);
	padding-bottom: 1px;
}

.postrow__read {
	font-size: 11.5px;
	color: var(--mute);
}

.postrow__title a {
	color: var(--ink);
	border-bottom: 1px solid transparent;
	transition: border-color var(--dur) var(--ease);
}

.postrow__title a:hover {
	border-bottom-color: var(--accent);
}

/* ---------- 16.16 首页选购指南模块 ---------- */
.guide-grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 56px;
	align-items: start;
}

.rel-list__cat {
	display: inline-block;
	font-style: normal;
	font-family: var(--sans);
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--accent-deep);
	border: 1px solid var(--accent-soft);
	background: var(--accent-soft);
	padding: 1px 6px;
	margin-right: 10px;
	vertical-align: 2px;
}

.guide-side {
	border-left: 1px solid var(--line);
	padding-left: 32px;
}

.guide-side__title {
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mute);
	margin: 0 0 12px;
}

.guide-side__title + .tagcloud {
	margin-bottom: 26px;
}

@media (max-width: 900px) {
	.guide-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.guide-side {
		border-left: 0;
		border-top: 1px solid var(--line);
		padding-left: 0;
		padding-top: 24px;
	}
}

.ptable__carton {
	color: var(--mute) !important;
	white-space: nowrap;
	font-size: 12.5px;
}

/* ---------- 16.17 文章正文表格 ---------- */
.art__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	margin: 24px 0 30px;
}

.art__content thead th {
	text-align: left;
	font-weight: 500;
	font-size: 11.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mute);
	padding: 10px 12px;
	border-bottom: 1px solid var(--ink);
	white-space: nowrap;
}

.art__content tbody td {
	padding: 13px 12px;
	border-bottom: 1px solid var(--line-soft);
	vertical-align: top;
	line-height: 1.75;
	color: var(--ink-2);
}

.art__content tbody tr:hover {
	background: var(--paper-2);
}

.art__content tbody td:first-child {
	color: var(--ink);
}

@media (max-width: 720px) {
	.art__content table {
		font-size: 12.5px;
	}

	.art__content thead th,
	.art__content tbody td {
		padding: 9px 8px;
	}
}

/* ---------- 16.18 文章内 FAQ 块 ---------- */

.faq--article {
	display: block;
	margin: 44px 0 10px;
}

.faq__article-title {
	margin: 0 0 16px;
	font-family: var(--serif);
	font-size: clamp(19px, 2.1vw, 23px);
	font-weight: 600;
	color: var(--ink);
}

.faq--article .faq__list {
	border-top: 1px solid var(--ink);
}

.faq--article .faq__item summary {
	padding: 16px 0;
	font-size: 16px;
}

.faq--article .faq__item p {
	padding: 0 0 18px;
	max-width: 660px;
}

@media (max-width: 720px) {
	.faq--article {
		margin: 32px 0 8px;
	}

	.faq--article .faq__item summary {
		font-size: 15px;
		padding: 14px 0;
	}
}

/* ---------- 16.19 品牌价格总览 /price/ ---------- */
.brandwall--index {
	gap: 8px;
}

.brandwall--index a {
	min-width: 168px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4px;
}

/* 锚点跳转时给吸顶导航留出空间，别把标题顶到栏下面。 */
.section[id^="group-"] {
	scroll-margin-top: 96px;
}

@media (max-width: 640px) {
	.brandwall--index a {
		min-width: 0;
		flex: 1 1 calc(50% - 4px);
	}
}

/* 首页品牌墙下面的「全部品牌价格表」入口 */
.section__more {
	margin: 22px 0 0;
}

/* ---------- 16.20 类目页长描述拆段（商品列表之后） ---------- */
.catalog-outro {
	max-width: 820px;
	margin: 0;
	padding: 36px 0 90px;
	border-top: 1px solid var(--line);
}

/* 有长描述时，列表自身不再留大尾距，交给 outro 收口。 */
.catalog:has(+ .catalog-outro) {
	padding-bottom: 0;
}

.catalog-outro__title {
	margin: 0 0 20px;
	font-family: var(--serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--ink);
}

.catalog-outro__body {
	font-size: 14px;
	line-height: 1.95;
	color: var(--ink-2);
}

.catalog-outro__body p {
	margin: 0 0 14px;
}

.catalog-outro__body p:last-child {
	margin-bottom: 0;
}

/* 选购要点里的内链：跟导语区一个样式，否则全局 a 无下划线会看成正文。 */
.catalog-outro__body a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 900px) {
	.catalog-outro {
		padding: 28px 0 60px;
	}

	.catalog-outro__title {
		font-size: 17px;
	}
}

/* 品牌类目页 ↔ 价格表 互链：一个轻按钮，不抢正文。 */
.brand-cross {
	margin: 0 0 32px;
}

.brand-cross .btn {
	text-decoration: none;
}

.brand-cross__note {
	display: block;
	margin-top: 12px;
	max-width: 640px;
	font-size: 13px;
	line-height: 1.8;
	color: var(--ink-2);
}

.brand-cross__note a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 「暂停受理订单」提示条（A1）。恢复营业时与 header.php 里那段一起删。 */
.jp-closed-bar {
	background: var(--paper-2);
	border-bottom: 1px solid var(--line-soft);
	color: var(--ink-2);
	text-align: center;
}

.jp-closed-bar p {
	max-width: 760px;
	margin: 0 auto;
	padding: 9px 18px;
	font-size: 12.5px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

@media (max-width: 480px) {
	.jp-closed-bar p {
		padding: 8px 14px;
		font-size: 12px;
	}
}

/* =========================================================================
 * /ranking/ 排行榜表格（2026-10-27 新增，配合 page-ranking.php）
 * 桌面：名次列收窄，商品名占剩下的宽度。
 * 窄屏（≤700px）：表格拆成卡片，名次贴左，商品名一行，字段一行，避免五列挤爆。
 * 只作用于 .jpr-table，不影响 /tokushoho/ 等页面已有的 .prose table。
 * ========================================================================= */

.prose table.jpr-table {
	table-layout: auto;
}

/* 名次列：窄、居中、不换行 */
.prose table.jpr-table th:first-child,
.prose table.jpr-table td.jpr-no {
	width: 3.4em;
	text-align: center;
	white-space: nowrap;
}

.prose table.jpr-table td.jpr-no {
	color: #8a8a8a;
	font-variant-numeric: tabular-nums;
}

/* 商品名：允许换行，链接不加下划线，免得整列花掉 */
.prose table.jpr-table td.jpr-name a {
	text-decoration: none;
}

.prose table.jpr-table td.jpr-name a:hover {
	text-decoration: underline;
}

/* 数值列不换行，避免「JPY 280」被拆成两行 */
.prose table.jpr-table th:nth-child(n + 3),
.prose table.jpr-table td:nth-child(n + 3) {
	white-space: nowrap;
}

@media (max-width: 700px) {

	.prose table.jpr-table {
		border: 0;
		font-size: 14px;
		margin: 1em 0;
	}

	.prose table.jpr-table thead {
		display: none;
	}

	.prose table.jpr-table tbody {
		display: block;
	}

	.prose table.jpr-table tr {
		display: block;
		position: relative;
		padding: .75em 0 .75em 2.1em;
		border-bottom: 1px solid var(--line);
	}

	.prose table.jpr-table tr:last-child {
		border-bottom: 0;
	}

	.prose table.jpr-table td {
		display: inline-block;
		border: 0;
		padding: 0 1em 0 0;
		vertical-align: baseline;
		white-space: normal;
	}

	/* 名次贴左，绝对定位，不占行内位置 */
	.prose table.jpr-table td.jpr-no {
		position: absolute;
		left: 0;
		top: .95em;
		width: 1.6em;
		padding: 0;
		font-size: 13px;
		color: #9a9a9a;
	}

	/* 商品名单独一行，加粗 */
	.prose table.jpr-table td.jpr-name {
		display: block;
		padding: 0 0 .3em;
		font-weight: 600;
		line-height: 1.45;
	}

	/* 其余字段：行内标签 + 值，自动换行 */
	.prose table.jpr-table td[data-label]::before {
		content: attr(data-label) " ";
		color: #9a9a9a;
		font-size: 12px;
		font-weight: 400;
	}
}

/* ===== /all/ 全站目录 与 /guides/ 指南中心 ===== */
.prose .jpa-block {
	margin: 0 0 1.8em;
}

.prose .jpa-h {
	margin: 0 0 .55em;
	font-size: 17px;
	line-height: 1.5;
}

.prose .jpa-h a,
.prose a.jpa-top {
	font-weight: 700;
}

.prose .jpa-n {
	display: inline-block;
	margin-left: .15em;
	color: #9a9a9a;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.prose ul.jpa-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .35em 1.1em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.prose ul.jpa-list > li {
	margin: 0;
	line-height: 1.7;
}

.prose ul.jpa-sub {
	display: block;
	margin: .15em 0 .4em;
	padding: 0 0 0 1em;
	list-style: none;
	font-size: 14px;
}

.prose ul.jpa-sub > li {
	margin: 0;
	line-height: 1.65;
}

.prose ul.jpg-list {
	margin: 0 0 .7em;
	padding: 0;
	list-style: none;
}

.prose ul.jpg-list > li {
	margin: 0 0 .35em;
}

.prose .jpg-tag {
	display: inline-block;
	margin-left: .45em;
	padding: 0 .35em;
	border: 1px solid #ddd;
	border-radius: 3px;
	color: #7a7a7a;
	font-size: 11px;
	line-height: 1.6;
	vertical-align: 1px;
}

.prose .jpg-cats {
	margin: -.1em 0 1.6em;
	font-size: 14px;
	color: #555;
}

@media (max-width: 900px) {
	.prose ul.jpa-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.prose ul.jpa-list {
		grid-template-columns: 1fr;
	}

	.prose ul.jpa-sub {
		padding-left: .8em;
	}
}
/* ===== 七星全系列 / 日本发货时效 两页共用 ===== */

.jss-block {
	margin: 0 0 30px;
}

.jss-h {
	margin: 26px 0 10px;
	font-size: 1.02em;
	font-weight: 700;
	border-left: 3px solid #b03a2e;
	padding-left: 10px;
}

.jss-n {
	margin-left: 6px;
	font-size: 0.78em;
	font-weight: 400;
	color: #8a8a8a;
	letter-spacing: 0.01em;
}

table.jss-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 14px;
	font-size: 0.92em;
	background: #fff;
}

table.jss-table th {
	text-align: left;
	padding: 9px 10px;
	border-bottom: 1px solid #d8d8d8;
	font-weight: 700;
	font-size: 0.9em;
	color: #555;
	white-space: nowrap;
	background: #fafafa;
}

table.jss-table td {
	padding: 10px;
	border-bottom: 1px solid #eee;
	vertical-align: top;
	line-height: 1.6;
}

table.jss-table tbody tr:last-child td {
	border-bottom: 1px solid #d8d8d8;
}

table.jss-table tbody tr:hover {
	background: #fdfaf8;
}

table.jss-table td:nth-child(2),
table.jss-table td:nth-child(4),
table.jss-table td:nth-child(5) {
	white-space: nowrap;
	color: #444;
}

table.jss-table td:last-child {
	text-align: left;
}

.jss-name {
	font-weight: 400;
	line-height: 1.55;
}

.jss-name a {
	color: #1a1a1a;
	text-decoration: none;
	border-bottom: 1px solid #e2e2e2;
}

.jss-name a:hover {
	border-bottom-color: #b03a2e;
	color: #b03a2e;
}

/* 三列的说明表（时间轴 / 焦油速览）第一列收紧一点 */
table.jss-table--mini td:first-child {
	font-weight: 700;
	white-space: nowrap;
	color: #333;
}

/* 手机：表格拆成卡片，避免 5 列挤成一字一行 */
@media (max-width: 700px) {
	table.jss-table {
		display: block;
		border: 0;
		background: transparent;
		font-size: 0.94em;
	}

	table.jss-table thead {
		display: none;
	}

	table.jss-table tbody,
	table.jss-table tr,
	table.jss-table td {
		display: block;
		width: 100%;
	}

	table.jss-table tr {
		margin: 0 0 10px;
		padding: 10px 12px;
		border: 1px solid #e6e6e6;
		border-radius: 6px;
		background: #fff;
	}

	table.jss-table td {
		padding: 3px 0;
		border: 0 !important;
		white-space: normal !important;
		display: flex;
		gap: 10px;
		line-height: 1.6;
	}

	table.jss-table td::before {
		content: attr(data-label);
		flex: 0 0 62px;
		color: #999;
		font-size: 0.9em;
	}

	table.jss-table td[data-label="商品"]::before {
		content: none;
	}

	table.jss-table td[data-label="商品"] {
		display: block;
		font-size: 1.02em;
		line-height: 1.5;
		padding-bottom: 5px;
		margin-bottom: 3px;
		border-bottom: 1px dashed #eee !important;
	}

	table.jss-table--mini td:first-child {
		white-space: normal;
	}
}

/* 表格改为 4 列后：第 2 列起不换行，「不标注」用淡色 */
table.jss-table td:nth-child(2),
table.jss-table td:nth-child(3),
table.jss-table td:nth-child(4) {
	white-space: nowrap;
	color: #444;
}

table.jss-table td:nth-child(2) {
	color: #666;
}
