/* ==========================================================
   深圳严选 · PREMIUM SPA 预约 H5 全局样式
   男士亮色风 · 浅灰白底 · 正红强调 · 近黑文字 · 硬朗直角
   （明亮背景 + 强对比，避免粉嫩女性向）
   设计稿 750 宽，1rpx ≈ 0.1333vw
   ========================================================== */
:root {
	/* ---------- 底色：浅灰白（明亮·冷静） ---------- */
	--bg: #f4f5f7;               /* 页面背景 浅灰白 */
	--bg-2: #eceef1;             /* 次级背景 */
	--card: #ffffff;             /* 卡片背景 纯白 */
	--card-2: #fafbfc;           /* 卡片高亮层 */
	--line: rgba(224, 27, 36, 0.22);        /* 正红细线 */
	--line-soft: rgba(26, 26, 26, 0.08);    /* 深色描边（浅底用） */

	/* ---------- 文字：近黑（硬朗） ---------- */
	--ink: #16181a;              /* 主文字 近黑 */
	--ink-2: #5c5f63;            /* 次文字 深灰 */
	--ink-3: #9a9ea3;            /* 弱文字 中灰 */

	/* ---------- 强调色：正红（硬朗·醒目） ---------- */
	--gold: #e01b24;             /* 主红 */
	--gold-light: #c1121f;       /* 深红（浅底上的强调文字） */
	--gold-deep: #8b000e;        /* 更深红 */
	--on-dark: #ffd7d5;          /* 图片/暗底上的浅红字 */

	/* 渐变：按钮/图标底色（亮红 -> 深红，配白字） */
	--grad-gold: linear-gradient(120deg, #ff4d4f 0%, #e01b24 52%, #a80f14 100%);
	/* 渐变：浅底上的强调文字（压深，保证可读） */
	--grad-ink: linear-gradient(120deg, #e01b24 0%, #b31217 55%, #7a0d10 100%);
	/* 渐变：图片/暗底上的文字（亮色） */
	--grad-on-dark: linear-gradient(160deg, #ffffff 18%, #ffd7d5 52%, #ff8a80 100%);

	--serif: 'Songti SC', 'Noto Serif SC', 'STSong', 'SimSun', serif;
	--sans: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', 'Microsoft YaHei', sans-serif;
	--radius: 1.2vw;             /* 硬朗微圆角 */
	--shadow: 0 0.8vw 2.67vw rgba(20, 22, 26, 0.08);
	--shadow-lg: 0 2.67vw 8vw rgba(20, 22, 26, 0.14);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--sans);
	background:
		radial-gradient(110vw 56vw at 88% -14%, rgba(224, 27, 36, 0.06) 0%, transparent 58%),
		linear-gradient(180deg, #fafbfc 0%, var(--bg) 40%);
	background-attachment: fixed;
	color: var(--ink-2);
	font-size: 3.73vw;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img { display: block; width: 100%; }
a { text-decoration: none; color: inherit; }
::selection { background: rgba(224, 27, 36, 0.20); color: #fff; }

#app { min-height: 100vh; }

/* ---------------- 通用区块 ---------------- */
.section { padding: 2.67vw 4.27vw; }
/* 相邻板块只保留一处间距，避免上下 padding 叠加出大空白 */
.section + .section { padding-top: 0; }
.section-title {
	display: flex;
	align-items: baseline;
	margin-bottom: 3.73vw;
}
.section-title .bar {
	width: 0.93vw;
	height: 4.27vw;
	background: var(--grad-gold);
	margin-right: 2.4vw;
	align-self: center;
}
.section-title .txt {
	font-family: var(--serif);
	font-size: 5.07vw;
	font-weight: 700;
	letter-spacing: 0.43vw;
	color: var(--ink);
}
.section-title .more {
	margin-left: auto;
	font-size: 3.07vw;
	letter-spacing: 0.27vw;
	color: var(--ink-3);
	font-weight: 500;
}

/* ---------------- 首页 Hero ---------------- */
.hero {
	position: relative;
	padding: 12vw 5.33vw 4vw;
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
	border-bottom: 0.13vw solid var(--line-soft);
}
/* 硬朗几何：菱形轮廓装饰 */
.hero::before {
	content: '';
	position: absolute;
	top: 2.67vw; left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 60vw; height: 60vw;
	border: 0.27vw solid rgba(224, 27, 36, 0.08);
	pointer-events: none;
}
.hero::after {
	content: '';
	position: absolute;
	top: 10.67vw; left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 44vw; height: 44vw;
	border: 0.13vw solid rgba(224, 27, 36, 0.12);
	background: linear-gradient(135deg, rgba(224, 27, 36, 0.04) 0%, transparent 62%);
	pointer-events: none;
}
.hero-badge {
	display: flex;
	align-items: center;
	gap: 2.67vw;
	position: relative;
	z-index: 2;
	font-size: 2.8vw;
	font-weight: 600;
	letter-spacing: 0.93vw;
	color: var(--gold-light);
	margin-bottom: 4vw;
}
.hero-badge i {
	flex: 1;
	height: 0.13vw;
	background: linear-gradient(90deg, transparent, rgba(224, 27, 36, 0.45));
}
.hero-badge i:last-child { background: linear-gradient(90deg, rgba(224, 27, 36, 0.45), transparent); }
.hero-title {
	position: relative;
	z-index: 2;
	font-family: var(--serif);
	font-size: 9.07vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.53vw;
	text-align: center;
	color: var(--ink);
}
.hero-title em {
	font-style: normal;
	background: var(--grad-ink);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.hero-divider {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 2.13vw;
	margin: 4.27vw auto 0;
	max-width: 44vw;
}
.hero-divider i {
	flex: 1;
	height: 0.13vw;
	background: linear-gradient(90deg, transparent, rgba(224, 27, 36, 0.5), transparent);
}
.hero-divider b {
	width: 1.6vw; height: 1.6vw;
	background: var(--grad-gold);
	transform: rotate(45deg);
}
.hero-sub {
	position: relative;
	z-index: 2;
	margin-top: 3.47vw;
	text-align: center;
	font-size: 3.33vw;
	letter-spacing: 0.53vw;
	color: var(--ink-2);
}

/* ---------------- 轮播 ---------------- */
.swiper-wrap {
	margin: 6.4vw 0 0;
	overflow: hidden;
	position: relative;
	z-index: 2;
	box-shadow: var(--shadow-lg);
}
.swiper-track { display: flex; transition: transform 0.55s cubic-bezier(.25,.7,.35,1); }
.swiper-slide { flex: 0 0 100%; position: relative; }
.swiper-slide img { height: 48vw; object-fit: cover; }
.swiper-slide::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 66%, rgba(22, 24, 26, 0.28) 100%);
	pointer-events: none;
}
.swiper-dots {
	display: flex;
	justify-content: center;
	gap: 1.6vw;
	margin-top: 3.2vw;
	position: relative;
	z-index: 2;
}
.swiper-dots i {
	width: 1.6vw; height: 1.6vw;
	background: rgba(224, 27, 36, 0.20);
	transition: all 0.35s;
}
.swiper-dots i.active {
	background: var(--grad-gold);
	width: 6.4vw;
}

/* ---------------- 数据统计 ---------------- */
.stats {
	display: flex;
	margin-top: 6.93vw;
	background: var(--card);
	border: 0.13vw solid var(--line-soft);
	padding: 3.73vw 0;
	position: relative;
	z-index: 2;
	box-shadow: var(--shadow);
}
.stats .item { flex: 1; text-align: center; position: relative; }
.stats .item + .item::before {
	content: '';
	position: absolute;
	left: 0; top: 16%;
	bottom: 16%;
	width: 0.13vw;
	background: var(--line-soft);
}
.stats .num {
	font-family: var(--serif);
	font-size: 5.6vw;
	font-weight: 700;
	letter-spacing: 0.13vw;
	background: var(--grad-ink);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.stats .label {
	margin-top: 0.53vw;
	font-size: 2.93vw;
	letter-spacing: 0.27vw;
	color: var(--ink-2);
}

/* ---------------- 卡片 ---------------- */
.card {
	background: var(--card);
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line-soft);
	padding: 4.27vw;
	margin-bottom: 4vw;
}

/* ---------------- 区域网格 ---------------- */
.district-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.67vw; }
.district-item {
	position: relative;
	background: var(--card);
	padding: 4.53vw 1.6vw 3.73vw;
	text-align: center;
	overflow: hidden;
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line-soft);
	transition: transform 0.15s ease;
}
.district-item::before {
	content: attr(data-no);
	position: absolute;
	right: 1.6vw; top: 0.27vw;
	font-family: var(--serif);
	font-size: 5.87vw;
	font-weight: 700;
	color: rgba(224, 27, 36, 0.10);
	line-height: 1;
}
.district-item:active { transform: scale(0.95); }
.district-item .cn {
	font-family: var(--serif);
	font-size: 4.53vw;
	font-weight: 700;
	letter-spacing: 0.53vw;
	color: var(--ink);
}
.district-item .en {
	margin-top: 0.53vw;
	font-size: 2.27vw;
	letter-spacing: 0.4vw;
	color: var(--ink-3);
	font-weight: 500;
}
.district-item .count {
	display: inline-block;
	margin-top: 2.13vw;
	font-size: 2.67vw;
	letter-spacing: 0.13vw;
	color: var(--gold-light);
	background: rgba(224, 27, 36, 0.07);
	border: 0.13vw solid var(--line);
	padding: 0.27vw 2.4vw;
	font-weight: 600;
}

/* ---------------- 服务特色 ---------------- */
.feature-list { display: flex; flex-direction: column; gap: 2.67vw; }
.feature-row {
	display: flex;
	align-items: center;
	background: var(--card);
	padding: 3.2vw;
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line-soft);
}
.feature-row .icon {
	width: 9.33vw; height: 9.33vw;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.73vw;
	color: #fff;
	background: var(--grad-gold);
	box-shadow: 0 0.8vw 2.67vw rgba(224, 27, 36, 0.28);
}
.feature-row .info { margin-left: 3.2vw; }
.feature-row .name {
	font-size: 3.87vw;
	font-weight: 700;
	letter-spacing: 0.27vw;
	color: var(--ink);
}
.feature-row .desc { font-size: 3.07vw; letter-spacing: 0.13vw; color: var(--ink-3); margin-top: 0.4vw; }

/* ---------------- 门店卡片 ---------------- */
.store-card {
	display: flex;
	align-items: stretch;
	background: var(--card);
	overflow: hidden;
	margin-bottom: 3.47vw;
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line-soft);
	transition: transform 0.15s ease;
}
.store-card:active { transform: scale(0.97); }
.store-card .thumb {
	flex-shrink: 0;
	width: 29.33vw;
	min-height: 26.67vw;
	overflow: hidden;
	position: relative;
	background: var(--bg-2);
}
.store-card .thumb img { height: 100%; object-fit: cover; transition: transform 0.3s; }
.store-card:active .thumb img { transform: scale(1.05); }
.store-card .body {
	flex: 1;
	min-width: 0;
	padding: 3.2vw 3.47vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.store-card .name {
	font-size: 3.73vw;
	font-weight: 700;
	letter-spacing: 0.13vw;
	color: var(--ink);
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.store-card .tags { display: flex; flex-wrap: wrap; gap: 1.33vw; margin: 1.87vw 0 2.13vw; }
.store-card .tags span {
	font-size: 2.53vw;
	letter-spacing: 0.13vw;
	font-weight: 600;
	color: var(--gold-light);
	background: rgba(224, 27, 36, 0.07);
	border: 0.13vw solid var(--line);
	padding: 0.27vw 1.6vw;
}
.store-card .meta {
	display: flex;
	align-items: baseline;
	font-size: 2.93vw;
	color: var(--ink-3);
}
.store-card .meta .price {
	font-family: var(--serif);
	font-size: 4.27vw;
	font-weight: 700;
	color: var(--gold-light);
	margin-right: 1.07vw;
}
.store-card .meta .price em { font-style: normal; font-size: 2.93vw; }
.store-card .meta .dot {
	width: 0.8vw; height: 0.8vw;
	background: var(--gold);
	margin: 0 1.87vw;
	align-self: center;
	transform: rotate(45deg);
}
.store-card .arrow {
	align-self: center;
	flex-shrink: 0;
	margin-right: 3.2vw;
	color: var(--gold);
	font-size: 3.73vw;
	font-weight: 700;
}

/* ---------------- 门店详情 ---------------- */
.detail-hero {
	position: relative;
	padding: 8vw 5.33vw 4.27vw;
	overflow: hidden;
	/* 首图由 --hero-bg 传入，叠加暗色遮罩保证白字可读，底部平滑过渡到浅灰底 */
	background-color: var(--bg-2);
	background-image:
		linear-gradient(180deg,
			rgba(14, 15, 17, 0.42) 0%,
			rgba(14, 15, 17, 0.66) 54%,
			rgba(244, 245, 247, 0.96) 92%,
			#f4f5f7 100%),
		var(--hero-bg);
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
}
.detail-hero > * { position: relative; z-index: 2; }
/* 店铺详情页吸顶固定返回按钮 */
.detail-back-fixed {
	position: fixed;
	top: 2.67vw;
	left: 4.27vw;
	z-index: 100;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 11vw; height: 11vw;
	background: rgba(14, 15, 17, 0.55);
	border: 0.27vw solid rgba(255, 255, 255, 0.35);
	box-shadow: 0 1.07vw 3.2vw rgba(0, 0, 0, 0.35);
	color: #fff;
	font-size: 5.6vw;
	font-weight: 700;
	backdrop-filter: blur(8px);
	border-radius: 50%;
}
/* 详情页内 hero-badge 在暗底图片上，需提亮 */
.detail-hero .hero-badge { color: var(--on-dark); margin-bottom: 3.2vw; }
.detail-hero .hero-badge i { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5)); }
.detail-hero .hero-badge i:last-child { background: linear-gradient(90deg, rgba(255, 255, 255, 0.5), transparent); }
.detail-hero .store-name {
	font-family: var(--serif);
	font-size: 6.13vw;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
	letter-spacing: 0.27vw;
	text-shadow: 0 0.53vw 3.2vw rgba(0, 0, 0, 0.6);
}
.detail-hero .store-sub {
	margin-top: 1.87vw;
	font-size: 3.33vw;
	letter-spacing: 0.27vw;
	color: var(--on-dark);
}
.detail-hero .store-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6vw;
	margin-top: 3.2vw;
}
.detail-hero .store-tags span {
	font-size: 2.8vw;
	letter-spacing: 0.27vw;
	color: var(--on-dark);
	background: rgba(14, 15, 17, 0.32);
	border: 0.13vw solid rgba(255, 255, 255, 0.28);
	padding: 0.8vw 2.4vw;
	backdrop-filter: blur(4px);
}
.detail-hero .price-line {
	margin-top: 3.73vw;
	display: flex;
	align-items: baseline;
	gap: 1.07vw;
}
.detail-hero .price-line .rmb { font-size: 3.47vw; color: var(--on-dark); }
.detail-hero .price-line .price {
	font-family: var(--serif);
	font-size: 7.47vw;
	font-weight: 700;
	background: var(--grad-on-dark);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.detail-hero .price-line .unit { font-size: 2.93vw; color: rgba(255, 255, 255, 0.8); }

/* 特色网格 */
.feature-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.67vw;
	margin-top: 1.07vw;
}
.feature-item {
	background: var(--card);
	padding: 4vw 2.67vw;
	text-align: center;
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line-soft);
}
.feature-item .f-icon {
	width: 9.87vw; height: 9.87vw;
	margin: 0 auto 2.13vw;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.73vw;
	color: #fff;
	background: var(--grad-gold);
	box-shadow: 0 0.8vw 2.67vw rgba(224, 27, 36, 0.24);
}
.feature-item .f-name {
	font-size: 3.33vw;
	font-weight: 700;
	letter-spacing: 0.13vw;
	color: var(--ink);
}

