/*
 * 花椒的我们的爱情 主题主样式
 * 全部自定义选择器均以 quhj 开头，无任何外链 CDN 资源
 * Text Domain: huajiao-love
 */

/* ========== 0. 变量与基础 ========== */
:root {
	--quhj-primary: #e75480;
	--quhj-primary-dark: #c73a65;
	--quhj-primary-light: #f7a8c0;
	--quhj-purple: #b39ddb;
	--quhj-cream: #fffaf7;
	--quhj-white: #ffffff;
	--quhj-text: #4a3b40;
	--quhj-text-light: #8a757c;
	--quhj-border: #f3e2e8;
	--quhj-shadow: 0 8px 30px rgba(231, 84, 128, 0.12);
	--quhj-shadow-hover: 0 16px 44px rgba(231, 84, 128, 0.22);
	--quhj-radius: 22px;
	--quhj-radius-sm: 12px;
	--quhj-font-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
	--quhj-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
	--quhj-transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--quhj-cream);
	color: var(--quhj-text);
	font-family: var(--quhj-font-sans);
	font-size: 16px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--quhj-font-serif);
	font-weight: 700;
	line-height: 1.35;
	color: var(--quhj-text);
	margin: 0 0 0.6em;
}

a {
	color: var(--quhj-primary);
	text-decoration: none;
	transition: var(--quhj-transition);
}

a:hover {
	color: var(--quhj-primary-dark);
}

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

/* 无障碍辅助 */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.quhj-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--quhj-primary);
	color: var(--quhj-white);
	padding: 10px 20px;
	border-radius: 0 0 var(--quhj-radius-sm) 0;
	z-index: 9999;
}

.quhj-skip-link:focus {
	left: 0;
	color: var(--quhj-white);
}

/* ========== 1. 布局容器 ========== */
.quhj-container {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

.quhj-main {
	min-height: 50vh;
	padding-bottom: 70px;
}

.quhj-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 40px;
	align-items: start;
}

.quhj-layout-content {
	min-width: 0;
}

.quhj-layout-sidebar {
	position: sticky;
	top: 100px;
}

/* ========== 2. 页头 ========== */
.quhj-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 250, 247, 0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--quhj-border);
	box-shadow: 0 2px 14px rgba(231, 84, 128, 0.06);
}

.quhj-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 76px;
}

/* Logo / 品牌 */
.quhj-branding-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--quhj-font-serif);
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--quhj-text);
}

.quhj-branding-link:hover {
	color: var(--quhj-primary);
}

.quhj-branding-heart {
	color: var(--quhj-primary);
	font-size: 1.4rem;
	animation: quhj-heartbeat 1.6s ease-in-out infinite;
}

.quhj-has-logo .custom-logo-link img {
	max-height: 52px;
	width: auto;
	border-radius: 50%;
}

/* 主菜单 */
.quhj-menu {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.quhj-menu li {
	position: relative;
}

.quhj-menu a {
	display: block;
	padding: 10px 18px;
	border-radius: 999px;
	color: var(--quhj-text);
	font-size: 0.98rem;
	font-weight: 500;
}

.quhj-menu a:hover,
.quhj-menu .current-menu-item > a,
.quhj-menu .current_page_item > a {
	background: var(--quhj-primary);
	color: var(--quhj-white);
}

.quhj-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 180px;
	list-style: none;
	margin: 0;
	padding: 10px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius-sm);
	box-shadow: var(--quhj-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: var(--quhj-transition);
}

.quhj-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.quhj-menu .sub-menu a {
	border-radius: 8px;
	padding: 8px 14px;
}

/* 汉堡按钮 */
.quhj-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	background: transparent;
	border: none;
	cursor: pointer;
	border-radius: var(--quhj-radius-sm);
}

.quhj-nav-toggle:hover {
	background: var(--quhj-border);
}

