/*
Theme Name: 打漁書生
Theme URI: #
Author: 打漁書生
Description: 一款极简、规矩、具有东方文化底蕴的传统两栏博客主题。
Version: 1.7 (纯文字版)
Text Domain: dayushusheng
*/

/* ========================================================= */
/* 1. 基础变量与全局重置
/* ========================================================= */
:root {
    --bg-color: #FBFBF9;       
    --text-main: #2C2C2C;      
    --text-meta: #888888;      
    --accent-color: #8A3324;   
    --line-color: #E5E5E5;     
    --font-serif: "Noto Serif SC", "Songti SC", "SimSun", serif;
    --font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
}

body { 
    background-color: var(--bg-color); 
    color: var(--text-main); 
    font-family: var(--font-sans); 
    line-height: 1.8; 
    -webkit-font-smoothing: antialiased; 
}

a { 
    color: inherit; 
    text-decoration: none; 
    transition: color 0.3s ease; 
}

a:hover { 
    color: var(--accent-color); 
}

/* ========================================================= */
/* 2. 页头排版与导航
/* ========================================================= */
.site-header { 
    padding: 50px 0 30px; 
    border-bottom: 1px solid var(--line-color); 
}

.header-inner { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 40px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    flex-wrap: nowrap; 
}

.site-title { 
    font-family: var(--font-serif); 
    font-size: 28px; 
    font-weight: 700; 
    letter-spacing: 2px; 
    margin: 0; 
}

.site-nav ul { 
    list-style: none; 
    display: flex; 
    margin: 0; 
    padding: 0; 
    align-items: center; 
}

.site-nav ul li { 
    margin-left: 40px; 
}

.site-nav ul li a { 
    font-size: 15px; 
    color: var(--text-main); 
    display: block; 
    transition: color 0.3s ease; 
}

.site-nav ul li a:hover { 
    color: var(--accent-color); 
}

.site-nav ul li.current-menu-item > a, 
.site-nav ul li.current-menu-ancestor > a { 
    color: var(--accent-color); 
    font-weight: bold; 
}

/* ========================================================= */
/* 3. 核心布局 (三区布局)
/* ========================================================= */
.container { 
    max-width: 1200px; 
    margin: 0 auto; 
    display: flex; 
    align-items: stretch; 
}

.content-area { 
    width: 73%; 
    padding: 50px 50px 50px 40px; 
}

.sidebar { 
    width: 27%; 
    padding: 50px 30px; 
    border-left: 1px solid var(--line-color); 
    border-right: 1px solid var(--line-color); 
    min-height: 80vh; 
}

/* ========================================================= */
/* 4. 首页轮播图模块
/* ========================================================= */
.post-slider { 
    position: relative; 
    margin-bottom: 50px; 
    border-radius: 6px; 
    overflow: hidden; 
}

.slider-wrapper { 
    position: relative; 
    width: 100%; 
    aspect-ratio: 16 / 9; 
    max-height: 360px; 
    background-color: #F0F0F0; 
}

.slide { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    opacity: 0; 
    transition: opacity 0.8s ease-in-out; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-end; 
}

.slide.active { 
    opacity: 1; 
    z-index: 1; 
}

.slide-image { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-size: cover; 
    background-position: center; 
}

.slide-text { 
    position: relative; 
    z-index: 2; 
    padding: 30px 40px; 
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); 
    color: #FFF; 
    display: flex; 
    align-items: center; 
    gap: 15px; 
}

.slide-category { 
    font-size: 14px; 
    background-color: var(--accent-color); 
    padding: 4px 12px; 
    margin-bottom: 0; 
    display: inline-block; 
    white-space: nowrap; 
    border-radius: 2px; 
}

.slide-category a { 
    color: #FFF !important; 
    text-decoration: none; 
}