/* 二维码 / 微信预约板块 */
.qr-wrap { text-align: center; padding: 2.67vw 0 1.33vw; }
.qr-wrap .qr-img {
	width: 50.67vw;
	height: 50.67vw;
	margin: 3.2vw auto;
	background: #fff;
	box-shadow: var(--shadow-lg), 0 0 0 0.13vw var(--line-soft);
}
.qr-wrap .qr-tip { font-size: 3.2vw; letter-spacing: 0.13vw; color: var(--ink-2); line-height: 1.8; }
.qr-wrap .qr-tip strong {
	font-weight: 700;
	color: var(--gold-light);
}

/* 微信预约卡片：醒目引导，突出转化 */
.booking-card {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, #fff8f8 100%);
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line);
}
.booking-card::before {
	content: '';
	position: absolute;
	left: 0; top: 0;
	width: 100%;
	height: 0.53vw;
	background: var(--grad-gold);
}
.booking-card .qr-wrap { padding: 5.33vw 0 2.67vw; }
.booking-card .qr-badge {
	display: inline-block;
	font-size: 2.67vw;
	font-weight: 700;
	letter-spacing: 0.4vw;
	color: #fff;
	background: var(--grad-gold);
	padding: 1.07vw 3.47vw;
	margin-bottom: 2.67vw;
	box-shadow: 0 0.8vw 2.67vw rgba(224, 27, 36, 0.28);
}
.booking-card .qr-frame {
	display: inline-block;
	padding: 2.67vw;
	background: #fff;
	border: 0.27vw solid var(--line);
	box-shadow: var(--shadow-lg);
}
.booking-card .qr-frame .qr-img {
	width: 44vw;
	height: 44vw;
	margin: 0;
	box-shadow: none;
}
/* 预约步骤 */
.qr-steps {
	display: flex;
	justify-content: center;
	gap: 2.13vw;
	margin-top: 4vw;
	padding: 0 2.67vw;
}
.qr-steps span {
	display: flex;
	align-items: center;
	font-size: 2.93vw;
	font-weight: 600;
	letter-spacing: 0.13vw;
	color: var(--ink-2);
}
.qr-steps span i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4vw; height: 4vw;
	margin-right: 1.07vw;
	font-style: normal;
	font-size: 2.4vw;
	font-weight: 700;
	color: #fff;
	background: var(--grad-gold);
}
/* 微信内置浏览器提示 */
.qr-wxtip {
	margin-top: 3.2vw;
	padding: 2.13vw 2.67vw;
	font-size: 2.93vw;
	line-height: 1.7;
	letter-spacing: 0.13vw;
	color: var(--ink-2);
	background: rgba(224, 27, 36, 0.06);
	border-left: 0.53vw solid var(--gold);
	text-align: left;
}
.qr-wxtip strong { font-weight: 700; color: var(--gold-light); }