.quhj-nav-toggle-bar {
	display: block;
	width: 100%;
	height: 2.5px;
	background: var(--quhj-primary);
	border-radius: 2px;
	transition: var(--quhj-transition);
}

.quhj-nav-toggle.quhj-open .quhj-nav-toggle-bar:nth-child(1) {
	transform: translateY(7.5px) rotate(45deg);
}

.quhj-nav-toggle.quhj-open .quhj-nav-toggle-bar:nth-child(2) {
	opacity: 0;
}

.quhj-nav-toggle.quhj-open .quhj-nav-toggle-bar:nth-child(3) {
	transform: translateY(-7.5px) rotate(-45deg);
}

/* ========== 3. Hero 区域 ========== */
.quhj-hero {
	position: relative;
	overflow: hidden;
	padding: 110px 0 100px;
	background: linear-gradient(135deg, #ffd3e0 0%, #f3c1e0 45%, #d7c4f0 100%);
	text-align: center;
}

.quhj-hero-inner {
	position: relative;
	z-index: 2;
}

.quhj-hero-title {
	font-size: clamp(2rem, 5vw, 3.4rem);
	color: var(--quhj-white);
	text-shadow: 0 3px 16px rgba(199, 58, 101, 0.35);
	letter-spacing: 0.06em;
	margin-bottom: 14px;
}

.quhj-hero-subtitle {
	font-size: clamp(1rem, 2.2vw, 1.3rem);
	color: rgba(255, 255, 255, 0.95);
	text-shadow: 0 2px 10px rgba(199, 58, 101, 0.3);
	margin: 0 0 44px;
	font-family: var(--quhj-font-serif);
}

/* 飘浮爱心粒子 */
.quhj-hero-hearts {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.quhj-heart-particle {
	position: absolute;
	bottom: -40px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 22px;
	animation: quhj-float-heart linear infinite;
}

.quhj-heart-1 { left: 6%;  font-size: 18px; animation-duration: 9s;  animation-delay: 0s; }
.quhj-heart-2 { left: 16%; font-size: 26px; animation-duration: 11s; animation-delay: 1.5s; }
.quhj-heart-3 { left: 30%; font-size: 14px; animation-duration: 8s;  animation-delay: 3s; }
.quhj-heart-4 { left: 45%; font-size: 30px; animation-duration: 12s; animation-delay: 0.8s; }
.quhj-heart-5 { left: 60%; font-size: 16px; animation-duration: 9.5s; animation-delay: 2.2s; }
.quhj-heart-6 { left: 72%; font-size: 24px; animation-duration: 10.5s; animation-delay: 4s; }
.quhj-heart-7 { left: 84%; font-size: 20px; animation-duration: 8.5s; animation-delay: 1s; }
.quhj-heart-8 { left: 93%; font-size: 28px; animation-duration: 13s; animation-delay: 2.8s; }

@keyframes quhj-float-heart {
	0%   { transform: translateY(0) rotate(0deg) scale(0.8); opacity: 0; }
	10%  { opacity: 0.9; }
	50%  { transform: translateY(-46vh) rotate(14deg) scale(1); }
	90%  { opacity: 0.7; }
	100% { transform: translateY(-95vh) rotate(-10deg) scale(1.1); opacity: 0; }
}

/* ========== 4. 相爱计时器 ========== */
.quhj-love-timer,
.quhj-about-timer {
	display: inline-block;
	padding: 34px 54px;
	background: rgba(255, 255, 255, 0.88);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow-hover);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.quhj-about-timer {
	display: block;
	max-width: 560px;
	margin: 0 auto 50px;
	text-align: center;
	background: var(--quhj-white);
}

.quhj-timer-label {
	margin: 0 0 8px;
	font-size: 1.05rem;
	color: var(--quhj-text-light);
	letter-spacing: 0.2em;
	font-family: var(--quhj-font-serif);
}

.quhj-timer-days-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.quhj-timer-days {
	font-family: var(--quhj-font-serif);
	font-size: clamp(3rem, 8vw, 5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--quhj-primary);
	font-variant-numeric: tabular-nums;
}

.quhj-timer-heartbeat {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	color: var(--quhj-primary);
	animation: quhj-heartbeat 1.2s ease-in-out infinite;
}

.quhj-timer-unit {
	font-size: 1.4rem;
	color: var(--quhj-text-light);
	font-family: var(--quhj-font-serif);
}

.quhj-timer-breakdown {
	margin: 12px 0 0;
	font-size: 1.1rem;
	color: var(--quhj-text);
	font-family: var(--quhj-font-serif);
}

.quhj-timer-breakdown span {
	font-weight: 700;
	color: var(--quhj-primary);
}

.quhj-timer-names {
	margin: 14px 0 0;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--quhj-primary-dark);
	font-family: var(--quhj-font-serif);
	letter-spacing: 0.1em;
}

/* 心跳动画 */
@keyframes quhj-heartbeat {
	0%, 100% { transform: scale(1); }
	25%      { transform: scale(1.18); }
	40%      { transform: scale(0.96); }
	60%      { transform: scale(1.12); }
}

/* ========== 5. 誓言区 ========== */
.quhj-oath-section {
	padding: 70px 0 20px;
}

.quhj-oath-card {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	padding: 48px 54px 36px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
	text-align: center;
}

.quhj-oath-heart {
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 48px;
	line-height: 48px;
	font-size: 1.5rem;
	color: var(--quhj-white);
	background: var(--quhj-primary);
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(231, 84, 128, 0.4);
	animation: quhj-heartbeat 1.6s ease-in-out infinite;
}

.quhj-oath-text {
	margin: 0;
	font-family: var(--quhj-font-serif);
	font-size: 1.25rem;
	line-height: 2;
	color: var(--quhj-text);
}

.quhj-oath-sign {
	margin: 18px 0 0;
	font-family: var(--quhj-font-serif);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--quhj-primary);
}