.slide-text h2 { 
    font-family: var(--font-serif); 
    font-size: 16px; 
    line-height: 1.4; 
    margin: 0; 
    font-weight: normal; 
    letter-spacing: 1px; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.slider-dots { 
    position: absolute; 
    bottom: 15px; 
    right: 40px; 
    z-index: 3; 
    display: flex; 
    gap: 8px; 
}

.dot { 
    width: 8px; 
    height: 8px; 
    background-color: rgba(255,255,255,0.5); 
    border-radius: 50%; 
    cursor: pointer; 
    transition: background 0.3s; 
}

.dot.active { 
    background-color: #FFF; 
}

/* ========================================================= */
/* 5. 文章列表卡片 (首页与归档页)
/* ========================================================= */
.post-list { 
    border-top: 1px solid var(--line-color); 
    padding-top: 50px; 
}

.post { 
    margin-bottom: 30px; 
    padding: 35px 40px; 
    border-radius: 8px; 
    background-color: #FFFFFF; 
    border: 1px solid var(--line-color); 
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); 
}

.post:hover { 
    border-color: transparent; 
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06); 
    transform: translateY(-4px); 
}

.post-header-flex { 
    display: flex; 
    justify-content: space-between; 
    align-items: baseline; 
    padding-bottom: 15px; 
    margin-bottom: 15px; 
    border-bottom: 1px solid var(--line-color); 
}

.post .post-title { 
    font-family: var(--font-serif); 
    font-size: 22px; 
    line-height: 1.4; 
    margin: 0; 
    padding: 0; 
    border: none; 
}

.post-meta-right { 
    font-size: 13px; 
    color: var(--text-meta); 
    font-family: var(--font-sans); 
    white-space: nowrap; 
}

.post-meta-right a { 
    color: var(--text-meta); 
    transition: color 0.3s; 
}

.post-meta-right a:hover { 
    color: var(--accent-color); 
}

.meta-sep { 
    margin: 0 8px; 
    color: var(--line-color); 
    font-size: 12px; 
}

.post-excerpt p { 
    font-size: 15px; 
    margin-bottom: 0; 
    text-align: justify; 
}

.post-footer-flex { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-top: 25px; 
}

.post-stats { 
    font-size: 13px; 
    color: var(--text-meta); 
    font-family: var(--font-sans); 
    letter-spacing: 1px; 
}

.stat-item { 
    margin-right: 15px; 
}

.read-more { 
    display: inline-block; 
    padding: 6px 24px; 
    font-size: 13px; 
    color: var(--text-main); 
    border: 1px solid var(--line-color); 
    border-radius: 4px; 
    letter-spacing: 2px; 
    transition: all 0.3s ease; 
}

.read-more:hover { 
    color: #FFF; 
    background-color: var(--accent-color); 
    border-color: var(--accent-color); 
}

/* ========================================================= */
/* 6. 文章详情页与独立页面
/* ========================================================= */
.post-banner { 
    width: 100%; 
    margin-bottom: 30px; 
    border-radius: 8px; 
    overflow: hidden; 
    aspect-ratio: 32 / 9; 
    background-color: #F0F0F0; 
    border: 1px solid var(--line-color); 
    box-shadow: 0 4px 20px rgba(0,0,0,0.03); 
}

.post-banner img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block; 
    transition: transform 0.6s ease; 
}

.post-banner:hover img { 
    transform: scale(1.02); 
}

.post-single { 
    background-color: #FFFFFF; 
    border: 1px solid var(--line-color); 
    border-radius: 8px; 
    padding: 50px; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.03); 
    margin-bottom: 40px; 
}

.post-header { 
    margin-bottom: 40px; 
    padding-bottom: 30px; 
    border-bottom: 1px solid var(--line-color); 
    text-align: center; 
}

.post-single .post-title { 
    font-family: var(--font-serif) !important; 
    font-size: 26px !important; 
    line-height: 1.5 !important; 
    margin-bottom: 15px !important; 
    font-weight: bold !important; 
    letter-spacing: 2px !important; 
    text-align: center !important; 
}