/* 地址 / 导航 */
.addr-card { display: flex; align-items: flex-start; }
.addr-card .icon {
	flex-shrink: 0;
	width: 9.33vw; height: 9.33vw;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.73vw;
	color: #fff;
	background: var(--grad-gold);
	box-shadow: 0 0.8vw 2.67vw rgba(224, 27, 36, 0.24);
}
.addr-card .info { margin-left: 3.2vw; flex: 1; min-width: 0; }
.addr-card .addr { font-size: 3.6vw; color: var(--ink-2); line-height: 1.6; }
.addr-card .nav-btn {
	display: inline-flex;
	align-items: center;
	margin-top: 2.67vw;
	font-size: 3.2vw;
	font-weight: 700;
	letter-spacing: 0.27vw;
	color: #fff;
	background: var(--grad-gold);
	padding: 1.73vw 5.07vw;
	box-shadow: 0 0.8vw 2.67vw rgba(224, 27, 36, 0.28);
}
.addr-card .nav-btn:active { opacity: 0.85; }

/* 环境图 */
.env-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.13vw;
}
.env-grid img {
	height: 31.47vw;
	object-fit: cover;
	box-shadow: var(--shadow);
	background: var(--bg-2);
}

/* 服务须知 */
.notice-card {
	background: var(--card);
	padding: 4vw;
	box-shadow: var(--shadow), inset 0 0 0 0.13vw var(--line-soft);
}
.notice-card .line {
	display: flex;
	font-size: 3.2vw;
	color: var(--ink-2);
	margin-bottom: 2.13vw;
}
.notice-card .line:last-child { margin-bottom: 0; }
.notice-card .line .k {
	color: var(--gold-light);
	font-weight: 700;
	margin-right: 2.4vw;
	flex-shrink: 0;
}

