/**
 * 贤紫优选 · 移动端商城 UI
 */
:root {
	--xz-brand: #ff5000;
	--xz-brand-dark: #ff4400;
	--xz-price: #ff0036;
	--xz-price-sub: #ff5000;
	--xz-bg-page: #f5f5f7;
	--xz-bg-card: #ffffff;
	--xz-text: #111111;
	--xz-text-sub: #666666;
	--xz-text-muted: #999999;
	--xz-border: #ffe0cc;
	--xz-radius-card: 12px;
	--xz-radius-pill: 999px;
	--xz-gap-col: 8px;
	--xz-home-sticky-h: 100px;
}

/* 首页顶栏：频道 + 搜索 */
.xz-home-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: var(--xz-bg-card);
	transition: box-shadow 0.25s ease;
}

.xz-channel-tabs-bar {
	display: flex;
	align-items: stretch;
	background: var(--xz-bg-card);
}

.xz-channel-tabs-bar .xz-channel-tabs {
	flex: 1;
	min-width: 0;
}

.xz-top-auth {
	flex-shrink: 0;
	align-self: center;
	padding: 0 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--xz-brand);
	text-decoration: none;
	line-height: 40px;
	white-space: nowrap;
}

.xz-home-sticky.is-scrolled {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.xz-channel-tabs {
	height: 40px;
	overflow: hidden;
	background: var(--xz-bg-card);
}

.xz-channel-tabs__scroll {
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 8px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.xz-channel-tabs__scroll::-webkit-scrollbar {
	display: none;
}

.xz-channel-tab {
	flex-shrink: 0;
	padding: 0 12px;
	font-size: 15px;
	color: var(--xz-text-sub);
	text-decoration: none;
	line-height: 40px;
	position: relative;
	white-space: nowrap;
}

.xz-channel-tab.is-active {
	color: var(--xz-text);
	font-weight: 600;
}

.xz-channel-tab.is-active::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 4px;
	transform: translateX(-50%);
	width: 18px;
	height: 3px;
	border-radius: 2px;
	background: var(--xz-brand);
}

.xz-channel-tab--hot {
	color: #ff0036;
	font-weight: 600;
}

.xz-channel-tab--music {
	color: #5b8def;
	font-weight: 600;
}

.xz-search-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 10px 10px;
}

.xz-search-scan,
.xz-search-action {
	flex-shrink: 0;
	width: 40px;
	min-width: 40px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--xz-text);
	text-decoration: none;
	font-size: 13px;
	border: none;
	background: transparent;
	padding: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.xz-search-scan__icon,
.xz-search-scan img {
	width: 24px;
	height: 24px;
	display: block;
	object-fit: contain;
	flex-shrink: 0;
}

.xz-search-scan .aui-icon-code {
	width: 24px;
	height: 24px;
	background-size: 24px;
}

.xz-search-action-text {
	font-size: 13px;
	color: var(--xz-text);
	white-space: nowrap;
	min-width: 32px;
	text-align: center;
}

.xz-search-form {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	height: 36px;
	border: 1.5px solid var(--xz-brand);
	border-radius: var(--xz-radius-pill);
	background: #fff;
	overflow: hidden;
}

.xz-search-form__icon {
	flex-shrink: 0;
	width: 32px;
	text-align: center;
	color: var(--xz-text-muted);
	font-size: 14px;
}

.xz-search-form__input {
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	font-size: 14px;
	height: 100%;
	padding: 0 4px 0 0;
	background: transparent;
	color: var(--xz-text);
}

.xz-search-form__input::placeholder {
	color: #bbb;
}

.xz-search-form__btn {
	flex-shrink: 0;
	height: 100%;
	padding: 0 14px;
	border: none;
	background: var(--xz-brand);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

/* 首页内容区顶距（JS 会按实际顶栏高度覆盖 padding-top） */
.aui-content-box.xz-home-page {
	padding-top: var(--xz-home-sticky-h);
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 8px;
	background: var(--xz-bg-page);
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

/* 首页模块：统一间距与白卡片容器 */
.xz-home-module {
	margin-top: 10px;
	background: var(--xz-bg-card);
	border-radius: var(--xz-radius-card);
	padding: 12px 10px 10px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.xz-home-module--promo {
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.xz-home-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
	padding: 0 2px;
}

.xz-home-section-head__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--xz-text);
	line-height: 1.2;
}

.xz-home-section-head__more {
	flex-shrink: 0;
	font-size: 12px;
	color: var(--xz-brand);
	text-decoration: none;
	white-space: nowrap;
}

.xz-home-module__body {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.xz-home-module .aui-grid-content,
.xz-home-module .xz-act-lane,
.xz-home-module .xz-feature-quad {
	margin: 0;
	background: transparent;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

/* 大促横滑 */
.xz-promo-strip {
	margin: 0;
	padding: 12px;
	background: linear-gradient(135deg, #fff5f0 0%, #ffe8e0 100%);
	border-radius: var(--xz-radius-card);
}

.xz-promo-strip__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.xz-promo-strip__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--xz-price);
}

.xz-promo-strip__more {
	font-size: 12px;
	color: var(--xz-brand);
	text-decoration: none;
}

/* 四列等分，避免固定 100px 导致第 4 张被裁切 */
.xz-promo-strip__cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	overflow: visible;
}

.xz-promo-card {
	width: 100%;
	min-width: 0;
	padding: 8px 4px;
	background: #fff;
	border-radius: 10px;
	text-decoration: none;
	text-align: center;
	box-shadow: 0 1px 4px rgba(255, 80, 0, 0.12);
	box-sizing: border-box;
}

.xz-promo-card__tag {
	display: inline-block;
	font-size: 10px;
	color: #fff;
	background: var(--xz-price);
	padding: 2px 6px;
	border-radius: 4px;
	margin-bottom: 4px;
}

.xz-promo-card__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--xz-text);
	line-height: 1.3;
}

.xz-promo-card__sub {
	font-size: 10px;
	color: var(--xz-text-muted);
	margin-top: 2px;
	line-height: 1.2;
	word-break: keep-all;
}

/* 推荐区标题 */
.xz-feed-head {
	padding: 12px 12px 6px;
	background: var(--xz-bg-card);
}

