/* 用户服务协议 / 隐私政策 — 申申核销网 */
.xm-legal {
	--ink: #1c2b5b;
	--soft: #3d465c;
	--muted: #8b93ad;
	--line: #e6ebf4;
	--sea: #586fa8;
	--sea-deep: #1c2b5b;
	--gold: #ffba00;
	--paper: #eef2f8;
	--surface: #ffffff;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);

	font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
	color: var(--ink);
	background:
		radial-gradient(900px 420px at 50% 0%, rgba(88, 111, 168, 0.12), transparent 55%),
		var(--paper);
	padding: 36px 0 72px;
	box-sizing: border-box;
}

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

.xm-legal a {
	color: var(--sea);
	text-decoration: none;
}

.xm-legal a:hover {
	color: var(--sea-deep);
}

.xm-legal__wrap {
	width: min(760px, calc(100% - 48px));
	margin: 0 auto;
}

.xm-legal__top {
	margin-bottom: 22px;
	animation: xm-legal-in 0.65s var(--ease) both;
}

.xm-legal__brand {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--ink);
}

.xm-legal__crumb {
	margin: 0;
	font-size: 13px;
	color: var(--muted);
}

.xm-legal__crumb span {
	margin: 0 6px;
	opacity: 0.45;
}

.xm-legal__panel {
	background: var(--surface);
	border: 1px solid rgba(28, 43, 91, 0.06);
	border-radius: 16px;
	padding: 40px 44px 48px;
	box-shadow: 0 14px 40px rgba(28, 43, 91, 0.06);
	animation: xm-legal-in 0.65s var(--ease) 0.05s both;
}

.xm-legal__title {
	margin: 0 0 8px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--ink);
}

.xm-legal__meta {
	margin: 0 0 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--line);
	font-size: 13px;
	color: var(--muted);
	line-height: 1.65;
}

.xm-legal__switch {
	display: flex;
	gap: 10px;
	margin-bottom: 24px;
}

.xm-legal__switch a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--muted);
	background: #f4f7fb;
}

.xm-legal__switch a.is-on {
	color: #fff;
	background: var(--ink);
}

.xm-legal__lead {
	margin: 0 0 28px;
	padding: 16px 18px;
	border-radius: 12px;
	background: #f7f9fc;
	border-left: 3px solid var(--gold);
	font-size: 14px;
	line-height: 1.85;
	color: var(--soft);
}

.xm-legal__body h2 {
	margin: 28px 0 12px;
	font-size: 17px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.45;
}

.xm-legal__body h2:first-child {
	margin-top: 0;
}

.xm-legal__body p {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.85;
	color: var(--soft);
}

.xm-legal__body ul,
.xm-legal__body ol {
	margin: 0 0 14px;
	padding-left: 1.25em;
}

.xm-legal__body li {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--soft);
}

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

.xm-legal__end {
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid var(--line);
	font-size: 13px;
	color: var(--muted);
	line-height: 1.7;
}

.xm-legal__end p {
	margin: 0 0 6px;
}

@keyframes xm-legal-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
	.xm-legal {
		padding: 24px 0 56px;
	}
	.xm-legal__wrap {
		width: min(760px, calc(100% - 32px));
	}
	.xm-legal__panel {
		padding: 26px 18px 32px;
	}
	.xm-legal__title {
		font-size: 22px;
	}
}