/* ---------------- 底栏 ---------------- */
.footer {
	text-align: center;
	padding: 6.93vw 4.27vw 10.67vw;
	color: var(--ink-3);
	font-size: 2.93vw;
	letter-spacing: 0.13vw;
}
.footer .brand-en {
	font-family: var(--serif);
	letter-spacing: 0.8vw;
	font-size: 2.67vw;
	font-weight: 700;
	margin-bottom: 1.33vw;
	color: var(--gold-light);
}

/* ---------------- 底部悬浮预约条 ---------------- */
.action-bar {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 99;
	display: flex;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(14px);
	box-shadow: 0 -0.13vw 0 var(--line-soft), 0 -1.33vw 6vw rgba(20, 22, 26, 0.10);
	padding: 2.67vw 4.27vw calc(2.67vw + env(safe-area-inset-bottom));
}
.action-bar .btn {
	flex: 1;
	text-align: center;
	font-size: 4vw;
	font-weight: 700;
	letter-spacing: 0.53vw;
	padding: 2.93vw 0;
	color: #fff;
	background: var(--grad-gold);
	box-shadow: 0 1.07vw 3.2vw rgba(224, 27, 36, 0.30);
}
.action-bar .btn:active { transform: scale(0.97); }
.action-bar .btn.ghost {
	background: transparent;
	color: var(--gold-light);
	box-shadow: inset 0 0 0 0.27vw var(--line);
	margin-right: 2.67vw;
}

