@charset "utf-8";
/* =========================================================
   咚門 · 前端重塑层  custom.css
   最后加载，用于覆盖 style.css 的默认视觉
   ========================================================= */

:root{
	--paper:#fbfaf8;
	--card:#ffffff;
	--ink:#24211d;
	--ink-2:#544e46;
	--ink-3:#9a9288;
	--line:#e9e4da;
	--line-soft:#f0ece4;
	--accent:#d9754f;
	--accent-2:#e28a63;
	--dark:#1b1917;
	--serif:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,"Times New Roman",serif;
	--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}

/* ---------- 基础 ---------- */
html{ height:auto; }
body{
	background:var(--paper);
	color:var(--ink-2);
	font-family:var(--sans);
	font-size:14px;
	line-height:1.85;
	letter-spacing:.01em;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
a{ color:var(--ink-2); }
a:hover{ color:var(--accent); }
img{ vertical-align:middle; }
::selection{ background:rgba(217,117,79,.16); color:var(--ink); }

/* 站点正文容器 */
.main-narrow{ width:1080px; max-width:calc(100% - 48px); }

/* ---------- 顶部刊头 ---------- */
#main-header{
	position:relative;
	min-height:0;
	padding:0;
	background-color:#2b2724;
	background-position:center 42%;
	background-size:cover;
	overflow:visible;
	box-shadow:none;
	z-index:4;
}
#main-header:before{
	content:"";
	position:absolute; left:0; top:0; right:0; bottom:0;
	background:linear-gradient(180deg,rgba(22,20,18,.42) 0%,rgba(22,20,18,.34) 45%,rgba(22,20,18,.62) 100%);
	z-index:1;
}
#header-wrap{
	position:relative;
	z-index:2;
	width:1080px;
	max-width:calc(100% - 48px);
	padding:54px 0 26px;
	min-height:0;
}
#logo{
	width:auto;
	height:auto;
	margin:0 auto;
	text-align:center;
}
.logo-img{ height:auto; }
.logo-img .avatar{
	width:78px; height:78px;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.55);
	padding:4px;
	box-shadow:0 8px 26px rgba(0,0,0,.35);
	background:rgba(255,255,255,.08);
}
#logo h1{
	display:block;
	margin:20px 0 0;
	font-family:var(--serif);
	font-size:31px;
	font-weight:400;
	line-height:1.35;
	letter-spacing:.32em;
	text-indent:.32em;
	color:#fff;
	clear:none;
	text-shadow:0 2px 12px rgba(0,0,0,.3);
}
#logo h1 a{ color:#fff; }
#logo h1 a:hover{ color:#fff; opacity:.85; }
#logo h2{
	display:block;
	margin:12px 0 0;
	font-size:11.5px;
	font-weight:400;
	line-height:1.8;
	letter-spacing:.34em;
	text-indent:.34em;
	color:rgba(255,255,255,.72);
	clear:none;
}
#logo-music{ display:none; }

/* ---------- 主导航 ---------- */
#main-nav{
	margin:26px auto 0;
	display:block;
	text-align:center;
}
#main-nav ul{ margin:0; padding:0; }
#main-nav ul li{ margin:0; }
#main-nav ul li a{
	padding:0 15px;
	line-height:34px;
	font-size:12.5px;
	letter-spacing:.2em;
	text-indent:.2em;
	color:rgba(255,255,255,.8);
	position:relative;
	transition:color .3s;
}
#main-nav ul li>a:after{
	content:"";
	position:absolute; left:15px; right:15px; bottom:2px;
	height:1px;
	background:rgba(255,255,255,.5);
	transform:scaleX(0);
	transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
