/**
 * XINPOR 主题主样式
 *
 * 设计语言：纯白背景 / 黑色文字 / 大留白 / 超大标题 / 胶囊组件
 * 适配 1440px 桌面 → 320px 移动端
 */

/* ==========================================================================
   1. 设计变量与基础
   ========================================================================== */

:root {
	--xp-accent: #111111;
	/* on-running.cn 页脚实测 #121212 */
	--xp-footer-bg: #121212;
	--xp-page-bg: #ffffff;
	--xp-gray: #f5f5f5;
	--xp-gray-2: #ececec;
	--xp-border: #e5e5e5;
	--xp-muted: #6b6b6b;
	--xp-radius: 16px;
	--xp-radius-sm: 10px;
	/* 对齐 on-running.cn：按钮高 48（pad 14/24 fs16）、页边距 64px@1440 / 16px 手机 */
	--xp-pill-h: 48px;
	/* on-running.cn 无内容宽度上限（1440 视口内容 1312 = 全宽 - 2×64 gutter），仅由页边距控制 */
	--xp-container: 1920px;
	/* on-running.cn 三档断点：桌面 ≥1024 页边距固定 64，平板/手机 ≤1023 固定 16（见底部 min-width:1024 覆盖） */
	--xp-gutter: 16px;
	/* 模块垂直间距：桌面 64 / 平板手机 32 */
	--xp-section-gap: 32px;
	--xp-header-h: 64px;
	/* 字体栈：优先系统级现代无衬线（苹果 SF/苹方、鸿蒙 Sans、小米 MiSans、思源黑体），
	   中文 Windows 回落微软雅黑，整体观感比老的 Helvetica/Arial 优先方案更干净 */
	--xp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--xp-font);
	font-size: 15px;
	line-height: 1.6;
	color: var(--xp-accent);
	background: var(--xp-page-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

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

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

h1, h2, h3, h4 {
	margin: 0;
	line-height: 1.15;
	letter-spacing: -0.02em;
	font-weight: 700;
}

p {
	margin: 0 0 1em;
}

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

button {
	font-family: inherit;
	cursor: pointer;
}

/* ==========================================================================
   2. 无障碍辅助（WordPress 标准）
   ========================================================================== */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.skip-link {
	position: absolute;
	left: -9999px;
	z-index: 999999;
}

.skip-link:focus {
	left: 8px;
	top: 8px;
	background: #fff;
	padding: 10px 18px;
	border-radius: 999px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

/* ==========================================================================
   3. 通用组件
   ========================================================================== */

.xp-container {
	max-width: var(--xp-container);
	margin: 0 auto;
	padding: 0 var(--xp-gutter);
}

/* 首页模块对齐 on-running.cn：无内容宽度上限，仅由页边距控制。
   修复：宽屏（>1920px）下 ACTIVITIES / 商品区 / 全宽展示区 / 快捷入口仍被
   1920px 上限居中、两侧各空 (视口-1920)/2 的大片留白，而 Hero 与分类入口满屏，
   造成"首页部分模块不是全屏"。统一在首页范围内取消上限。 */
.xp-front .xp-container {
	max-width: none;
}

/* 对齐 on-running.cn：模块垂直间距 64px@桌面 / 32px 平板手机 */
.xp-section {
	padding: var(--xp-section-gap) 0 0;
}

/* on-running.cn 实测：桌面 fs 75.8px / 平板 45.3px / 手机 42.1px，常规字重，下间距 40px */
.xp-section-title {
	font-size: clamp(45.3px, 5.26vw, 75.8px);
	font-weight: 400;
	letter-spacing: -0.02em;
	margin-bottom: clamp(20px, 2.78vw, 40px);
}

/* 胶囊按钮 */
.xp-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--xp-pill-h);
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--xp-accent);
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.2s ease, background 0.2s ease;
}

.xp-pill:hover {
	background: var(--xp-gray-2);
	transform: scale(1.03);
}

.xp-pill--dark {
	background: var(--xp-accent);
	color: #fff;
}

.xp-pill--dark:hover {
	background: #333;
	color: #fff;
}

.xp-pill--outline {
	background: transparent;
	box-shadow: inset 0 0 0 1px var(--xp-accent);
}

.xp-pill--outline:hover {
	background: var(--xp-accent);
	color: #fff;
}

.xp-pill--frost {
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: blur(6px);
}

/* ==========================================================================
   4. 顶部公告栏
   ========================================================================== */

.xp-announcement {
	position: relative;
	background: #000;
	color: #fff;
	text-align: center;
	padding: 10px 48px;
	font-size: 13px;
}

.xp-announcement p {
	margin: 0;
}

.xp-announcement__close {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: 0;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	padding: 4px;
}

/* ==========================================================================
   5. 头部：左上 Logo + 悬浮胶囊导航
   ========================================================================== */

.xp-header {
	position: relative;
	z-index: 100;
	height: 0;
}

.xp-header__pill.xp-pill-hidden {
	transform: translateY(calc(-100% - 40px));
	opacity: 0;
	pointer-events: none;
}

.xp-header__logo {
	position: relative;
	top: 22px;
	/* 用 margin 而非 left：relative + left 会把元素推出视口造成横向滚动条 */
	margin-left: clamp(16px, 2.4vw, 36px);
	z-index: 120;
	color: var(--xp-accent);
}

.xp-header__logo svg,
.xp-header__logo img.custom-logo {
	height: 54px;
	width: auto;
	display: block;
}

.xp-logo svg {
	display: block;
}

.xp-header__pill {
	position: fixed;
	top: 16px;
	left: auto;
	right: clamp(16px, 2.4vw, 36px);
	z-index: 120;
	transition: transform 0.3s ease, opacity 0.3s ease;
	display: flex;
	align-items: center;
	gap: 8px;
	width: min(920px, calc(100vw - 128px));
	min-height: var(--xp-header-h);
	padding: 0 14px;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.xp-header__nav {
	flex: 1;
}

.xp-menu {
	display: flex;
	align-items: center;
	gap: 4px;
}

.xp-menu > li > a {
	display: inline-block;
	padding: 10px 16px;
	font-size: 15px;
	font-weight: 500;
	border-radius: 999px;
	transition: background 0.2s ease;
}

.xp-menu > li > a:hover,
.xp-menu > li.current-menu-item > a {
	background: var(--xp-gray);
}

/* 二级菜单 */
.xp-menu .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 200px;
	background: #fff;
	border-radius: var(--xp-radius-sm);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	padding: 8px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all 0.2s ease;
}