/* ========== 6. 文章卡片流 ========== */
.quhj-posts-section {
	padding: 60px 0 30px;
}

.quhj-section-title {
	position: relative;
	text-align: center;
	font-size: 1.9rem;
	margin-bottom: 44px;
}

.quhj-section-title::after {
	content: "♥";
	display: block;
	margin-top: 6px;
	font-size: 1rem;
	color: var(--quhj-primary);
	letter-spacing: 0.4em;
}

.quhj-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 30px;
}

.quhj-card {
	display: flex;
	flex-direction: column;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	overflow: hidden;
	box-shadow: var(--quhj-shadow);
	transition: var(--quhj-transition);
}

.quhj-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--quhj-shadow-hover);
}

.quhj-card-thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.quhj-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.quhj-card:hover .quhj-card-thumb img {
	transform: scale(1.06);
}

.quhj-card-thumb-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #ffd3e0 0%, #d7c4f0 100%);
}

.quhj-card-thumb-heart {
	font-size: 3rem;
	color: rgba(255, 255, 255, 0.9);
	animation: quhj-heartbeat 1.8s ease-in-out infinite;
}

.quhj-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 24px 26px 26px;
}

.quhj-card-title {
	font-size: 1.25rem;
	margin: 10px 0 8px;
}

.quhj-card-title a {
	color: var(--quhj-text);
}

.quhj-card-title a:hover {
	color: var(--quhj-primary);
}

.quhj-card-excerpt {
	flex: 1;
	margin: 0 0 16px;
	color: var(--quhj-text-light);
	font-size: 0.95rem;
}

.quhj-card-more {
	align-self: flex-start;
	font-weight: 600;
	font-size: 0.95rem;
}

/* 文章元信息 */
.quhj-post-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	font-size: 0.85rem;
	color: var(--quhj-text-light);
}

.quhj-meta-item::before {
	margin-right: 5px;
	color: var(--quhj-primary);
}