#main-nav ul li:hover>a,
#main-nav ul li.current-menu-item>a,
#main-nav ul li.current-menu-parent>a,
#main-nav ul li.current-menu-ancestor>a{ color:#fff !important; }
#main-nav ul li:hover>a:after,
#main-nav ul li.current-menu-item>a:after,
#main-nav ul li.current-menu-parent>a:after,
#main-nav ul li.current-menu-ancestor>a:after{ transform:scaleX(1); }
#main-nav li.menu-item-has-children:after{ display:none; }
#main-nav li.menu-item-has-children>a:before{
	content:"";
	display:inline-block;
	width:3px; height:3px;
	margin:0 7px 2px 0;
	border-radius:50%;
	background:rgba(255,255,255,.35);
	vertical-align:middle;
}
#main-nav .sub-menu{
	top:38px;
	left:50%;
	transform:translateX(-50%);
	min-width:118px;
	background:#1b1917;
	background-image:none;
	border:1px solid rgba(255,255,255,.09);
	border-radius:5px;
	box-shadow:0 18px 40px rgba(0,0,0,.38), 0 2px 6px rgba(0,0,0,.2);
	padding:7px 0;
	z-index:30;
}
#main-nav .sub-menu li{ display:block; margin:0; }
/* 用透明区域填住面板与导航之间的空隙，避免鼠标下移时菜单误关 */
#main-nav .sub-menu::before{
	content:"";
	position:absolute;
	left:0; right:0; top:-42px; height:42px;
	background:transparent;
}
#main-nav .sub-menu li a{
	color:rgba(255,255,255,.7);
	letter-spacing:.14em;
	font-size:12px;
	padding:0 22px;
	line-height:34px;
	display:block;
	text-align:center;
	transition:color .18s, background-color .18s;
}
#main-nav .sub-menu li a:hover{ background:rgba(255,255,255,.055); color:var(--accent-2); }
#main-nav .sub-menu li>a:after{ display:none; }
#main-nav .sub-menu li.menu-item-has-children:before,
#main-nav .sub-menu li.menu-item-has-children:after{ right:8px; }
#main-nav .sub-menu .sub-menu{ left:100%; top:-8px; transform:none; margin-left:6px; }
/* 二级面板同样补一段透明桥接，避免横向移动时断开 */
#main-nav .sub-menu .sub-menu::before{
	top:-10px; left:-12px; right:auto;
	width:18px; height:calc(100% + 20px);
}

/* ---------- 搜索 ---------- */
#search-form{ margin:20px auto 0; width:210px; }
#search-form div{ position:relative; }
#search-form input{
	width:100%;
	height:30px;
	padding:0 4px 0 26px;
	box-sizing:border-box;
	background:transparent;
	border:0;
	border-bottom:1px solid rgba(255,255,255,.28);
	line-height:30px;
	font-size:12px;
	letter-spacing:.1em;
	color:rgba(255,255,255,.9);
	transition:border-color .3s,width .3s;
}
#search-form input:focus{ width:100%; border-bottom-color:rgba(255,255,255,.7); }
#search-form input::placeholder{ color:rgba(255,255,255,.45); }
#search-form div:before{
	content:"";
	position:absolute;
	left:4px; top:9px;
	width:9px; height:9px;
	border:1px solid rgba(255,255,255,.45);
	border-radius:50%;
}
#search-form div:after{
	content:"";
	position:absolute;
	left:13px; top:19px;
	width:5px; height:1px;
	background:rgba(255,255,255,.45);
	transform:rotate(45deg);
}

/* ---------- 内页紧凑刊头（覆盖主题 JS 的隐藏行为） ---------- */
body.single #header-wrap,
body.page #header-wrap{ padding:26px 0 18px; }
body.single #logo,
body.page #logo{
	display:block !important;
	opacity:1 !important;
	margin:0 auto !important;
	height:auto !important;
}
body.single .logo-img,
body.page .logo-img{ display:none; }
body.single #logo h1,
body.page #logo h1{ margin-top:0; font-size:23px; letter-spacing:.26em; text-indent:.26em; }
body.single #logo h2,
body.page #logo h2{ margin-top:8px; font-size:10.5px; letter-spacing:.26em; text-indent:.26em; }
body.single #search-form,
body.page #search-form{ display:none !important; }
body.single #main-nav,
body.page #main-nav{ margin-top:16px; }

/* ---------- 列表区 ---------- */
#main{ background:var(--paper); }
#content{ margin:0 auto; }

.post-index{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:26px;
	padding:44px 0 8px;
	overflow:visible;
}
.post-index article,
.album2 article{
	width:auto;
	float:none;
	display:block;
	margin:0;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:2px;
	box-shadow:none;
	opacity:1;
	transform:none;
	transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s ease,border-color .45s ease;
}
.post-index article:hover{
	transform:translateY(-4px);
	box-shadow:0 16px 34px rgba(60,48,36,.09);
	border-color:#e2dbcf;
}
.post-index .article-wrap{ margin:0; padding:0; }

/* 封面 */
.card-cover{
	display:block;
	position:relative;
	height:212px;
	background-color:#efece5;
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
	overflow:hidden;
	border-radius:2px 2px 0 0;
}
.card-cover:after{
	content:"";
	position:absolute; left:0; top:0; right:0; bottom:0;
	background:rgba(36,33,29,0);
	transition:background .4s ease;
}
.card-cover:hover:after{ background:rgba(36,33,29,.06); }

/* 卡片正文 */
.card-body{ padding:18px 20px 22px; }