.xp-menu > li {
	position: relative;
}

.xp-menu > li:hover > .sub-menu,
.xp-menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.xp-menu .sub-menu a {
	display: block;
	padding: 9px 14px;
	font-size: 14px;
	border-radius: 8px;
}

.xp-menu .sub-menu a:hover {
	background: var(--xp-gray);
}

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

/* 首页图标按钮：仅移动端悬浮胶囊条显示（桌面端导航已有「首页」菜单项，避免重复） */
.xp-icon-btn.xp-icon-btn--home {
	display: none;
}

.xp-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	background: none;
	color: var(--xp-accent);
	border-radius: 999px;
	transition: background 0.2s ease;
}

.xp-icon-btn:hover {
	background: var(--xp-gray);
}

.xp-icon-btn svg {
	width: 20px;
	height: 20px;
}

/* 汉堡按钮（移动端） */
.xp-header__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	border: 0;
	background: none;
	padding: 8px;
}

.xp-header__burger span {
	display: block;
	height: 2px;
	width: 100%;
	background: var(--xp-accent);
	border-radius: 2px;
	transition: transform 0.25s ease;
}

/* ==========================================================================
   6. 搜索浮层 & 移动端菜单
   ========================================================================== */

.xp-search-layer {
	position: fixed;
	inset: 0;
	z-index: 200;
	background: #fff;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(80px, 12vh, 140px) 0 60px;
	animation: xp-search-in 0.25s ease both;
}

@keyframes xp-search-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.xp-search-layer[hidden] {
	display: none;
}

.xp-search-layer__inner {
	position: relative;
	width: min(1200px, 92vw);
}

.xp-search-layer__bar {
	position: relative;
	padding-right: 64px;
	margin-bottom: clamp(32px, 5vh, 56px);
}

.xp-search-layer__close {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: 0;
	font-size: 32px;
	line-height: 1;
	color: var(--xp-accent);
	padding: 4px 8px;
	cursor: pointer;
}

/* 搜索表单：圆角胶囊样式（搜索面板与搜索结果页通用） */
.xp-searchform {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #f2f1ef;
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 0 24px;
	height: clamp(56px, 7vw, 72px);
	transition: border-color 0.2s ease, background 0.2s ease;
}

.xp-searchform:focus-within {
	border-color: var(--xp-accent);
	background: #fff;
}

.xp-searchform__input {
	flex: 1;
	border: 0;
	background: none;
	font-size: clamp(16px, 2vw, 20px);
	font-family: inherit;
	outline: none;
	color: var(--xp-accent);
	min-width: 0;
}

.xp-searchform__input::placeholder {
	color: rgba(26, 26, 26, 0.45);
}

.xp-searchform__submit {
	border: 0;
	background: none;
	color: var(--xp-accent);
	padding: 6px;
	cursor: pointer;
}

.xp-searchform__submit svg {
	width: 24px;
	height: 24px;
}

/* 搜索面板分区 */
.xp-search-block {
	margin-bottom: clamp(36px, 6vh, 64px);
}

.xp-search-block__label {
	font-size: 15px;
	color: var(--xp-accent);
	margin-bottom: 20px;
}

.xp-search-block__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 16px;
}

.xp-search-tag {
	display: inline-flex;
	align-items: center;
	background: #f2f1ef;
	color: var(--xp-accent);
	font-size: 16px;
	padding: 14px 28px;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s ease;
}

.xp-search-tag:hover {
	background: #e7e5e2;
}