.quhj-meta-date::before   { content: "♥"; }
.quhj-meta-cat::before    { content: "✿"; }
.quhj-meta-reading::before { content: "☾"; }

.quhj-meta-cat a {
	color: var(--quhj-text-light);
}

.quhj-meta-cat a:hover {
	color: var(--quhj-primary);
}

.quhj-posts-more {
	text-align: center;
	margin-top: 44px;
}

/* ========== 7. 按钮 ========== */
.quhj-btn {
	display: inline-block;
	padding: 13px 36px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 1rem;
	border: none;
	cursor: pointer;
	transition: var(--quhj-transition);
}

.quhj-btn-primary {
	background: var(--quhj-primary);
	color: var(--quhj-white);
	box-shadow: 0 6px 18px rgba(231, 84, 128, 0.35);
}

.quhj-btn-primary:hover {
	background: var(--quhj-primary-dark);
	color: var(--quhj-white);
	transform: translateY(-3px);
	box-shadow: 0 10px 26px rgba(231, 84, 128, 0.45);
}

/* ========== 8. 页面标题与通用 ========== */
.quhj-page-head {
	text-align: center;
	padding: 64px 0 44px;
}

.quhj-page-title {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.quhj-page-title::after {
	content: "♥";
	display: block;
	margin-top: 8px;
	font-size: 1rem;
	color: var(--quhj-primary);
}

.quhj-archive-desc {
	max-width: 640px;
	margin: 10px auto 0;
	color: var(--quhj-text-light);
}

.quhj-search-term {
	color: var(--quhj-primary);
}

/* 分页 */
.quhj-pagination {
	margin-top: 50px;
	text-align: center;
}

.quhj-pagination .page-numbers {
	display: inline-block;
	min-width: 44px;
	height: 44px;
	line-height: 44px;
	margin: 0 4px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--quhj-white);
	color: var(--quhj-text);
	box-shadow: var(--quhj-shadow);
	transition: var(--quhj-transition);
}

.quhj-pagination .page-numbers.current,
.quhj-pagination .page-numbers:hover {
	background: var(--quhj-primary);
	color: var(--quhj-white);
}

.quhj-pagination .page-numbers.dots {
	box-shadow: none;
	background: transparent;
}

/* 空状态 */
.quhj-empty {
	text-align: center;
	padding: 60px 30px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
}

.quhj-empty-heart {
	font-size: 3rem;
	color: var(--quhj-primary-light);
	margin: 0 0 12px;
}

.quhj-empty-search {
	max-width: 420px;
	margin: 24px auto 0;
}

/* ========== 9. 单篇文章 / 页面 ========== */
.quhj-main-single .quhj-page-head,
.quhj-main-page .quhj-page-head {
	padding-bottom: 10px;
}

.quhj-single {
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
	overflow: hidden;
	margin-top: 40px;
}

.quhj-single-head {
	padding: 44px 50px 10px;
	text-align: center;
}

.quhj-single-title {
	font-size: clamp(1.7rem, 3.6vw, 2.4rem);
	margin-bottom: 14px;
}

.quhj-single-head .quhj-post-meta {
	justify-content: center;
}

.quhj-single-thumb {
	margin: 26px 0 0;
}

.quhj-single-thumb img {
	width: 100%;
}

.quhj-single-content {
	padding: 34px 50px 44px;
	font-size: 1.05rem;
}

.quhj-single-content p {
	margin: 0 0 1.4em;
}

.quhj-single-content h2,
.quhj-single-content h3,
.quhj-single-content h4 {
	margin-top: 1.6em;
}

.quhj-single-content blockquote {
	margin: 1.6em 0;
	padding: 18px 26px;
	border-left: 4px solid var(--quhj-primary);
	background: #fdf1f5;
	border-radius: 0 var(--quhj-radius-sm) var(--quhj-radius-sm) 0;
	font-family: var(--quhj-font-serif);
}

.quhj-single-content img {
	border-radius: var(--quhj-radius-sm);
}

