/**
 * Danye 主题样式
 * v1.0.0
 */

:root {
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-light: #eff6ff;
    --bg: #f8fafc;
    --white: #ffffff;
    --text: #1e293b;
    --gray: #64748b;
    --muted: #64748b;
    --border: rgba(0,0,0,0.06);
    --border-light: #e5e7eb;
    --border-blue: #dbeafe;
    --gray-100: #f1f5f9;
    --sep: #cbd5e1;
    --radius: 16px;
    --shadow: 0 10px 40px rgba(0,0,0,0.06);
    --content-width: 760px;
    /* 页面卡片/侧边栏/头部 logo 共用的水平内边距，确保顶部站点名与下方标题文字左右对齐 */
    --page-card-x: 22px;
}

/* 移动端同样使用 22px 内部留白，避免文字贴边 */
@media (max-width: 768px) {
    :root { --page-card-x: 22px; }
}

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

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.container {
    max-width: var(--site-width, 1140px);
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .container { padding: 0 !important; }
    .header-inner.container { padding: 0 var(--page-card-x) !important; }
    html, body { overflow-x: hidden; }
}
a { text-decoration: none; color: var(--primary); }
a:hover { color: var(--primary-hover); }

h1 { font-size: 44px; font-weight: 700; line-height: 1.15; letter-spacing: -0.5px; }
h2 { font-size: 30px; font-weight: 600; letter-spacing: -0.3px; }
h3 { font-size: 20px; font-weight: 600; }
img { max-width: 100%; height: auto; }

/* ==================== Header ==================== */
#danye-header {
    display: block;
    position: relative;
    min-height: 64px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
    z-index: 9999;
}

/* 滚动时固定导航栏：使用 sticky 而非 fixed，避免内容遮挡 */
.danye-sticky-header #danye-header {
    position: sticky;
    top: 0;
}

/* WordPress 管理栏适配 */
.admin-bar.danye-sticky-header #danye-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar.danye-sticky-header #danye-header {
        top: 46px;
    }
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 64px;
    gap: 24px;
}
.logo { font-size: 20px; font-weight: 700; color: var(--primary); flex-shrink: 0; }
.custom-logo-link { display: inline-flex; }
.header-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.header-nav ul {
    display: flex;
    align-items: center;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.header-nav li { margin: 0; padding: 0; }
.header-nav a { color: var(--text); font-size: 15px; transition: color .2s; }
.header-nav a:hover { color: var(--primary); }
.header-wx { font-size: 14px; color: var(--gray); flex-shrink: 0; }
.header-wx strong { color: var(--primary); cursor: pointer; }

/* 顶部搜索图标 */
.header-search-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text);
    border-radius: 8px;
    transition: all .2s;
    flex-shrink: 0;
}
.header-search-toggle:hover {
    background: var(--gray-100);
    color: var(--primary);
}

/* 顶部搜索展开框 */
.header-search-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--border-light);
    padding: 16px 0;
    display: none;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.header-search-overlay.active { display: block; }
.header-search-box {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 20px;
}
.header-search-box form {
    display: flex;
    flex: 1;
    gap: 0;
}
.header-search-input {
    flex: 1;
    height: 44px;
    padding: 0 18px;
    border: 2px solid var(--primary);
    border-right: none;
    border-radius: 10px 0 0 10px;
    font-size: 15px;
    outline: none;
    transition: border-color .2s;
}
.header-search-input:focus { border-color: var(--primary-hover); }
.header-search-btn {
    width: 56px;
    height: 44px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
    flex-shrink: 0;
}
.header-search-btn:hover { background: var(--primary-hover); }
.header-search-close {
    width: 36px;
    height: 36px;
    background: var(--gray-100);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    color: var(--gray);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all .2s;
}
.header-search-close:hover { background: var(--border-light); color: var(--text); }

/* 移动端汉堡菜单按钮 */
.header-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
}
.header-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--text);
    border-radius: 2px;
    transition: all 0.3s;
    margin: 0 auto;
}
.header-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.header-toggle.active span:nth-child(2) {
    opacity: 0;
}
.header-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ==================== Hero ==================== */
.hero { padding: 120px 0 100px; background: linear-gradient(180deg, #f0f7ff 0%, var(--bg) 100%); }
.hero h1 span { color: var(--primary); }
.hero p { font-size: 18px; color: var(--gray); max-width: 540px; margin: 24px 0 30px; }
.trust-bar { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.trust-bar span {
    background: var(--white);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 14px;
    color: var(--primary);
    border: 1px solid var(--border-blue);
}
.trust-bar span[data-copy-wechat] {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    transition: all .2s;
}
.trust-bar span[data-copy-wechat]:hover {
    background: var(--primary-light);
    border-color: var(--primary);
}
.hero-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.wx-pill {
    background: var(--white);
    color: var(--primary);
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid var(--border-blue);
    box-shadow: 0 4px 15px rgba(37,99,235,0.1);
    transition: all .3s;
    font-size: 16px;
    display: inline-block;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1.4;
}
.wx-pill:hover { background: var(--primary-light); }

.btn {
    background: var(--primary);
    color: #fff;
    padding: 16px 36px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    box-shadow: 0 6px 20px rgba(37,99,235,0.25);
    transition: all .3s;
    min-height: 48px;
    display: inline-block;
}
.btn:hover { background: var(--primary-hover); color: #fff; }

/* ==================== Section 通用 ==================== */
.section { padding: 100px 0; }
.section-title { text-align: center; margin-bottom: 60px; }
.section-title span { color: var(--primary); }

/* ==================== 核心权益 ==================== */
.benefits { display: grid; grid-template-columns: repeat(var(--benefits-columns, 4), 1fr); gap: 24px; }
.benefit {
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(10px);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 32px 24px;
    text-align: center;
    transition: all .3s;
}
.benefit:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.benefit-icon {
    width: 56px;
    height: 56px;
    background: var(--primary-light);
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 20px;
}
.benefit h3 { font-size: 16px; margin-bottom: 10px; }
.benefit p { font-size: 14px; color: var(--gray); }
.benefit-btn {
    margin-top: 14px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    padding: 10px 22px;
    font-size: 14px;
    cursor: pointer;
    transition: background .2s;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
}
.benefit-btn:hover { background: var(--primary-hover); }

/* ==================== 流程步骤 ==================== */
.steps { display: flex; justify-content: space-between; max-width: 850px; margin: 0 auto; position: relative; }
.steps::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--border-blue), #dbeafe);
    z-index: 1;
}
.step { text-align: center; z-index: 2; flex: 1; }
.circle {
    width: 64px;
    height: 64px;
    background: var(--white);
    border: 2px solid var(--primary);
    color: var(--primary);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 16px;
    box-shadow: 0 4px 15px rgba(37,99,235,0.15);
}
.step h3 { font-size: 15px; margin-bottom: 8px; }
.step p { font-size: 13px; color: var(--gray); max-width: 150px; margin: 0 auto; }

/* ==================== 客户评价 ==================== */
.trust { background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(var(--trust-columns, 3), 1fr); gap: 24px; }
.trust-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px;
    background: rgba(255,255,255,0.6);
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    height: 100%;
}
.trust-card p { font-size: 14px; color: var(--gray); margin-bottom: 20px; line-height: 1.8; flex: 1; }
.trust-card .author { font-weight: 600; font-size: 14px; }
.trust-card .meta { font-size: 12px; color: var(--muted); margin-top: 6px; }

/* ==================== FAQ ==================== */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-list.faq-grid {
    display: grid;
    grid-template-columns: repeat(var(--faq-columns, 2), 1fr);
    gap: 20px;
    max-width: 100%;
}
.faq-item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-bottom: 12px;
    overflow: hidden;
}
.faq-grid .faq-item { margin-bottom: 0; }
.faq-question {
    padding: 18px 24px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background .3s;
}
.faq-question::after { content: "+"; font-size: 22px; color: var(--primary); transition: transform .3s; }
.faq-item.active .faq-question { background: var(--primary-light); }
.faq-item.active .faq-question::after { transform: rotate(45deg); }
.faq-answer {
    padding: 0 24px 18px;
    color: var(--gray);
    display: none;
    font-size: 14px;
    line-height: 1.8;
}
.faq-item.active .faq-answer { display: block; }