.xz-feed-head__title {
	font-size: 17px;
	font-weight: 700;
	color: var(--xz-text);
	margin: 0 0 2px;
}

.xz-feed-head__sub {
	font-size: 12px;
	color: var(--xz-text-muted);
	margin: 0;
}

/* 双列商品卡（JS 渲染 + 兼容 aui-list-product） */
#recommend-section.aui-list-product,
#recommend-section {
	background: var(--xz-bg-page);
}

#recommend-container.aui-list-product-box {
	padding: 0 6px 12px;
	background: var(--xz-bg-page);
}

.aui-list-product-item.xz-feed-item {
	padding: 0 4px;
	margin-top: var(--xz-gap-col);
}

.xz-feed-card {
	display: block;
	background: var(--xz-bg-card);
	border-radius: var(--xz-radius-card);
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}

.xz-feed-card__img-wrap {
	position: relative;
	width: 100%;
	padding-top: 100%;
	background: #f8f8f8;
	overflow: hidden;
}

.xz-feed-card__img-wrap .mil-slot,
.xz-feed-card__img-wrap img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.xz-feed-card__img-wrap img.mil-img {
	display: block;
}

.xz-feed-card__badge {
	position: absolute;
	left: 6px;
	top: 6px;
	font-size: 10px;
	color: #fff;
	background: linear-gradient(90deg, #ff6034, #ee0a24);
	padding: 2px 6px;
	border-radius: 4px;
	line-height: 1.2;
	max-width: 80%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.xz-feed-card__body {
	padding: 8px 10px 10px;
}

.xz-feed-card__title {
	font-size: 13px;
	line-height: 1.4;
	color: var(--xz-text);
	font-weight: 400;
	margin: 0 0 6px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 36px;
}

.xz-feed-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 6px;
	min-height: 0;
}

.xz-feed-card__tag {
	font-size: 10px;
	padding: 1px 5px;
	border-radius: 3px;
	line-height: 1.3;
}

.xz-feed-card__tag--red {
	color: var(--xz-price);
	background: #fff0f0;
	border: 1px solid #ffd6d6;
}

.xz-feed-card__tag--orange {
	color: var(--xz-brand);
	background: #fff7f0;
	border: 1px solid #ffe4cc;
}

.xz-feed-card__price-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px;
}

.xz-feed-card__price {
	font-size: 18px;
	font-weight: 700;
	color: var(--xz-price);
}

.xz-feed-card__price em {
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
}

.xz-feed-card__sales {
	font-size: 11px;
	color: var(--xz-text-muted);
	white-space: nowrap;
}

/* 加载更多按钮 */
#recommend-load-more #load-more-btn {
	background: #fff !important;
	border: 1px solid #eee !important;
	color: var(--xz-text-sub) !important;
	border-radius: var(--xz-radius-pill) !important;
	font-size: 13px !important;
}

/* 隐藏旧首页顶栏（保留 DOM 兼容时） */
.xz-home-page .aui-header-default.aui-header-fixed.xz-header-replaced {
	display: none !important;
}

/* 首页金刚区、Banner：勿被固定顶栏遮挡；左右留白由 .xz-home-page 统一 */
.xz-home-page .aui-banner-content {
	margin: 0 0 8px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border-radius: var(--xz-radius-card);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.xz-home-page .aui-banner-pagination {
	left: 0;
	right: 0;
	justify-content: center;
	padding: 0 12px;
	box-sizing: border-box;
}

.xz-home-sticky {
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.xz-home-page .aui-grid-content {
	margin: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: transparent;
	border-radius: 0;
	padding: 2px 0 0;
	display: block;
}

/* 金刚区：flex 五等分，覆盖 home.css 的 float/table-cell */
.xz-home-icon-grid .aui-grid-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	padding: 4px 0 8px;
	overflow: hidden;
	clear: both;
}

.xz-home-icon-grid .aui-grid-row-item {
	float: none !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 20% !important;
	flex: 0 0 20%;
	max-width: 20%;
	min-width: 0;
	padding: 4px 0 !important;
	box-sizing: border-box;
	position: static;
}

/* 金刚区：统一圆角渐变 + 线条图标 */
.xz-nav-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto;
	border-radius: 14px;
	flex-shrink: 0;
}

.xz-nav-icon svg {
	width: 26px;
	height: 26px;
	display: block;
}