.post-meta-single { 
    font-size: 13px; 
    color: var(--text-meta); 
    display: flex; 
    justify-content: center; 
    gap: 20px; 
    letter-spacing: 1px; 
}

.entry-content { 
    font-size: 16px; 
    line-height: 2; 
    text-align: justify; 
}

.entry-content p { 
    margin-bottom: 25px; 
}

.entry-content blockquote { 
    margin: 35px 0; 
    padding: 15px 30px; 
    border-left: 3px solid var(--accent-color); 
    font-family: var(--font-serif); 
    font-size: 18px; 
    color: var(--text-meta); 
}

.post-footer { 
    margin-top: 60px; 
    padding-top: 30px; 
    border-top: 1px solid var(--line-color); 
}

.post-tags { 
    margin-bottom: 40px; 
    font-size: 14px; 
    color: var(--text-meta); 
}

.post-tags a { 
    margin-right: 15px; 
}

.post-tags a:hover { 
    color: var(--accent-color); 
}

.post-navigation { 
    display: flex; 
    justify-content: space-between; 
    font-size: 15px; 
    font-family: var(--font-serif); 
}

.nav-previous, 
.nav-next { 
    width: 48%; 
}

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

.nav-label { 
    display: block; 
    font-size: 12px; 
    font-family: var(--font-sans); 
    color: var(--text-meta); 
    margin-bottom: 5px; 
}

/* 独立页面标题居中 */
.page .post-title, 
.page .entry-title, 
.page .page-title { 
    padding-bottom: 20px !important; 
    margin-bottom: 30px !important; 
    border-bottom: 1px solid var(--line-color) !important; 
    text-align: center !important; 
}

.page .post-meta-single { 
    display: none !important; 
}

/* 极简版权声明 */
.post-copyright-simple { 
    margin: 50px 0 20px; 
    padding: 20px; 
    background-color: #FBFBFB; 
    border: 1px solid #F0F0F0; 
    color: var(--text-meta); 
    font-size: 14px; 
    text-align: center; 
    letter-spacing: 1px; 
    border-radius: 4px; 
}

/* ========================================================= */
/* 7. 分类归档与分页导航
/* ========================================================= */
.archive-header { 
    margin-bottom: 0; 
    padding-bottom: 40px; 
    border-bottom: none; 
    text-align: center; 
}

.archive-title { 
    font-family: var(--font-serif); 
    font-size: 32px; 
    color: var(--text-main); 
    margin-bottom: 15px; 
    letter-spacing: 2px; 
}

.archive-description { 
    font-size: 15px; 
    color: var(--text-meta); 
}

.pagination { 
    margin-top: 50px; 
    text-align: center; 
}

.pagination .nav-links { 
    display: inline-flex; 
    justify-content: center; 
    gap: 15px; 
    font-family: var(--font-serif); 
    font-size: 15px; 
}

.pagination .page-numbers { 
    display: inline-block; 
    padding: 8px 18px; 
    border: 1px solid var(--line-color); 
    border-radius: 4px; 
    background-color: #FFFFFF; 
    color: var(--text-main); 
    transition: all 0.3s ease; 
}

.pagination a.page-numbers:hover { 
    border-color: var(--accent-color); 
    color: var(--accent-color); 
    box-shadow: 0 4px 10px rgba(0,0,0,0.03); 
}

.pagination .current { 
    background-color: var(--text-main); 
    color: #FFFFFF; 
    border-color: var(--text-main); 
}

/* ========================================================= */
/* 8. 评论留言区
/* ========================================================= */
.comments-area { 
    background-color: #FFFFFF; 
    border: 1px solid var(--line-color); 
    border-radius: 8px; 
    padding: 50px; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.03); 
    margin-top: 40px; 
}