.quhj-single-content a {
	text-decoration: underline;
	text-decoration-color: var(--quhj-primary-light);
	text-underline-offset: 3px;
}

.quhj-single-content ul,
.quhj-single-content ol {
	padding-left: 1.6em;
	margin-bottom: 1.4em;
}

.quhj-single-content code {
	background: #fdf1f5;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 0.92em;
	color: var(--quhj-primary-dark);
}

.quhj-single-foot {
	padding: 0 50px 40px;
}

.quhj-single-tags a {
	display: inline-block;
	margin: 0 8px 8px 0;
	padding: 6px 16px;
	font-size: 0.85rem;
	background: #fdf1f5;
	color: var(--quhj-primary);
	border-radius: 999px;
}

.quhj-single-tags a:hover {
	background: var(--quhj-primary);
	color: var(--quhj-white);
}

.quhj-page-links {
	padding: 0 50px 30px;
}

/* 上下篇导航 */
.quhj-post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 34px;
}

.quhj-post-nav a {
	display: block;
	padding: 18px 24px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius-sm);
	box-shadow: var(--quhj-shadow);
	color: var(--quhj-text);
	font-family: var(--quhj-font-serif);
	font-weight: 600;
	transition: var(--quhj-transition);
}

.quhj-post-nav a:hover {
	color: var(--quhj-primary);
	transform: translateY(-4px);
	box-shadow: var(--quhj-shadow-hover);
}

.quhj-post-nav-next {
	text-align: right;
}

/* ========== 10. 搜索框 ========== */
.quhj-search-form {
	display: flex;
	align-items: center;
	gap: 10px;
}

.quhj-search-label {
	flex: 1;
}

.quhj-search-input {
	width: 100%;
	padding: 13px 22px;
	font-size: 1rem;
	color: var(--quhj-text);
	background: var(--quhj-white);
	border: 2px solid var(--quhj-border);
	border-radius: 999px;
	outline: none;
	transition: var(--quhj-transition);
}

.quhj-search-input:focus {
	border-color: var(--quhj-primary);
	box-shadow: 0 0 0 4px rgba(231, 84, 128, 0.12);
}

.quhj-search-btn {
	flex: none;
	width: 50px;
	height: 50px;
	font-size: 1.3rem;
	color: var(--quhj-white);
	background: var(--quhj-primary);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	transition: var(--quhj-transition);
}

.quhj-search-btn:hover {
	background: var(--quhj-primary-dark);
	transform: scale(1.08);
}

/* ========== 11. 404 页面 ========== */
.quhj-404 {
	text-align: center;
	padding: 80px 20px;
}

.quhj-404-heart {
	font-size: 3rem;
	color: var(--quhj-primary-light);
	animation: quhj-heartbeat 1.6s ease-in-out infinite;
}

.quhj-404-code {
	font-size: clamp(5rem, 15vw, 9rem);
	line-height: 1;
	margin: 10px 0;
	background: linear-gradient(135deg, var(--quhj-primary) 0%, var(--quhj-purple) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.quhj-404-text {
	max-width: 480px;
	margin: 0 auto 34px;
	font-size: 1.1rem;
	color: var(--quhj-text-light);
	font-family: var(--quhj-font-serif);
}

.quhj-404-search {
	max-width: 460px;
	margin: 0 auto 50px;
}

.quhj-404-recent-title {
	font-size: 1.4rem;
	margin-bottom: 24px;
}

.quhj-404-recent-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	max-width: 860px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.quhj-404-recent-item a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 20px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius-sm);
	box-shadow: var(--quhj-shadow);
	color: var(--quhj-text);
	font-weight: 600;
	transition: var(--quhj-transition);
}

.quhj-404-recent-item a:hover {
	color: var(--quhj-primary);
	transform: translateY(-4px);
}

.quhj-404-recent-heart {
	color: var(--quhj-primary);
}

.quhj-404-back {
	margin-top: 44px;
}