.xp-search-block__grid {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(12px, 1.4vw, 18px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
}

.xp-search-block__grid::-webkit-scrollbar {
	display: none;
}

.xp-search-block__grid .xp-product-card {
	flex: 0 0 calc((100% - 2 * clamp(12px, 1.4vw, 18px)) / 3);
	scroll-snap-align: start;
}

.xp-search-block__grid .xp-product-card__media {
	background: #f2f1ef;
}

.xp-search-block__grid .xp-product-card__media img {
	mix-blend-mode: multiply;
}

@media (max-width: 750px) {
	.xp-search-layer {
		padding-top: 72px;
	}

	.xp-search-block__grid .xp-product-card {
		flex: 0 0 58vw;
	}

	.xp-search-tag {
		font-size: 14px;
		padding: 11px 20px;
	}

	.xp-searchform {
		height: 52px;
		padding: 0 18px;
	}
}

@media (max-width: 520px) {
	.xp-search-block__grid {
		gap: 12px;
	}
}

.xp-mobile-nav {
	position: fixed;
	inset: 0;
	/* 低于 .xp-header（100）：保证打开菜单后底部胶囊条仍可点，汉堡可关闭菜单 */
	z-index: 90;
	background: #fff;
	padding: 110px clamp(24px, 6vw, 48px) 48px;
	overflow-y: auto;
}

.xp-mobile-nav[hidden] {
	display: none;
}

.xp-mobile-nav__close {
	position: absolute;
	top: 22px;
	right: clamp(16px, 4vw, 32px);
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: #f5f5f5;
	color: #111;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
}

.xp-mobile-nav__close:hover {
	background: #e9e9e9;
}

.xp-menu--mobile {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.xp-menu--mobile > li > a {
	display: block;
	padding: 16px 0;
	font-size: clamp(26px, 6vw, 34px);
	font-weight: 700;
	border-bottom: 1px solid var(--xp-border);
	border-radius: 0;
}

.xp-menu--mobile .sub-menu {
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	box-shadow: none;
	padding: 0 0 8px 16px;
}

.xp-menu--mobile .sub-menu a {
	font-size: 16px;
	padding: 8px 0;
}

/* ==========================================================================
   7. Hero 首屏大图
   ========================================================================== */

.xp-hero {
	position: relative;
	height: 100vh;
	min-height: 540px;
	overflow: hidden;
}

.xp-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.xp-hero__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	/* on-running.cn：内容区距边 48px，深色文字（浅底大图），白底胶囊按钮 */
	padding: 48px;
	color: var(--xp-accent);
}

.xp-hero__title {
	/* on-running.cn：39.2px@桌面 / 21.8px 平板 / 20.1px 手机，行高 1.2，常规字重 */
	font-size: clamp(21.8px, 2.72vw, 39.2px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin-bottom: 40px;
}

.xp-hero__subtitle {
	font-size: clamp(15px, 1.4vw, 20px);
	margin: 0 0 40px;
}

/* on-running.cn：Hero 按钮 152×64 白底黑字 fs18（覆盖 --dark 黑底样式） */
.xp-hero .xp-pill {
	min-height: 64px;
	padding: 0 40px;
	font-size: 18px;
	font-weight: 400;
}

.xp-hero .xp-pill--dark {
	background: #fff;
	color: var(--xp-accent);
}

.xp-hero .xp-pill--dark:hover {
	background: var(--xp-gray-2);
	color: var(--xp-accent);
}

/* ==========================================================================
   8. 分类入口（三联卡片）
   ========================================================================== */

.xp-cats__grid,
.xp-banners__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(12px, 1.67vw, 24px);
}

/* 尺寸对齐 on-running.cn：卡片 421x640（比例 0.658）、页边距 64px、间隙 24px（1440 视口实测） */
.xp-cats .xp-container,
.xp-banners .xp-container {
	max-width: none;
	padding-inline: var(--xp-gutter);
}

.xp-cat-card,
.xp-banner-card {
	position: relative;
	display: block;
	aspect-ratio: 421 / 640;
	border-radius: 8px;
	overflow: hidden;
	background: var(--xp-gray);
}

.xp-cat-card img,
.xp-banner-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.xp-cat-card:hover img,
.xp-banner-card:hover img {
	transform: scale(1.045);
}

.xp-cat-card__overlay,
.xp-banner-card__overlay {
	position: absolute;
	inset: auto 0 0 0;
	padding: 0 clamp(16px, 1.67vw, 24px) clamp(32px, 2.78vw, 40px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	color: #fff;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.35), transparent);
}

.xp-cat-card__title,
.xp-banner-card__title {
	/* on-running.cn：39.2px@1440 / 33.1px 手机，fw400 */
	font-size: clamp(33.1px, 2.72vw, 39.2px);
	font-weight: 400;
	letter-spacing: -0.01em;
}

.xp-banner-card__subtitle {
	font-size: 14px;
	opacity: 0.92;
}

/* ==========================================================================
   9. 快捷入口胶囊
   ========================================================================== */

.xp-quicklinks__wrap {
	display: flex;
	flex-wrap: wrap;
	/* on-running.cn：胶囊间距 24 */
	gap: 24px;
}

.xp-chip {
	display: inline-flex;
	align-items: center;
	/* on-running.cn：高 64、圆图 56、右 pad 40、字号 18、底色 #F0ECEB */
	gap: 16px;
	padding: 4px 40px 4px 4px;
	background: #f0eceb;
	border-radius: 999px;
	font-size: clamp(16px, 1.25vw, 18px);
	font-weight: 500;
	transition: background 0.2s ease;
}

.xp-chip:hover {
	background: #e6e1df;
}

.xp-chip__thumb {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background:
		radial-gradient(circle at 30% 30%, #dcdcdc, #b9b9b9 70%);
	flex-shrink: 0;
}

/* 快捷入口自定义图标：图片铺满圆内 / emoji 居中 */
.xp-chip__thumb--custom {
	background: #f2f2f2;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.xp-chip__thumb--custom img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
	display: block;
}
.xp-chip__emoji {
	font-size: 18px;
	line-height: 1;
}

/* ==========================================================================
   10. ACTIVITIES 板块
   ========================================================================== */

/* 双类选择器：覆盖 .xp-front .xp-container{max-width:none}（同为 0,2,0 且本规则源码更靠后） */
.xp-container.xp-activities__grid {
	display: grid;
	/* on-running.cn：标签列 109px（菜单起点 x=173）、图片列 364px（前卡尺寸），列间无缝隙 */
	grid-template-columns: clamp(64px, 7.57vw, 109px) 1fr clamp(220px, 25.3vw, 364px);
	gap: 0;
	align-items: center;
	/* 相对一致间距：模块宽度随视口按 100vw 等比放大，使「菜单↔图片」间距在各屏
	   保持比例；1440 时精确对齐 on-running.cn（629px），>1600 封顶防超大屏间距过炸
	   （旧版硬冻结 1440 居中，大屏下模块仅占屏宽 56%、间距相对屏幕显得过近）。 */
	max-width: clamp(1440px, 100vw, 1600px);
	margin-left: auto;
	margin-right: auto;
}

.xp-activities__label {
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-size: 16px;
	letter-spacing: 0.09em;
	color: var(--xp-muted);
	justify-self: start;
	text-transform: uppercase;
}

.xp-activities__menu a {
	display: inline-block;
	/* on-running.cn：菜单项 fs49.6 行高 59.5（1.2）+ 项距 16 = 步进 75.5 */
	font-size: clamp(45.3px, 3.44vw, 49.6px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.02em;
	padding: 0;
	transition: opacity 0.2s ease;
}

.xp-activities__menu li {
	margin-bottom: 16px;
}

.xp-activities__menu a:hover {
	opacity: 0.55;
}

/* 触摸/悬停联动：非激活菜单项淡出，激活项保持高亮 */
.xp-activities__menu.is-linked a {
	opacity: 0.3;
}

.xp-activities__menu.is-linked a.is-active,
.xp-activities__menu.is-linked a:hover,
.xp-activities__menu.is-linked a:focus-visible {
	opacity: 1;
}

/* 右侧图片卡堆叠容器：偏移堆叠（photo-stack）——前卡完整显示，
   后层按 --xp-depth 逐级向右下错位露出一角，层级由 JS 分配 */
.xp-activities__stack {
	position: relative;
	width: 100%;
	aspect-ratio: 2 / 3;
	/* 容器加浅色底，避免透明边缘在金框/水印素材下穿帮 */
	background: transparent;
}

.xp-activities__media {
	position: absolute;
	inset: 0;
	display: block;
	/* 偏移堆叠：不用同心放大，后层同尺寸卡片向右下平移露出边角，
	   每层错位 16px（水平）/ 20px（垂直），形成一叠照片的利落层次 */
	border-radius: 24px;
	overflow: hidden;
	transform: translate(calc(var(--xp-depth, 0) * 16px), calc(var(--xp-depth, 0) * 20px));
	z-index: 1;
	transition: transform 0.35s ease;
}

.xp-activities__media.is-active {
	z-index: 10;
}

.xp-activities__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================
   11. 商品轮播
   ========================================================================== */

.xp-carousel-wrap {
	position: relative;
}

.xp-carousel {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 8px;
}

.xp-carousel::-webkit-scrollbar {
	display: none;
}

.xp-product-card {
	/* on-running.cn：大卡 427px 宽（3 卡/屏）、gap 16 */
	flex: 0 0 clamp(280px, 29.65vw, 427px);
	scroll-snap-align: start;
}

.xp-product-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--xp-gray);
	border-radius: 4px;
	overflow: hidden;
}

.xp-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.xp-product-card__media:hover img {
	transform: scale(1.04);
}

.xp-badge {
	position: absolute;
	/* on-running.cn：徽标距边 24、80×40 白底胶囊 */
	top: 24px;
	right: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	height: 40px;
	background: #fff;
	border-radius: 999px;
	padding: 0 23px;
	font-size: 14px;
	font-weight: 400;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.xp-product-card__body {
	/* on-running.cn：四行文字统一 fs18.8、行距 38（行高 28 + 间距 10）、上下内边距 24（文字区总高 190） */
	padding: 24px;
	font-size: clamp(15px, 1.31vw, 18.8px);
}

.xp-product-card__name {
	font-size: inherit;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
}

.xp-product-card__subtitle {
	color: inherit;
	font-size: inherit;
	line-height: 1.5;
	margin: 10px 0 0;
}

.xp-product-card__colors {
	color: inherit;
	font-size: inherit;
	line-height: 1.5;
	margin: 10px 0 0;
}

.xp-product-card__price {
	font-size: inherit;
	line-height: 1.5;
	margin: 10px 0 0;
	font-weight: 400;
}

/* 轮播箭头：on-running.cn 常显 48×48 白圆、距边 24 */
.xp-carousel__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14);
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease;
}

.xp-carousel__nav--prev {
	left: 24px;
}

.xp-carousel__nav--next {
	right: 24px;
}

/* 横向滑动进度条（on-running.cn：轨道 200×1 #CCC、黑色滑块） */
.xp-carousel__bar,
.xp-scroll-bar {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

.xp-carousel__bar[hidden],
.xp-scroll-bar[hidden] {
	display: none;
}

.xp-carousel__bar-inner,
.xp-scroll-bar__track {
	position: relative;
	display: block;
	width: 200px;
	height: 1px;
	background: #cccccc;
	overflow: hidden;
}

.xp-carousel__bar-thumb,
.xp-scroll-bar__thumb {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 30%;
	background: var(--xp-accent);
	transition: transform 0.08s linear;
	will-change: transform;
}

/* 桌面档基准（on-running.cn 断点 ≥1024）：页边距 64、模块间距 64；
   分类/编辑推荐桌面为三列网格不滑动，隐藏其进度条（搜索面板推荐行桌面也横滑，保留） */
@media (min-width: 1024px) {
	:root {
		--xp-gutter: 64px;
		--xp-section-gap: 64px;
	}

	.xp-scroll-bar:not(.xp-scroll-bar--search) {
		display: none;
	}

	/* 桌面端：人气新品 / 畅销推荐 与三大分类模块保持一致的 3 列布局
	   （分类为 repeat(3,1fr) + clamp(12,1.67vw,24) 间距，商品卡同宽同距） */
	.xp-products .xp-carousel {
		gap: clamp(12px, 1.67vw, 24px);
	}

	.xp-products .xp-product-card {
		flex: 0 0 calc((100% - 2 * clamp(12px, 1.67vw, 24px)) / 3);
	}
}

/* ≥1360：对齐 on-running.cn 1440 实测——叠层盒 420 宽 @x=875（前卡 364 居中 @x=902），
   整组左移 110px；1024-1359 保持流式位置（1024 实测已与参考一致） */
@media (min-width: 1360px) {
	.xp-activities__stack {
		right: 110px;
	}
}

/* ==========================================================================
   12. 全宽展示区
   ========================================================================== */

.xp-news {
	/* 在资讯区与页脚之间留出空白（用 section 间距量级，桌面 64px / 平板手机 32px） */
	margin-bottom: var(--xp-section-gap);
}

.xp-news__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: clamp(20px, 2.78vw, 32px);
}

.xp-news__title {
	/* 与首页其余板块标题一致 */
	font-size: clamp(26px, 2.6vw, 38px);
	font-weight: 500;
	line-height: 1.2;
}

.xp-news__subtitle {
	font-size: 15px;
	color: var(--xp-muted);
}

.xp-news__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 1.67vw, 24px);
}