.comments-title, 
#comments-title, 
.comments-area > h2, 
.comments-area > h3 { 
    font-family: var(--font-serif) !important; 
    font-size: 18px !important; 
    color: var(--text-main) !important; 
    margin: 0 0 30px 0 !important; 
    padding-bottom: 15px !important; 
    border-bottom: 1px solid var(--line-color) !important; 
    font-weight: bold !important; 
    letter-spacing: 2px !important; 
    display: block !important; 
}

.comment-respond, 
#respond { 
    margin-top: 50px !important; 
    padding-top: 40px !important; 
    border-top: 1px solid var(--line-color) !important; 
}

#reply-title, 
.comment-reply-title, 
#respond h2, 
#respond h3 { 
    font-family: var(--font-serif) !important; 
    font-size: 18px !important; 
    color: var(--text-main) !important; 
    margin: 0 0 20px 0 !important; 
    padding-bottom: 0 !important; 
    border-bottom: none !important; 
    font-weight: bold !important; 
    letter-spacing: 2px !important; 
    display: block !important; 
}

#cancel-comment-reply-link { 
    font-family: var(--font-sans) !important; 
    font-size: 13px !important; 
    color: var(--text-meta) !important; 
    font-weight: normal !important; 
    margin-left: 15px !important; 
    letter-spacing: 1px !important; 
    text-decoration: none !important; 
}

.comment-form { 
    display: flex; 
    flex-direction: column; 
    gap: 20px; 
}

.comment-form input, 
.comment-form textarea { 
    width: 100%; 
    padding: 15px; 
    background-color: transparent; 
    border: 1px solid var(--line-color); 
    border-radius: 4px; 
    font-family: inherit; 
    font-size: 14px; 
    outline: none; 
    transition: border-color 0.3s; 
}

.comment-form input:focus, 
.comment-form textarea:focus { 
    border-color: var(--text-meta); 
}

.comment-form textarea { 
    min-height: 120px; 
    resize: vertical; 
}

.submit-btn, 
.form-submit input[type="submit"] { 
    align-self: flex-start; 
    padding: 10px 30px; 
    background-color: var(--text-main); 
    color: #FFF; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
    font-family: var(--font-serif); 
    font-size: 15px; 
    transition: background-color 0.3s; 
    margin-top: 10px; 
}

.comment-list, 
.comment-list .children { 
    list-style: none !important; 
    margin: 0; 
    padding: 0; 
}

.comment-list li.comment { 
    margin-bottom: 30px; 
    padding-bottom: 30px; 
    border-bottom: 1px dashed var(--line-color); 
}

.comment-list li.comment:last-child { 
    border-bottom: none; 
    margin-bottom: 0; 
    padding-bottom: 0; 
}

.comment-list .children li.comment { 
    margin-top: 30px; 
    margin-left: 40px; 
    padding-left: 20px; 
    border-left: 2px solid #F0F0F0; 
    border-bottom: none; 
    padding-bottom: 0; 
    margin-bottom: 0; 
}

.comment-author .says { 
    display: none !important; 
}

.comment-author, 
.comment-author a, 
.comment-author b, 
.comment-author cite, 
.comment-author span, 
.comment-author .fn, 
.vcard .fn { 
    font-family: var(--font-serif) !important; 
    font-size: 16px !important; 
    color: var(--text-main) !important; 
    font-weight: bold !important; 
    font-style: normal !important; 
    text-decoration: none !important; 
}

.comment-meta { 
    margin-top: 5px; 
    margin-bottom: 15px; 
}

.comment-meta a { 
    font-family: var(--font-sans); 
    font-size: 12px; 
    color: var(--text-meta); 
    letter-spacing: 1px; 
    text-decoration: none; 
}

.comment-content { 
    font-size: 15px; 
    line-height: 1.8; 
    color: var(--text-main); 
    text-align: justify; 
}

.comment-content p { 
    margin-bottom: 15px; 
}