/* ========== 12. 侧边栏 ========== */
.quhj-widget {
	margin-top: 40px;
	padding: 26px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
}

.quhj-widget-title {
	position: relative;
	font-size: 1.15rem;
	padding-bottom: 12px;
	margin-bottom: 16px;
}

.quhj-widget-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 36px;
	height: 3px;
	border-radius: 3px;
	background: var(--quhj-primary);
}

.quhj-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.quhj-widget ul li {
	padding: 7px 0;
	border-bottom: 1px dashed var(--quhj-border);
}

.quhj-widget ul li:last-child {
	border-bottom: none;
}

.quhj-widget ul li a {
	color: var(--quhj-text);
}

.quhj-widget ul li a:hover {
	color: var(--quhj-primary);
}

.quhj-widget .quhj-search-form {
	flex-direction: column;
	align-items: stretch;
}

.quhj-widget .quhj-search-btn {
	width: 100%;
	border-radius: 999px;
}

/* ========== 13. 评论 ========== */
.quhj-comments {
	margin-top: 44px;
	padding: 40px 50px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
}

.quhj-comments-title {
	font-size: 1.5rem;
	margin-bottom: 26px;
}

.quhj-comment-list {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.quhj-comment-list .children {
	list-style: none;
	margin: 18px 0 0;
	padding-left: 40px;
}

.quhj-comment-item {
	margin-bottom: 18px;
}

.quhj-comment-inner {
	display: flex;
	gap: 16px;
	padding: 20px;
	background: var(--quhj-cream);
	border-radius: var(--quhj-radius-sm);
}

.quhj-comment-avatar img {
	border-radius: 50%;
	border: 3px solid var(--quhj-white);
	box-shadow: 0 3px 10px rgba(231, 84, 128, 0.2);
}

.quhj-comment-body {
	flex: 1;
	min-width: 0;
}

.quhj-comment-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 6px;
}

.quhj-comment-author {
	font-weight: 700;
	font-family: var(--quhj-font-serif);
}

.quhj-comment-date {
	font-size: 0.82rem;
}

.quhj-comment-date a {
	color: var(--quhj-text-light);
}

.quhj-comment-awaiting {
	margin: 4px 0;
	font-size: 0.85rem;
	color: var(--quhj-primary);
}

.quhj-comment-text p {
	margin: 0 0 0.8em;
}

.quhj-comment-text p:last-child {
	margin-bottom: 0;
}

.quhj-comment-actions {
	margin-top: 8px;
	font-size: 0.85rem;
}

.quhj-comment-reply a,
.quhj-comment-edit a {
	display: inline-block;
	margin-right: 12px;
	font-weight: 600;
}

/* 评论表单 */
.quhj-comments .comment-respond {
	margin-top: 20px;
}

.quhj-comments .comment-reply-title {
	font-size: 1.3rem;
}

.quhj-comment-notes {
	font-size: 0.88rem;
	color: var(--quhj-text-light);
}

.quhj-comments .comment-form input[type="text"],
.quhj-comments .comment-form input[type="email"],
.quhj-comments .comment-form input[type="url"],
.quhj-comments .comment-form textarea {
	width: 100%;
	padding: 13px 18px;
	margin-bottom: 14px;
	font-size: 1rem;
	font-family: inherit;
	color: var(--quhj-text);
	background: var(--quhj-cream);
	border: 2px solid var(--quhj-border);
	border-radius: var(--quhj-radius-sm);
	outline: none;
	transition: var(--quhj-transition);
}

.quhj-comments .comment-form input:focus,
.quhj-comments .comment-form textarea:focus {
	border-color: var(--quhj-primary);
	box-shadow: 0 0 0 4px rgba(231, 84, 128, 0.1);
}

.quhj-comments .comment-form-cookies-consent {
	font-size: 0.88rem;
	color: var(--quhj-text-light);
}

.quhj-comment-submit {
	margin-top: 6px;
}