/* ==================== CTA ==================== */
.cta {
    background: linear-gradient(135deg, var(--primary) 0%, #1e40af 100%);
    color: #fff;
    padding: 90px 0;
    text-align: center;
    border-radius: 32px;
    margin: 0 20px;
}
.cta h2 { font-size: 30px; margin-bottom: 20px; }
.cta .wx-pill {
    background: rgba(255,255,255,0.15);
    color: #fff;
    border-color: rgba(255,255,255,0.3);
    margin: 24px auto;
    display: inline-block;
}
.cta p { font-size: 15px; opacity: .95; max-width: 600px; margin: 0 auto; }

/* ==================== Footer ==================== */
.danye-footer {
    background: #0f172a;
    color: var(--muted);
    margin-top: 50px;
}

/* 内层容器宽度统一：与 .container 保持相同宽度和水平内边距，确保页脚与头部、主体左右对齐 */
.danye-footer-inner {
    max-width: var(--site-width, 1140px);
    margin: 0 auto;
    padding: 0;
}

/* ==================== 上半区：品牌 + 二维码 ==================== */
.danye-footer-main {
    padding: 18px 0 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.danye-footer-grid {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 36px;
}

@media (max-width: 767px) {
    .danye-footer-grid {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        text-align: center;
    }
}

/* 品牌区 */
.danye-footer-brand {
    min-width: 0;
    max-width: 320px;
}
.danye-footer-title {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}
.danye-footer-title a {
    color: #fff;
    text-decoration: none;
    transition: color .2s;
}
.danye-footer-title a:hover {
    color: #93c5fd;
}
.danye-footer-desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
    color: #94a3b8;
    max-width: 420px;
}

/* 二维码 */
.danye-footer-qrcode-col {
    width: 110px;
    text-align: center;
    flex: none;
    margin-left: auto;
}
.danye-footer-qrcode-img {
    width: 88px;
    height: 88px;
    margin: 0 auto 6px;
    border-radius: 8px;
    background: #fff;
    padding: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}
.danye-footer-qrcode-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.danye-footer-qrcode-img span {
    font-size: 48px;
    color: #cbd5e1;
}
.danye-footer-qrcode-text {
    margin: 0;
    font-size: 12px;
    color: #94a3b8;
}

/* ==================== 下半区：友情链接 + 免责声明 ==================== */
.danye-footer-secondary {
    padding: 22px 0;
    border-bottom: none;
}

.danye-footer-friends {
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.8;
    margin-bottom: 12px;
}
.danye-footer-friends-label {
    color: #cbd5e1;
    font-weight: 600;
    margin-right: 6px;
}
.danye-footer-friends a,
.danye-footer-friends span:not(.danye-footer-friends-label):not(.danye-footer-friends-sep) {
    color: #94a3b8;
    text-decoration: none;
    transition: color .2s;
    font-size: 12px;
}
.danye-footer-friends a:hover {
    color: #93c5fd;
}
.danye-footer-friends-sep {
    color: #475569;
    margin: 0 8px;
}

.danye-footer-disclaimer {
    font-size: 11px;
    line-height: 1.7;
    color: #6b7280;
    text-align: justify;
}
.danye-footer-disclaimer strong {
    color: #94a3b8;
    margin-right: 4px;
}

/* ==================== 底部版权 + 备案 ==================== */
.danye-footer-bottom {
    padding: 16px 0;
    font-size: 11px;
    color: #6b7280;
}
.danye-footer-bottom .danye-footer-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.danye-footer-copyright {
    color: #6b7280;
}
.danye-footer-icp {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.danye-footer-icp a {
    color: #6b7280;
    text-decoration: none;
    transition: color .2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
}
.danye-footer-icp a:hover {
    color: #93c5fd;
}
.danye-footer-icp-icon {
    font-size: 10px;
}

/* ==================== 底部菜单（外观 → 菜单 → 底部菜单）==================== */
/* 位于页脚上区，二维码左侧；竖排展示，每列最多 4 项，超出自动另起一列 */
.danye-footer-menu-col {
    width: 150px;
    min-width: 0;
    flex: none;
}
.danye-footer-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
    gap: 4px 16px;
}
.danye-footer-menu-list li {
    margin: 0;
}
.danye-footer-menu-list a {
    color: #94a3b8;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.35;
    transition: color .2s;
    white-space: nowrap;
}
.danye-footer-menu-list a:hover,
.danye-footer-menu-list a:focus {
    color: #93c5fd;
}

@media (max-width: 767px) {
    .danye-footer-menu-col,
    .danye-footer-qrcode-col {
        width: 100%;
    }
    .danye-footer-menu-list {
        justify-content: center;
    }
}
/* ==================== 页面模板 ==================== */
/* 全宽页面 / 分类列表页 / 标签页 / 网址导航页 / 标签云页 共用此宽度。
   直接跟随「基本设置 → 网页最大宽度」(--site-width)，与 .container 一致，
   确保上述所有页面宽度统一、且只需在「网页最大宽度」一处即可统一调整。 */
.danye-page-fullwidth {
    max-width: var(--site-width, 1140px);
}

/* 单栏页面（无侧边栏，内容居中）。
   宽度同样跟随「基本设置 → 网页最大宽度」(--site-width)，
   与全宽页/分类页/导航页等保持一致，避免硬编码导致各页面宽度不统一。 */
.danye-page-single {
    max-width: var(--site-width, 1140px);
    margin-left: auto;
    margin-right: auto;
}

/* 标签云页面 */
/* ==================== 标签云页面 ==================== */
.tag-cloud-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 4px 0 8px;
}
.tag-cloud-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    color: #fff;
    background: var(--tag-bg, var(--primary));
    transition: transform .2s ease, filter .2s ease;
    /* 移除外阴影，避免标签按钮视觉上超出对齐线 */
    box-shadow: none;
}
.tag-cloud-item:hover {
    transform: translateY(-2px);
    box-shadow: none;
    filter: brightness(0.9);
}
.tag-name {
    white-space: nowrap;
}
.tag-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    color: inherit;
}
@media (max-width: 768px) {
    .tag-cloud-wrap { gap: 8px; padding: 4px var(--page-card-x) 8px; }
    .tag-cloud-item { padding: 8px 14px; font-size: 14px; }
    .tag-count { min-width: 20px; height: 20px; font-size: 11px; }
}

/* 文章归档页面 */
.danye-archive-total {
    display: inline-block;
    margin-bottom: 24px;
    padding: 6px 16px;
    background: var(--primary);
    color: #fff;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
}
.danye-archive-year {
    margin-bottom: 28px;
}
.danye-archive-year-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--primary);
    font-size: 22px;
}
.danye-archive-year-num {
    color: var(--primary);
    font-weight: 800;
}
.danye-archive-year-count {
    font-size: 12px;
    font-weight: 400;
    color: #94a3b8;
    background: var(--gray-100);
    padding: 2px 10px;
    border-radius: 999px;
}
.danye-archive-month {
    margin: 0 0 18px 8px;
    padding-left: 20px;
    border-left: 1px solid var(--border-light);
}
.danye-archive-month-title {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: #64748b;
}
.danye-archive-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.danye-archive-list li {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px dashed var(--gray-100);
    font-size: 14px;
}
.danye-archive-list li:last-child {
    border-bottom: none;
}
.danye-archive-date {
    flex-shrink: 0;
    font-size: 12px;
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
}
.danye-archive-list a {
    color: var(--text);
    text-decoration: none;
    transition: color .2s;
}
.danye-archive-list a:hover {
    color: var(--primary);
}