.comment-reply-link { 
    display: inline-block; 
    font-size: 12px; 
    color: var(--text-meta); 
    border: 1px solid var(--line-color); 
    padding: 4px 16px; 
    border-radius: 4px; 
    margin-top: 5px; 
    text-decoration: none; 
    transition: all 0.3s ease; 
}

.comment-reply-link:hover { 
    background-color: var(--accent-color); 
    color: #FFF; 
    border-color: var(--accent-color); 
}

.comment-form-cookies-consent { 
    display: none !important; 
}

/* ========================================================= */
/* 9. 侧边栏与小工具 (头像居中、名片卡与时光刻度)
/* ========================================================= */
.widget { 
    margin-bottom: 50px; 
}

.widget-title { 
    font-family: var(--font-serif); 
    font-size: 16px; 
    margin-bottom: 20px; 
    padding-bottom: 10px; 
    border-bottom: 1px solid var(--line-color); 
    color: var(--text-main); 
    letter-spacing: 1px; 
}

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

.widget ul li { 
    position: relative;
    padding-left: 16px; 
    margin-bottom: 12px; 
    font-size: 14px; 
    line-height: 1.6; 
    padding-bottom: 10px; 
    border-bottom: 1px dashed #F0F0F0; 
}

.widget ul li:last-child { 
    border-bottom: none; 
    padding-bottom: 0; 
    margin-bottom: 0; 
}

/* 注入朱砂小圆点 */
.widget ul li::before {
    content: "·"; 
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent-color); 
    font-weight: bold;
    font-size: 20px; 
    line-height: 1.2; 
}

/* --- 侧边栏：搜索小工具结构化修复 --- */
.widget_search .search-form {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 40px !important;
    border: 1px solid var(--line-color) !important; /* 统一的外边框 */
    border-radius: 4px !important;
    overflow: hidden !important; /* 确保内部元素不超出圆角 */
    background-color: transparent !important;
}

.widget_search .search-field {
    flex: 1 !important;
    height: 100% !important;
    padding: 0 12px !important;
    border: none !important; /* 移除输入框自带边框 */
    background: transparent !important;
    font-size: 14px !important;
    outline: none !important;
    color: var(--text-main) !important;
}

.widget_search .search-submit {
    width: auto !important;
    height: 100% !important;
    padding: 0 18px !important;
    background-color: var(--text-main) !important; /* 使用主题主色调 */
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important; /* 靠右对齐，不需要独立圆角 */
    font-family: var(--font-serif) !important;
    font-size: 14px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background-color 0.3s !important;
}

.widget_search .search-submit:hover {
    background-color: var(--accent-color) !important;
}

/* --- 侧边栏：个人名片区域 --- */
.profile-avatar-dynamic, 
.profile-name, 
.profile-desc { 
    text-align: center; 
}

.profile-avatar-dynamic img { 
    display: block; 
    margin: 0 auto 20px; 
    border-radius: 50%; 
    padding: 4px; 
    background-color: #fff;
    border: 1px solid #e0e0e0; 
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); 
    width: 120px; 
    height: 120px; 
    object-fit: cover; 
}

.profile-name { 
    font-family: var(--font-serif); 
    font-size: 20px; 
    margin-bottom: 10px; 
    font-weight: normal; 
}

.profile-desc { 
    font-size: 14px; 
    color: var(--text-meta); 
    line-height: 1.8; 
    padding-bottom: 30px; 
    border-bottom: 1px solid var(--line-color); 
    margin-bottom: 40px; 
}