.xp-news__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.xp-news__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.xp-news__thumb {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--xp-gray);
}

.xp-news__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.xp-news__card:hover .xp-news__thumb img {
	transform: scale(1.045);
}

.xp-news__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: clamp(16px, 1.4vw, 22px);
}

.xp-news__date {
	font-size: 13px;
	color: var(--xp-muted);
}

.xp-news__card-title {
	font-size: clamp(17px, 1.25vw, 20px);
	font-weight: 500;
	line-height: 1.35;
	color: #1a1a1a;
}

.xp-news__excerpt {
	font-size: 14px;
	line-height: 1.6;
	color: var(--xp-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.xp-news__more {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 500;
	color: var(--xp-accent);
}

.xp-news__empty {
	color: var(--xp-muted);
	font-size: 15px;
}

/* ==========================================================================
   13. 页脚
   ========================================================================== */

.xp-footer {
	/* on-running.cn：页脚紧贴展示区，页边距 40 */
	margin-top: 0;
	background: var(--xp-footer-bg);
	color: #fff;
	padding: clamp(40px, 5vw, 72px) clamp(16px, 2.78vw, 40px) 32px;
}

.xp-footer__grid {
	max-width: none;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr 0.8fr 0.8fr auto;
	gap: clamp(24px, 4vw, 64px);
}

.xp-footer__title {
	/* on-running.cn：栏组标题 fs26 常规字重 */
	font-size: 26px;
	font-weight: 400;
	margin-bottom: 14px;
	letter-spacing: 0;
}

.xp-footer__list--links li {
	margin-bottom: 8px;
}

.xp-footer__list a {
	color: #c9c9c9;
	/* on-running.cn：链接 fs16、步进 32（行高 24 + 8） */
	font-size: 16px;
	line-height: 1.5;
	transition: color 0.2s ease;
}

.xp-footer__list a:hover {
	color: #fff;
}

.xp-footer__col--store .xp-footer__list a,
.xp-footer__col--store .xp-footer__list button.xp-footer__copy {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: #fff;
	font-size: 16px;
}

.xp-footer__col--store .xp-footer__list button.xp-footer__copy {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	text-align: left;
	cursor: pointer;
	width: 100%;
}

.xp-footer__col--store .xp-footer__list li {
	margin-bottom: 18px;
}

.xp-footer__col--store svg {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	margin-top: 2px;
}

.xp-footer__col--store strong {
	display: block;
	font-weight: 600;
}

.xp-footer__col--store em {
	display: block;
	font-style: normal;
	font-size: 12px;
	color: #9a9a9a;
	margin-top: 2px;
}

.xp-footer__col--qr {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.xp-qr {
	margin: 0;
	text-align: center;
	max-width: 100px;
}

.xp-qr img {
	/* on-running.cn：QR 白块 100×100、圆角 8、间距 8 */
	width: 100px;
	height: 100px;
	object-fit: cover;
	background: #fff;
	padding: 6px;
	border-radius: 8px;
	margin: 0 auto 8px;
}

.xp-qr figcaption {
	font-size: 14px;
	color: #c9c9c9;
	line-height: 1.5;
}

.xp-footer__bottom {
	max-width: var(--xp-container);
	margin: clamp(32px, 4vw, 56px) auto 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	padding-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	align-items: center;
}

.xp-footer__copy {
	margin: 0;
	font-size: 13px;
	color: #c9c9c9;
}

.xp-footer__icp {
	margin: 0;
	font-size: 12px;
	color: #8f8f8f;
}

.xp-footer__icp a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.xp-footer__icp a + a {
	margin-left: 14px;
}

.xp-footer__icp a:hover {
	color: #e5e5e5;
	text-decoration: underline;
}

.xp-footer__stats {
	margin: 8px 0 0;
	font-size: 12px;
	color: #8f8f8f;
}

.xp-visitor-stats__label {
	margin-right: 6px;
}

.xp-visitor-stats__items {
	color: #b5b5b5;
}

/* ==========================================================================
   14. 博客列表 / 文章 / 页面
   ========================================================================== */

.xp-main {
	padding-top: clamp(110px, 14vh, 150px);
	min-height: 60vh;
}

.xp-front + * ,
.xp-front {
	padding-top: 0;
}

.xp-front {
	padding-top: 0;
}

.xp-archive-header {
	margin-bottom: clamp(24px, 3vw, 40px);
}

.xp-archive-header__desc {
	color: var(--xp-muted);
	margin-top: 10px;
}

.xp-post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 3vw, 36px);
}

.xp-post-card__thumb {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--xp-gray);
	border-radius: var(--xp-radius-sm);
	overflow: hidden;
	margin-bottom: 16px;
}