.meta-row{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 9px;
	line-height:1;
}
.card-body .meta-cat{
	display:inline-block;
	font-size:11px;
	line-height:1;
	letter-spacing:.12em;
	color:var(--accent);
	background:rgba(217,117,79,.075);
	border-radius:2px;
	padding:4px 6px 4px 7px;
}
.card-body .meta-cat:hover{ color:#fff; background:var(--accent); }
.meta-row .meta-time{
	margin-left:auto;
	font-size:11px;
	letter-spacing:.06em;
	color:var(--ink-3);
}

.card-title{
	margin:0 0 8px;
	font-family:var(--serif);
	font-size:17px;
	font-weight:600;
	line-height:1.55;
	letter-spacing:.01em;
	clear:none;
}
.card-title a{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	color:var(--ink);
	white-space:normal;
	text-overflow:clip;
}
.card-title a:hover{ color:var(--accent); }

.sticky-mark{
	display:inline-block;
	margin-right:8px;
	padding:1px 5px;
	font-family:var(--sans);
	font-size:10px;
	font-weight:400;
	letter-spacing:.1em;
	color:#fff;
	background:var(--accent);
	border-radius:2px;
	vertical-align:2px;
}

.card-excerpt{
	margin:0;
	font-size:12.5px;
	line-height:1.95;
	color:#8b8478;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

/* 兼容旧结构（万一模板未替换） */
.entry-header{ position:relative; }
.post-index .entry-header{ margin-bottom:10px; }

/* ---------- 正文阅读页 ---------- */
.post-single{ width:780px; max-width:calc(100% - 48px); margin:0 auto; }
#singular-content{
	margin:44px 0 60px;
	padding:56px 62px 48px;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:2px;
	box-shadow:0 2px 20px rgba(60,48,36,.045);
	color:#3d3831;
	font-size:14.5px;
	line-height:2.05;
	letter-spacing:.012em;
}
#singular-content .entry-header{ margin:0 0 38px; text-align:center; }
#singular-content .entry-header h1{
	font-family:var(--serif);
	font-size:29px;
	font-weight:600;
	line-height:1.6;
	letter-spacing:.02em;
	color:var(--ink);
	margin:0 0 20px;
	padding:0;
}
.post-kicker{
	display:inline-block;
	margin-bottom:16px;
	font-size:11px;
	letter-spacing:.22em;
	text-indent:.22em;
	color:var(--accent);
	border-bottom:1px solid rgba(217,117,79,.3);
	padding-bottom:5px;
}
.post-meta-line{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	font-size:11.5px;
	letter-spacing:.06em;
	color:var(--ink-3);
}
.post-meta-line .dot{
	display:inline-block;
	width:3px; height:3px;
	border-radius:50%;
	background:#d8d1c5;
}