/* --- 侧边栏：时光刻度 (收纳于此) --- */
.life-timer {
    text-align: center; 
    font-size: 13px;
    color: #888; 
    letter-spacing: 1px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.life-timer .days-num {
    font-family: "Georgia", "Times New Roman", serif;
    font-style: italic;
    font-size: 15px;
    color: #555;
    margin: 0 4px;
}

/* --- 侧边栏：书生自况诗 --- */
.sidebar-poem { 
    margin: 30px auto; 
    padding: 25px 0; 
    text-align: center; 
    border-top: 1px dashed #eaeaea; 
    border-bottom: 1px dashed #eaeaea; 
    max-width: 80%; 
}

.sidebar-poem p { 
    font-family: 'Kaiti', 'STKaiti', 'KaiTi_GB2312', var(--font-serif), serif; 
    font-size: 15px; 
    color: var(--text-meta); 
    line-height: 2.2; 
    letter-spacing: 3px; 
    margin: 0; 
    font-weight: normal; 
}

.sidebar-poem p:last-child { 
    margin-bottom: 0; 
}

/* --- 侧边栏：归档小工具双列排版 --- */
.widget_archive ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 强制分为均等的两列 */
    column-gap: 10px; /* 左右两列之间的呼吸间距 */
    row-gap: 12px;    /* 上下两行之间的间距 */
}

.widget_archive ul li {
    margin-bottom: 0; /* 清除默认的外边距，交由上面的 row-gap 统一控制 */
    padding-bottom: 8px; /* 调整虚线与文字的距离 */
    border-bottom: 1px dashed #F0F0F0; /* 维持原本淡淡的虚线底边 */
}

/* 确保最后一行的项目没有底边框，保持收尾干净 */
.widget_archive ul li:last-child,
.widget_archive ul li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
    padding-bottom: 0;
}

/* ========================================================= */
/* 10. 页脚 (响应式对齐逻辑)
/* ========================================================= */
.site-footer {
    text-align: center;
    padding: 30px 0;
    color: #999;
    font-size: 13px;
    line-height: 1.8;
    border-top: 1px solid var(--line-color); 
}

.site-timer, 
.site-copyright {
    margin: 0 !important; 
    line-height: 1; 
}

.site-copyright .sep {
    margin: 0 4px !important; 
    color: #ccc;
}

.site-copyright .footer-link {
    color: #999;
    text-decoration: none;
    transition: color 0.3s;
}

.site-copyright .footer-link:hover {
    color: #333; 
}

@media (min-width: 801px) {
    .site-footer .footer-inner {
        display: flex;
        justify-content: space-between; 
        align-items: center;
        max-width: 1200px; 
        margin: 0 auto;     
        padding-left: 40px; 
        padding-right: 0;   
    }
}

@media (max-width: 800px) {
    .site-footer .footer-inner {
        display: flex;
        justify-content: center; 
        align-items: center;
        flex-wrap: wrap;         
        gap: 15px;               
    }
}

/* ========================================================= */
/* 11. 特殊页面：404 与 无搜索结果
/* ========================================================= */
.error-404-wrapper { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 60vh; 
    text-align: center; 
}

.error-404-inner { 
    max-width: 600px; 
    padding: 20px; 
}

.error-code { 
    font-family: var(--font-serif); 
    font-size: 120px; 
    color: #F7F7F7; 
    font-weight: bold; 
    line-height: 1; 
    margin-bottom: -40px; 
    user-select: none; 
}

.error-message { 
    font-family: var(--font-serif); 
    font-size: 26px; 
    color: var(--text-main); 
    letter-spacing: 2px; 
    margin-bottom: 20px; 
    position: relative; 
    z-index: 1; 
}

.error-hint { 
    font-size: 15px; 
    color: var(--text-meta); 
    margin-bottom: 40px; 
    letter-spacing: 1px; 
}

.btn-back-home { 
    display: inline-block; 
    padding: 10px 35px; 
    font-size: 14px; 
    color: var(--text-main); 
    border: 1px solid var(--line-color); 
    border-radius: 4px; 
    transition: all 0.3s ease; 
    letter-spacing: 2px; 
}

.btn-back-home:hover { 
    background-color: var(--text-main); 
    color: #FFF; 
    border-color: var(--text-main); 
}