.xp-post-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.xp-post-card:hover .xp-post-card__thumb img {
	transform: scale(1.04);
}

.xp-post-card__title {
	font-size: 20px;
	margin-bottom: 6px;
}

.xp-post-card__title a:hover {
	opacity: 0.6;
}

.xp-post-card__meta {
	font-size: 13px;
	color: var(--xp-muted);
	margin-bottom: 8px;
}

.xp-post-card .xp-pill {
	min-height: 38px;
	padding: 0 20px;
	font-size: 13px;
}

/* 首篇特色大卡（杂志式，跨满整行） */
.xp-post-card--featured {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	padding-bottom: clamp(20px, 3vw, 36px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.xp-post-card--featured .xp-post-card__thumb {
	margin-bottom: 0;
	aspect-ratio: 16 / 9;
}
.xp-post-card--featured .xp-post-card__title {
	font-size: clamp(26px, 3vw, 38px);
	margin-bottom: 12px;
}
.xp-post-card--featured .xp-post-card__excerpt {
	font-size: 16px;
	margin-bottom: 18px;
}
.xp-archive-count {
	text-align: center;
	color: var(--xp-muted);
	font-size: 14px;
	margin-top: clamp(28px, 4vw, 48px);
}

/* 文章详情 */
.xp-single-container {
	max-width: 780px;
}

.xp-single__title {
	font-size: clamp(32px, 4.4vw, 52px);
	margin-bottom: 18px;
}

.xp-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	color: var(--xp-muted);
	font-size: 13px;
	margin-bottom: clamp(20px, 3vw, 36px);
}

.xp-single__meta a {
	color: inherit;
}

.xp-single__thumb {
	margin: 0 0 clamp(24px, 4vw, 44px);
	border-radius: var(--xp-radius-sm);
	overflow: hidden;
}

.xp-single__content {
	font-size: 16px;
	line-height: 1.9;
}

.xp-single__content h2 {
	font-size: 28px;
	margin: 1.6em 0 0.6em;
}

.xp-single__content h3 {
	font-size: 22px;
	margin: 1.5em 0 0.5em;
}

.xp-single__content img {
	border-radius: var(--xp-radius-sm);
}

.xp-single__content blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 24px;
	border-left: 3px solid var(--xp-accent);
	color: var(--xp-muted);
}

.xp-single__footer {
	margin-top: clamp(32px, 5vw, 56px);
}

.xp-tags a {
	display: inline-block;
	margin: 0 8px 8px 0;
	padding: 5px 14px;
	background: var(--xp-gray);
	border-radius: 999px;
	font-size: 12px;
}

.xp-post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 28px;
}

.xp-post-nav__item {
	display: block;
	padding: 20px 22px;
	background: var(--xp-gray);
	border-radius: var(--xp-radius-sm);
	transition: background 0.2s ease;
	font-weight: 600;
	font-size: 15px;
}

.xp-post-nav__item:hover {
	background: var(--xp-gray-2);
}

.xp-post-nav__item em {
	display: block;
	font-style: normal;
	font-size: 12px;
	font-weight: 400;
	color: var(--xp-muted);
	margin-bottom: 6px;
}

.xp-post-nav__item--next {
	text-align: right;
}

/* 侧边栏布局（有侧边栏时） */
.xp-has-sidebar .xp-single-container,
.xp-has-sidebar .xp-container {
	max-width: 1080px;
}