.entry-content{ color:#3d3831; font-size:14.5px; line-height:2.05; }
.entry-content p{ margin:0 0 1.55em; }
.entry-content h2,
.entry-content h3{ font-family:var(--serif); color:var(--ink); letter-spacing:.02em; }
.entry-content h2{
	font-size:19px;
	margin:2.4em 0 1em;
	padding-left:12px;
	border-left:3px solid var(--accent);
	line-height:1.6;
}
.entry-content h3{ font-size:16px; margin:2em 0 .9em; font-weight:600; }
.entry-content blockquote{
	margin:2em 0;
	padding:4px 0 4px 24px;
	border-left:2px solid var(--line);
	color:#7c7569;
	font-family:var(--serif);
	font-size:15px;
	line-height:2.1;
}
.entry-content blockquote p:last-child{ margin-bottom:0; }
.entry-content img{
	border-radius:2px;
	margin:6px 0;
}
.entry-content a{
	color:var(--accent);
	padding:0 2px;
	border-bottom:1px solid rgba(217,117,79,.35);
	border-radius:0;
	transition:background .3s,color .3s,border-color .3s;
}
.entry-content a:hover{ background:transparent; color:#b85c38; border-bottom-color:#b85c38; }
.entry-content a.has-img-a{ border:0; }
.entry-content a.post-feature{ border:0; }
.entry-content hr{ width:56px; border-bottom:1px solid var(--line); margin:2.6em auto; }
.entry-content pre{
	background:#f7f5f0;
	border:1px solid var(--line);
	border-radius:3px;
	color:#4a443c;
	font-size:12.5px;
	line-height:1.85;
}

/* 文末信息 */
.entry-footer{
	margin-top:46px;
	padding-top:22px;
	border-top:1px solid var(--line-soft);
	font-size:12px;
	color:var(--ink-3);
	letter-spacing:.04em;
}
.entry-footer .meta-cat a,
.meta-tag a{ color:var(--accent); }
.entry-footer .share{ display:none; }

/* 上一篇 / 下一篇 */
.post-nav{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px;
	margin-top:34px;
	padding-top:0;
}
.pn-item{
	display:block;
	padding:16px 18px;
	border:1px solid var(--line);
	border-radius:2px;
	background:#fdfcfa;
	transition:border-color .3s,background .3s,transform .3s;
}
.pn-item:hover{ border-color:#ded5c6; background:#fff; transform:translateY(-2px); }
.pn-label{
	display:block;
	font-size:10.5px;
	letter-spacing:.2em;
	color:var(--ink-3);
	margin-bottom:6px;
}
.pn-title{
	display:block;
	font-family:var(--serif);
	font-size:14px;
	line-height:1.6;
	color:var(--ink);
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.pn-item.next{ text-align:right; }
.pn-empty{ border:1px dashed var(--line); background:transparent; opacity:.5; pointer-events:none; }

/* ---------- 分页 ---------- */
.page-navi{ margin:44px 0 60px; text-align:center; }
.page-navi a,.page-navi span{
	width:34px; height:34px; line-height:32px;
	margin:0 4px;
	border:1px solid var(--line);
	border-radius:2px;
	background:#fff;
	color:var(--ink-2);
	font-size:12px;
	box-shadow:none;
	transition:all .3s;
}
.page-navi a:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }
.page-navi span.current{
	background:var(--ink);
	border-color:var(--ink);
	color:#fff;
}

/* ---------- 页脚 ---------- */
#main-footer{
	background:var(--dark);
	border-top:1px solid rgba(255,255,255,.06);
	text-align:left;
	margin-top:0;
}
#footer-inner{
	width:1080px;
	max-width:calc(100% - 48px);
	margin:0 auto;
	padding:54px 0 40px;
	display:grid;
	grid-template-columns:1.4fr 1fr 1.2fr;
	gap:40px;
}
#footer-inner h3{
	margin:0 0 16px;
	padding:0;
	font-size:11px;
	font-weight:400;
	letter-spacing:.24em;
	color:rgba(255,255,255,.38);
	text-transform:uppercase;
	text-align:left;
	clear:none;
}
.f-brand .f-name{
	font-family:var(--serif);
	font-size:26px;
	letter-spacing:.26em;
	text-indent:.26em;
	color:#f2ede4;
	line-height:1.4;
	margin-bottom:10px;
}
.f-brand .f-desc{
	margin:0 0 14px;
	font-size:12.5px;
	line-height:1.9;
	color:rgba(255,255,255,.5);
	letter-spacing:.06em;
}
.f-brand .f-line{
	font-family:var(--serif);
	font-size:13px;
	color:rgba(255,255,255,.34);
	letter-spacing:.08em;
}
.f-nav ul{ margin:0; padding:0; list-style:none; }
.f-nav li{ margin:0 0 10px; line-height:1.6; }
.f-nav a{
	font-size:12.5px;
	color:rgba(255,255,255,.56);
	letter-spacing:.08em;
	transition:color .3s;
}
.f-nav a:hover{ color:var(--accent-2); }
.f-meta p{
	margin:0 0 10px;
	font-size:12px;
	line-height:1.9;
	color:rgba(255,255,255,.42);
	letter-spacing:.05em;
}
.f-meta a{ color:rgba(255,255,255,.55); border-bottom:1px solid rgba(255,255,255,.16); }
.f-meta a:hover{ color:var(--accent-2); border-bottom-color:var(--accent-2); }

#footer-copy{
	margin-top:0;
	padding:20px 0 22px;
	border-top:1px solid rgba(255,255,255,.07);
	text-align:center;
	color:rgba(255,255,255,.34);
	font-size:11.5px;
	line-height:2;
	letter-spacing:.06em;
}
#footer-copy a{
	color:rgba(255,255,255,.45);
	text-decoration:none;
	padding-bottom:1px;
	border-bottom:1px solid rgba(255,255,255,.13);
	transition:color .2s, border-color .2s;
}
#footer-copy a:hover{ color:var(--accent-2); border-bottom-color:var(--accent-2); }
#footer-copy .sep{ margin:0 8px; opacity:.4; }

