/* 夏欢笙空 — 站点界面优化 v1.1 */

:root {
	--xhs-ink: #121212;
	--xhs-ink-soft: #3d3d3d;
	--xhs-muted: #8a8a8a;
	--xhs-line: rgba(18, 18, 18, 0.08);
	--xhs-surface: #ffffff;
	--xhs-page: #f4f4f6;
	--xhs-accent: #1a1a1a;
	--xhs-radius-lg: 18px;
	--xhs-radius-md: 12px;
	--xhs-shadow: 0 12px 40px rgba(18, 18, 18, 0.08);
	--xhs-shadow-sm: 0 4px 16px rgba(18, 18, 18, 0.06);
}

/* ========== 文章页 ========== */
.single .inside-page .detail-page > .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.single .inside-page .detail-page .detail-page-body {
	flex: 0 0 67%;
	max-width: 67%;
}

.single .inside-page .detail-page .col-lg-4 {
	flex: 0 0 33%;
	max-width: 33%;
}

.single .detail-page .detail-holder .img-holder img {
	max-height: 70vh;
	width: auto;
	max-width: 100%;
	margin: 0 auto;
	display: block;
	object-fit: contain;
}

.single .detail-page .detail-holder .category-tag {
	display: none !important;
}

.single .detail-page .detail-holder .content {
	font-size: 1.05rem;
	line-height: 1.85;
	color: var(--xhs-ink-soft);
}

.single .detail-page .related-post-block {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--xhs-line);
}

.single .detail-page .related-post.bordered {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.single .detail-page .post-navigation {
	margin-top: 1.5rem;
	padding: 1rem 0;
	border-top: 1px solid var(--xhs-line);
}

.single .detail-page .post-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

.single .detail-page .post-navigation a {
	color: var(--xhs-ink);
	text-decoration: none;
	font-weight: 500;
}

.single .inside-page .sidebar.widget-area {
	position: sticky;
	top: 100px;
}

@media (max-width: 991px) {
	.single .inside-page .detail-page .detail-page-body,
	.single .inside-page .detail-page .col-lg-4 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.single .inside-page .sidebar.widget-area {
		position: static;
		margin-top: 2rem;
	}

	.single .detail-page .related-post.bordered {
		grid-template-columns: 1fr;
	}
}

/* 论坛整块皮肤见 xhs-forum-skin.css（仅论坛页加载） */


/* ========== 登录 / 注册 / 找回密码 ========== */
body.xhs-auth-page {
	background: linear-gradient(145deg, #efeff2 0%, #f8f8fa 45%, #ececf0 100%);
}

body.xhs-auth-page .inside-page,
body.xhs-auth-page article .header,
body.xhs-auth-page #page > footer,
body.xhs-auth-page footer.footer,
body.xhs-auth-page .footer-news,
body.xhs-auth-page .footer {
	display: none !important;
}

.xhs-auth-shell {
	min-height: calc(100vh - 180px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2.5rem 1.25rem 3rem;
}

.xhs-auth-layout {
	width: 100%;
	max-width: 920px;
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 0;
	background: var(--xhs-surface);
	border-radius: var(--xhs-radius-lg);
	box-shadow: var(--xhs-shadow);
	border: 1px solid var(--xhs-line);
	overflow: hidden;
}

.xhs-auth-intro {
	padding: 2.5rem 2rem;
	background: linear-gradient(160deg, #121212 0%, #2a2a2a 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.xhs-auth-kicker {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	opacity: 0.65;
}

.xhs-auth-site {
	margin: 0 0 1rem;
	font-size: 1.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.xhs-auth-desc {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.7;
	opacity: 0.82;
}

.xhs-auth-card {
	padding: 2.25rem 2rem 2rem;
}

.xhs-auth-card-head {
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--xhs-line);
}

.xhs-auth-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--xhs-ink);
	letter-spacing: 0.04em;
}

.xhs-auth-card-body .um {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	max-width: 100% !important;
}

.xhs-auth-card-body .um-field-label label {
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--xhs-ink-soft);
	letter-spacing: 0.02em;
}

.xhs-auth-card-body .um-form-field {
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	padding: 11px 14px !important;
	background: #fafafa !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.xhs-auth-card-body .um-form-field:focus {
	border-color: var(--xhs-ink) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.08) !important;
	outline: none !important;
}

.xhs-auth-card-body .um-button {
	width: 100%;
	margin-top: 0.5rem;
	padding: 12px 16px !important;
	border: none !important;
	border-radius: 10px !important;
	background: var(--xhs-accent) !important;
	color: #fff !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
	transition: transform 0.15s ease, opacity 0.2s ease;
}

.xhs-auth-card-body .um-button:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.xhs-auth-card-body .um-col-alt {
	margin-top: 1.25rem;
	text-align: center;
	font-size: 0.9rem;
}