/* ==========================================================================
   15. 分页 / 404 / 评论 / 无结果
   ========================================================================== */

.xp-pagination {
	margin-top: clamp(32px, 5vw, 56px);
	display: flex;
	justify-content: center;
	gap: 6px;
}

.xp-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 999px;
	font-size: 14px;
	background: var(--xp-gray);
}

.xp-pagination .page-numbers.current {
	background: var(--xp-accent);
	color: #fff;
}

.xp-404 {
	text-align: center;
	padding: 40px 0 80px;
}

.xp-404__code {
	font-size: clamp(80px, 14vw, 160px);
	font-weight: 700;
	letter-spacing: -0.04em;
	margin: 0;
	line-height: 1;
	color: var(--xp-gray-2);
}

.xp-404__title {
	font-size: clamp(24px, 3vw, 36px);
	margin: 12px 0;
}

.xp-404__desc {
	color: var(--xp-muted);
	margin-bottom: 28px;
}

.xp-no-results {
	text-align: center;
	padding: 40px 0 60px;
}

.xp-no-results form {
	max-width: 460px;
	margin: 0 auto;
}

.xp-no-results .xp-searchform__input {
	font-size: 18px;
}

/* 评论 */
.xp-comments {
	margin-top: clamp(40px, 6vw, 72px);
	border-top: 1px solid var(--xp-border);
	padding-top: 32px;
}

.xp-comments__title {
	font-size: 24px;
	margin-bottom: 24px;
}

.xp-comments__list .comment {
	padding: 20px 0;
	border-bottom: 1px solid var(--xp-border);
}

.xp-comments__list .comment-author img {
	border-radius: 999px;
	margin-right: 10px;
}

.xp-comments__list .comment-meta {
	font-size: 12px;
	color: var(--xp-muted);
	margin: 4px 0 8px;
}

.xp-comments__list .children {
	margin-left: 32px;
}

.xp-comments .comment-form p {
	margin-bottom: 14px;
}

.xp-comments .comment-form input[type="text"],
.xp-comments .comment-form input[type="email"],
.xp-comments .comment-form input[type="url"],
.xp-comments .comment-form textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--xp-border);
	border-radius: var(--xp-radius-sm);
	font-family: inherit;
	font-size: 14px;
	background: var(--xp-gray);
}

.xp-comments .comment-form input:focus,
.xp-comments .comment-form textarea:focus {
	outline: 2px solid var(--xp-accent);
	outline-offset: 1px;
}

.xp-comments__submit {
	border: 0;
}

/* ==========================================================================
   16. WooCommerce 基础适配
   ========================================================================== */

.woocommerce ul.products li.product {
	background: transparent;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-weight: 700;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--xp-accent);
	color: #fff;
	border-radius: 999px;
	padding: 12px 28px;
	font-weight: 500;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: #333;
	color: #fff;
}

.woocommerce span.onsale {
	background: var(--xp-accent);
	border-radius: 999px;
	min-height: auto;
	min-width: auto;
	padding: 7px 16px;
	line-height: 1;
	top: 14px;
	left: 14px;
}

.woocommerce div.product .product_title {
	font-size: clamp(28px, 3.6vw, 44px);
}

.woocommerce div.product p.price {
	color: var(--xp-accent);
	font-size: 20px;
}

.xp-woocommerce .woocommerce-message,
.xp-woocommerce .woocommerce-info {
	border-top-color: var(--xp-accent);
}

/* ==========================================================================
   17. Gutenberg 对齐
   ========================================================================== */