.has-actionbar { padding-bottom: 20vw; }

/* ---------------- 顶部导航栏 ---------------- */
.navbar {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(14px);
	box-shadow: 0 0.13vw 0 var(--line-soft);
	padding: 2.67vw 4.27vw;
	display: flex;
	align-items: center;
}
.navbar .nav-back {
	width: 8vw; height: 8vw;
	background: rgba(224, 27, 36, 0.07);
	box-shadow: inset 0 0 0 0.13vw var(--line);
	color: var(--gold-light);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4.27vw;
	margin-right: 2.67vw;
	flex-shrink: 0;
}
.navbar .nav-title {
	font-family: var(--serif);
	font-size: 4.13vw;
	font-weight: 700;
	letter-spacing: 0.27vw;
	color: var(--ink);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 加载与空态 */
.loading-box, .empty-box {
	text-align: center;
	padding: 16vw 5.33vw;
	color: var(--ink-3);
	font-size: 3.47vw;
	letter-spacing: 0.27vw;
}
.empty-box a { color: var(--gold-light); text-decoration: underline; }

/* 区域页 hero */
.page-hero {
	position: relative;
	padding: 9.33vw 5.33vw 7.47vw;
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
	border-bottom: 0.13vw solid var(--line-soft);
}
.page-hero .page-title {
	font-family: var(--serif);
	font-size: 8vw;
	font-weight: 700;
	letter-spacing: 0.8vw;
	color: var(--ink);
}
.page-hero .page-en {
	margin-top: 1.6vw;
	font-size: 2.93vw;
	letter-spacing: 1.07vw;
	color: var(--gold-light);
	font-weight: 600;
}
.page-hero .page-sub {
	margin-top: 2.67vw;
	font-size: 3.2vw;
	letter-spacing: 0.13vw;
	color: var(--ink-2);
}

/* 区域分组标题 */
.group-title {
	display: flex;
	align-items: center;
	margin: 5.33vw 0 3.2vw;
}
.group-title .line {
	flex: 1;
	height: 0.13vw;
	background: linear-gradient(90deg, rgba(224, 27, 36, 0.45), transparent);
	margin: 0 2.67vw;
}
.group-title .txt {
	font-family: var(--serif);
	font-size: 3.87vw;
	font-weight: 700;
	letter-spacing: 0.27vw;
	color: var(--gold-light);
}