.quhj-comments-closed {
	text-align: center;
	color: var(--quhj-text-light);
}

.quhj-comments .comment-navigation {
	margin: 20px 0;
}

/* ========== 14. 页脚 ========== */
.quhj-footer {
	margin-top: 40px;
	padding: 60px 0 0;
	background: linear-gradient(180deg, var(--quhj-cream) 0%, #fdeef3 100%);
	border-top: 1px solid var(--quhj-border);
}

.quhj-footer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 40px;
	padding-bottom: 40px;
}

.quhj-footer-title {
	font-size: 1.1rem;
	margin-bottom: 16px;
	color: var(--quhj-text);
}

.quhj-footer-title::after {
	content: " ♥";
	color: var(--quhj-primary);
}

.quhj-footer-desc {
	margin: 0;
	font-size: 0.92rem;
	color: var(--quhj-text-light);
}

.quhj-footer-hearts {
	margin: 12px 0 0;
	color: var(--quhj-primary);
	letter-spacing: 0.4em;
}

.quhj-footer-menu,
.quhj-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.quhj-footer-menu li,
.quhj-footer-links li {
	padding: 5px 0;
}

.quhj-footer-menu a,
.quhj-footer-links a {
	font-size: 0.92rem;
	color: var(--quhj-text-light);
}

.quhj-footer-menu a:hover,
.quhj-footer-links a:hover {
	color: var(--quhj-primary);
	padding-left: 4px;
}

.quhj-footer-note {
	margin: 0;
	font-size: 0.9rem;
	color: var(--quhj-text-light);
}

.quhj-social-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.quhj-social-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--quhj-primary);
	background: var(--quhj-white);
	border-radius: 999px;
	box-shadow: var(--quhj-shadow);
}

.quhj-social-link:hover {
	background: var(--quhj-primary);
	color: var(--quhj-white);
	transform: translateY(-3px);
}

.quhj-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
	padding: 22px 0;
	border-top: 1px solid rgba(231, 84, 128, 0.12);
	font-size: 0.88rem;
	color: var(--quhj-text-light);
}

.quhj-footer-bottom p {
	margin: 0;
}

.quhj-powered a {
	color: var(--quhj-primary);
}

/* ========== 15. 关于我们页面 ========== */
.quhj-couple {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	margin: 20px 0 50px;
}

.quhj-couple-person {
	text-align: center;
}

.quhj-couple-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 110px;
	height: 110px;
	margin: 0 auto 14px;
	font-size: 2.6rem;
	color: var(--quhj-white);
	background: linear-gradient(135deg, var(--quhj-primary) 0%, var(--quhj-purple) 100%);
	border-radius: 50%;
	box-shadow: var(--quhj-shadow-hover);
}

.quhj-couple-name {
	font-size: 1.3rem;
	margin: 0;
}

.quhj-couple-heart {
	font-size: 2.4rem;
	color: var(--quhj-primary);
	animation: quhj-heartbeat 1.2s ease-in-out infinite;
}

.quhj-about-oath {
	max-width: 760px;
	margin: 0 auto 60px;
	text-align: center;
}

.quhj-about-oath .quhj-oath-text {
	padding: 30px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
}

/* 时间轴 */
.quhj-timeline {
	position: relative;
	max-width: 720px;
	margin: 0 auto 60px;
	padding-left: 40px;
}

.quhj-timeline::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--quhj-primary) 0%, var(--quhj-purple) 100%);
}

.quhj-timeline-item {
	position: relative;
	margin-bottom: 30px;
}

.quhj-timeline-dot {
	position: absolute;
	left: -40px;
	top: 16px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-size: 0.85rem;
	color: var(--quhj-white);
	background: var(--quhj-primary);
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(231, 84, 128, 0.4);
}

.quhj-timeline-card {
	padding: 24px 30px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
	transition: var(--quhj-transition);
}

.quhj-timeline-card:hover {
	transform: translateX(8px);
	box-shadow: var(--quhj-shadow-hover);
}