.alignwide {
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

.alignfull {
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	width: 100vw;
}

/* ==========================================================================
   18. 响应式（对齐 on-running.cn 三档断点：桌面 ≥1024 / 平板 751–1023 / 手机 ≤750）
   ========================================================================== */

/* ---------------- 平板档 751–1023 ---------------- */
@media (max-width: 1023px) {
	/* 资讯预告：平板 2 列 */
	.xp-news__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* ACTIVITIES：紧凑双栏（参考 834 实测：标签列 67、菜单 fs45.3 步进 70.5、图叠 260×390） */
	.xp-activities__grid {
		grid-template-columns: clamp(48px, 8vw, 67px) 1fr clamp(240px, 31.2vw, 300px);
	}

	.xp-activities__menu a {
		font-size: 45.28px;
	}

	/* 分类入口 / 编辑推荐：横向轮播（参考实测：卡 288×431、间距 8、进度条 thumb 175×2） */
	.xp-cats__grid,
	.xp-banners__grid {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 8px;
		margin: 0 calc(-1 * var(--xp-gutter));
		padding: 2px var(--xp-gutter) 6px;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.xp-cats__grid::-webkit-scrollbar,
	.xp-banners__grid::-webkit-scrollbar {
		display: none;
	}

	.xp-cats__grid > .xp-cat-card,
	.xp-banners__grid > .xp-banner-card {
		flex: 0 0 auto;
		width: 288px;
		aspect-ratio: 288 / 431;
		scroll-snap-align: start;
	}

	/* 快捷入口：与桌面端一致采用 flex 自动换行（胶囊随文字取宽，不做网格对齐/横向滚动）
	   实测参考仍保留移动端尺寸：胶囊高 48、圆图 40、字 14、间距 8/行距 16 */
	.xp-quicklinks__wrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 16px 8px;
	}

	.xp-quicklinks__wrap .xp-chip {
		flex: 0 0 auto;
		white-space: nowrap;
		padding: 4px 24px 4px 4px;
		font-size: 14px;
	}

	.xp-chip__thumb {
		width: 40px;
		height: 40px;
	}

	/* 商品轮播：卡 288、间距 8、箭头距边 8（参考实测） */
	.xp-carousel {
		gap: 8px;
	}

	.xp-product-card {
		flex: 0 0 288px;
	}

	.xp-carousel__nav--prev {
		left: 8px;
	}

	.xp-carousel__nav--next {
		right: 8px;
	}

	.xp-section-title {
		font-size: 45.28px;
	}

	/* 全宽展示区：堆叠式（参考 834 实测：文字块在上黑字白底、竖图 9:16 在下、
	   悬浮商品卡 293 宽左下角贴底） */
	.xp-showcase__stage {
		display: flex;
		flex-direction: column;
	}

	.xp-showcase__content {
		order: 1;
		position: static;
		max-width: none;
		padding: 0 16px 32px;
		color: var(--xp-accent);
	}

	.xp-showcase__title {
		font-size: 35.72px;
		text-shadow: none;
	}

	.xp-showcase__subtitle {
		font-size: 21.81px;
		margin: 8px 0 24px;
		text-shadow: none;
	}

	.xp-showcase__image {
		order: 2;
		aspect-ratio: 9 / 16;
		min-height: 0;
		height: auto;
	}

	.xp-showcase__card {
		left: clamp(16px, 4vw, 48px);
		right: auto;
		top: auto;
		/* 位置改为相对一致（约 4% 屏宽，等比且封顶），与桌面端 vw 逻辑统一；
		   同时与背景大图边留出相对间距，避免卡片贴底压到图片边缘 */
		bottom: clamp(16px, 4vw, 48px);
		width: min(293px, 80vw);
	}

	.xp-hero__content {
		padding: 32px 48px 48px;
	}
}

/* ---------------- 手机档 ≤750 ---------------- */
@media (max-width: 750px) {
	/* 资讯预告：手机 1 列 */
	.xp-news__grid {
		grid-template-columns: 1fr;
	}

	/* 手机档改用桌面端同款「悬浮胶囊」导航条：白色圆角胶囊 + 投影，
	   固定在右上角（自适应内容宽度），Logo 悬浮于左上角，与桌面端风格一致 */
	.xp-header__pill {
		top: 12px;
		bottom: auto;
		left: auto;
		right: 12px;
		transform: none;
		width: auto;
		min-width: 0;
		min-height: 48px;
		border-radius: 999px;
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
		justify-content: flex-end;
		gap: 0;
		padding: 0 4px;
	}

	/* 滚动隐藏（悬浮胶囊向上滑出） */
	.xp-header__pill.xp-pill-hidden {
		transform: translateY(calc(-100% - 24px));
	}

	.xp-header__nav {
		display: none;
	}

	.xp-icon-btn.xp-icon-btn--home {
		display: inline-flex;
	}

	.xp-header__burger {
		display: flex;
		order: 9;
	}

	.xp-header__logo {
		position: absolute;
		/* 48px 胶囊垂直居中：(48 - 34) / 2 + 12 = 19 */
		top: 19px;
		left: 16px;
		margin-left: 0;
		z-index: 2;
	}

	.xp-header__logo svg,
	.xp-header__logo img.custom-logo {
		height: 34px;
	}

	.xp-mobile-nav {
		padding-top: 72px;
	}

	.xp-banners__grid,
	.xp-post-grid {
		grid-template-columns: 1fr;
	}

	/* 首篇特色大卡移动端改为上下堆叠 */
	.xp-post-card--featured {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.xp-post-card--featured .xp-post-card__thumb {
		aspect-ratio: 4 / 3;
	}
	.xp-post-card--featured .xp-post-card__title {
		font-size: 24px;
	}

	/* ACTIVITIES：手机端对齐 on-running.cn（390 实测）——顶部横排小标签 fs12、
	   纯文字竖排大列表 fs42.1 步进 66.5、隐藏图片堆叠。
	   用双类选择器覆盖基础 .xp-container.xp-activities__grid（0,2,0）锁死的 display:grid */
	.xp-container.xp-activities__grid {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		grid-template-columns: none;
		gap: 16px;
		max-width: 100%;
	}

	.xp-activities__label {
		writing-mode: horizontal-tb;
		transform: none;
		order: 0;
		font-size: 12px;
	}

	.xp-activities__menu {
		order: 1;
		display: block;
	}

	.xp-activities__menu a {
		font-size: 42.13px;
	}

	.xp-activities__menu li {
		margin-bottom: 16px;
	}

	.xp-activities__stack {
		order: 2;
		display: none;
	}

	.xp-hero {
		/* on-running.cn 手机 Hero 同为满屏 */
		min-height: 480px;
		height: 100vh;
	}

	.xp-hero__content {
		padding: 32px;
	}

	.xp-hero__title {
		font-size: 20.08px;
		margin-bottom: 32px;
	}

	.xp-hero .xp-pill {
		min-height: 48px;
		padding: 0 32px;
		font-size: 16px;
	}

	/* on-running.cn 手机：标题 42.1 */
	.xp-section-title {
		font-size: 42.13px;
	}

	.xp-footer__grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.xp-footer__col--qr {
		flex-wrap: wrap;
	}

	.xp-post-nav {
		grid-template-columns: 1fr;
	}

	.xp-main {
		padding-top: 72px;
	}
}

@media (max-width: 520px) {
	.xp-search-block__grid {
		gap: 12px;
	}

	.xp-icon-btn {
		width: 40px;
		height: 40px;
	}

	/* on-running.cn 手机：商品大卡 312/390 = 80vw（覆盖平板档 288px） */
	.xp-product-card {
		flex: 0 0 80vw;
	}
}

/* ==========================================================================
   17. 商品详情页（仿 on-running.cn 单品页）
   ========================================================================== */
.xp-pd {
	padding: clamp(32px, 5vw, 64px) 0 clamp(48px, 7vw, 96px);
}

.xp-pd__layout {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

/* 防止图片/长文本把 grid 列撑破导致跨浏览器布局不一致 */
.xp-pd__layout > * {
	min-width: 0;
}

/* 图廊 */
.xp-pd__gallery {
	position: sticky;
	top: 96px;
}

.xp-pd__main {
	position: relative;
	background: #f2f1ef;
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	/* 不支持 aspect-ratio 的老浏览器兜底高度 */
	min-height: 280px;
}

.xp-pd__main-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.xp-pd__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
}

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

.xp-pd__thumb {
	width: 72px;
	height: 72px;
	padding: 0;
	border: 1px solid var(--xp-border);
	border-radius: 4px;
	background: #f2f1ef;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.7;
	transition: border-color 0.2s ease, opacity 0.2s ease;
}

.xp-pd__thumb.is-active {
	border-color: var(--xp-accent);
	opacity: 1;
}

.xp-pd__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 信息栏 */
.xp-pd__info {
	padding-top: 4px;
}

.xp-pd__info .woocommerce-breadcrumb {
	font-size: 13px;
	color: rgba(26, 26, 26, 0.55);
	margin-bottom: 24px;
}

.xp-pd__info .woocommerce-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.xp-pd__gender {
	display: flex;
	gap: 10px;
	margin-bottom: 18px;
}

.xp-pd__gender-btn {
	border: 1px solid var(--xp-border);
	background: #fff;
	border-radius: 999px;
	padding: 8px 22px;
	font-size: 14px;
	cursor: pointer;
}

.xp-pd__gender-btn.is-active {
	border-color: var(--xp-accent);
	background: var(--xp-accent);
	color: #fff;
}

.xp-pd__title {
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.xp-pd__subtitle {
	margin: 14px 0 0;
	color: rgba(26, 26, 26, 0.6);
	font-size: clamp(15px, 1.6vw, 17px);
	line-height: 1.6;
}

.xp-pd__price {
	margin: 22px 0 28px;
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 600;
}

/* 未登录：全站前台不显示价格（商品列表 / 首页推荐 / 相关商品 / 首页商品区卡片等） */
.not-logged-in .price,
.not-logged-in .xp-product-card__price,
.not-logged-in .wc-block-components-product-price {
	display: none !important;
}

/* 未登录：商店列表页不显示「加入购物车 / 选择选项」按钮（兜底，服务端已不输出） */
.not-logged-in ul.products li.product .button,
.not-logged-in .wc-block-components-product-button__button {
	display: none !important;
}

/* 颜色 / 尺码 选项 */
.xp-pd__option {
	margin-bottom: 22px;
}

.xp-pd__option-label {
	font-size: 14px;
	color: rgba(26, 26, 26, 0.55);
	margin-bottom: 12px;
}

.xp-pd__colors {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.xp-pd__color {
	border: 1px solid var(--xp-border);
	background: #fff;
	border-radius: 999px;
	padding: 10px 22px;
	font-size: 15px;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

.xp-pd__color.is-active {
	border-color: var(--xp-accent);
	font-weight: 600;
}

.xp-pd__sizes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
	gap: 10px;
	max-width: 420px;
}

.xp-pd__size {
	border: 1px solid var(--xp-border);
	background: #fff;
	border-radius: 4px;
	padding: 14px 0;
	font-size: 15px;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.xp-pd__size.is-active {
	border-color: var(--xp-accent);
	background: var(--xp-accent);
	color: #fff;
	font-weight: 600;
}

/* 购物区：隐藏 WooCommerce 原生下拉，但保留功能 */
.xp-pd__cart {
	margin: 8px 0 18px;
}

.xp-pd__cart .variations {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
}

.xp-pd__cart .cart,
.xp-pd__cart form.cart {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0;
}

.xp-pd__cart .quantity {
	margin: 0;
}

.xp-pd__cart .quantity .qty {
	width: 64px;
	height: 52px;
	border: 1px solid var(--xp-border);
	border-radius: 999px;
	text-align: center;
	font-size: 16px;
	font-family: inherit;
}

.xp-pd__cart .single_add_to_cart_button {
	background: var(--xp-accent);
	color: #fff;
	border: 0;
	border-radius: 999px;
	height: 52px;
	padding: 0 40px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.xp-pd__cart .single_add_to_cart_button:hover {
	opacity: 0.88;
}

.xp-pd__cart .single_variation_wrap {
	width: 100%;
}

.xp-pd__cart .woocommerce-variation-price {
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: 600;
}

.xp-pd__cart .stock {
	margin: 8px 0 0;
}

/* 微信选购 / 门店库存 */
.xp-pd__wechat {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 420px;
	height: 52px;
	border: 1px solid var(--xp-accent);
	background: #fff;
	color: var(--xp-accent);
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.xp-pd__wechat svg {
	width: 22px;
	height: 22px;
}

.xp-pd__stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-size: 14px;
	color: rgba(26, 26, 26, 0.6);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

.xp-pd__stock svg {
	width: 18px;
	height: 18px;
}

/* 商品介绍与参数 */
.xp-pd__detail {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: clamp(32px, 5vw, 80px);
	margin-top: clamp(48px, 7vw, 96px);
}

.xp-pd__desc .xp-section-title,
.xp-pd__spec .xp-section-title {
	font-size: clamp(20px, 2.2vw, 26px);
	margin-bottom: 24px;
}

.xp-pd__desc p {
	color: rgba(26, 26, 26, 0.7);
	line-height: 1.8;
	margin: 0 0 16px;
}

.xp-pd__spec-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.xp-pd__spec-list li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--xp-border);
	font-size: 15px;
}

.xp-pd__spec-key {
	color: rgba(26, 26, 26, 0.55);
}

.xp-pd__spec-val {
	text-align: right;
}

/* 相关商品（横向滑动） */
.xp-pd__related {
	margin-top: clamp(48px, 7vw, 96px);
}

.xp-pd__related .xp-scroll-bar {
	margin-top: 24px;
}

.xp-pd__related-list {
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 6px;
}

.xp-pd__related-list::-webkit-scrollbar {
	display: none;
}

.xp-pd__related-list ul.products {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(12px, 1.4vw, 18px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.xp-pd__related-list ul.products li.product {
	flex: 0 0 clamp(200px, 23vw, 300px);
	scroll-snap-align: start;
}

/* 微信选购弹窗 */
.xp-wechat-modal {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xp-wechat-modal[hidden] {
	display: none;
}

.xp-wechat-modal__mask {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.xp-wechat-modal__panel {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 12px;
	padding: 40px 36px 36px;
	width: min(360px, 90vw);
	text-align: center;
}

.xp-wechat-modal__close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: none;
	border: 0;
	font-size: 28px;
	line-height: 1;
	color: var(--xp-accent);
	cursor: pointer;
}

.xp-wechat-modal__title {
	font-size: 22px;
	margin: 0 0 8px;
}

.xp-wechat-modal__hint {
	font-size: 14px;
	color: rgba(26, 26, 26, 0.6);
	margin: 0 0 20px;
}

.xp-wechat-modal__qr {
	width: 180px;
	height: 180px;
	object-fit: contain;
	margin: 0 auto 16px;
	border: 1px solid var(--xp-border);
	border-radius: 8px;
	padding: 8px;
}

.xp-wechat-modal__id {
	font-size: 15px;
	margin: 0;
}

@media (max-width: 750px) {
	.xp-pd__layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.xp-pd__gallery {
		position: static;
	}
}

@media (max-width: 720px) {
	.xp-pd__detail {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* 尊重减少动态效果偏好 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
