/* ============================================
   民间谚语模块主题（乡村民俗 · 土陶暖褐）
   文章页 / 列表页 / 搜索页 / 404 页共用
   ============================================ */

body.yanyu-page {
    --yy-earth: #d9c3a0;
    --yy-earth-2: #c9ae8d;
    --yy-card: #fbf3e4;
    --yy-card-2: #f3e7d1;
    --yy-terracotta: #b4532a;
    --yy-terracotta-deep: #8c3d1c;
    --yy-terracotta-soft: rgba(180, 83, 42, 0.1);
    --yy-straw: #c9a227;
    --yy-straw-soft: rgba(201, 162, 39, 0.14);
    --yy-moss: #5d6b3f;
    --yy-moss-soft: rgba(93, 107, 63, 0.12);
    --yy-ink: #3b2a1c;
    --yy-ink-2: #6b5540;
    --yy-ink-3: #9c8a70;
    --yy-line: #cdb48c;
    --yy-line-soft: #e2d2b4;
    --yy-font-title: "Kaiti SC", "STKaiti", "KaiTi", "楷体", "Noto Serif SC", "Songti SC", "SimSun", serif;
    --yy-font-body: "Songti SC", "SimSun", "Noto Serif SC", "Source Han Serif SC", serif;
    background:
        repeating-linear-gradient(0deg, rgba(120, 90, 55, 0.028) 0 2px, transparent 2px 7px),
        radial-gradient(circle at 18% 8%, rgba(180, 83, 42, 0.05), transparent 42%),
        linear-gradient(180deg, #f0e2c9 0%, var(--yy-earth) 46%, var(--yy-earth-2) 100%);
    background-attachment: fixed;
    color: var(--yy-ink-2);
    font-family: var(--yy-font-body);
    font-size: 15px;
    line-height: 1.9;
}

/* ===== 共享深色主题的浅色覆盖 ===== */
body.yanyu-page .top-bar {
    background: #3b2a1c;
    border-bottom: 2px solid var(--yy-terracotta);
}
body.yanyu-page .logo { color: #f0e2c9; }
body.yanyu-page .logo:hover { color: #fff; text-shadow: none; }
body.yanyu-page .user-info,
body.yanyu-page .current-date { color: #c8b391; }
body.yanyu-page .user-info a,
body.yanyu-page .current-date { color: #f0e2c9; }
body.yanyu-page .current-weather { color: #c8b391; }
body.yanyu-page .place { color: var(--yy-ink-3); }
body.yanyu-page .place strong { color: var(--yy-ink-2); }
body.yanyu-page .place a { color: var(--yy-terracotta); }
body.yanyu-page .place a:hover { color: var(--yy-terracotta-deep); }
body.yanyu-page .footer {
    background: #3b2a1c;
    border-top: 3px solid var(--yy-terracotta);
}
body.yanyu-page .footer a { color: #dcc9a4; }
body.yanyu-page .footer a:hover { color: #fff; }
body.yanyu-page .footer-content { color: #a89478; }
body.yanyu-page .article-wrapper { max-width: 1000px; }
body.yanyu-page .viewbox,
body.yanyu-page .pleft > .content { color: var(--yy-ink-2); }

/* ===== 题头（谚印 · 谚语 · 落款） ===== */
.yy-masthead { padding: 34px 20px 0; }
.yy-masthead-inner {
    max-width: 1000px; margin: 0 auto;
    display: flex; align-items: center; justify-content: center; gap: 20px;
}
.yy-seal {
    flex: 0 0 58px; width: 58px; height: 58px;
    background: var(--yy-terracotta);
    color: #fdf3e7;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--yy-font-title);
    font-size: 30px; font-weight: 700; line-height: 1;
    border-radius: 3px;
    box-shadow: 0 3px 10px rgba(140, 61, 28, 0.3);
    transform: rotate(-4deg);
}
.yy-masthead-main { text-align: center; }
.yy-masthead-title {
    margin: 0; font-family: var(--yy-font-title);
    font-size: 34px; font-weight: 700; color: var(--yy-ink);
    letter-spacing: 4px; line-height: 1.3;
}
.yy-masthead-byline {
    margin-top: 8px; font-size: 14px; color: var(--yy-ink-3);
    letter-spacing: 1px;
}
.yy-byline-cat { color: var(--yy-terracotta); }
.yy-byline-variant { color: var(--yy-moss); }
.yy-byline-tag {
    display: inline-block; padding: 1px 9px;
    background: var(--yy-straw-soft); color: #8a6c15;
    border-radius: 3px; font-size: 12.5px;
}
.yy-byline-sep { color: var(--yy-line); margin: 0 6px; }
.yy-rule { height: 3px; background: var(--yy-terracotta); max-width: 1000px; margin: 22px auto 0; }
.yy-rule-sub { height: 1px; background: var(--yy-terracotta); opacity: .45; max-width: 1000px; margin: 3px auto 0; }
.yy-masthead-tail { height: 22px; }

/* ===== 土纸容器（文章主体） ===== */
.yy-scroll {
    position: relative;
    background: var(--yy-card);
    border: 1px solid var(--yy-line);
    border-top: 3px solid var(--yy-terracotta);
    padding: 30px 36px 36px;
    box-shadow: 0 3px 16px rgba(110, 80, 45, 0.1);
}
.yy-scroll::after {
    content: "谚"; position: absolute; right: 20px; bottom: 20px;
    width: 42px; height: 42px;
    border: 2px solid rgba(180, 83, 42, 0.2);
    border-radius: 3px;
    color: rgba(180, 83, 42, 0.28);
    font-family: var(--yy-font-title);
    font-size: 22px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none;
}

/* ===== 大字谚语牌 ===== */
.yy-saying { margin: 4px 0 26px; }
.yy-saying-frame {
    position: relative;
    background:
        linear-gradient(180deg, #fdf8ee 0%, var(--yy-card-2) 100%);
    border: 1px solid var(--yy-line);
    box-shadow: inset 0 0 0 5px rgba(201, 162, 39, 0.07), 0 2px 10px rgba(120, 85, 45, 0.08);
    padding: 26px 30px 22px;
    text-align: center;
}
.yy-saying-frame::before,
.yy-saying-frame::after {
    content: ""; position: absolute; left: 14px; right: 14px;
    height: 3px; background: var(--yy-terracotta); opacity: .35;
}
.yy-saying-frame::before { top: 8px; }
.yy-saying-frame::after { bottom: 8px; }
.yy-saying-label {
    font-size: 12.5px; color: var(--yy-ink-3);
    letter-spacing: 4px; margin-bottom: 10px;
}
.yy-saying-label i { color: var(--yy-terracotta); margin-right: 4px; }
.yy-saying-text {
    font-family: var(--yy-font-title);
    font-size: 32px; line-height: 1.6; font-weight: 700;
    color: var(--yy-ink); letter-spacing: 3px;
    word-break: break-word;
}
.yy-saying-cat { margin-top: 14px; }

/* ===== 类别标签 ===== */
.yy-cat {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 10px; border-radius: 12px;
    font-size: 12.5px; letter-spacing: 1px;
    background: var(--yy-terracotta-soft); color: var(--yy-terracotta-deep);
}
.yy-cat-weather    { background: rgba(61, 107, 134, 0.14); color: #2f5a75; }
.yy-cat-farm       { background: var(--yy-moss-soft); color: #47552e; }
.yy-cat-food       { background: rgba(168, 100, 42, 0.14); color: #8a5220; }
.yy-cat-health     { background: rgba(140, 61, 28, 0.12); color: var(--yy-terracotta-deep); }
.yy-cat-diligence  { background: var(--yy-straw-soft); color: #8a6c15; }
.yy-cat-education  { background: rgba(107, 74, 122, 0.13); color: #5d4069; }
.yy-cat-wisdom     { background: rgba(74, 95, 122, 0.13); color: #3d4d61; }
.yy-cat-other      { background: rgba(138, 122, 99, 0.14); color: #6f6250; }

/* ===== 分节 ===== */
.yy-sec { margin: 26px 0 0; }
.yy-sec-title {
    margin: 0 0 12px;
    font-family: var(--yy-font-title);
    font-size: 19px; font-weight: 700; color: var(--yy-terracotta-deep);
    letter-spacing: 2px;
    display: flex; align-items: center; gap: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--yy-line-soft);
}
.yy-sec-title i { font-size: 15px; opacity: .8; }
.yy-sec-body { padding-left: 2px; }
.yy-para {
    margin: 0 0 12px; font-size: 16px; line-height: 2;
    color: var(--yy-ink-2); text-indent: 2em;
}
.yy-para:last-child { margin-bottom: 0; }

/* ===== 异体 ===== */
.yy-variants { margin-top: 22px; }
.yy-variant {
    display: flex; gap: 12px; align-items: baseline;
    background: var(--yy-straw-soft);
    border-left: 3px solid var(--yy-straw);
    padding: 10px 16px; margin-bottom: 8px;
}
.yy-variant:last-child { margin-bottom: 0; }
.yy-variant-label {
    flex: 0 0 auto; font-family: var(--yy-font-title);
    font-size: 13px; letter-spacing: 2px; color: #8a6c15;
}
.yy-variant-text { font-size: 15.5px; color: var(--yy-ink-2); }

/* ===== 注释 ===== */
.yy-notes { margin-top: 18px; }
.yy-note {
    margin: 0 0 8px; font-size: 14px; color: var(--yy-ink-3);
    display: flex; gap: 8px; align-items: baseline;
}
.yy-note i { color: var(--yy-straw); }
.yy-note:last-child { margin-bottom: 0; }

/* ===== 例句 ===== */
.yy-examples { margin-top: 18px; }
.yy-example {
    margin: 0 0 8px; font-size: 15px; color: var(--yy-ink-2);
    background: var(--yy-moss-soft);
    border-left: 3px solid var(--yy-moss);
    padding: 10px 16px;
    display: flex; gap: 10px; align-items: baseline;
}
.yy-example-label {
    flex: 0 0 auto; font-family: var(--yy-font-title);
    font-size: 13px; letter-spacing: 2px; color: #47552e;
}
.yy-example:last-child { margin-bottom: 0; }

/* ===== 相关条目 ===== */
.yy-refs {
    margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px;
    align-items: center;
}
.yy-refs-label {
    font-family: var(--yy-font-title); font-size: 13px;
    letter-spacing: 2px; color: var(--yy-ink-3);
}
.yy-ref {
    display: inline-block; padding: 3px 12px;
    background: #fff; border: 1px solid var(--yy-line);
    border-radius: 14px; font-size: 13.5px; color: var(--yy-terracotta-deep);
    text-decoration: none;
}
.yy-ref:hover { background: var(--yy-terracotta); color: #fff; border-color: var(--yy-terracotta); }

/* ===== 卷尾信息 ===== */
.yy-meta {
    margin-top: 26px; padding-top: 14px;
    border-top: 1px dashed var(--yy-line);
    display: flex; gap: 18px; font-size: 13px; color: var(--yy-ink-3);
}
.yy-meta i { margin-right: 4px; opacity: .7; }

/* ===== 免责说明 ===== */
.yy-disclaimer {
    margin-top: 16px;
    background: var(--yy-terracotta-soft);
    border: 1px solid rgba(180, 83, 42, 0.22);
    border-radius: 4px;
    padding: 12px 16px;
    font-size: 13.5px; line-height: 1.8; color: #6d4426;
}
.yy-disclaimer i { margin-right: 6px; color: var(--yy-terracotta); }

/* ===== 上下篇 ===== */
.yy-nav {
    margin-top: 26px;
    display: flex; gap: 14px; flex-wrap: wrap;
}
.yy-nav-item {
    flex: 1 1 240px;
    background: var(--yy-card-2);
    border: 1px solid var(--yy-line);
    padding: 12px 16px;
    font-size: 14px;
}
.yy-nav-label {
    display: block; font-size: 12.5px; color: var(--yy-ink-3);
    letter-spacing: 2px; margin-bottom: 4px;
}
.yy-nav-item a { color: var(--yy-terracotta-deep); text-decoration: none; }
.yy-nav-item a:hover { color: var(--yy-terracotta); text-decoration: underline; }
.yy-nav-item .none { color: var(--yy-ink-3); }

/* ===== 操作按钮 ===== */
.yy-actions { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
.yy-act {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 18px; border: 1px solid var(--yy-line);
    background: #fff; color: var(--yy-ink-2);
    font-size: 14px; cursor: pointer; text-decoration: none;
    border-radius: 3px; transition: all .2s;
}
.yy-act:hover {
    border-color: var(--yy-terracotta);
    color: var(--yy-terracotta-deep);
    background: var(--yy-terracotta-soft);
}

/* ===== 搜索框 ===== */
.yy-search-form {
    display: flex; gap: 10px; margin-bottom: 20px;
}
.yy-search-input {
    flex: 1; padding: 11px 16px;
    border: 1px solid var(--yy-line);
    background: #fff; color: var(--yy-ink);
    font-size: 14px; font-family: inherit; outline: none;
    border-radius: 4px;
}
.yy-search-input:focus { border-color: var(--yy-terracotta); }
.yy-search-btn {
    padding: 11px 24px; border: none;
    background: var(--yy-terracotta); color: #fdf3e7;
    font-size: 14px; font-weight: 600; cursor: pointer;
    border-radius: 4px; white-space: nowrap;
    font-family: inherit;
}
.yy-search-btn:hover { background: var(--yy-terracotta-deep); }

/* ===== 列表卡片 ===== */
.yy-list {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.yy-card {
    display: flex; gap: 0;
    background: var(--yy-card);
    border: 1px solid var(--yy-line);
    border-radius: 3px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s;
}
.yy-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(120, 85, 45, 0.14);
}
.yy-card-bar {
    flex: 0 0 5px; background: var(--yy-terracotta);
}
.yy-card:hover .yy-card-bar { background: var(--yy-terracotta-deep); }
.yy-card-main { flex: 1; padding: 14px 18px 16px; min-width: 0; }
.yy-card-top {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 8px;
}
.yy-card-no { font-size: 12px; color: var(--yy-ink-3); letter-spacing: 1px; }
.yy-card-title {
    display: block;
    font-family: var(--yy-font-title);
    font-size: 20px; font-weight: 700; color: var(--yy-ink);
    letter-spacing: 1.5px; line-height: 1.5;
    text-decoration: none;
    word-break: break-word;
}
.yy-card-title:hover { color: var(--yy-terracotta-deep); }
.yy-card-desc {
    margin: 8px 0 0; font-size: 14px; line-height: 1.85;
    color: var(--yy-ink-2);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
}
.yy-card-variant {
    margin-top: 8px; font-size: 13px; color: var(--yy-ink-3);
}
.yy-card-variant-label {
    display: inline-block; margin-right: 6px;
    padding: 0 7px; border-radius: 3px;
    background: var(--yy-straw-soft); color: #8a6c15;
    font-size: 12px;
}
.yy-card-meta {
    margin-top: 10px; display: flex; gap: 14px;
    font-size: 12.5px; color: var(--yy-ink-3);
}
.yy-card-meta i { margin-right: 3px; opacity: .6; }

/* ===== 搜索结果计数与高亮 ===== */
.yy-result-count { margin-bottom: 16px; font-size: 14px; color: var(--yy-ink-3); }
.yy-result-count strong { color: var(--yy-terracotta-deep); }
.yy-highlight { color: var(--yy-terracotta); font-weight: 700; }

/* ===== 空状态 ===== */
.yy-empty {
    text-align: center; padding: 60px 20px; color: var(--yy-ink-3);
}
.yy-empty i {
    font-size: 46px; margin-bottom: 16px; display: block;
    color: var(--yy-line); opacity: .8;
}
.yy-empty p { margin: 0 0 8px; font-size: 16px; }
.yy-empty .yy-empty-sub { font-size: 14px; color: var(--yy-ink-3); }

/* ===== 返回顶部 ===== */
.yanyu-page .back-to-top {
    position: fixed; bottom: 30px; right: 30px;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: var(--yy-terracotta);
    color: #fdf3e7;
    display: none; align-items: center; justify-content: center;
    font-size: 18px; cursor: pointer;
    box-shadow: 0 4px 14px rgba(140, 61, 28, .3);
    transition: all .25s;
    z-index: 999;
}
.yanyu-page .back-to-top:hover {
    background: var(--yy-terracotta-deep);
    transform: translateY(-3px);
}
.yanyu-page .back-to-top.show { display: flex; }

/* ===== 分页（浅色覆盖） ===== */
body.yanyu-page .pagination-wrapper {
    background: var(--yy-card-2);
    border: 1px solid var(--yy-line);
    border-radius: 3px;
    margin-top: 22px; padding: 12px 16px;
}
body.yanyu-page .page-info { color: var(--yy-ink-3); }
body.yanyu-page .page-info strong { color: var(--yy-terracotta-deep); }
body.yanyu-page .page-btn,
body.yanyu-page .page-num {
    background: #fff; border: 1px solid var(--yy-line);
    color: var(--yy-ink-2); border-radius: 3px;
}
body.yanyu-page .page-btn:hover,
body.yanyu-page .page-num:hover {
    background: var(--yy-terracotta); border-color: var(--yy-terracotta); color: #fff;
}
body.yanyu-page .page-num.active {
    background: var(--yy-terracotta); border-color: var(--yy-terracotta); color: #fff;
}
body.yanyu-page .page-btn.disabled {
    background: #efe6d4; color: var(--yy-ink-3); border-color: var(--yy-line-soft);
}
body.yanyu-page .page-dots { color: var(--yy-ink-3); }

/* ===== 404 ===== */
.yy-404-wrap {
    max-width: 760px; margin: 0 auto; padding: 60px 20px 80px;
    text-align: center;
}
.yy-404-code {
    font-family: var(--yy-font-title);
    font-size: 108px; font-weight: 700; line-height: 1;
    color: rgba(180, 83, 42, 0.22);
}
.yy-404-seal {
    display: inline-block; margin: -18px 0 6px;
    padding: 8px 20px;
    background: var(--yy-terracotta); color: #fdf3e7;
    font-family: var(--yy-font-title); font-size: 19px;
    letter-spacing: 4px; border-radius: 3px;
    transform: rotate(-3deg);
}
.yy-404-title {
    margin: 18px 0 10px;
    font-family: var(--yy-font-title); font-size: 30px;
    color: var(--yy-ink); letter-spacing: 3px;
}
.yy-404-text {
    margin: 0 0 26px; font-size: 15px; color: var(--yy-ink-2); line-height: 1.9;
}
.yy-404-links { display: flex; gap: 12px; justify-content: center; margin-bottom: 26px; }
.yy-404-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 22px; border: 1px solid var(--yy-line);
    background: #fff; color: var(--yy-ink-2);
    text-decoration: none; font-size: 14px; border-radius: 3px;
}
.yy-404-btn:hover { background: var(--yy-terracotta); color: #fff; border-color: var(--yy-terracotta); }
.yy-404-search {
    display: flex; gap: 10px; max-width: 520px; margin: 0 auto 34px;
}
.yy-404-recommend {
    border-top: 1px solid var(--yy-line); padding-top: 22px;
}
.yy-404-recommend-title {
    font-family: var(--yy-font-title); font-size: 17px;
    color: var(--yy-ink-2); letter-spacing: 2px; margin-bottom: 16px;
}
.yy-404-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
}
.yy-404-grid a {
    display: block; padding: 11px 8px;
    background: var(--yy-card); border: 1px solid var(--yy-line);
    color: var(--yy-ink-2); text-decoration: none;
    font-size: 14px; border-radius: 3px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.yy-404-grid a:hover {
    background: var(--yy-terracotta); color: #fff; border-color: var(--yy-terracotta);
}

/* ===== 响应式 ===== */
@media (max-width: 860px) {
    .yy-masthead { padding: 22px 14px 0; }
    .yy-masthead-inner { gap: 14px; }
    .yy-seal { flex: 0 0 46px; width: 46px; height: 46px; font-size: 24px; }
    .yy-masthead-title { font-size: 24px; letter-spacing: 2px; }
    .yy-scroll { padding: 22px 18px 26px; }
    .yy-scroll::after { display: none; }
    .yy-saying-text { font-size: 25px; letter-spacing: 2px; }
    .yy-saying-frame { padding: 20px 16px 18px; }
    .yy-list { grid-template-columns: 1fr; }
    .yy-404-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .yy-404-code { font-size: 76px; }
    .yy-404-title { font-size: 23px; }
    .yy-404-search { flex-direction: column; }
    .yy-search-form { flex-direction: column; }
}