.xhs-auth-card-body .um-col-alt a {
	color: var(--xhs-ink);
	text-decoration: none;
	font-weight: 500;
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease;
}

.xhs-auth-card-body .um-col-alt a:hover {
	border-bottom-color: var(--xhs-ink);
}

/* 注册密码说明 */
.xhs-password-hint {
	margin: 0.35rem 0 1rem;
	padding: 0.65rem 0.85rem;
	font-size: 0.82rem;
	line-height: 1.55;
	color: var(--xhs-ink-soft);
	background: #f6f6f8;
	border-radius: 8px;
	border-left: 3px solid var(--xhs-accent);
}

.xhs-password-hint strong {
	color: var(--xhs-ink);
	font-weight: 600;
}

/* ========== 账号中心 ========== */
body.xhs-account-page .inside-page,
body.xhs-account-page article .header {
	display: none !important;
}

.xhs-auth-shell--account .xhs-auth-layout {
	max-width: 1040px;
	grid-template-columns: minmax(220px, 0.9fr) 1.4fr;
}

.xhs-auth-shell--account .xhs-auth-card {
	padding: 1.75rem 1.75rem 1.5rem;
}

.xhs-auth-shell--account .xhs-auth-card-body .um {
	max-width: 100% !important;
}

.xhs-auth-shell--account .um-account {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.xhs-auth-shell--account .um-account-side {
	padding: 0.75rem 0;
	border-right: 1px solid var(--xhs-line);
}

.xhs-auth-shell--account .um-account-side ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.xhs-auth-shell--account .um-account-side li a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.65rem;
	border-radius: 8px;
	color: var(--xhs-ink-soft);
	text-decoration: none;
	font-size: 0.9rem;
	transition: background 0.15s ease, color 0.15s ease;
}

.xhs-auth-shell--account .um-account-side li.active a,
.xhs-auth-shell--account .um-account-side li a:hover {
	background: #f0f0f3;
	color: var(--xhs-ink);
}

.xhs-auth-shell--account .um-account-main {
	padding: 0.25rem 0 0;
}

.xhs-auth-shell--account .um-account-main .um-field-label label {
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--xhs-ink-soft);
}

.xhs-auth-shell--account .um-account-main .um-form-field {
	border: 1px solid #ddd !important;
	border-radius: 10px !important;
	padding: 10px 13px !important;
	background: #fafafa !important;
}

.xhs-auth-shell--account .um-account-main .um-button {
	border-radius: 10px !important;
	background: var(--xhs-accent) !important;
	color: #fff !important;
	font-weight: 600 !important;
}

/* UM 页面：去掉主题在插件表单下方重复的「作者」区块 */
.um-page-user .detail-author-block,
.um-page-account .detail-author-block,
.um-page-login .detail-author-block,
.um-page-register .detail-author-block,
.um-page-password .detail-author-block,
.um-page-members .detail-author-block {
	display: none !important;
}

/* UM 用户资料页：主栏全宽，侧栏留给站点小工具可后续再开 */
.um-page-user .inside-page .detail-page .col-lg-4 {
	display: none !important;
}

.um-page-user .inside-page .detail-page .detail-page-body {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

.um-page-user .um-profile {
	margin-top: 0;
}

.um-page-user .detail-page .detail-holder .content {
	margin-bottom: 0;
}

/* 兼容未启用专用模板时的 UM 页面 */
.um-page-login .inside-page .detail-page .col-lg-4,
.um-page-register .inside-page .detail-page .col-lg-4,
.um-page-password .inside-page .detail-page .col-lg-4,
.um-page-account .inside-page .detail-page .col-lg-4,
body.xhs-account-page .inside-page .detail-page .col-lg-4,
body.xhs-auth-page .inside-page .detail-page .col-lg-4 {
	display: none !important;
}

.um-page-login .inside-page .detail-page .detail-page-body,
.um-page-register .inside-page .detail-page .detail-page-body,
.um-page-account .inside-page .detail-page .detail-page-body,
body.xhs-account-page .inside-page .detail-page .detail-page-body,
body.xhs-auth-page .inside-page .detail-page .detail-page-body {
	flex: 0 0 100%;
	max-width: 100%;
}

@media (max-width: 768px) {
	.xhs-auth-shell--account .um-account {
		grid-template-columns: 1fr;
	}

	.xhs-auth-shell--account .um-account-side {
		border-right: none;
		border-bottom: 1px solid var(--xhs-line);
		padding-bottom: 0.75rem;
	}
}

@media (max-width: 768px) {
	.xhs-auth-layout {
		grid-template-columns: 1fr;
	}

	.xhs-auth-intro {
		padding: 1.75rem 1.5rem;
	}

	.xhs-auth-site {
		font-size: 1.45rem;
	}

	.xhs-auth-card {
		padding: 1.75rem 1.5rem;
	}

	.xhs-auth-shell--account .xhs-auth-layout {
		grid-template-columns: 1fr;
	}
}