/* 网址导航页面 */
.danye-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
    padding: 8px 0;
}
.danye-link-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    text-decoration: none;
    transition: all .2s;
}
.danye-link-card:hover {
    border-color: var(--primary);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.12);
    transform: translateY(-2px);
}
.danye-link-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 10px;
}
.danye-link-card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.danye-link-card-name {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.danye-link-card-desc {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.danye-link-card-arrow {
    color: #cbd5e1;
    font-size: 14px;
    transition: color .2s, transform .2s;
}
.danye-link-card:hover .danye-link-card-arrow {
    color: var(--primary);
    transform: translate(2px, -2px);
}
.danye-template-links-empty {
    color: #94a3b8;
    padding: 30px;
    text-align: center;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px dashed var(--border-light);
}

/* ==================== 浮动按钮 & Toast ==================== */
.fab {
    position: fixed;
    right: 20px;
    bottom: 30px;
    width: 56px;
    height: 56px;
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 6px 20px rgba(37,99,235,0.3);
    z-index: 999;
    cursor: pointer;
    transition: all .3s;
}
.fab:hover { transform: scale(1.1); }

.toast {
    position: fixed;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: rgba(0,0,0,.85);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    z-index: 2000;
    opacity: 0;
    transition: .3s;
    font-size: 14px;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ==================== 浮动客服浮窗 ==================== */
.danye-service-float {
    position: fixed;
    right: 20px;
    bottom: 100px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.danye-service-toggle {
    width: 56px;
    height: 56px;
    border: none;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    box-shadow: 0 6px 20px rgba(37,99,235,0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s, background .25s;
}
.danye-service-toggle:hover { transform: scale(1.08); }
.danye-service-float.is-open .danye-service-toggle {
    background: var(--primary-hover, #1d4ed8);
    transform: rotate(0);
}
.danye-service-toggle svg { display: block; }

.danye-service-panel {
    position: absolute;
    bottom: calc(100% + 12px);
    right: 0;
    width: 288px;
    max-width: 86vw;
    background: var(--white, #fff);
    border: 1px solid var(--border-light, #e5e7eb);
    border-radius: var(--radius, 12px);
    box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,0.12));
    overflow: hidden;
    animation: danyeServiceIn .22s ease;
}
.danye-service-panel[hidden] { display: none; }
@keyframes danyeServiceIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.danye-service-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: var(--primary);
    color: #fff;
}
.danye-service-title { font-weight: 600; font-size: 15px; }
.danye-service-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    opacity: .85;
}
.danye-service-close:hover { opacity: 1; }

.danye-service-greeting {
    margin: 0;
    padding: 12px 16px 0;
    color: var(--muted, #6b7280);
    font-size: 13px;
    line-height: 1.6;
}
.danye-service-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}
.danye-service-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-light, #f1f5f9);
}
.danye-service-item:last-child { border-bottom: none; }
.danye-service-item-label {
    flex-shrink: 0;
    color: var(--gray, #94a3b8);
    font-size: 13px;
}
.danye-service-item-value {
    color: var(--text, #1f2937);
    font-size: 14px;
    text-align: right;
    word-break: break-all;
    text-decoration: none;
}
a.danye-service-item-value:hover { color: var(--primary); text-decoration: underline; }
.danye-service-empty {
    margin: 0;
    padding: 12px 16px 16px;
    color: var(--muted, #6b7280);
    font-size: 13px;
    line-height: 1.6;
}
.danye-service-copy-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.danye-service-copy-btn {
    flex-shrink: 0;
    padding: 1px 8px;
    border: 1px solid var(--border-light, #e5e7eb);
    border-radius: 4px;
    background: #f8fafc;
    color: var(--primary);
    font-size: 11px;
    line-height: 20px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s, border-color .15s;
}
.danye-service-copy-btn:hover {
    background: var(--primary-light, #dbeafe);
    border-color: var(--primary);
}
.danye-service-copy-btn.copied {
    background: #dcfce7;
    border-color: #22c55e;
    color: #16a34a;
}

@media (max-width: 768px) {
    .danye-service-float {
        right: 14px;
        bottom: 84px;
    }
    .danye-service-panel {
        width: 260px;
    }
}

/* ==================== 面包屑导航 ==================== */
.lv-breadcrumb {
    padding: 18px 0 12px;
    font-size: 13px;
    color: var(--gray);
}
.lv-breadcrumb a { color: var(--gray); }
.lv-breadcrumb a:hover { color: var(--primary); }
.lv-breadcrumb .sep { margin: 0 8px; color: var(--sep); }
.lv-breadcrumb .current { color: var(--text); font-weight: 500; }

/* ==================== 博客文章列表 ==================== */
.blog-header { position: relative; overflow: hidden; }
.blog-header-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px var(--page-card-x, 22px) 40px;
    text-align: center;
}

/* 简约样式（默认）——卡片风格，与侧边栏小工具对齐 */
.blog-header-style-simple {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(30, 41, 59, 0.04);
}
.blog-header-style-simple .blog-header-inner {
    padding: 28px var(--page-card-x, 22px) 24px;
}
.blog-header-style-simple h1,
.blog-header-style-simple .blog-header-cat-icon { color: var(--text); }
.blog-header-style-simple .blog-header-desc,
.blog-header-style-simple .blog-header-count { color: var(--gray); }

/* 大图背景样式 */
.blog-header-style-image {
    background-color: #1e293b;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.blog-header-style-image .blog-header-inner { min-height: 260px; }
.blog-header-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.blog-header-has-bg .blog-header-inner {
    text-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

/* 文字颜色 */
.blog-header-text-light h1,
.blog-header-text-light .blog-header-cat-icon,
.blog-header-text-light .blog-header-desc,
.blog-header-text-light .blog-header-count { color: #fff; }
.blog-header-text-dark h1,
.blog-header-text-dark .blog-header-cat-icon { color: #1f2937; }
.blog-header-text-dark .blog-header-desc,
.blog-header-text-dark .blog-header-count { color: #4b5563; }

/* 对齐方式 */
.blog-header-align-left .blog-header-inner { text-align: left; align-items: flex-start; }
.blog-header-align-center .blog-header-inner { text-align: center; align-items: center; }
.blog-header-align-right .blog-header-inner { text-align: right; align-items: flex-end; }

.blog-header h1 { font-size: 36px; margin-bottom: 12px; font-weight: 700; line-height: 1.3; }
.blog-header p { font-size: 16px; }

.post-list { padding: 0 0 24px; }
/* ==================== 文章列表：基础卡片 ==================== */
.post-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(30, 41, 59, 0.04);
    transition: all .25s;
}
.post-card:hover { box-shadow: 0 8px 24px rgba(37,99,235,.08); transform: translateY(-2px); border-color: var(--border-blue); }
.post-card-meta { display: flex; gap: 12px; font-size: 12px; color: var(--muted); flex-wrap: wrap; align-items: center; }
.post-card-meta a { color: var(--primary); }
.post-card-title { font-size: 18px; font-weight: 700; margin-bottom: 8px; line-height: 1.4; }
.post-card-title a { color: var(--text); }
.post-card-title a:hover { color: var(--primary); }
.post-card-excerpt { font-size: 14px; color: var(--gray); line-height: 1.65; }
.post-card-readmore {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
}
.post-card-readmore:hover { color: var(--primary-hover); }
.post-card-thumb-placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    color: var(--primary);
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.post-card-cat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    color: var(--muted);
    padding: 0;
    border-radius: 0;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
}
.post-card-cat::before {
    content: '📁';
    font-size: 13px;
    line-height: 1;
}
.post-card-cat:hover {
    color: var(--text);
}

/* 大图卡片 */
.post-card-style-card .post-card-thumb {
    margin-bottom: 12px;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.post-card-style-card .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-style-card .post-card-meta { margin-bottom: 10px; }

/* 左图右文 */
.post-card-style-media {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
.post-card-style-media .post-card-thumb {
    width: 160px;
    aspect-ratio: 3 / 2;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 0;
}
.post-card-style-media .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-style-media .post-card-thumb .post-card-thumb-placeholder { font-size: 18px; }
.post-card-style-media .post-card-body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.post-card-style-media .post-card-title { font-size: 17px; margin-bottom: 6px; line-height: 1.5; }
.post-card-style-media .post-card-excerpt { font-size: 13px; line-height: 1.6; margin-bottom: 8px; }
.post-card-style-media .post-card-meta { margin-top: 0; margin-bottom: 0; }
.post-card-style-media .post-card-tags { margin-top: 6px; }
/* media 卡片内边距：与容器水平内边距一致，确保卡片内容与顶部/底部文字严格对齐 */
.post-card-style-media { padding: 20px var(--page-card-x, 22px) !important; }

/* 极简列表 */
.post-list-style-list { display: flex; flex-direction: column; gap: 0; }
.post-card-style-list {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    margin-bottom: 0;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--border);
    background: transparent;
}
.post-card-style-list:last-child { border-bottom: none; }
.post-card-style-list:hover { transform: none; box-shadow: none; border-bottom-color: var(--border-blue); }
.post-card-style-list .post-card-thumb {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 0;
}
.post-card-style-list .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-style-list .post-card-thumb .post-card-thumb-placeholder { font-size: 16px; }
.post-card-style-list .post-card-body { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.post-card-style-list .post-card-title { font-size: 15px; margin-bottom: 0; flex: 1; }
.post-card-style-list .post-card-meta { margin: 0; gap: 10px; font-size: 12px; flex-shrink: 0; }

/* 网格卡片 */
.post-list-style-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.post-list-style-grid .pagination {
    grid-column: 1 / -1;
    margin-top: 16px;
}
.post-card-style-grid {
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    margin-bottom: 0;
}
.post-card-style-grid .post-card-thumb {
    margin-bottom: 0;
    height: 140px;
    overflow: hidden;
}
.post-card-style-grid .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-style-grid .post-card-thumb .post-card-thumb-placeholder { font-size: 20px; }
.post-card-style-grid .post-card-body { padding: 16px var(--page-card-x, 22px); flex: 1; display: flex; flex-direction: column; }
.post-card-style-grid .post-card-title { font-size: 16px; margin-bottom: 6px; }
.post-card-style-grid .post-card-meta { margin-top: auto; }

/* ==================== 短文流样式 ==================== */
.post-list-style-short { display: flex; flex-direction: column; gap: 0; }
.post-card-style-short {
    padding: 24px var(--page-card-x, 22px);
    background: #fff;
    border-radius: 12px;
    margin-bottom: 16px;
    border: 1px solid var(--border);
    transition: box-shadow .2s, border-color .2s;
}
.post-card-style-short:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    border-color: var(--primary-light);
}
.post-card-style-short .post-card-title {
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 10px;
}
.post-card-style-short .post-card-title a { color: var(--text); }
.post-card-style-short .post-card-title a:hover { color: var(--primary); }
.post-card-style-short .post-card-excerpt {
    font-size: 14px;
    line-height: 1.7;
    color: var(--gray);
    margin-bottom: 14px;
}
.post-card-style-short .post-card-content {
    font-size: 14px;
    line-height: 1.8;
    color: var(--text);
    margin-bottom: 16px;
    word-break: break-word;
}
.post-card-style-short .post-card-content img { max-width: 100%; height: auto; border-radius: 8px; }
.post-card-style-short .post-card-content p { margin-bottom: 12px; }
.post-card-style-short .post-card-content p:last-child { margin-bottom: 0; }
.post-card-style-short .post-card-content pre { background: var(--gray-100); padding: 14px 16px; border-radius: 8px; overflow-x: auto; font-size: 13px; }
.post-card-style-short .post-card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    color: var(--muted);
}

/* ==================== 产品网格样式 ==================== */
.post-list-style-product {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.post-card-style-product {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--border);
    transition: transform .25s, box-shadow .25s, border-color .25s;
    display: flex;
    flex-direction: column;
}
.post-card-style-product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    border-color: var(--primary-light);
}
.post-card-style-product .post-card-thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.post-card-style-product .post-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s;
}
.post-card-style-product:hover .post-card-thumb img { transform: scale(1.05); }
.post-card-style-product .post-card-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    color: var(--primary);
}
.post-card-style-product .post-card-body {
    padding: 14px 16px 18px;
    text-align: center;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.post-card-style-product .post-card-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
}
.post-card-style-product .post-card-title a { color: var(--text); }
.post-card-style-product .post-card-title a:hover { color: var(--primary); }

@media (max-width: 768px) {
    .post-card-style-media { gap: 14px; }
    .post-card-style-media .post-card-thumb { width: 110px; aspect-ratio: 3 / 2; }
    .post-card-style-media .post-card-title { font-size: 16px; }
    .post-list-style-grid { grid-template-columns: 1fr; }
    .post-card-style-list .post-card-body { flex-direction: column; align-items: flex-start; gap: 6px; }
    .post-card-style-list .post-card-thumb { width: 56px; height: 56px; }

    /* 短文移动端 */
    .post-card-style-short { padding: 16px var(--page-card-x, 18px); margin-bottom: 12px; border-radius: 10px; }
    .post-card-style-short .post-card-title { font-size: 16px; }

    /* 短文内嵌内容手机端适配（对齐单篇文章页 single-body 的处理） */
    .post-card-style-short .post-card-content { font-size: 14px; line-height: 1.75; }
    .post-card-style-short .post-card-content img,
    .post-card-style-short .post-card-content video { max-width: 100%; height: auto; }
    .post-card-style-short .post-card-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        font-size: 13px;
    }
    .post-card-style-short .post-card-content th,
    .post-card-style-short .post-card-content td { padding: 8px 10px; }
    .post-card-style-short .post-card-content pre {
        padding: 12px 14px;
        font-size: 12px;
        white-space: pre-wrap;
        word-break: break-word;
    }
    .post-card-style-short .post-card-content blockquote {
        padding: 10px 14px;
        margin: 1em 0;
    }
    /* 让 iframe / 视频等嵌入内容自适应宽度 */
    .post-card-style-short .post-card-content iframe,
    .post-card-style-short .post-card-content embed,
    .post-card-style-short .post-card-content object {
        max-width: 100%;
    }

    /* 产品网格移动端 */
    .post-list-style-product { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .post-card-style-product .post-card-body { padding: 10px 12px 14px; }
}

/* ==================== 文章详情页 ==================== */
.single-content {
    padding: 28px var(--page-card-x, 22px) 8px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.single-header { margin-bottom: 36px; }

/* 标题 */
.single-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
    letter-spacing: -0.02em;
}

/* Meta 信息行 */
.single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin-top: 14px;
    font-size: 13px;
    color: var(--muted);
}
.single-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.single-meta-item + .single-meta-item::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #cbd5e1;
}
.single-meta-cat a {
    display: inline-flex;
    align-items: center;
    background: var(--primary-light);
    color: var(--primary);
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}
.single-meta-cat a:hover { background: var(--primary); color: #fff; }
.single-meta-source a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--gray-100);
    padding: 4px 12px;
    border-radius: 999px;
    transition: all .2s;
}
.single-meta-source a:hover {
    background: var(--primary);
    color: #fff;
}

.single-body {
    font-size: 16px;
    line-height: 1.85;
    color: #334155;
}
.single-body p { margin-bottom: 1.6em; }
.single-body h2 { font-size: 24px; margin: 1.8em 0 0.7em; color: #0f172a; font-weight: 700; }
.single-body h3 { font-size: 20px; margin: 1.5em 0 0.6em; color: #1e293b; font-weight: 600; }
.single-body ul, .single-body ol { margin: 0 0 1.5em 1.5em; }
.single-body li { margin-bottom: 0.5em; }
.single-body img { border-radius: 12px; margin: 1em 0; }
/* 文章内视频/嵌入自适应尺寸：限制最大宽度，按比例撑开高度，避免溢出 */
.single-body .danye-embed-responsive {
    position: relative;
    width: 100%;
    height: 0;
    margin: 1.2em 0;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
}
.single-body .danye-embed-responsive iframe,
.single-body .danye-embed-responsive embed,
.single-body .danye-embed-responsive video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
    border-radius: 12px;
}
.single-body blockquote {
    border-left: 4px solid var(--primary);
    padding: 16px 24px;
    background: var(--primary-light);
    border-radius: 0 12px 12px 0;
    margin: 1.5em 0;
    color: var(--gray);
}
.single-body code {
    background: var(--gray-100);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 14px;
}
.single-body pre {
    background: #1e293b;
    color: var(--border-light);
    padding: 20px;
    border-radius: 12px;
    overflow-x: auto;
    margin: 1.5em 0;
}
.single-body pre code { background: none; padding: 0; }
.single-body a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.single-body table { width: 100%; border-collapse: collapse; margin: 1.5em 0; }
.single-body th, .single-body td { border: 1px solid var(--border); padding: 10px 16px; text-align: left; }
.single-body th { background: var(--primary-light); font-weight: 600; }

.single-tags { margin-top: 36px; display: flex; gap: 8px; flex-wrap: wrap; }
.single-tags a {
    background: #f8fafc;
    color: var(--gray);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    border: 1px solid var(--border);
    transition: all .2s;
}
.single-tags a:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

/* 文章来源（已合并到 meta 行） */
.single-meta-source a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--gray-100);
    padding: 4px 12px;
    border-radius: 999px;
    transition: all .2s;
}
.single-meta-source a:hover {
    background: var(--primary);
    color: #fff;
}

/* 列表页头部栏：面包屑 + 搜索 */
.archive-header-bar {
    display: flex;
    align-items: center;
    padding: 12px 0 16px;
}
.archive-header-breadcrumb {
    flex: 1;
    min-width: 0;
}

/* 内容段落缩进 */
.single-body.is-indent p,
.page-content.is-indent .entry-content p {
    text-indent: 2em;
}
/* 以下元素不需要缩进 */
.single-body.is-indent pre,
.single-body.is-indent blockquote p,
.single-body.is-indent li p,
.single-body.is-indent figure p,
.single-body.is-indent td p,
.single-body.is-indent th p,
.single-body.is-indent .wp-caption p,
.single-body.is-indent .alignleft,
.single-body.is-indent .alignright,
.single-body.is-indent .aligncenter,
.single-body.is-indent img,
.page-content.is-indent .entry-content pre,
.page-content.is-indent .entry-content blockquote p,
.page-content.is-indent .entry-content li p,
.page-content.is-indent .entry-content figure p,
.page-content.is-indent .entry-content td p,
.page-content.is-indent .entry-content th p,
.page-content.is-indent .entry-content .wp-caption p,
.page-content.is-indent .entry-content .alignleft,
.page-content.is-indent .entry-content .alignright,
.page-content.is-indent .entry-content .aligncenter,
.page-content.is-indent .entry-content img {
    text-indent: 0;
}

/* 文章页尾版权提示 */
.single-copyright {
    margin-top: 36px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #f8fafc 0%, var(--gray-100) 100%);
    border-radius: 12px;
    border-left: 3px solid var(--primary);
    font-size: 13px;
    color: var(--gray);
    line-height: 1.7;
}
.single-copyright a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}
.single-copyright a:hover { text-decoration: underline; }

/* 相关文章 */
.related-posts { margin-top: 48px; }
.related-posts h2 { font-size: 22px; margin-bottom: 20px; }

/* 网格卡片（默认） */
.related-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.related-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: all .3s;
}
.related-card:hover { box-shadow: var(--shadow); }
.related-card h3 {
    font-size: 16px; line-height: 1.5;
    display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 1; overflow: hidden;
    word-break: break-word;
}
.related-card h3 a { color: var(--text); }
.related-card h3 a:hover { color: var(--primary); }

/* 横向滚动 — 四列网格 */
.related-scroll {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.related-scroll-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all .3s;
}
.related-scroll-card:hover { box-shadow: var(--shadow); }
.related-scroll-card .related-thumb {
    display: block; aspect-ratio: 16 / 10; overflow: hidden;
    flex-shrink: 0;
}
.related-scroll-card .related-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.related-scroll-card h3 {
    font-size: 13px; line-height: 1.5;
    padding: 10px 12px;
    display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; overflow: hidden;
    word-break: break-word;
    flex: 1;
}
.related-scroll-card h3 a { color: var(--text); }
.related-scroll-card h3 a:hover { color: var(--primary); }

/* 左图右文列表 — 两列网格 */
.related-media-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.related-media-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 10px;
    color: var(--text);
    transition: all .2s;
}
.related-media-item:hover { box-shadow: var(--shadow); color: var(--primary); }
.related-media-thumb {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gray-100);
}
.related-media-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.related-media-placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    color: var(--primary); font-size: 18px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}
.related-media-body { flex: 1; min-width: 0; }
.related-media-title {
    font-size: 15px; font-weight: 600; line-height: 1.5;
    display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; overflow: hidden;
    word-break: break-word;
}