.no-search-results { 
    padding: 100px 20px; 
    text-align: center; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
}

.search-re-form { 
    width: 100%; 
    max-width: 300px; 
    margin: 50px 0 30px; 
}

.search-re-form form { 
    display: flex; 
    align-items: center; 
    border-bottom: 1px solid var(--line-color); 
    padding-bottom: 8px; 
}

.search-re-form input[type="search"], 
.search-re-form .search-field { 
    flex: 1; 
    border: none !important; 
    background: transparent !important; 
    outline: none !important; 
    font-family: var(--font-serif) !important; 
    font-size: 16px; 
    color: var(--text-main); 
    text-align: center; 
    padding: 0 10px; 
}

.search-re-form input[type="submit"], 
.search-re-form .search-submit { 
    background: none !important; 
    border: none !important; 
    color: var(--text-meta) !important; 
    font-size: 14px; 
    cursor: pointer; 
    padding: 0 5px; 
    -webkit-appearance: none; 
}

.no-search-results .btn-back-home { 
    padding: 8px 30px; 
    font-size: 13px; 
}

/* ========================================================= */
/* 12. 组件：联系卡片与分隔线
/* ========================================================= */
.contact-sep { 
    border: none; 
    border-top: 1px solid #f0f0f0; 
    margin: 80px auto 40px; 
    width: 100%; 
    position: relative; 
    overflow: visible; 
}

.contact-card { 
    margin: 60px auto 20px; 
    max-width: 500px; 
    background: #fff; 
    border: 1px solid #f0f0f0; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.02); 
    position: relative; 
}

.contact-card::before { 
    content: ''; 
    position: absolute; 
    top: 0; 
    right: 20px; 
    width: 20px; 
    height: 30px; 
    background: #B22222; 
    opacity: 0.8; 
}

.contact-inner { 
    padding: 40px; 
    text-align: center; 
}

.contact-title { 
    font-family: var(--font-serif); 
    font-size: 20px; 
    color: var(--text-main); 
    margin-bottom: 20px; 
    letter-spacing: 2px; 
}

.contact-text { 
    font-size: 14px; 
    color: var(--text-meta); 
    line-height: 1.8; 
    margin-bottom: 30px !important; 
}

.contact-methods { 
    display: inline-block; 
    text-align: left; 
    padding: 20px 0; 
    border-top: 1px solid #f9f9f9; 
    border-bottom: 1px solid #f9f9f9; 
}

.contact-item { 
    margin: 10px 0; 
    font-size: 14px; 
}

.contact-item .label { 
    color: #999; 
}

.contact-item .value { 
    color: var(--text-main); 
    font-family: var(--font-sans); 
}

.contact-footer { 
    margin-top: 30px; 
    font-size: 12px; 
    color: #ccc; 
    font-style: italic; 
    letter-spacing: 1px; 
}