.quhj-timeline-title {
	font-size: 1.2rem;
	color: var(--quhj-primary);
	margin-bottom: 6px;
}

.quhj-timeline-text {
	margin: 0;
	color: var(--quhj-text-light);
}

.quhj-about-content {
	max-width: 760px;
	margin: 0 auto 40px;
}

/* ========== 16. 友情链接页面 ========== */
.quhj-links-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 22px;
	margin-bottom: 50px;
}

.quhj-link-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 30px 22px;
	text-align: center;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
	transition: var(--quhj-transition);
}

.quhj-link-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--quhj-shadow-hover);
}

.quhj-link-card-heart {
	font-size: 1.6rem;
	color: var(--quhj-primary);
	transition: var(--quhj-transition);
}

.quhj-link-card:hover .quhj-link-card-heart {
	transform: scale(1.25);
}

.quhj-link-card-name {
	font-family: var(--quhj-font-serif);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--quhj-text);
}

.quhj-link-card-desc {
	font-size: 0.86rem;
	color: var(--quhj-text-light);
}

.quhj-links-apply {
	max-width: 720px;
	margin: 0 auto 50px;
}

.quhj-links-apply-card {
	padding: 32px 40px;
	background: var(--quhj-white);
	border-radius: var(--quhj-radius);
	box-shadow: var(--quhj-shadow);
}

.quhj-links-apply-list {
	margin: 0 0 18px;
	padding-left: 1.4em;
	color: var(--quhj-text-light);
}

.quhj-links-apply-list li {
	padding: 4px 0;
}

.quhj-links-content {
	max-width: 760px;
	margin: 0 auto 40px;
}

/* ========== 17. 滚动淡入动画 ========== */
.quhj-fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.quhj-fade-in.quhj-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ========== 18. 响应式 ========== */
@media (max-width: 960px) {
	.quhj-layout {
		grid-template-columns: 1fr;
	}

	.quhj-layout-sidebar {
		position: static;
	}

	.quhj-single-head,
	.quhj-single-content,
	.quhj-comments {
		padding-left: 30px;
		padding-right: 30px;
	}
}

@media (max-width: 768px) {
	.quhj-header-inner {
		height: 64px;
	}

	.quhj-nav-toggle {
		display: flex;
	}

	.quhj-main-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--quhj-white);
		border-bottom: 1px solid var(--quhj-border);
		box-shadow: 0 14px 30px rgba(231, 84, 128, 0.12);
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease;
	}

	.quhj-main-nav.quhj-open {
		max-height: 480px;
	}

	.quhj-menu {
		flex-direction: column;
		align-items: stretch;
		padding: 14px 20px 20px;
	}

	.quhj-menu a {
		padding: 12px 18px;
		border-radius: var(--quhj-radius-sm);
	}

	.quhj-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		padding-left: 16px;
	}

	.quhj-hero {
		padding: 80px 0 70px;
	}

	.quhj-love-timer,
	.quhj-about-timer {
		padding: 26px 30px;
		width: 100%;
		max-width: 100%;
	}

	.quhj-post-nav {
		grid-template-columns: 1fr;
	}

	.quhj-post-nav-next {
		text-align: left;
	}

	.quhj-card-grid {
		grid-template-columns: 1fr;
	}

	.quhj-footer-bottom {
		flex-direction: column;
		text-align: center;
	}

	.quhj-comment-inner {
		flex-direction: column;
	}

	.quhj-comment-list .children {
		padding-left: 16px;
	}
}

/* 减少动态效果偏好 */
@media (prefers-reduced-motion: reduce) {
	.quhj-heart-particle,
	.quhj-branding-heart,
	.quhj-timer-heartbeat,
	.quhj-oath-heart,
	.quhj-couple-heart,
	.quhj-card-thumb-heart,
	.quhj-404-heart {
		animation: none;
	}

	.quhj-fade-in {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