/* 简洁列表 — 竖排展示 */
.related-simple-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.related-simple-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}
.related-simple-list li:last-child { border-bottom: none; }
.related-simple-list li a {
    color: var(--text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    display: block;
}
.related-simple-list li a:before {
    content: '· ';
    color: var(--primary);
    font-weight: 700;
    margin-right: 4px;
}
.related-simple-list li a:hover { color: var(--primary); }

/* ==================== 分页 ==================== */
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; }
.pagination .page-numbers {
    padding: 10px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    font-size: 14px;
    background: var(--white);
    transition: all .2s;
}
.pagination .page-numbers:hover { border-color: var(--primary); color: var(--primary); }
.pagination .page-numbers.current { background: var(--primary); color: #fff; border-color: var(--primary); }

/* ==================== 页面模板 ==================== */
main .page-content,
main .danye-page-single,
main .danye-fullwidth-content,
main .danye-page-fullwidth,
main .danye-template-tags,
main .danye-template-archives,
main .danye-template-links {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.page-content .entry-content { font-size: 16px; line-height: 1.9; }

/* ==================== 404 ==================== */
.error404-wrap { text-align: center; padding: 100px var(--page-card-x, 22px); }
.error404-wrap h1 { font-size: 80px; color: var(--primary); margin-bottom: 16px; }
.error404-wrap p { font-size: 18px; color: var(--gray); margin-bottom: 30px; }

/* ==================== 搜索 ==================== */
.search-wrap { max-width: 600px; margin: 0 auto 40px; }
.search-form { display: flex; gap: 0; }
.search-form .search-field {
    flex: 1;
    padding: 14px 20px;
    border: 1px solid var(--border-blue);
    border-radius: 10px 0 0 10px;
    font-size: 15px;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.search-form .search-field:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.search-form .search-submit {
    background: var(--primary);
    color: #fff;
    border: none;
    padding: 0 20px;
    border-radius: 0 10px 10px 0;
    font-size: 15px;
    cursor: pointer;
    transition: background .3s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.search-form .search-submit:hover { background: var(--primary-hover); }

/* ==================== 无文章提示 ==================== */
.no-posts { text-align: center; padding: 60px var(--page-card-x, 22px); color: var(--gray); }
.no-posts h2 { font-size: 20px; margin-bottom: 12px; }

/* ==================== 搜索结果页 ==================== */
.search-result-header {
    margin-bottom: 24px;
}
.search-result-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 10px;
}
.search-result-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    background: var(--primary);
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
}
.search-in-page {
    margin-bottom: 28px;
}
.search-in-page .search-wrap {
    max-width: 100%;
    margin: 0;
}
.search-in-page .search-form {
    max-width: 560px;
}

/* ==================== 两栏布局 ==================== */
.danye-layout-wrap {
    padding: 24px 0 80px;
    overflow-x: hidden;
}
.danye-layout {
    display: flex;
    gap: 36px;
    align-items: flex-start;
}
.danye-main {
    flex: 1;
    min-width: 0;
    overflow-x: hidden;
}
.danye-sidebar {
    width: 360px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 无侧边栏页面内容区与容器同宽对齐，不再限制 860px 居中 */
.danye-layout-none .danye-main:not(.danye-page-fullwidth) {
    width: 100%;
}
/* 无侧边栏时面包屑跟随容器全宽 */
.danye-layout-none .lv-breadcrumb {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.danye-layout-left .danye-sidebar {
    order: -1;
}

/* ==================== 侧边栏小工具（精致卡片） ==================== */
.danye-sidebar .widget {
    background: var(--white);
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    padding: 0;
    margin-bottom: 0;
    box-shadow: 0 1px 6px rgba(30, 41, 59, 0.05);
    overflow: hidden;
    transition: box-shadow .3s ease, border-color .3s ease;
}
.danye-sidebar .widget:hover {
    box-shadow: 0 4px 16px rgba(30, 41, 59, 0.09);
    border-color: #dce4ee;
}

/* 小工具标题 — 紧凑精致 */
.danye-sidebar .widget-title {
    position: relative;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0;
    padding: 9px var(--page-card-x, 22px);
    background: linear-gradient(135deg, #f5f8ff 0%, #ffffff 100%);
    color: var(--text);
    border-bottom: 1px solid #eef2f7;
    border-radius: 14px 14px 0 0;
}
.danye-sidebar .widget-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, var(--primary) 0%, #60a5fa 100%);
}

/* 小工具内容区内边距：统一使用 --page-card-x，与容器/卡片/页脚严格对齐 */
.danye-sidebar .widget > *:not(.widget-title) {
    padding-left: var(--page-card-x, 22px);
    padding-right: var(--page-card-x, 22px);
}
.danye-sidebar .widget > ul,
.danye-sidebar .widget > div,
.danye-sidebar .widget > form,
.danye-sidebar .widget > p,
.danye-sidebar .widget > table {
    padding: 22px var(--page-card-x, 22px);
    margin: 0;
}

/* 搜索框 */
.widget-search .search-form {
    display: flex;
    gap: 0;
    background: #f8fafc;
    border: 1px solid var(--border-light);
    border-radius: 999px;
    overflow: hidden;
    margin: 10px 16px;
    padding: 4px;
    transition: border-color .25s, box-shadow .25s;
}
.widget-search .search-form:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.widget-search .search-field {
    flex: 1;
    padding: 10px 14px;
    border: none;
    background: transparent;
    font-size: 13.5px;
    outline: none;
}
.widget-search .search-submit {
    background: linear-gradient(135deg, var(--primary) 0%, #3b82f6 100%);
    color: #fff;
    border: none;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 13px;
    cursor: pointer;
    transition: opacity .25s, transform .2s;
}
.widget-search .search-submit:hover { opacity: .9; transform: scale(1.02); }

/* 最新文章 / 分类 / 通用列表 */
.danye-sidebar .widget ul {
    list-style: none;
    padding: 8px 0;
    margin: 0;
}
.danye-sidebar .widget li {
    padding: 0 18px;
    margin-bottom: 2px;
}
.danye-sidebar .widget li a {
    display: block;
    padding: 10px 14px;
    color: var(--text);
    font-size: 14px;
    line-height: 1.6;
    border-radius: 8px;
    transition: all .2s ease;
    position: relative;
}
.danye-sidebar .widget li a:hover {
    background: linear-gradient(135deg, #f2f6ff 0%, #f5f8ff 100%);
    color: var(--primary);
}
.danye-sidebar .widget li a::before {
    content: '•';
    color: var(--primary);
    margin-right: 7px;
    opacity: .45;
    font-size: 13px;
}


/* ==================== 小工具通用：文章列表（最新/热门/随机） ==================== */

/* 基础列表结构 */
.widget-recent-list,
.widget-popular-list,
.widget-random-list {
    list-style: none;
    padding: 8px 0 !important;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.danye-sidebar .widget .widget-recent-list li,
.danye-sidebar .widget .widget-popular-list li,
.danye-sidebar .widget .widget-random-list li {
    padding: 0 16px;
    margin: 0;
}

/* 通用链接样式（覆盖默认 li a 样式） */
.widget-recent-list li a,
.widget-popular-list li a,
.widget-random-list li a {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    padding: 0 !important;
    color: var(--text);
    border-radius: 0 !important;
    transition: opacity .2s;
}
.widget-recent-list li a::before,
.widget-popular-list li a::before,
.widget-random-list li a::before {
    content: none !important;
}
.widget-recent-list li a:hover,
.widget-popular-list li a:hover,
.widget-random-list li a:hover {
    opacity: .9;
    color: var(--primary);
    background: transparent !important;
    padding-left: 0 !important;
}

/* 通用缩略图基础 */
.danye-media-thumb,
.danye-random-thumb {
    position: relative;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gray-100);
}
.danye-media-thumb img,
.danye-random-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}
.danye-thumb-placeholder,
.danye-random-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    color: var(--primary);
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 通用内容区 */
.danye-media-body,
.danye-random-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-self: center;
}
.danye-media-title,
.danye-random-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
    color: var(--text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .2s;
}
.widget-recent-list li a:hover .danye-media-title,
.widget-popular-list li a:hover .danye-media-title,
.widget-random-list li a:hover .danye-random-title {
    color: var(--primary);
}
.danye-media-excerpt,
.danye-random-excerpt {
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.danye-media-cats,
.danye-random-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.danye-cat-tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    line-height: 1.3;
    padding: 0;
    background: transparent;
    color: var(--text);
    font-weight: 500;
}
.danye-cat-tag::before {
    content: '📁';
    font-size: 11px;
}
.danye-cat-tag:hover {
    color: var(--primary);
}
.danye-cat-tag:hover {
    opacity: .85;
}
.danye-media-meta,
.danye-random-views {
    display: flex;
    gap: 10px;
    font-size: 11.5px;
    color: var(--muted);
    align-items: center;
    flex-wrap: wrap;
}
.danye-media-meta time::before {
    content: '📅';
    margin-right: 2px;
}
.danye-media-meta .views::before {
    content: '🔥';
    margin-right: 2px;
}

/* 排名角标（热门文章专用） */
.danye-rank-corner {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: var(--primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 0 0 8px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* ===== 图片展示样式：小图（默认）—— 正方形 ===== */
.danye-thumb-size-small .danye-media-thumb,
.danye-thumb-size-small .danye-random-thumb {
    width: 56px;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
}
.danye-thumb-size-small .danye-thumb-placeholder,
.danye-thumb-size-small .danye-random-placeholder {
    font-size: 14px;
}

/* ===== 图片展示样式：大图 —— 正方形 ===== */
.danye-thumb-size-big .danye-media-thumb,
.danye-thumb-size-big .danye-random-thumb {
    width: 100px;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
}
.danye-thumb-size-big .danye-thumb-placeholder,
.danye-thumb-size-big .danye-random-placeholder {
    font-size: 18px;
}

/* ===== 图片展示样式：右侧 ===== */
.danye-thumb-right .widget-recent-list li a,
.danye-thumb-right .widget-popular-list li a,
.danye-thumb-right .widget-random-list li a {
    flex-direction: row-reverse;
}

/* 文章卡片标签（列表页）—— 与分类区分：浅底+描边+不同色系 */
.post-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.post-card-tag {
    display: inline-block;
    font-size: 12px;
    line-height: 1.4;
    padding: 3px 10px;
    background: #f8fafc;
    color: #64748b;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    transition: all .2s;
}
.post-card-tag:hover {
    background: var(--gray-100);
    border-color: #94a3b8;
    color: #334155;
}


/* 分类目录 */
.widget-cat-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 18px;
    margin-bottom: 2px;
}
.widget-cat-list li a {
    flex: 1;
    display: block;
    padding: 9px 12px;
    color: var(--text);
    font-size: 13.5px;
    line-height: 1.5;
    border-radius: 8px;
    transition: all .2s;
    position: relative;
}
.widget-cat-list li a::before {
    content: '•';
    color: var(--primary);
    margin-right: 7px;
    opacity: .6;
}
.widget-cat-list li a:hover {
    background: #f0f7ff;
    color: var(--primary);
    padding-left: 14px;
}
.widget-cat-count,
.widget-cat-list .count {
    flex-shrink: 0;
    background: var(--gray-100);
    color: var(--muted);
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    transition: all .2s;
    margin-left: 8px;
}
.widget-cat-list li:hover .widget-cat-count,
.widget-cat-list li:hover .count {
    background: var(--primary);
    color: #fff;
}
.widget-cat-list .children {
    width: 100%;
    margin-top: 4px;
    padding-left: 12px;
    border-left: 2px solid var(--border-light);
}
.widget-cat-list .children li {
    padding: 0;
    margin-bottom: 2px;
}
.widget-cat-list .children li a {
    font-size: 13px;
    padding: 8px 10px;
}

/* 日历小工具 */
.widget_calendar table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin: 0 auto;
}
.widget_calendar th,
.widget_calendar td {
    text-align: center;
    padding: 7px 3px;
    border: 1px solid var(--border);
}
.widget_calendar th {
    background: var(--primary-light);
    color: var(--primary);
    font-weight: 600;
    font-size: 12px;
}
.widget_calendar td a {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-weight: 600;
}
.widget_calendar caption {
    caption-side: top;
    text-align: center;
    padding: 10px;
    font-weight: 700;
    color: var(--text);
}

/* 标签云 */
.widget_tag_cloud .tagcloud,
.wp-block-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0 !important;
    justify-content: center;
}
.widget_tag_cloud .tagcloud a,
.wp-block-tag-cloud a,
.tag-cloud-link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: var(--gray-100);
    color: var(--text);
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.5;
    transition: all .2s;
    white-space: nowrap;
}
/* 字号设置 */
.widget_tag_cloud .tagcloud.is-medium a,
.wp-block-tag-cloud.is-medium a {
    font-size: 13.5px;
    padding: 5px 12px;
}
.widget_tag_cloud .tagcloud.is-large a,
.wp-block-tag-cloud.is-large a {
    font-size: 15px;
    padding: 6px 14px;
}
/* 动态效果 - 浮动 */
.widget_tag_cloud .tagcloud.is-anim-float a,
.wp-block-tag-cloud.is-anim-float a {
    animation: danyeTagFloat 3s ease-in-out infinite;
}
.widget_tag_cloud .tagcloud.is-anim-float a:nth-child(2n),
.wp-block-tag-cloud.is-anim-float a:nth-child(2n) { animation-delay: .5s; }
.widget_tag_cloud .tagcloud.is-anim-float a:nth-child(3n),
.wp-block-tag-cloud.is-anim-float a:nth-child(3n) { animation-delay: 1s; }
.widget_tag_cloud .tagcloud.is-anim-float a:nth-child(4n),
.wp-block-tag-cloud.is-anim-float a:nth-child(4n) { animation-delay: 1.5s; }

/* 动态效果 - 脉冲呼吸 */
.widget_tag_cloud .tagcloud.is-anim-pulse a,
.wp-block-tag-cloud.is-anim-pulse a {
    animation: danyeTagPulse 2s ease-in-out infinite;
}
.widget_tag_cloud .tagcloud.is-anim-pulse a:nth-child(2n),
.wp-block-tag-cloud.is-anim-pulse a:nth-child(2n) { animation-delay: .4s; }
.widget_tag_cloud .tagcloud.is-anim-pulse a:nth-child(3n),
.wp-block-tag-cloud.is-anim-pulse a:nth-child(3n) { animation-delay: .8s; }

/* 动态效果 - 弹性弹跳 */
.widget_tag_cloud .tagcloud.is-anim-bounce a,
.wp-block-tag-cloud.is-anim-bounce a {
    animation: danyeTagBounce 1.8s ease infinite;
}
.widget_tag_cloud .tagcloud.is-anim-bounce a:nth-child(2n),
.wp-block-tag-cloud.is-anim-bounce a:nth-child(2n) { animation-delay: .3s; }
.widget_tag_cloud .tagcloud.is-anim-bounce a:nth-child(3n),
.wp-block-tag-cloud.is-anim-bounce a:nth-child(3n) { animation-delay: .6s; }

/* 动态效果 - 弹跳结束 */

@keyframes danyeTagFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}
@keyframes danyeTagPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.06); opacity: .85; }
}
@keyframes danyeTagBounce {
    0%, 100% { transform: translateY(0); }
    40% { transform: translateY(-4px); }
    60% { transform: translateY(1px); }
}
@keyframes danyeTagMarquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
.widget_tag_cloud .tagcloud a:hover,
.wp-block-tag-cloud a:hover,
.tag-cloud-link:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(37,99,235,0.25);
}
/* 彩色标签：hover 时加深，不覆盖自定义颜色 */
.widget_tag_cloud .tagcloud.is-colorful a:hover,
.widget_tag_cloud .tagcloud.is-colorful a:focus {
    filter: brightness(0.88);
    color: #fff;
    transform: translateY(-1px);
}
.widget_tag_cloud .tagcloud a .tag-count,
.wp-block-tag-cloud a .tag-count,
.tag-cloud-link .tag-count {
    display: inline-block;
    background: rgba(37,99,235,0.12);
    color: var(--primary);
    font-size: 10.5px;
    padding: 1px 6px;
    border-radius: 999px;
    transition: all .2s;
    line-height: 1.5;
    margin-left: 2px;
}
.widget_tag_cloud .tagcloud a:hover .tag-count,
.wp-block-tag-cloud a:hover .tag-count,
.tag-cloud-link:hover .tag-count {
    background: rgba(255,255,255,0.25);
    color: #fff;
}