/* ========================================================= */
/* 13. 移动端终极响应式适配 (抽屉菜单与书签流苏)
/* ========================================================= */
@media (max-width: 800px) {
    .container { 
        flex-direction: column; 
        padding: 15px; 
    }
    
    .content-area, 
    .sidebar { 
        width: 100%; 
        padding: 15px 0; 
        border-left: none; 
        border-right: none; 
    }
    
    .post, 
    .post-single, 
    .comments-area { 
        padding: 25px 20px; 
    }
    
    .post-header-flex { 
        flex-direction: column; 
        align-items: flex-start; 
        gap: 12px; 
        padding-bottom: 12px; 
        margin-bottom: 15px; 
    }
    
    .post .post-title { 
        font-size: 20px; 
        line-height: 1.4; 
    }
    
    .post-single h1.post-title, 
    .post-single .post-title, 
    .page .post-title { 
        font-size: 19px !important; 
        line-height: 1.6 !important; 
        margin-bottom: 20px !important; 
        padding: 0 10px !important; 
        letter-spacing: 1px !important; 
    }
    
    .sidebar { 
        margin-top: 30px; 
        min-height: auto; 
        padding-left: 20px; 
        padding-right: 20px; 
    }
    
    .single .sidebar, 
    .archive .sidebar, 
    .search .sidebar, 
    .page .sidebar { 
        display: none; 
    }
    
    .comment-list .children li.comment { 
        margin-left: 15px; 
        padding-left: 15px; 
    }
    
    .error-code { 
        font-size: 80px; 
        margin-bottom: -25px; 
    }
    
    .error-message { 
        font-size: 20px; 
        padding: 0 10px; 
    }
    
    .contact-card { 
        margin: 40px 10px; 
    }
    
    .contact-inner { 
        padding: 30px 20px; 
    }

    .header-inner { 
        padding: 0 20px; 
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap !important; 
    }
    
    .site-title { 
        font-size: 20px !important; 
        white-space: nowrap !important; 
        flex-shrink: 0; 
        margin: 0;
    }
    
    .mobile-menu-toggle { 
        display: flex; 
        flex-direction: column; 
        justify-content: space-between; 
        width: 24px; 
        height: 18px; 
        cursor: pointer; 
        z-index: 1000; 
        flex-shrink: 0; 
    }
    
    .mobile-menu-toggle span { 
        display: block; 
        width: 100%; 
        height: 2px; 
        background-color: var(--text-main); 
        transition: all 0.3s ease; 
    }
    
    .mobile-menu-toggle.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; }
    .mobile-menu-toggle.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    .site-nav { 
        position: fixed; 
        top: 0; 
        right: -200px; 
        width: 180px; 
        height: 100vh; 
        background-color: #FFFFFF; 
        box-shadow: -5px 0 20px rgba(0,0,0,0.08); 
        z-index: 999; 
        transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); 
        padding: 80px 0 30px; 
        overflow-y: auto; 
    }
    
    .site-nav.active { right: 0; }
    
    .site-nav ul,
    .site-nav div > ul { 
        display: flex !important;
        flex-direction: column !important; 
        align-items: center !important; 
        justify-content: flex-start;
        gap: 25px !important; 
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .site-nav ul li { margin: 0 !important; }
    .site-nav ul li a { font-size: 15px !important; letter-spacing: 2px; }

    /* --- 手机抽屉菜单底部的书签流苏 --- */
    .menu-item:last-child::after {
        content: '';
        display: block;
        width: 1px;               
        height: 120px;            
        background-color: #ddd;   
        margin: 50px auto 0;      
    }

    .mobile-menu-overlay { 
        position: fixed; 
        top: 0; 
        left: 0; 
        width: 100%; 
        height: 100%; 
        background: rgba(0,0,0,0.4); 
        z-index: 998; 
        opacity: 0; 
        visibility: hidden; 
        transition: all 0.4s ease; 
    }
    
    .mobile-menu-overlay.active { 
        opacity: 1; 
        visibility: visible; 
    }
    
    body.no-scroll { 
        overflow: hidden; 
    }
}

/* ========================================================= */
/* 14. 营建志时间轴样式
/* ========================================================= */
.timeline-container {
    position: relative;
    padding: 20px 0;
    margin-top: 20px;
}

.timeline-container::before {
    content: '';
    position: absolute;
    left: 7px; 
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--line-color);
}

.timeline-item {
    position: relative;
    padding-left: 35px;
    margin-bottom: 40px;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 14px;
    height: 14px;
    background: #FFF;
    border: 2px solid var(--accent-color); 
    border-radius: 50%;
    z-index: 1;
}

.timeline-date {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-meta);
    margin-bottom: 8px;
    letter-spacing: 1px;
}

.timeline-content h4 {
    font-family: var(--font-serif);
    font-size: 18px;
    color: var(--text-main);
    margin-bottom: 10px;
    font-weight: normal;
}

.timeline-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}