/* ---------- 评论区 ---------- */
#comments{ margin-top:52px; padding-top:32px; border-top:1px solid var(--line-soft); }
.comment-title span{ font-family:var(--serif); font-size:18px; color:var(--ink); letter-spacing:.04em; }
.comment-list .name a{ color:var(--ink); }
.comment-list .name a:hover{ color:var(--accent); }
.comment-list .text{ border-top:1px solid var(--line-soft); }
.comment-list .author img{ border:1px solid var(--line); border-radius:50%; }
#respond label{ color:var(--ink-3); font-size:12px; }
#respond input,#respond textarea{
	border:1px solid var(--line);
	border-radius:2px;
	background:#fdfcfa;
	color:var(--ink);
	font-size:13px;
	letter-spacing:.02em;
}
#respond input:focus,#respond textarea:focus{ border-color:#cfc6b6; background:#fff; }
#respond input#submit{
	height:34px;
	line-height:34px;
	padding:0 18px;
	width:auto;
	background:var(--accent);
	border-radius:2px;
	font-size:12.5px;
	letter-spacing:.12em;
	transition:background .3s;
}
#respond input#submit:hover{ background:#c4633f; }

/* ---------- 返回顶部 ---------- */
#scrolltop{
	right:30px;
	bottom:34px;
	background:var(--ink);
	border-radius:2px;
	transform:none;
	width:40px; height:40px;
	box-shadow:0 6px 18px rgba(0,0,0,.16);
}
#scrolltop:hover{ background:var(--accent); }

/* ---------- 归档页 / 留言页 ---------- */
#openlist{ display:none !important; }
#singular-content{ position:relative; }
#archives{ width:78%; float:left; }
#archives li{ line-height:40px; border-bottom:1px dashed var(--line-soft); }
#archives a{ color:var(--ink-2); border-bottom:0; }
#archives a:hover{ color:var(--accent); background:transparent; }
#archives .msg{ color:var(--ink-3); font-size:11.5px; }
#archive-nav{
	float:none;
	margin:0;
	padding:0;
	position:absolute;
	right:44px;
	top:150px;
	width:76px;
	text-align:right;
	z-index:3;
}
#archive-nav span{ display:block; }
#archive-nav .year,
#archive-nav .month{
	font-size:11.5px;
	line-height:26px;
	color:var(--ink-3);
	border-left:0;
	padding:0;
	letter-spacing:.04em;
}
#archive-nav .year:hover,
#archive-nav .month:hover{ color:var(--ink); border-left:0; }
#archive-nav .selected{ color:var(--accent) !important; border-left:0 !important; }
.one-year li{ border-left:0; padding-left:0; color:var(--ink-3); }
ul.links li{ width:210px; margin:0 0 14px 24px; }

/* ---------- 登录后隐藏后台工具条 ---------- */
html body.admin-bar{ margin-top:0 !important; }
#wpadminbar{ display:none !important; }

/* ---------- 响应式 ---------- */
@media (max-width:900px){
	.post-index{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-top:32px; }
	#singular-content{ padding:40px 32px; margin:28px 0 40px; }
	#footer-inner{ grid-template-columns:1fr 1fr; gap:30px; padding:40px 0 28px; }
	.post-nav{ grid-template-columns:1fr; }
}
@media (max-width:640px){
	#header-wrap{ padding:36px 0 18px; }
	#logo h1{ font-size:24px; letter-spacing:.24em; text-indent:.24em; }
	#logo h2{ font-size:10.5px; letter-spacing:.2em; text-indent:.2em; }
	#main-nav{ display:none !important; }
	#openmenu{
		display:block !important;
		right:0; top:4px;
		width:42px; height:42px;
		padding:9px 0 0;
		z-index:6;
		font-size:0;
		color:transparent;
	}
	#openmenu span{
		width:22px; height:1px;
		margin:5px auto 0;
		background:rgba(255,255,255,.9);
		box-shadow:none;
	}
	.post-index{ grid-template-columns:1fr; gap:18px; }
	.card-cover{ height:200px; }
	#singular-content{ padding:30px 20px; margin:20px 0 30px; }
	#singular-content .entry-header h1{ font-size:22px; }
	#footer-inner{ grid-template-columns:1fr; gap:26px; }
	#search-form{ width:180px; }

	/* 抽屉菜单：原主题为半透明噪点底，压在照片上文字难以辨认，改为实底 */
	#narrow-menu{
		background-color:rgba(20,18,16,.985);
		background-image:none;
		box-shadow:-18px 0 46px rgba(0,0,0,.42);
	}
	#narrow-menu a{ color:rgba(255,255,255,.74); }
	#narrow-menu > ul > li > a{ color:rgba(255,255,255,.88); letter-spacing:.06em; }
	#narrow-menu a:hover,
	#narrow-menu ul li:hover>a{ color:var(--accent-2); }
}