/* 归档小工具 */
.widget_archive ul {
    list-style: none;
    padding: 8px 0;
    margin: 0;
}
.danye-sidebar .widget_archive li {
    padding: 0 4px;
    margin-bottom: 2px;
}
.widget_archive li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 12px;
    color: var(--text);
    font-size: 13.5px;
    line-height: 1.5;
    border-radius: 8px;
    transition: all .2s;
}
.widget_archive li a:hover {
    background: #f0f7ff;
    color: var(--primary);
    padding-left: 16px;
}

/* 日历小工具 */
.widget_calendar table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.widget_calendar th,
.widget_calendar td {
    text-align: center;
    padding: 8px 4px;
    border: 1px solid var(--border);
}
.widget_calendar th {
    background: var(--primary-light);
    color: var(--primary);
    font-weight: 600;
}
.widget_calendar td a {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-weight: 600;
}
.widget_calendar caption {
    caption-side: top;
    text-align: center;
    font-weight: 700;
    padding: 8px 0 4px;
    color: var(--text);
}

/* 无标题小工具补充 */
.danye-sidebar .widget p {
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--gray);
}

/* ==================== 文章 meta ==================== */
.single-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.single-meta-cat a {
    display: inline-flex;
    align-items: center;
    background: var(--primary-light);
    color: var(--primary);
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}
.single-meta-cat a:hover { background: var(--primary); color: #fff; }

/* ==================== 上下篇导航 ==================== */
.post-nav {
    display: flex;
    gap: 16px;
    margin-top: 40px;
}
.post-nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px 22px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 14px;
    transition: all .25s;
    min-width: 0;
    position: relative;
    overflow: hidden;
}
.post-nav-item::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    bottom: 0;
    width: 3px;
    background: var(--primary);
    transform: scaleY(0);
    transition: transform .25s ease;
}
.post-nav-item:hover:not(.post-nav-empty) {
    border-color: var(--primary);
    background: var(--white);
    box-shadow: 0 4px 20px rgba(37,99,235,0.08);
}
.post-nav-item:hover:not(.post-nav-empty)::before { transform: scaleY(1); }
.post-nav-item.post-nav-empty { background: transparent; border: none; }
.post-nav-dir {
    font-size: 12px;
    color: var(--primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.post-nav-title {
    font-size: 15px;
    color: var(--text);
    line-height: 1.5;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.post-nav-next { text-align: right; }

/* ==================== 阅读全文链接 ==================== */
.post-card-readmore {
    display: inline-block;
    margin-top: 12px;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    transition: gap .3s;
}
.post-card-readmore:hover { color: var(--primary-hover); }

/* ==================== 归档页头部 ==================== */
.blog-header-cat-icon {
    font-size: 40px;
    line-height: 1;
    margin-bottom: 12px;
}
.blog-header-desc {
    font-size: 16px;
    margin-top: 8px;
    max-width: 720px;
    line-height: 1.6;
}
.blog-header-count {
    margin-top: 12px;
    font-size: 14px;
    opacity: 0.85;
}

/* ==================== 页面标题 ==================== */
.page-title {
    position: relative;
    margin: 8px 0 28px;
    padding: 28px 32px;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 60%);
    border: 1px solid #dbeafe;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(37, 99, 235, .08);
    overflow: hidden;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
}
.page-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #2563eb, #60a5fa);
}

/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
    h1 { font-size: 28px; }
    .hero { padding: 80px 0 60px; }
    .hero p { font-size: 15px; }
    .btn, .wx-pill { width: 100%; text-align: center; min-height: 48px; }
    .archive-header-bar { flex-direction: column; align-items: flex-start; gap: 12px; }
    .hero .container { padding: 0 var(--page-card-x) !important; }
    .trust-bar { gap: 10px; margin-bottom: 24px; }
    .trust-bar span { padding: 5px 10px; font-size: 12px; }
    .benefits { grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 0 14px; }
    .benefit { padding: 20px 14px; }
    .benefit-icon { width: 44px; height: 44px; font-size: 18px; }
    .steps { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; padding: 0 16px; }
    .steps::before { display: none; }
    .step { background: var(--white); border-radius: var(--radius); padding: 24px 16px; }
    .circle { width: 48px; height: 48px; font-size: 16px; background: var(--primary); color: #fff; border: none; }
    .trust-grid { grid-template-columns: 1fr; padding: 0 14px; }
    .faq-list.faq-grid { grid-template-columns: 1fr; }
    .cta { margin: 0 14px; padding: 60px 20px; border-radius: 20px; }
    .cta h2 { font-size: 22px; }
    .danye-footer-grid { flex-direction: column; gap: 30px; }
    .danye-footer-brand { text-align: center; }
    .danye-footer-desc { margin-left: auto; margin-right: auto; }
    .danye-footer-bottom .danye-footer-inner { flex-direction: column; text-align: center; gap: 8px; }

    /* 移动端统一文字留白：面包屑、标签云、归档页、导航页、页面正文、页脚 */
    .lv-breadcrumb { padding: 18px var(--page-card-x) 12px; }
    main .danye-template-archives { padding: 0 var(--page-card-x) !important; }
    .danye-links-nav-content { padding: 0 var(--page-card-x); }
    .page-content .entry-content { padding: 0 var(--page-card-x); }
    .danye-footer-inner.container { padding: 0 var(--page-card-x) !important; }

    /* 移动端汉堡菜单 */
    .header-toggle { display: flex; }
    .header-wx { display: none; }
    .header-nav {
        display: none;
        position: absolute;
        top: 64px;
        left: 0;
        right: 0;
        background: #fff;
        border-bottom: 1px solid var(--border);
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        padding: 16px 20px;
        margin-left: 0;
    }
    .header-nav.open {
        display: block;
    }
    .header-nav ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .header-nav a { font-size: 16px; display: block; padding: 4px 0; }

    /* 移动端文章页 */
    .single-content { padding: 20px var(--page-card-x, 18px) 4px; }
    .single-header { padding: 0; }
    .single-title { font-size: 22px; }
    .single-meta { margin-top: 12px; gap: 4px 12px; }
    .single-body { font-size: 15.5px; line-height: 1.85; }
    .single-body h2 { font-size: 21px; }
    .single-body img { border-radius: 10px; margin: 0.8em 0; max-width: 100%; height: auto; }
    .single-body blockquote { padding: 12px 16px; margin: 1.2em 0; border-radius: 8px; }
    .single-body pre { padding: 14px; border-radius: 10px; overflow-x: auto; }
    .single-body table { font-size: 13px; }
    .single-body th, .single-body td { padding: 8px 10px; }
    .danye-author-box { padding: 18px; gap: 14px; }
    .danye-author-avatar { width: 52px; height: 52px; }
    .post-nav-item { padding: 16px 18px; }

    /* 移动端列表页 */
    .danye-layout-wrap { padding: 16px var(--page-card-x, 18px) 40px; }
    .post-list { padding: 0 0 20px; }
    .post-card { padding: var(--page-card-x, 18px); margin-bottom: 16px; border-radius: 14px; }
    .post-card-title { font-size: 17px; }
    /* 确保卡片内容不溢出 */
    .post-card img { max-width: 100%; height: auto; }
    .blog-header-style-simple .blog-header-inner { padding: 24px var(--page-card-x, 18px) 20px; }
    .blog-header h1 { font-size: 24px; }
    .blog-header-inner { padding: 40px var(--page-card-x, 18px) 28px; }
    .blog-header-style-image .blog-header-inner { min-height: 180px !important; }

    /* 移动端侧边栏：标题更紧凑，内容更舒展 */
    .danye-sidebar .widget-title { padding: 8px var(--page-card-x, 18px); font-size: 14px; }
    .danye-sidebar .widget > ul,
    .danye-sidebar .widget > div,
    .danye-sidebar .widget > form,
    .danye-sidebar .widget > p,
    .danye-sidebar .widget > table {
        padding: 16px var(--page-card-x, 18px);
    }
    .danye-sidebar .widget li { padding: 0 16px; }
    .danye-sidebar .widget li a { padding: 10px 10px; font-size: 13.5px; }
    .widget-cat-list li { padding: 0 16px; }
    .widget-cat-list li a { padding: 10px 12px; }
    .danye-sidebar .widget .widget-recent-list li,
    .danye-sidebar .widget .widget-popular-list li,
    .danye-sidebar .widget .widget-random-list li { padding: 0 12px; }
    .widget-search .search-form { margin: 10px var(--page-card-x, 18px); }

    /* 移动端文字类内容统一加水平留白，防止贴边 */
    .page-title { padding: 22px var(--page-card-x); font-size: 24px; }
    /* .single-content 已带左右内边距，single-header 不再额外缩进，避免标题/meta 比正文更靠右 */
    .single-header { padding: 0; }
    .widget_tag_cloud .tagcloud,
    .wp-block-tag-cloud { padding: 8px var(--page-card-x) !important; }

    .related-grid { grid-template-columns: 1fr; }
    .related-scroll { grid-template-columns: repeat(2, 1fr); }
    .related-media-list { grid-template-columns: 1fr; }
    .related-media-thumb { width: 44px; height: 44px; }
    .pagination .page-numbers { padding: 8px 12px; font-size: 13px; }

    /* 两栏布局移动端堆叠 */
    .danye-layout { flex-direction: column; gap: 20px; }
    .danye-sidebar { width: 100% !important; position: static; }
    .danye-sidebar-hide-mobile { display: none; }

    /* 上下篇导航移动端纵向 */
    .post-nav { flex-direction: column; }
    .post-nav-next { text-align: left; }
}

/* ==================== 平板端适配 (768px ~ 1024px) ==================== */
@media (min-width: 769px) and (max-width: 1024px) {
    .danye-layout { gap: 24px; }
    .single-content { padding: 24px var(--page-card-x, 18px) 6px; }
    .single-body img { max-width: 100%; height: auto; }
    .post-card { padding: var(--page-card-x, 18px); }
    .blog-header-style-simple .blog-header-inner { padding: 24px var(--page-card-x, 18px) 20px; }
}

/* ==================== 首页新模块 ==================== */

/* 数据统计数字滚动 */
.stats-section {
    background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
    padding: 50px 0;
}
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
}
.stats-card {
    text-align: center;
    color: #fff;
}
.stats-number {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 8px;
}
.stats-suffix {
    font-size: 24px;
    font-weight: 600;
    margin-left: 2px;
}
.stats-label {
    font-size: 15px;
    opacity: 0.9;
}

