/* ============================================================
   Single Post — 所有样式作用域在 .single-post 下
   使用 global-tokens.css 提供的色彩令牌。
   ============================================================ */

/* ---- Reset & Base ---- */
.single-post,
.single-post * {
	box-sizing: border-box;
}

.single-post {
	font-family: "Manrope", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--brand-text);
	line-height: 1.6;
}

.single-post a {
	color: var(--brand-red);
	text-decoration: none;
	transition: color 0.15s ease;
}

.single-post a:hover {
	color: var(--brand-red-dark);
	text-decoration: underline;
}

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

.single-post .container {
	width: min(1240px, calc(100% - 36px));
	margin: 0 auto;
}

/* ---- Default WP content (fallback, ACF 未启用/无区块) ---- */
.single-post .sp-default-content {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(48px, 6vw, 80px) 24px;
}

/* Product Related article reading layout */
.single-post .entry-content {
	max-width: 900px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.85;
	color: #344054;
}

.single-post .entry-content h2 {
	margin: 56px 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid #dbeafe;
	color: #102a43;
	font-size: clamp(28px, 3.2vw, 38px);
	font-weight: 800;
	line-height: 1.22;
}

.single-post .entry-content h3 {
	margin: 34px 0 12px;
	color: #0178da;
	font-size: clamp(21px, 2.3vw, 26px);
	font-weight: 800;
	line-height: 1.3;
}

.single-post .entry-content p {
	margin: 0 0 22px;
}

.single-post .entry-content ul,
.single-post .entry-content ol {
	margin: 0 0 28px;
	padding-left: 26px;
}

.single-post .entry-content li {
	margin: 9px 0;
}

.single-post .entry-content table {
	width: 100%;
	margin: 30px 0;
	border-collapse: collapse;
	font-size: 15px;
}

.single-post .entry-content th,
.single-post .entry-content td {
	padding: 14px 16px;
	border: 1px solid #dbe3ec;
	text-align: left;
	vertical-align: top;
}

.single-post .entry-content th {
	background: #edf6ff;
	color: #102a43;
	font-weight: 800;
}

.single-post .entry-content hr {
	margin: 58px 0;
	border: 0;
	border-top: 1px solid #dbe3ec;
}

@media (max-width: 760px) {
	.single-post .entry-content {
		font-size: 16px;
		line-height: 1.75;
	}
	.single-post .entry-content h2 {
		margin-top: 42px;
		font-size: 28px;
	}
	.single-post .entry-content h3 {
		margin-top: 28px;
	}
	.single-post .entry-content table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}


/* Actual blog post content container */
.single-post .sp-default-content {
	max-width: 1180px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.85;
	color: #344054;
}

.single-post .sp-default-content h2 {
	margin: 56px 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid #dbeafe;
	color: #102a43;
	font-size: clamp(28px, 3.2vw, 38px);
	font-weight: 800;
	line-height: 1.22;
}

.single-post .sp-default-content h3 {
	margin: 34px 0 12px;
	color: #0178da;
	font-size: clamp(21px, 2.3vw, 26px);
	font-weight: 800;
	line-height: 1.3;
}

.single-post .sp-default-content p { margin: 0 0 22px; }
.single-post .sp-default-content ul,
.single-post .sp-default-content ol { margin: 0 0 28px; padding-left: 26px; }
.single-post .sp-default-content li { margin: 9px 0; }
.single-post .sp-default-content table { width: 100%; margin: 30px 0; border-collapse: collapse; font-size: 15px; }
.single-post .sp-default-content th,
.single-post .sp-default-content td { padding: 14px 16px; border: 1px solid #dbe3ec; text-align: left; vertical-align: top; }
.single-post .sp-default-content th { background: #edf6ff; color: #102a43; font-weight: 800; }
.single-post .sp-default-content hr { margin: 58px 0; border: 0; border-top: 1px solid #dbe3ec; }

@media (max-width: 760px) {
	.single-post .sp-default-content { font-size: 16px; line-height: 1.75; }
	.single-post .sp-default-content h2 { margin-top: 42px; font-size: 28px; }
	.single-post .sp-default-content h3 { margin-top: 28px; }
	.single-post .sp-default-content table { display: block; overflow-x: auto; white-space: nowrap; }
}


/* Blog article scale and navigation */
.single-post .sp-default-content h2 {
	font-size: 25px;
	line-height: 1.28;
}

.single-post .sp-default-content h3 {
	font-size: clamp(19px, 2vw, 23px);
}

.single-post > .footer {
	margin: 0;
	padding: 0;
}

.single-post > .footer .post-navigation {
	max-width: 1180px;
	margin: 56px auto 0;
	padding: 24px 0 80px;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
}

.single-post > .footer .post-navigation .nav-links {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 24px;
	text-align: center;
}

.single-post > .footer .post-navigation .nav-previous,
.single-post > .footer .post-navigation .nav-next {
	flex: 0 1 50%;
}

.single-post > .footer .post-navigation a {
	color: #0178da;
	font-weight: 700;
	line-height: 1.55;
	text-decoration: none;
}

.single-post > .footer .post-navigation a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 760px) {
	.single-post .sp-default-content h2 { font-size: 26px; }
	.single-post .sp-default-content h3 { font-size: 21px; }
	.single-post > .footer .post-navigation {
		margin: 40px 16px 0;
		padding: 20px 0 64px;
	}
	.single-post > .footer .post-navigation .nav-links {
		flex-direction: column;
		gap: 16px;
	}
	.single-post > .footer .post-navigation .nav-previous,
	.single-post > .footer .post-navigation .nav-next { flex-basis: auto; }
}


/* Blog post navigation: footer is a sibling of the article. */
body.single-post footer.footer .post-navigation {
	display: block;
	max-width: 1180px;
	margin: 56px auto 0;
	padding: 24px 0 80px;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
}

body.single-post footer.footer .post-navigation .nav-links {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 24px;
	text-align: center;
}

body.single-post footer.footer .post-navigation .nav-previous,
body.single-post footer.footer .post-navigation .nav-next {
	flex: 0 1 50%;
}

body.single-post footer.footer .post-navigation a {
	color: #0178da;
	font-weight: 700;
	line-height: 1.55;
	text-decoration: none;
}

body.single-post footer.footer .post-navigation a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 760px) {
	body.single-post footer.footer .post-navigation {
		margin: 40px 16px 64px;
		padding: 20px 0;
	}
	body.single-post footer.footer .post-navigation .nav-links {
		flex-direction: column;
		gap: 16px;
	}
	body.single-post footer.footer .post-navigation .nav-previous,
	body.single-post footer.footer .post-navigation .nav-next {
		flex-basis: auto;
	}
}