.xz-nav-icon--women {
	background: linear-gradient(145deg, #fff0f3 0%, #ffd6e0 100%);
	color: #e91e8c;
}

.xz-nav-icon--men {
	background: linear-gradient(145deg, #fff8ee 0%, #ffe0b8 100%);
	color: #e65100;
}

.xz-nav-icon--shoes {
	background: linear-gradient(145deg, #f3f0ff 0%, #ddd6fe 100%);
	color: #5b21b6;
}

.xz-nav-icon--bag {
	background: linear-gradient(145deg, #fffbeb 0%, #fde68a 100%);
	color: #b45309;
}

.xz-nav-icon--tech {
	background: linear-gradient(145deg, #eff6ff 0%, #bfdbfe 100%);
	color: #1d4ed8;
}

.xz-nav-item:active .xz-nav-icon {
	transform: scale(0.94);
}

.xz-home-icon-grid .aui-icon-large,
.xz-home-icon-grid .aui-icon-large-sm {
	display: none;
}

/* 旧烘焙页仍带 img 时：隐藏杂色 SVG，用伪元素统一风格 */
.xz-home-icon-grid .aui-grid-row-item .aui-icon-large-sm:only-child,
.xz-home-icon-grid .aui-grid-row-item .aui-icon-large:only-child {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto;
	border-radius: 14px;
	position: relative;
}

.xz-home-icon-grid .aui-grid-row-item .aui-icon-large-sm img,
.xz-home-icon-grid .aui-grid-row-item .aui-icon-large img {
	display: none !important;
}

.xz-home-icon-grid .aui-grid-row-item:nth-child(1) .aui-icon-large-sm,
.xz-home-icon-grid .aui-grid-row-item:nth-child(1) .aui-icon-large {
	background: linear-gradient(145deg, #fff0f3, #ffd6e0);
}

.xz-home-icon-grid .aui-grid-row-item:nth-child(2) .aui-icon-large-sm,
.xz-home-icon-grid .aui-grid-row-item:nth-child(2) .aui-icon-large {
	background: linear-gradient(145deg, #fff8ee, #ffe0b8);
}

.xz-home-icon-grid .aui-grid-row-item:nth-child(3) .aui-icon-large-sm,
.xz-home-icon-grid .aui-grid-row-item:nth-child(3) .aui-icon-large {
	background: linear-gradient(145deg, #f3f0ff, #ddd6fe);
}

.xz-home-icon-grid .aui-grid-row-item:nth-child(4) .aui-icon-large-sm,
.xz-home-icon-grid .aui-grid-row-item:nth-child(4) .aui-icon-large {
	background: linear-gradient(145deg, #fffbeb, #fde68a);
}

.xz-home-icon-grid .aui-grid-row-item:nth-child(5) .aui-icon-large-sm,
.xz-home-icon-grid .aui-grid-row-item:nth-child(5) .aui-icon-large {
	background: linear-gradient(145deg, #eff6ff, #bfdbfe);
}

.xz-home-icon-grid .aui-grid-row-item:nth-child(1) .aui-icon-large-sm::after,
.xz-home-icon-grid .aui-grid-row-item:nth-child(1) .aui-icon-large::after { content: "👗"; font-size: 22px; }
.xz-home-icon-grid .aui-grid-row-item:nth-child(2) .aui-icon-large-sm::after,
.xz-home-icon-grid .aui-grid-row-item:nth-child(2) .aui-icon-large::after { content: "👔"; font-size: 22px; }
.xz-home-icon-grid .aui-grid-row-item:nth-child(3) .aui-icon-large-sm::after,
.xz-home-icon-grid .aui-grid-row-item:nth-child(3) .aui-icon-large::after { content: "👟"; font-size: 22px; }
.xz-home-icon-grid .aui-grid-row-item:nth-child(4) .aui-icon-large-sm::after,
.xz-home-icon-grid .aui-grid-row-item:nth-child(4) .aui-icon-large::after { content: "👜"; font-size: 22px; }
.xz-home-icon-grid .aui-grid-row-item:nth-child(5) .aui-icon-large-sm::after,
.xz-home-icon-grid .aui-grid-row-item:nth-child(5) .aui-icon-large::after { content: "⚡"; font-size: 22px; }

.xz-home-page .aui-grid-row-item {
	padding: 6px 0;
}

.xz-home-page .aui-grid-row-item .xz-nav-icon ~ .aui-icon-large,
.xz-home-page .aui-grid-row-item .xz-nav-icon ~ .aui-icon-large-sm {
	display: none;
}

.xz-home-icon-grid .aui-grid-row-label {
	font-size: 12px;
	color: var(--xz-text);
	margin-top: 6px;
	text-align: center;
	width: 100%;
	padding: 0 1px;
	box-sizing: border-box;
	line-height: 1.25;
	word-break: keep-all;
}

.xz-home-page .aui-grid-row-label {
	font-size: 11px;
	color: var(--xz-text);
	margin-top: 4px;
}

/* ---------- 首页活动动效入口（四宫格） ---------- */
.xz-act-lane {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.xz-act-lane__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
}

.xz-act-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 86px;
	padding: 8px 3px 6px;
	border-radius: 10px;
	text-decoration: none;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.xz-act-card:active {
	transform: scale(0.96);
}

.xz-act-card__badge {
	position: absolute;
	top: 6px;
	right: 6px;
	z-index: 2;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	padding: 3px 5px;
	border-radius: 4px;
	color: #fff;
	background: rgba(0, 0, 0, 0.35);
	letter-spacing: 0.02em;
}

.xz-act-card__badge--pulse {
	background: #ff2727;
	animation: xz-act-badge-pulse 1.4s ease-in-out infinite;
}

.xz-act-card__badge--glow {
	background: linear-gradient(90deg, #ff6b8a, #9b7bff);
	animation: xz-act-badge-glow 2s ease-in-out infinite;
}

.xz-act-card__icon-wrap {
	position: relative;
	z-index: 1;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.xz-act-card__icon-wrap--spin {
	animation: xz-act-icon-spin 6s linear infinite;
}

.xz-act-card__icon {
	width: 28px;
	height: 28px;
	object-fit: contain;
	display: block;
}

.xz-act-card__title {
	position: relative;
	z-index: 1;
	margin: 6px 0 2px;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.xz-act-card__sub {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 10px;
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.2;
	text-align: center;
}

/* 主题渐变 */
.xz-act-card--violet {
	background: linear-gradient(145deg, #9b7bff 0%, #7c3aed 55%, #ff6b8a 100%);
}

.xz-act-card--music {
	background: linear-gradient(145deg, #5b8def 0%, #3b6fd9 50%, #9b7bff 100%);
	background-size: 200% 200%;
	animation: xz-act-gradient-shift 4s ease infinite;
}

.xz-act-card--digital {
	background: linear-gradient(145deg, #4a9eff 0%, #2563eb 55%, #1e40af 100%);
}

.xz-act-card--living {
	background: linear-gradient(145deg, #52c41a 0%, #389e0d 50%, #73d13d 100%);
}

.xz-act-card--wheel {
	background: linear-gradient(145deg, #7c3aed 0%, #5b21b6 50%, #9333ea 100%);
}

/* 兼容旧类名 */
.xz-act-card--flash {
	background: linear-gradient(145deg, #ff6034 0%, #ff2727 55%, #ff9500 100%);
}

.xz-act-card--fashion {
	background: linear-gradient(145deg, #ff6b8a 0%, #ff85c0 45%, #9b7bff 100%);
	background-size: 200% 200%;
	animation: xz-act-gradient-shift 4s ease infinite;
}

.xz-act-card--hub {
	background: linear-gradient(145deg, #4a9eff 0%, #2563eb 55%, #52c41a 100%);
}

.xz-act-card--skeleton {
	min-height: 96px;
	background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
	background-size: 200% 100%;
	animation: xz-act-skeleton 1.2s ease infinite;
	pointer-events: none;
}

/* 秒杀：光泽扫过 */
.xz-act-card__shine {
	position: absolute;
	top: 0;
	left: -100%;
	width: 60%;
	height: 100%;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.35),
		transparent
	);
	animation: xz-act-shine 2.8s ease-in-out infinite;
	pointer-events: none;
}

/* 时髦精：浮动光斑 */
.xz-act-card__orb {
	position: absolute;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
	top: -12px;
	left: -8px;
	animation: xz-act-orb-float 3s ease-in-out infinite;
	pointer-events: none;
}

/* 活动广场：涟漪 */
.xz-act-card__ripple {
	position: absolute;
	bottom: -20px;
	right: -20px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.4);
	animation: xz-act-ripple 2.2s ease-out infinite;
	pointer-events: none;
}

@keyframes xz-act-badge-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.08); opacity: 0.9; }
}

@keyframes xz-act-badge-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255, 107, 138, 0.5); }
	50% { box-shadow: 0 0 8px 2px rgba(155, 123, 255, 0.6); }
}

@keyframes xz-act-icon-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@keyframes xz-act-gradient-shift {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

@keyframes xz-act-shine {
	0% { left: -100%; }
	45%, 100% { left: 150%; }
}

@keyframes xz-act-orb-float {
	0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
	50% { transform: translate(6px, 8px) scale(1.1); opacity: 0.75; }
}

@keyframes xz-act-ripple {
	0% { transform: scale(0.6); opacity: 0.8; }
	100% { transform: scale(1.4); opacity: 0; }
}

@keyframes xz-act-skeleton {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
	.xz-act-card__shine,
	.xz-act-card__orb,
	.xz-act-card__ripple,
	.xz-act-card__icon-wrap--spin,
	.xz-act-card--fashion,
	.xz-act-card__badge--pulse,
	.xz-act-card__badge--glow {
		animation: none;
	}
}

.xz-home-page > .xz-act-lane {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: 100%;
}

/* 四宫格精选（替换原 aui-content-six） */
.xz-feature-quad {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.xz-feature-quad__cell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	padding: 12px 10px;
	background: var(--xz-bg-card);
	border-radius: var(--xz-radius-card);
	text-decoration: none;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	min-height: 72px;
}

.xz-feature-quad__text {
	flex: 1;
	min-width: 0;
	text-align: left;
}

.xz-feature-quad__text h3 {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--xz-text);
	line-height: 1.3;
}

.xz-feature-quad__text p {
	margin: 0;
	font-size: 11px;
	color: var(--xz-text-muted);
	line-height: 1.35;
}

.xz-feature-quad__text .xz-feature-quad__accent {
	color: var(--xz-brand);
}

.xz-feature-quad__cell--beauty {
	background: linear-gradient(135deg, #fff 0%, #fff5f8 100%);
}

.xz-feature-quad__cell--fashion {
	background: linear-gradient(135deg, #fff 0%, #f5f0ff 100%);
}

.xz-feature-quad__cell--music {
	background: linear-gradient(135deg, #fff 0%, #eef6ff 100%);
}

.xz-feature-quad__img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex-shrink: 0;
}

/* 专场标题：弱化紫色图，统一橙色系 */
.xz-home-page .aui-title-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 14px 16px 8px;
	margin: 0;
	background: transparent;
}

.xz-home-page .aui-title-head::before,
.xz-home-page .aui-title-head::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, #ffd4c2, transparent);
	max-width: 80px;
}

.xz-home-page .aui-title-head img {
	max-height: 22px;
	width: auto;
	object-fit: contain;
}

/* 横滑商品区、列表专场 */
.xz-home-page .aui-slide-box,
.xz-home-page .aui-list-content {
	margin: 0 0 8px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: var(--xz-bg-card);
	border-radius: var(--xz-radius-card);
	overflow: hidden;
}

.xz-home-page .aui-slide-item-price {
	color: var(--xz-price) !important;
	font-weight: 600;
}

.xz-home-page .aui-slide-item-title {
	font-size: 12px;
	color: var(--xz-text);
}

.xz-home-sticky .xz-search-scan {
	width: 40px;
	min-width: 40px;
}

.xz-promo-strip {
	margin-top: 0;
	overflow: visible;
}

/* 模块间距统一（左右不再单独 margin，避免偏右） */
.xz-home-page > .aui-banner-content {
	margin: 0 0 10px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.xz-home-page > .xz-home-module,
.xz-home-page > .xz-promo-strip,
.xz-home-page > .aui-grid-content,
.xz-home-page > .xz-act-lane,
.xz-home-page > .xz-feature-quad {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.xz-home-page .aui-list-content + .aui-list-content {
	margin-top: 8px;
}

/* —— 搜索页 —— */
.xz-search-page {
	min-height: 100vh;
	background: var(--xz-bg-page);
	padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
}

.xz-search-page__head {
	position: sticky;
	top: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: calc(8px + env(safe-area-inset-top, 0px)) 10px 10px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.xz-search-page__back {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--xz-text);
	text-decoration: none;
}

.xz-search-page__form {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	height: 40px;
	margin: 0;
	padding: 0 4px 0 10px;
	background: #f0f1f3;
	border: none !important;
	border-radius: 20px;
	overflow: hidden;
}

.xz-search-page__form-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	color: var(--xz-text-muted);
	margin-right: 6px;
}

.xz-search-page__input {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: none;
	outline: none;
	font-size: 14px;
	background: transparent;
	color: var(--xz-text);
}

.xz-search-page__input::placeholder {
	color: #999;
}

.xz-search-page__submit {
	flex-shrink: 0;
	height: 100%;
	padding: 0 12px;
	border: none;
	background: transparent;
	color: var(--xz-brand);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.xz-search-page__scan {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.xz-search-page__scan img {
	display: block;
	width: 22px;
	height: 22px;
	object-fit: contain;
	opacity: 0.75;
}

.xz-search-block {
	padding: 0 14px 8px;
}

.xz-search-section-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 15px;
	font-weight: 600;
	color: var(--xz-text);
	margin: 14px 0 10px;
}

.xz-search-section-title button {
	border: none;
	background: transparent;
	color: var(--xz-text-muted);
	font-size: 13px;
	padding: 0;
	cursor: pointer;
}

.xz-search-empty {
	display: none;
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--xz-text-muted);
}

.xz-search-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.xz-search-tags li {
	display: inline-block;
}

.xz-search-tag {
	display: inline-block;
	padding: 8px 14px;
	font-size: 13px;
	color: var(--xz-text);
	background: #fff;
	border: none;
	border-radius: 8px;
	text-decoration: none;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.xz-search-tag:active {
	background: #f5f5f5;
}

/* 搜索页内不使用首页橙框搜索条 */
.xz-search-page .xz-search-row {
	display: none;
}

/* —— 搜索结果页 —— */
.xz-sr-page {
	min-height: 100vh;
	background: var(--xz-bg-page);
	padding-bottom: 24px;
}

.xz-sr-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
	padding-top: env(safe-area-inset-top, 0px);
}

.xz-sr-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
}

.xz-sr-head__scan {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.xz-sr-head__scan img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	opacity: 0.75;
}

.xz-sr-head__back {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--xz-text);
	text-decoration: none;
}

.xz-sr-head__form {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 4px 0 10px;
	background: #f0f1f3;
	border-radius: 20px;
}

.xz-sr-head__icon {
	flex-shrink: 0;
	color: var(--xz-text-muted);
	margin-right: 6px;
	display: flex;
}

.xz-sr-head__form input {
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	font-size: 14px;
	background: transparent;
	color: var(--xz-text);
}

.xz-sr-head__form button {
	flex-shrink: 0;
	border: none;
	background: transparent;
	color: var(--xz-brand);
	font-size: 14px;
	font-weight: 600;
	padding: 0 12px;
	cursor: pointer;
}

.xz-sr-sort {
	display: flex;
	align-items: center;
	justify-content: space-around;
	height: 44px;
	border-top: 1px solid #f0f0f0;
}

.xz-sr-sort__item {
	flex: 1;
	text-align: center;
	font-size: 14px;
	color: var(--xz-text-sub);
	text-decoration: none;
	line-height: 44px;
	position: relative;
}

.xz-sr-sort__item.is-active {
	color: var(--xz-brand);
	font-weight: 600;
}

.xz-sr-sort__item.is-active::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 6px;
	transform: translateX(-50%);
	width: 20px;
	height: 3px;
	border-radius: 2px;
	background: var(--xz-brand);
}

.xz-sr-meta {
	margin: 0;
	padding: 0 14px 8px;
	font-size: 12px;
	color: var(--xz-text-muted);
	background: #fff;
}

.xz-sr-list {
	padding: 8px 10px 0;
}

.xz-sr-card {
	display: flex;
	gap: 12px;
	padding: 12px;
	margin-bottom: 8px;
	background: #fff;
	border-radius: var(--xz-radius-card);
	text-decoration: none;
	color: inherit;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}

.xz-sr-card:active {
	background: #fafafa;
}

.xz-sr-card__img {
	flex-shrink: 0;
	width: 96px;
	height: 96px;
	border-radius: 8px;
	overflow: hidden;
	background: #f3f3f3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.xz-sr-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.xz-sr-card__img.is-placeholder .xz-sr-card__ph,
.xz-sr-card__ph {
	font-size: 12px;
	color: #bbb;
}

.xz-sr-card__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.xz-sr-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	color: var(--xz-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.xz-sr-card__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	margin-top: 8px;
}

.xz-sr-card__price {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--xz-price);
}

.xz-sr-card__price em {
	font-size: 12px;
	font-style: normal;
}

.xz-sr-card__sales {
	font-size: 12px;
	color: var(--xz-text-muted);
	white-space: nowrap;
}

.xz-sr-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 16px 14px 24px;
}

.xz-sr-pager__btn {
	padding: 10px 18px;
	border-radius: 20px;
	font-size: 14px;
	color: var(--xz-text);
	background: #fff;
	text-decoration: none;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.xz-sr-pager__btn--primary {
	background: linear-gradient(90deg, var(--xz-brand), var(--xz-brand-dark));
	color: #fff;
	font-weight: 600;
}

.xz-sr-pager__info {
	font-size: 13px;
	color: var(--xz-text-muted);
}

.xz-sr-empty {
	padding: 48px 20px 32px;
	text-align: center;
}

.xz-sr-empty__icon {
	font-size: 48px;
	margin-bottom: 12px;
}

.xz-sr-empty__title {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 600;
	color: var(--xz-text);
}

.xz-sr-empty__desc {
	margin: 0 0 20px;
	font-size: 14px;
	color: var(--xz-text-muted);
}

.xz-sr-empty__actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 28px;
}

.xz-sr-empty__btn {
	padding: 10px 22px;
	border-radius: 22px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	background: linear-gradient(90deg, var(--xz-brand), var(--xz-brand-dark));
	color: #fff;
}

.xz-sr-empty__btn--ghost {
	background: #fff;
	color: var(--xz-text-sub);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.xz-sr-empty__hot h3 {
	margin: 0 0 12px;
	font-size: 14px;
	color: var(--xz-text-sub);
	font-weight: 600;
}

.xz-sr-empty__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

/* —— 商品详情 —— */
.xz-detail-promo {
	margin: 0;
	padding: 12px 14px;
	background: linear-gradient(135deg, #ff6034 0%, #ee0a24 100%);
	color: #fff;
}

.xz-detail-promo__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
}

.xz-detail-promo__now {
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}

.xz-detail-promo__now em {
	font-size: 14px;
	font-style: normal;
}

.xz-detail-promo__was {
	font-size: 13px;
	opacity: 0.85;
	text-decoration: line-through;
	margin-left: 6px;
}

.xz-detail-promo__tag {
	display: inline-block;
	font-size: 11px;
	background: rgba(255, 255, 255, 0.25);
	padding: 2px 8px;
	border-radius: 4px;
	margin-left: 8px;
	vertical-align: middle;
}

.xz-detail-promo__meta {
	font-size: 11px;
	opacity: 0.9;
	text-align: right;
	white-space: nowrap;
}

.xz-detail-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 8px 14px;
	background: #fff;
	border-bottom: 1px solid #f0f0f0;
}

.xz-detail-trust__tag {
	font-size: 11px;
	color: var(--xz-brand);
	background: #fff7f0;
	border: 1px solid #ffe4cc;
	padding: 3px 8px;
	border-radius: 4px;
}

.xz-product-title-enhanced h2 {
	font-size: 16px;
	line-height: 1.45;
	font-weight: 600;
	color: var(--xz-text);
}

.aui-product-content .aui-real-price.xz-detail-price-legacy {
	display: none;
}

/* 商品详情底栏 */
.xz-detail-footer .aui-footer-product-fixed.xz-detail-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	height: auto;
	min-height: 56px;
	padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06);
	border-top: 1px solid #eee;
	background: #fff;
}

.xz-detail-footer .aui-footer-product-concern-cart:before {
	display: none;
}

.xz-detail-footer .xz-detail-bar__tools {
	float: none;
	width: auto;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 2px;
	background: transparent;
	overflow: visible;
}

.xz-detail-footer .xz-detail-tool {
	float: none;
	width: auto;
	min-width: 48px;
	height: auto;
	line-height: normal;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2px 4px;
	gap: 4px;
	color: var(--xz-text-sub, #666);
	text-decoration: none;
}

.xz-detail-footer .xz-detail-tool__icon {
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #f5f5f7;
	margin: 0;
}

.xz-detail-footer .xz-detail-tool__icon img {
	width: 20px;
	height: 20px;
	object-fit: contain;
	display: block;
}

.xz-detail-footer .xz-detail-tool__label,
.xz-detail-footer .aui-f-p-focus-info {
	font-size: 10px;
	color: var(--xz-text-sub, #666);
	line-height: 1.2;
	height: auto;
	margin: 0;
}

.xz-detail-footer .aui-f-p-icon {
	display: none;
}

.xz-detail-footer .xz-detail-bar__actions {
	float: none;
	flex: 1;
	min-width: 0;
	width: auto;
	display: flex;
	align-items: center;
	gap: 8px;
	overflow: visible;
}

.xz-detail-footer .xz-detail-bar__actions a {
	float: none;
	width: auto;
	flex: 1;
	min-width: 0;
	height: 44px;
	line-height: 44px;
	border-radius: 22px;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	padding: 0 8px;
	white-space: nowrap;
}

.xz-detail-footer .xz-detail-btn--cart.yellow-color {
	background: #fff;
	color: var(--xz-brand, #ff5000);
	border: 1.5px solid var(--xz-brand, #ff5000);
	box-shadow: none;
}

.xz-detail-footer .xz-detail-btn--buy.red-color {
	background: linear-gradient(135deg, #ff6034 0%, #ff2727 100%);
	color: #fff;
	border: none;
	box-shadow: 0 4px 14px rgba(255, 80, 0, 0.28);
}

.xz-detail-footer .xz-detail-btn:active {
	opacity: 0.9;
	transform: scale(0.98);
}

.aui-product-content.xz-detail-page,
.xz-detail-page.aui-product-content {
	padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
}

/* ---------- 活动广场 / 专场页 ---------- */
.xz-hub-page {
	min-height: 100vh;
	background: var(--xz-bg, #f5f5f5);
	padding-bottom: calc(16px + env(safe-area-inset-bottom));
}

.xz-hub-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 20;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.xz-hub-nav__back {
	font-size: 28px;
	line-height: 1;
	color: var(--xz-text, #333);
	text-decoration: none;
	width: 32px;
}

.xz-hub-nav__title {
	flex: 1;
	font-size: 17px;
	font-weight: 600;
	margin: 0;
	text-align: center;
}

.xz-hub-nav__link,
.xz-hub-nav__count {
	font-size: 12px;
	color: var(--xz-brand, #ff5000);
	text-decoration: none;
	white-space: nowrap;
}

.xz-hub-hero {
	margin: 12px 14px 0;
	padding: 18px 16px;
	border-radius: 12px;
	background: linear-gradient(135deg, #ff6034 0%, #ff2727 100%);
	color: #fff;
}

.xz-hub-hero h2 {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 700;
}

.xz-hub-hero p {
	margin: 0;
	font-size: 12px;
	opacity: 0.9;
}

.xz-hub-card-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	padding: 12px 14px;
}

.xz-hub-card {
	display: block;
	position: relative;
	padding: 14px 12px 12px;
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	color: var(--xz-text, #333);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.xz-hub-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--xz-hub-accent, #ff5000);
}

.xz-hub-card--rose::before { background: #ff6b8a; }
.xz-hub-card--blue::before { background: #4a9eff; }
.xz-hub-card--pink::before { background: #ff85c0; }
.xz-hub-card--purple::before { background: #9b7bff; }
.xz-hub-card--green::before { background: #52c41a; }
.xz-hub-card--orange::before { background: #ff9500; }

.xz-hub-card__tag {
	display: inline-block;
	font-size: 10px;
	color: #fff;
	background: var(--xz-hub-accent, #ff5000);
	padding: 2px 6px;
	border-radius: 4px;
	margin-bottom: 8px;
}

.xz-hub-card--rose .xz-hub-card__tag { background: #ff6b8a; }
.xz-hub-card--blue .xz-hub-card__tag { background: #4a9eff; }
.xz-hub-card--pink .xz-hub-card__tag { background: #ff85c0; }
.xz-hub-card--purple .xz-hub-card__tag { background: #9b7bff; }
.xz-hub-card--green .xz-hub-card__tag { background: #52c41a; }
.xz-hub-card--orange .xz-hub-card__tag { background: #ff9500; }

.xz-hub-card__icon {
	width: 40px;
	height: 40px;
	object-fit: contain;
	margin-bottom: 6px;
}

.xz-hub-card h3 {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
}

.xz-hub-card p {
	margin: 0 0 8px;
	font-size: 11px;
	color: #999;
	line-height: 1.35;
}

.xz-hub-card__go {
	font-size: 12px;
	color: var(--xz-brand, #ff5000);
	font-weight: 500;
}

.xz-hub-quick {
	margin: 4px 14px 16px;
	padding: 14px;
	background: #fff;
	border-radius: 12px;
}

.xz-hub-quick h3 {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
}

.xz-hub-quick__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.xz-hub-quick__row a {
	text-align: center;
	font-size: 12px;
	color: var(--xz-text, #333);
	text-decoration: none;
	padding: 10px 4px;
	background: #f7f7f7;
	border-radius: 8px;
}

/* 活动广场 · 热卖横滑（真实 SKU） */
.xz-hub-spotlight {
	margin: 10px 0 0;
	padding: 12px 0 4px;
	background: #fff;
}

.xz-hub-spotlight__head {
	padding: 0 14px 10px;
}

.xz-hub-spotlight__head h2 {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	color: var(--xz-text);
}

.xz-hub-spotlight__head p {
	margin: 0;
	font-size: 11px;
	color: var(--xz-text-muted);
}

.xz-hub-spotlight__scroll {
	display: flex;
	gap: 10px;
	padding: 0 14px 12px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.xz-hub-spotlight__scroll::-webkit-scrollbar {
	display: none;
}

.xz-hub-spotlight__item {
	flex: 0 0 88px;
	text-decoration: none;
	color: var(--xz-text);
}

.xz-hub-spotlight__img {
	width: 88px;
	height: 88px;
	border-radius: 10px;
	overflow: hidden;
	background: #f0f0f0;
}

.xz-hub-spotlight__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.xz-hub-spotlight__price {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 700;
	color: var(--xz-price);
}

.xz-hub-spotlight__tag {
	display: block;
	margin-top: 2px;
	font-size: 10px;
	color: var(--xz-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 活动广场 · 专场卡片（带商品预览图） */
.xz-hub-card-grid--live {
	padding-top: 8px;
}

.xz-hub-card-live {
	display: block;
	padding: 12px;
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	color: var(--xz-text);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	position: relative;
}

.xz-hub-card-live::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--xz-brand);
}

.xz-hub-card-live--rose::before { background: #ff6b8a; }
.xz-hub-card-live--blue::before { background: #4a9eff; }
.xz-hub-card-live--pink::before { background: #ff85c0; }
.xz-hub-card-live--purple::before { background: #9b7bff; }
.xz-hub-card-live--green::before { background: #52c41a; }
.xz-hub-card-live--orange::before { background: #ff9500; }

.xz-hub-card-live__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}

.xz-hub-card-live__tag {
	font-size: 10px;
	color: #fff;
	background: var(--xz-brand);
	padding: 2px 6px;
	border-radius: 4px;
}

.xz-hub-card-live--rose .xz-hub-card-live__tag { background: #ff6b8a; }
.xz-hub-card-live--blue .xz-hub-card-live__tag { background: #4a9eff; }
.xz-hub-card-live--pink .xz-hub-card-live__tag { background: #ff85c0; }
.xz-hub-card-live--purple .xz-hub-card-live__tag { background: #9b7bff; }
.xz-hub-card-live--green .xz-hub-card-live__tag { background: #52c41a; }
.xz-hub-card-live--orange .xz-hub-card-live__tag { background: #ff9500; }

.xz-hub-card-live__count {
	font-size: 10px;
	color: var(--xz-text-muted);
}

.xz-hub-card-live__title {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
}

.xz-hub-card-live__sub {
	margin: 0 0 8px;
	font-size: 11px;
	color: var(--xz-text-sub);
	line-height: 1.35;
	min-height: 30px;
}

.xz-hub-card-live__previews {
	display: flex;
	gap: 6px;
	margin-bottom: 8px;
}

.xz-hub-card-live__thumb {
	flex: 1;
	min-width: 0;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
	aspect-ratio: 1;
}

.xz-hub-card-live__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.xz-hub-card-live__thumb em {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 2px 4px;
	font-size: 10px;
	font-style: normal;
	font-weight: 600;
	color: #fff;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
	text-align: center;
}

.xz-hub-card-live__previews--empty {
	justify-content: center;
	min-height: 72px;
	align-items: center;
}

.xz-hub-card-live__fallback-icon {
	width: 48px;
	height: 48px;
	object-fit: contain;
	opacity: 0.5;
}

.xz-hub-card-live__go {
	font-size: 12px;
	color: var(--xz-brand);
	font-weight: 600;
}

.xz-hub-section-hero {
	position: relative;
	margin: 0;
	height: 160px;
	overflow: hidden;
	background: linear-gradient(135deg, #ff6034, #ff2727);
}

.xz-hub-page--blue .xz-hub-section-hero { background: linear-gradient(135deg, #4a9eff, #2563eb); }
.xz-hub-page--pink .xz-hub-section-hero { background: linear-gradient(135deg, #ff85c0, #ff6b8a); }
.xz-hub-page--purple .xz-hub-section-hero { background: linear-gradient(135deg, #9b7bff, #7c3aed); }
.xz-hub-page--green .xz-hub-section-hero { background: linear-gradient(135deg, #52c41a, #389e0d); }
.xz-hub-page--rose .xz-hub-section-hero { background: linear-gradient(135deg, #ff6b8a, #ff2727); }
.xz-hub-page--orange .xz-hub-section-hero { background: linear-gradient(135deg, #ff9500, #ff5000); }

.xz-hub-section-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.85;
}

.xz-hub-section-hero__mask {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 16px 14px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.45));
	color: #fff;
}

.xz-hub-section-hero__sub {
	margin: 0 0 4px;
	font-size: 12px;
	opacity: 0.95;
}

.xz-hub-section-hero__mask h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
}

.xz-hub-section-hero__hint {
	margin: 6px 0 0;
	font-size: 10px;
	opacity: 0.85;
}

.xz-hub-goods {
	padding: 10px 8px 16px;
}

.xz-hub-goods__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.xz-hub-goods__item {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}

.xz-hub-empty {
	text-align: center;
	padding: 48px 20px;
	color: #999;
	font-size: 14px;
}

/* —— 发现页顶栏 + 柔和搜索框 —— */
.xz-find-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #fff;
	padding-top: env(safe-area-inset-top, 0px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.xz-find-sticky__bar {
	display: flex;
	align-items: center;
	height: 44px;
	padding: 0 8px;
}

.xz-find-sticky__back {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--xz-text);
	text-decoration: none;
}

.xz-find-sticky__title {
	flex: 1;
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	text-align: center;
	color: var(--xz-text);
}

.xz-find-sticky__slot {
	flex-shrink: 0;
	width: 40px;
}

.xz-find-search {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	margin: 0 12px 8px;
	padding: 0 14px;
	background: #f0f1f3;
	border-radius: 20px;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

.xz-find-search:active {
	background: #e8e9eb;
}

.xz-find-search__icon {
	flex-shrink: 0;
	color: var(--xz-text-muted);
	display: flex;
	align-items: center;
}

.xz-find-search__text {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	color: #999;
	line-height: 1;
}

/* 发现系页面：顶栏占位 + Banner 不被遮挡 */
.xz-find-layout {
	--xz-find-sticky-h: calc(138px + env(safe-area-inset-top, 0px));
}

.xz-find-layout .aui-content-box {
	padding-top: var(--xz-find-sticky-h) !important;
}

.xz-find-layout .aui-banner-content,
.xz-find-layout .xz-find-banner {
	position: relative !important;
	top: auto !important;
	padding-top: 0 !important;
	margin: 0 0 10px;
	z-index: 1;
}

.xz-find-layout .aui-banner-wrapper,
.xz-find-layout .aui-banner-wrapper-item {
	height: auto !important;
}

.xz-find-layout .aui-banner-wrapper-item img {
	width: 100%;
	height: auto;
	max-height: none;
	display: block;
	object-fit: contain;
	vertical-align: top;
}

.xz-find-layout .aui-banner-pagination {
	bottom: 8px;
}

/* —— 首页品类专场（双列大卡片，替代旧四列横滑） —— */
.xz-floor {
	margin: 0 10px 12px;
	padding: 12px 12px 14px;
	background: var(--xz-bg-card);
	border-radius: var(--xz-radius-card);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.xz-floor__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.xz-floor__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--xz-text);
}

.xz-floor__more {
	font-size: 13px;
	color: var(--xz-text-muted);
	text-decoration: none;
}

.xz-floor__banner {
	display: block;
	margin-bottom: 12px;
	border-radius: 10px;
	overflow: hidden;
}

.xz-floor__banner img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
}

.xz-floor__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 8px;
}

.xz-floor__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	text-decoration: none;
	color: inherit;
	border-radius: 8px;
	overflow: hidden;
	background: #fafafa;
}

.xz-floor__card:active {
	opacity: 0.92;
}

.xz-floor__img {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	background: #f0f0f0;
	overflow: hidden;
}

.xz-floor__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.xz-floor__name {
	margin: 8px 8px 4px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--xz-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: left;
	min-height: 2.9em;
}

.xz-floor__price {
	margin: 0 8px 10px;
	font-size: 16px;
	font-weight: 700;
	color: var(--xz-price);
	text-align: left;
}

.xz-floor__price small {
	font-size: 12px;
	font-weight: 600;
}

.xz-floor--appliance .xz-floor__title { color: #1565c0; }
.xz-floor--beauty .xz-floor__title { color: #c2185b; }
.xz-floor--fashion .xz-floor__title { color: #6a1b9a; }
.xz-floor--home .xz-floor__title { color: #2e7d32; }
.xz-floor--featured .xz-floor__title { color: var(--xz-brand-dark); }

/* 未重新烘焙前：旧 aui-slide 专场强制改为双列（即时生效） */
.xz-home-page .aui-list-content .aui-slide-list,
.xz-home-page .aui-list-content .aui-slide-box .aui-slide-item-list {
	height: auto !important;
	overflow: visible !important;
}

.xz-home-page .aui-list-content .aui-slide-box .aui-slide-item-list {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 10px 8px !important;
	white-space: normal !important;
	padding: 0 10px 12px !important;
}

.xz-home-page .aui-list-content .aui-slide-item-item {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
}

.xz-home-page .aui-list-content .aui-slide-item-item .v-img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 8px;
}

.xz-home-page .aui-list-content .aui-slide-item-title {
	text-align: left !important;
	font-size: 13px !important;
	height: auto !important;
	min-height: 2.6em;
	margin: 8px 4px 4px !important;
}

.xz-home-page .aui-list-content .aui-slide-item-info {
	text-align: left !important;
	padding: 0 4px 8px !important;
}

/* —— 食品生鲜频道 —— */
.xz-fresh-page {
	min-height: 100vh;
	background: var(--xz-bg-page);
	padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}

.xz-fresh-nav {
	padding-top: env(safe-area-inset-top, 0px);
}

.xz-fresh-main {
	padding-bottom: 8px;
}

.xz-fresh-banner {
	display: block;
	margin: 10px 10px 0;
	border-radius: var(--xz-radius-card);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.xz-fresh-banner img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
}

.xz-fresh-promo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 10px 10px 12px;
	min-height: 168px;
}

.xz-fresh-promo__main,
.xz-fresh-promo__sub {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 0;
	padding: 12px;
	border-radius: var(--xz-radius-card);
	background: var(--xz-bg-card);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	color: var(--xz-text);
	overflow: hidden;
	position: relative;
}

.xz-fresh-promo__main {
	grid-row: 1 / span 2;
	background: linear-gradient(145deg, #e8f5e9 0%, #fff 55%);
}

.xz-fresh-promo__sub {
	min-height: 80px;
	background: linear-gradient(145deg, #fff8e1 0%, #fff 60%);
}

.xz-fresh-promo__sub--dairy {
	background: linear-gradient(145deg, #e3f2fd 0%, #fff 60%);
}

.xz-fresh-promo__text h2 {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 700;
	color: var(--xz-text);
}

.xz-fresh-promo__text p {
	margin: 0;
	font-size: 11px;
	color: var(--xz-text-muted);
	line-height: 1.4;
}

.xz-fresh-promo__go {
	display: inline-flex;
	align-items: center;
	margin-top: 8px;
	font-size: 11px;
	font-weight: 600;
	color: #2e7d32;
}

.xz-fresh-promo__go::after {
	content: '›';
	margin-left: 2px;
	font-size: 14px;
}

.xz-fresh-promo__thumb {
	position: absolute;
	right: 4px;
	bottom: 4px;
	width: 72px;
	height: 72px;
	object-fit: contain;
	pointer-events: none;
}

.xz-fresh-promo__main .xz-fresh-promo__thumb {
	width: 88px;
	height: 88px;
}

.xz-fresh-strip {
	display: block;
	margin: 0 10px 12px;
	border-radius: var(--xz-radius-card);
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.xz-fresh-strip img {
	width: 100%;
	height: auto;
	display: block;
}

.xz-fresh-goods-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4px 10px 8px;
}

.xz-fresh-goods-head h2 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #2e7d32;
}

.xz-fresh-page .xz-hub-goods {
	padding-top: 0;
}