/* 团队展示 */
.team-section { padding: 60px 0; }
.team-grid {
    display: grid;
    grid-template-columns: repeat(var(--team-columns, 4), 1fr);
    gap: 24px;
}
.team-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 28px 20px;
    text-align: center;
    transition: all .3s;
}
.team-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(30,41,59,0.1);
}
.team-avatar {
    width: 100px;
    height: 100px;
    margin: 0 auto 16px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--primary-light);
}
.team-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.team-name {
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 4px;
}
.team-role {
    font-size: 13px;
    color: var(--primary);
    font-weight: 600;
    margin-bottom: 10px;
}
.team-desc {
    font-size: 13px;
    color: var(--gray);
    line-height: 1.6;
}

/* 合作伙伴 Logo 墙 */
.partners-section { padding: 50px 0; background: #f8fafc; }
.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
}
.partner-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 12px;
    transition: all .3s;
    text-decoration: none;
    min-height: 80px;
}
.partner-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(30,41,59,0.08);
    border-color: var(--primary);
}
.partner-item img {
    max-width: 100%;
    max-height: 50px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all .3s;
}
.partner-item:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

/* ==================== 列表页新样式 ==================== */

/* 时间线布局 */
.post-list-style-timeline {
    position: relative;
    padding-left: 30px;
}
.post-list-style-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--border);
}
.post-card-style-timeline {
    position: relative;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    transition: all .25s;
}
.post-card-style-timeline::before {
    content: '';
    position: absolute;
    left: -26px;
    top: 24px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--primary);
    border: 3px solid var(--white);
    box-shadow: 0 0 0 2px var(--primary-light);
}
.post-card-style-timeline:hover {
    box-shadow: 0 8px 24px rgba(37,99,235,.08);
    transform: translateX(4px);
    border-color: var(--border-blue);
}
.post-card-style-timeline .post-card-title { font-size: 17px; margin-bottom: 6px; }
.post-card-style-timeline .post-card-meta { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.post-card-style-timeline .post-card-excerpt { font-size: 13px; color: var(--gray); line-height: 1.6; }

/* 杂志卡片布局 */
.post-list-style-magazine {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.post-card-style-magazine {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    transition: all .25s;
}
.post-card-style-magazine:hover {
    box-shadow: 0 12px 32px rgba(30,41,59,.1);
    transform: translateY(-4px);
}
.post-card-style-magazine .post-card-thumb {
    width: 100%;
    height: 200px;
    overflow: hidden;
}
.post-card-style-magazine .post-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.post-card-style-magazine:hover .post-card-thumb img {
    transform: scale(1.05);
}
.post-card-style-magazine .post-card-body {
    padding: 20px var(--page-card-x, 22px);
}
.post-card-style-magazine .post-card-title { font-size: 17px; margin-bottom: 8px; }
.post-card-style-magazine .post-card-excerpt { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 12px; }
.post-card-style-magazine .post-card-meta { font-size: 12px; color: var(--muted); }

/* 移动端新模块适配 */
@media (max-width: 768px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .stats-number { font-size: 32px; }
    .team-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .team-avatar { width: 80px; height: 80px; }
    .partners-grid { grid-template-columns: repeat(3, 1fr); }
    .partner-item { padding: 14px; min-height: 60px; }
    .post-list-style-magazine { grid-template-columns: 1fr; }
    .post-list-style-timeline { padding-left: 24px; }
    .post-card-style-timeline::before { left: -20px; width: 10px; height: 10px; }
}

/* ==================== 文章增强功能样式 ==================== */

/* 点赞按钮 */
.single-like-wrap {
    display: flex;
    justify-content: center;
    margin: 32px 0 24px;
}
.single-like-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 32px;
    background: var(--white);
    border: 2px solid var(--primary);
    border-radius: 999px;
    color: var(--primary);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s;
}
.single-like-btn:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37,99,235,0.25);
}
.single-like-btn.liked {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
    cursor: default;
    opacity: .8;
}
.single-like-btn.liked:hover {
    transform: none;
    box-shadow: none;
}
.single-like-icon { font-size: 18px; }
.single-like-count {
    background: rgba(37,99,235,0.1);
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 13px;
}
.single-like-btn.liked .single-like-count {
    background: rgba(255,255,255,0.25);
}

/* 作者介绍 */
.danye-author-box {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    background: linear-gradient(135deg, #f8fafc 0%, var(--gray-100) 100%);
    border: 1px solid var(--border);
    border-radius: 16px;
    margin: 28px 0;
}
.danye-author-avatar-link { flex-shrink: 0; }
.danye-author-avatar {
    width: 64px; height: 64px;
    border-radius: 50%;
    display: block;
    border: 3px solid var(--white);
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.danye-author-info { flex: 1; min-width: 0; }
.danye-author-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    text-decoration: none;
}
.danye-author-name:hover { color: var(--primary); }
.danye-author-desc {
    font-size: 13px;
    color: var(--gray);
    line-height: 1.6;
    margin: 6px 0 0;
}

/* 文章目录（TOC） */
.danye-toc {
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px 20px;
    margin: 24px 0;
}
.danye-toc-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}
.danye-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.danye-toc-item {
    margin-bottom: 4px;
}
.danye-toc-item a {
    display: block;
    padding: 6px 10px;
    color: var(--gray);
    font-size: 14px;
    line-height: 1.5;
    border-radius: 6px;
    transition: all .2s;
    text-decoration: none;
}
.danye-toc-item a:hover {
    background: #e0e7ff;
    color: var(--primary);
}
.danye-toc-item a.active {
    background: var(--primary-light);
    color: var(--primary);
    font-weight: 600;
}
.danye-toc-h2 a { padding-left: 10px; font-weight: 600; }
.danye-toc-h3 a { padding-left: 26px; }
.danye-toc-h4 a { padding-left: 42px; font-size: 13px; }

/* 图片点击放大（Lightbox） */
.danye-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
}
.danye-lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
}
.danye-lightbox-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.85);
    cursor: zoom-out;
}
.danye-lightbox-content {
    position: relative;
    z-index: 1;
    max-width: 90vw;
    max-height: 90vh;
}
.danye-lightbox-content img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.3);
}
.danye-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 36px;
    height: 36px;
    border: none;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 24px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.danye-lightbox-close:hover {
    background: rgba(255,255,255,0.3);
}

/* 代码高亮 */
.single-body pre {
    position: relative;
    background: #1e293b;
    color: var(--border-light);
    padding: 40px 16px 16px;
    border-radius: 10px;
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.6;
}
.danye-code-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    background: rgba(255,255,255,0.06);
    border-radius: 10px 10px 0 0;
}
.danye-code-lang {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
}
.danye-code-copy {
    padding: 4px 12px;
    background: rgba(255,255,255,0.1);
    border: none;
    border-radius: 6px;
    color: #94a3b8;
    font-size: 12px;
    cursor: pointer;
    transition: all .2s;
}
.danye-code-copy:hover {
    background: rgba(255,255,255,0.2);
    color: #fff;
}
.single-body pre .code-keyword { color: #c084fc; }
.single-body pre .code-string { color: #86efac; }
.single-body pre .code-comment { color: #64748b; font-style: italic; }
.single-body pre .code-number { color: #fbbf24; }

/* 网站统计小工具 */
.danye-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 6px 0;
}
.danye-stats-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 6px;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f0fe 100%);
    border-radius: 12px;
    border: 1px solid rgba(37,99,235,0.08);
    transition: all .25s;
}
.danye-stats-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37,99,235,0.1);
    border-color: rgba(37,99,235,0.2);
}
.danye-stats-icon {
    font-size: 18px;
    line-height: 1;
    margin-bottom: 4px;
}
.danye-stats-num {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.2;
}
.danye-stats-text {
    font-size: 11px;
    color: var(--gray);
    margin-top: 2px;
}


/* 移动端适配增强功能 */
@media (max-width: 768px) {
    .danye-author-box { flex-direction: column; text-align: center; }
    .danye-author-avatar { width: 56px; height: 56px; }
    .single-like-btn { padding: 10px 24px; font-size: 14px; }
    .danye-toc { padding: 14px 16px; }
    .danye-toc-h3 a { padding-left: 20px; }
    .danye-toc-h4 a { padding-left: 34px; }
    .danye-lightbox-close { top: -36px; width: 32px; height: 32px; font-size: 20px; }
}


/* Hero 按钮兼容 <button> 元素 */
button.btn,
.hero-cta button.btn {
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1.4;
}


/* 侧边栏 CTA 卡片 */
.widget-cta-card {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: #fff;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
}
.widget-cta-card .widget-cta-title {
    margin: 0 0 8px;
    color: #fff;
    font-size: 18px;
}
.widget-cta-card .widget-cta-desc {
    margin: 0 0 16px;
    color: rgba(255,255,255,0.9);
    font-size: 14px;
}
.widget-cta-btn {
    display: inline-block;
    padding: 10px 20px;
    background: #fff;
    color: var(--primary);
    border-radius: 24px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity .2s;
}
.widget-cta-btn:hover { opacity: .9; }

/* ============================================================
   博客首页（v2.0.28）：文章列表（分页 / 瀑布流）
   ============================================================ */

/* 瀑布流（CSS 多列） */
.post-list.danye-masonry {
    display: block;
    column-count: 2;
    column-gap: 24px;
}
.danye-masonry > .post-card {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    width: 100%;
    margin: 0 0 24px;
    display: inline-block;
}

/* 通用卡片元信息 */
.post-card-style-blog1,
.post-card-style-blog2,
.post-card-style-blog3,
.post-card-style-blog4 { background: var(--white); }

.post-card-cat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    color: var(--muted);
    padding: 0;
    border-radius: 0;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
}
.post-card-cat::before {
    content: '📁';
    font-size: 13px;
    line-height: 1;
}
.post-card-cat:hover {
    color: var(--text);
}
/* 图片角标（blog1/blog3 用） */
.post-card-cat-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: rgba(0,0,0,.5);
    padding: 4px 10px;
    border-radius: 6px;
    text-decoration: none;
}
.post-card-cat-badge:hover {
    opacity .85;
}

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

.post-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: var(--muted);
}
.post-card-excerpt { color: var(--gray); }
.post-card-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.post-card-tag { color: var(--primary); font-size: 13px; text-decoration: none; }
.post-card-tag:hover { text-decoration: underline; }
.post-card-thumb-placeholder {
    display: flex; align-items: center; justify-content: center;
    color: #fff; background: linear-gradient(135deg, var(--primary), #7c3aed);
}

/* 样式 1：大图卡片流 */
.post-list-style-blog1 { display: flex; flex-direction: column; gap: 24px; }
.post-card-style-blog1 {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: transform .25s, box-shadow .25s;
}
.post-card-style-blog1:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.post-card-style-blog1 .post-card-thumb { position: relative; aspect-ratio: 16 / 7; overflow: hidden; }
.post-card-style-blog1 .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.post-card-style-blog1:hover .post-card-thumb img { transform: scale(1.05); }
.post-card-style-blog1 .post-card-thumb-placeholder { width: 100%; height: 100%; font-size: 64px; }
.post-card-style-blog1 .post-card-cat-badge { position: absolute; left: 16px; bottom: 16px; }
.post-card-style-blog1 .post-card-body { padding: 22px 24px 26px; }
.post-card-style-blog1 .post-card-title { font-size: 22px; margin-bottom: 10px; line-height: 1.35; }
.post-card-style-blog1 .post-card-meta { margin-bottom: 10px; }
.post-card-style-blog1 .post-card-excerpt { font-size: 15px; line-height: 1.7; margin-bottom: 14px; }
.post-card-style-blog1 .post-card-tags { margin-top: 4px; }

/* 样式 2：左图右文简洁（列表分隔线） */
.post-list-style-blog2 { display: flex; flex-direction: column; }
.post-card-style-blog2 {
    display: flex;
    gap: 20px;
    padding: 22px 0;
    border-bottom: 1px solid var(--border);
}
.post-card-style-blog2:first-child { padding-top: 4px; }
.post-card-style-blog2 .post-card-thumb { flex: 0 0 200px; width: 200px; height: 140px; border-radius: 12px; overflow: hidden; border: 1px solid var(--border); box-shadow: 0 4px 14px rgba(0,0,0,.08); background: var(--bg-light); }
.post-card-style-blog2 .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.post-card-style-blog2:hover .post-card-thumb img { transform: scale(1.05); }
.post-card-style-blog2 .post-card-thumb-placeholder { width: 100%; height: 100%; font-size: 40px; }
.post-card-style-blog2 .post-card-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.post-card-style-blog2 .post-card-title { font-size: 19px; margin-bottom: 8px; line-height: 1.4; }
.post-card-style-blog2 .post-card-meta { margin-bottom: 8px; }
.post-card-style-blog2 .post-card-excerpt { font-size: 14px; line-height: 1.6; margin-bottom: 10px; }

/* 样式 3：双列网格卡片 */
.post-list-style-blog3 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.post-card-style-blog3 {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    transition: transform .25s, box-shadow .25s;
}
.post-card-style-blog3:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.post-card-style-blog3 .post-card-thumb { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.post-card-style-blog3 .post-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.post-card-style-blog3:hover .post-card-thumb img { transform: scale(1.05); }
.post-card-style-blog3 .post-card-thumb-placeholder { width: 100%; height: 100%; font-size: 48px; }
.post-card-style-blog3 .post-card-cat-badge { position: absolute; left: 14px; bottom: 14px; }
.post-card-style-blog3 .post-card-body { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; }
.post-card-style-blog3 .post-card-title { font-size: 18px; margin-bottom: 8px; line-height: 1.4; }
.post-card-style-blog3 .post-card-meta { margin-bottom: 8px; }
.post-card-style-blog3 .post-card-excerpt { font-size: 14px; line-height: 1.6; margin-bottom: 12px; }

/* 样式 4：杂志封面式 */
.post-list-style-blog4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.post-card-style-blog4 {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: transform .25s, box-shadow .25s;
}
.post-card-style-blog4:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.post-card-style-blog4 .post-card-cover {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 240px;
    background: linear-gradient(135deg, var(--primary), #7c3aed 60%, #db2777);
    background-size: cover;
    background-position: center;
    color: #fff;
    text-decoration: none;
}
.post-card-style-blog4.no-thumb .post-card-cover { min-height: 200px; }
.post-card-style-blog4 .post-card-cover::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15,23,42,0) 30%, rgba(15,23,42,.75) 100%);
}
.post-card-style-blog4 .post-card-cover-inner {
    position: static;
    z-index: 1;
    padding: 22px 24px;
    width: 100%;
}
.post-card-style-blog4 .post-card-cat-badge {
    position: static;
    margin-bottom: 10px;
    color: #fff;
    background: rgba(255,255,255,.2);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.post-card-style-blog4 .post-card-title {
    color: #fff;
    font-size: 20px;
    line-height: 1.35;
    margin-bottom: 8px;
    text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.post-card-style-blog4 .post-card-meta { color: rgba(255,255,255,.85); }

/* 瀑布流下：各列表卡片统一为卡片外观 */
.danye-masonry .post-card-style-blog2 {
    flex-direction: column;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
}
.danye-masonry .post-card-style-blog2 .post-card-thumb { flex: none; width: 100%; height: 180px; border-radius: 0; }
.danye-masonry .post-card-style-blog2 .post-card-body { padding: 18px 20px 22px; }

/* 响应式 */
@media (max-width: 768px) {
    .danye-masonry, .post-list.danye-masonry { column-count: 1; }
    .post-list-style-blog3,
    .post-list-style-blog4 { grid-template-columns: 1fr; }
    .post-card-style-blog2 {
        flex-direction: column;
        gap: 0;
        padding: 0;
        border-bottom: none;
        height: auto;
        min-height: 400px;
        max-height: 440px;
        overflow: hidden;
    }
    .post-card-style-blog2 .post-card-thumb {
        width: 100%;
        height: auto;
        flex: 0 0 auto;
        aspect-ratio: 16 / 10;
        border-radius: 0;
        border: none;
        box-shadow: none;
        background: var(--bg-light);
    }
    .post-card-style-blog2 .post-card-thumb img,
    .post-card-style-blog2 .post-card-thumb-placeholder { width: 100%; height: 100%; object-fit: cover; }
    .post-card-style-blog2 .post-card-body {
        padding: 16px 18px 18px;
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .post-card-style-blog2 .post-card-title {
        font-size: 17px;
        line-height: 1.45;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .post-card-style-blog2 .post-card-excerpt {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .post-card-style-blog2 .post-card-tags { margin-top: auto; padding-top: 8px; }
    /* 手机端博客卡片内边距加大 */
    .post-card-style-blog1 .post-card-body { padding: 18px 20px 22px; }
    .post-card-style-blog3 .post-card-body { padding: 16px 18px 20px; }

    /* 杂志封面式手机端适配 */
    .post-card-style-blog4 .post-card-cover { min-height: 200px; }
    .post-card-style-blog4 .post-card-cover-inner { padding: 16px 18px; }
    .post-card-style-blog4 .post-card-title { font-size: 18px; }
}

/* ==================== 可访问性增强 (v2.2.3) ==================== */

/* 跳转锚点：键盘聚焦时显示，平时隐藏在视口外 */
.skip-link {
    position: absolute;
    left: 12px;
    top: -60px;
    z-index: 10000;
    background: var(--primary);
    color: #fff;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    text-decoration: none;
    transition: top .2s ease;
}
.skip-link:focus,
.skip-link:focus-visible {
    top: 12px;
    color: #fff;
}

/* 键盘焦点可见：覆盖各处 outline:none，保证焦点始终可见 */
:focus-visible {
    outline: 2px solid var(--primary) !important;
    outline-offset: 2px !important;
}

/* 文章缩略图占位底色，图片懒加载时避免塌陷与闪烁 */
.post-card-thumb {
    background: var(--gray-100);
}


/* Lightbox 遮罩 */
.danye-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .9);
    padding: 24px;
}
.danye-lightbox.is-open {
    display: flex;
}
.danye-lightbox-img {
    max-width: 92vw;
    max-height: 86vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
}
.danye-lightbox-caption {
    position: absolute;
    bottom: 22px;
    left: 0;
    right: 0;
    text-align: center;
    color: #e2e8f0;
    font-size: 14px;
    padding: 0 24px;
}
.danye-lightbox-close,
.danye-lightbox-prev,
.danye-lightbox-next {
    position: absolute;
    background: rgba(255, 255, 255, .12);
    border: none;
    color: #fff;
    cursor: pointer;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease;
}
.danye-lightbox-close:hover,
.danye-lightbox-prev:hover,
.danye-lightbox-next:hover {
    background: rgba(255, 255, 255, .28);
}
.danye-lightbox-close {
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    font-size: 26px;
    line-height: 1;
}
.danye-lightbox-prev,
.danye-lightbox-next {
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    font-size: 34px;
    line-height: 1;
}
.danye-lightbox-prev {
    left: 18px;
}
.danye-lightbox-next {
    right: 18px;
}

@media (max-width: 767px) {
    .danye-lightbox-img {
        max-width: 96vw;
        max-height: 78vh;
    }
    .danye-lightbox-prev {
        left: 8px;
    }
    .danye-lightbox-next {
        right: 8px;
    }
}
