/* ===== 古纪台 深红主题 ===== */
:root {
  --guji-red: #c00000;
  --guji-red-dark: #8f0000;
  --guji-gray: #f5f5f5;
  --guji-text: #333;
}
body { color: var(--guji-text); }

/* 头部白底（与原版一致） */
#masthead, .main-header-bar, .site-header {
  background: #fff !important;
  border-bottom: 1px solid #eee !important;
}
.main-header-bar { box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.site-branding .site-title, .site-title { display: none; } /* 用图片 logo */

/* logo 图片 */
.custom-logo-link img { max-height: 56px; width: auto; }

/* 主导航：白底，与原站一致（微软雅黑16px / 色块高40px / 圆角20px / #e50b1c） */
.main-navigation ul li > .menu-link, .main-header-menu .menu-link {
  color: #333 !important;
  font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;     /* 方案A：中等字重，Mac 苹方下厚度接近原站微软雅黑观感 */
  height: 40px !important;         /* 原站色块高度 40px，!important 防止被撑高 */
  min-height: 40px !important;
  max-height: 40px !important;
  box-sizing: border-box !important;
  border: 0 !important;            /* Astra 菜单自带的 2px 透明边框会撑高色块，必须去掉 */
  padding: 0 25px !important;      /* 原站左右 25px，文字距上下各约12px */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px !important;  /* = 高度一半 → 左右标准半圆，弧度明显 */
  white-space: nowrap;
  transition: background .2s, color .2s;
}
.main-navigation ul li, .main-header-menu .menu-item { border-radius: 20px; margin: 0 1px; }
.main-header-menu .menu-link:hover,
.main-navigation ul li.current-menu-item > .menu-link,
.main-navigation ul li.current_page_item > .menu-link {
  background: #e50b1c !important;  /* 原站选中红 */
  color: #fff !important;
}
.main-header-menu { background: transparent !important; }
.ast-inline-search, .ast-search-icon .astra-search-icon { color: #666 !important; }
/* 移动端汉堡按钮深色 */
.ast-mobile-menu-trigger-fill, .ast-mobile-menu-trigger-minimal { color: #333; }
.ast-mobile-menu-trigger-fill .ast-button-wrap, button.ast-mobile-menu-trigger-fill { background: #333; color: #fff; }
/* 移动端菜单：文字在色块内垂直居中（Astra 会覆盖为 display:block + line-height:48px，导致文字沉底，必须更高优先级强改回） */
@media (max-width: 921px) {
  .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link,
  .main-navigation ul li > .menu-link, .main-header-menu .menu-link {
    width: auto;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    line-height: 1.2 !important;      /* 干掉 Astra 的 48px 行高，这是文字沉底的元凶 */
    padding: 0 20px !important;       /* 去掉上下 10px，交给 flex 居中 */
    display: flex !important;
    align-items: center !important;   /* 垂直居中 */
    justify-content: flex-start !important; /* 保持左对齐 */
    box-sizing: border-box !important;
    text-align: left;
  }
}

/* 首页 hero */
.guji-home { max-width: 1180px; margin: 0 auto; padding: 0 16px 40px; }
.guji-hero {
  background: linear-gradient(135deg, var(--guji-red) 0%, var(--guji-red-dark) 100%);
  border-radius: 8px; color: #fff; text-align: center;
  padding: 38px 20px 30px; margin: 18px 0 26px;
}
.guji-hero-title { color: #fff !important; font-size: 30px !important; margin: 0 0 8px !important; letter-spacing: 4px; }
.guji-hero-sub { color: rgba(255,255,255,.9); font-size: 15px; margin: 0; }

/* 栏目区块 */
.guji-block { margin-bottom: 34px; }
.guji-block-head {
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: 2px solid var(--guji-red); margin-bottom: 14px; padding-bottom: 6px;
}
.guji-block-head h2 { margin: 0 !important; font-size: 20px !important; }
.guji-block-head h2 a { color: var(--guji-red) !important; text-decoration: none; }
.guji-block-head h2 a::before { content: "◆ "; font-size: 14px; }
.guji-more { color: #888; font-size: 13.5px; text-decoration: none; }
.guji-more:hover { color: var(--guji-red); }

/* 首页区块两列：左 = 分类热门(3×2)，右 = 最近更新（高度对齐） */
.guji-block-cols { display: flex; align-items: stretch; gap: 32px; }
.guji-block-main { flex: 1 1 auto; min-width: 0; }
.guji-block-side { flex: 0 0 252px; min-width: 0; display: flex; flex-direction: column; }
.guji-block-side .guji-block-head h2 { color: var(--guji-red) !important; }
.guji-recent { list-style: none; margin: 0 !important; padding: 2px 0 0 !important; overflow: hidden; }
.guji-recent li {
  display: flex; align-items: center; gap: 10px;
  border-bottom: 1px solid #f1f1f1; padding: 10px 0 9px; margin: 0 !important;
}
.guji-recent li:last-child { border-bottom: 0; }
.guji-recent a {
  flex: 1; min-width: 0; font-size: 13.5px; line-height: 1.5;
  color: var(--guji-text) !important; text-decoration: none !important;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.guji-recent a:hover { color: var(--guji-red) !important; }
.guji-recent time { flex-shrink: 0; font-size: 12px; color: #999; }
@media (max-width: 768px) {
  .guji-block-cols { flex-direction: column; gap: 22px; }
  .guji-block-side { flex: 1 1 auto; }
}

/* 文章列表：3 列卡片（一行3篇 × 两行） */
.guji-list {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 16px; list-style: none; margin: 0 !important; padding: 0 !important;
}
.guji-list li { margin: 0 !important; }
.guji-thumb { display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: 4px; background: var(--guji-gray); }
.guji-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.guji-list li:hover .guji-thumb img { transform: scale(1.05); }
.guji-noimg { display: flex; align-items: center; justify-content: center; }
.guji-noimg span {
  font-size: 44px; color: #d8b0b0; font-weight: 700;
  font-family: "Kaiti SC", "STKaiti", "KaiTi", serif;
}
.guji-item-title {
  display: block; margin-top: 7px; font-size: 14.5px; line-height: 1.45;
  color: var(--guji-text) !important; text-decoration: none !important;
  max-height: 3em; overflow: hidden;
}
.guji-item-title:hover { color: var(--guji-red) !important; }
.guji-list time { display: none; }

/* 标题下方标签行：最多显示一行，超出省略 */
.guji-item-tags {
  margin-top: 3px; font-size: 12px; line-height: 1.6;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-height: 1.7em;
}
.guji-item-tags a {
  color: #999 !important; text-decoration: none !important; margin-right: 8px;
}
.guji-item-tags a:hover { color: var(--guji-red) !important; }

/* 移动端 2 列 */
@media (max-width: 768px) {
  .guji-list { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .guji-hero-title { font-size: 24px !important; }
}

/* 文章页与列表页通用：红色链接 hover */
.ast-single-post .entry-title, .ast-archive .entry-title { color: var(--guji-text) !important; }
a:hover { color: var(--guji-red); }

/* 页脚 */
.site-footer, .footer-adv, #colophon { background: #404040 !important; color: #ccc !important; }
.site-footer a, #colophon a { color: #ccc !important; }
.site-footer a:hover, #colophon a:hover { color: #fff !important; }
/* 隐藏 Astra 默认页脚版权组件（已由下方自定义双行版权条替代，避免重复） */
.ast-footer-copyright { display: none !important; }
.guji-copyright { text-align: center; padding: 14px 0 18px; color: #999; background: #404040; }
.guji-copyright-note, .guji-copyright-main { text-align: center; font-size: 11px; line-height: 1.8; }
.guji-copyright-note { color: #aaa; margin-bottom: 2px; }
.guji-copyright-main { color: #999; }

/* ===== 头部右侧工具：搜索框 + 登录/注册 ===== */
.main-header-menu .guji-tools {
  margin-left: auto;
  display: flex; align-items: center; gap: 12px;
  background: none !important;
}
.guji-search { display: flex; align-items: center; }
.guji-search input {
  width: 150px; height: 32px; padding: 0 12px;
  border: 1px solid #ddd; border-right: 0; border-radius: 16px 0 0 16px;
  outline: none; font-size: 13px; color: #333; background: #fafafa;
  font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", sans-serif;
}
.guji-search input:focus { border-color: var(--guji-red); background: #fff; }
.guji-search button {
  height: 32px; width: 34px; border: 1px solid #ddd; border-radius: 0 16px 16px 0;
  background: #fff; color: #888; cursor: pointer;
  display: flex; align-items: center; justify-content: center; padding: 0;
}
.guji-search button:hover { color: var(--guji-red); border-color: var(--guji-red); }
.guji-auth {
  font-size: 14px; white-space: nowrap;
  font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", sans-serif;
}
.guji-auth a { color: #333 !important; text-decoration: none !important; padding: 0 3px; }
.guji-auth a:hover { color: var(--guji-red) !important; }
.guji-auth i { color: #bbb; font-style: normal; }
/* 移动端：搜索框占满整行 */
@media (max-width: 921px) {
  .main-header-menu .guji-tools { flex-wrap: wrap; padding: 10px 20px; margin-left: 0; }
  .guji-search { width: 100%; }
  .guji-search input { flex: 1; width: auto; }
}

/* 工具区不换行，与菜单同一行（仅桌面端） */
@media (min-width: 922px) {
  .main-header-menu { flex-wrap: nowrap !important; }
  .main-header-menu .guji-tools { flex-wrap: nowrap !important; width: auto; padding-left: 16px; }
  .guji-search input { width: 130px; }
  /* 频道名称之间的间距缩小（原站 25px 偏宽），给右侧搜索框留出空隙 */
  .main-navigation ul li > .menu-link,
  .main-header-menu .menu-link { padding: 0 15px !important; }
}
.main-header-menu .guji-tools { flex-direction: row !important; align-items: center !important; }

/* 修复移动端长英文标题撑破网格导致横向溢出 */
.guji-list li { min-width: 0; }
.guji-item-title, .guji-hero-sub, .guji-hero-title { overflow-wrap: anywhere; }
.ast-mobile-menu-trigger-minimal, .ast-mobile-menu-trigger-minimal svg, .site-header .ast-mobile-menu-trigger-minimal .ast-button-wrap .menu-toggle { color: #333 !important; }
.ast-mobile-menu-trigger-minimal .menu-toggle-icon::before, .ast-mobile-menu-trigger-minimal .ast-icon.icon-menu-bars { color: #333 !important; }

/* ===== 移动端头部搜索：汉堡按钮左侧 ===== */
.guji-mobile-search { display: none; }
@media (max-width: 921px) {
  .guji-mobile-search {
    display: flex; align-items: center; align-self: center;
    margin-right: 10px;
  }
  .guji-mobile-search input {
    width: 108px; height: 32px; padding: 0 10px;
    border: 1px solid #ddd; border-right: 0; border-radius: 16px 0 0 16px;
    outline: none; font-size: 13px; color: #333; background: #fafafa;
    font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", sans-serif;
  }
  .guji-mobile-search input:focus { border-color: var(--guji-red); background: #fff; }
  .guji-mobile-search button {
    height: 32px; width: 32px; border: 1px solid #ddd; border-radius: 0 16px 16px 0;
    background: #fff; color: #888; cursor: pointer; padding: 0;
    display: flex; align-items: center; justify-content: center;
  }
  .guji-mobile-search button:hover { color: var(--guji-red); border-color: var(--guji-red); }
}
/* 汉堡图标深色（svg fill/stroke 一并覆盖，之前只改 color 不生效） */
.ast-mobile-menu-trigger-minimal svg, .menu-toggle svg,
.ast-mobile-menu-trigger-minimal svg *, .menu-toggle svg * {
  fill: #333 !important; stroke: #333 !important;
}

/* ===== hero v2：书影横幅 + 红块 + 4 栏目（复刻原站，参数取自 PageCss.css） ===== */
.guji-hero-banner {
  width: 100vw;                           /* 冲出 1180px 容器，通栏到屏幕两边 */
  margin-left: calc(50% - 50vw);
  height: 350px;                        /* 图块按 1900 宽等比放大后的高度 */
  margin-top: 30px;                     /* 图片整体下移 30px */
  background-repeat: repeat-x;          /* 左右平铺 */
  background-size: 1900px auto;         /* 每个图块宽 1900，高度按比例 */
  background-position: center top;
}
.guji-hero-grid {
  display: flex; align-items: flex-start;
  margin: -122px 2.72% 40px;      /* 原站上移140px，累计下移18px（12+6） */
  position: relative; z-index: 2;
}
.guji-hero-red {
  width: 25%; flex-shrink: 0;
  background: #c00000;            /* 原站 rgb(192,0,0) */
  color: #fff; text-align: center;
  padding-bottom: 34px;
}
.guji-hero-red-head { padding: 46px 10% 0; }
.guji-hero-red-head h2 { color: #fff !important; font-size: 30px !important; font-weight: 700; margin: 0 0 6px !important; letter-spacing: 2px; }
.guji-hero-red-head p { color: #fff; font-size: 18px; margin: 0; }
.guji-hero-red-desc { padding: 0 12%; margin-top: 40px; }
.guji-hero-red-desc p { color: #fff; font-size: 13.5px; line-height: 1.75; margin: 0; text-align: justify; text-justify: inter-ideograph; }
.guji-hero-feats {
  flex: 1; display: flex;
  margin-top: calc(12% + 4px);    /* 图标区落在书影下方白区，再整体下移4px（红块不动） */
  padding: 0 1.5%;
}
.guji-feat { flex: 1; text-align: center; padding: 0 16px; }
.guji-feat img { height: 54px; width: auto; }
.guji-feat h3 { font-size: 16px !important; color: #595959 !important; font-weight: 700; margin: 16px 0 10px !important; }
.guji-feat p { font-size: 12px; color: #a5a5a5; line-height: 1.7; margin: 0; }
/* 移动端：红块全宽、图标 2 列（原站 xs 下不叠加书影，margin-top:0） */
@media (max-width: 768px) {
  .guji-hero-banner { height: 118px; margin-top: 16px; background-size: 640px auto; margin-left: 0; width: auto; }
  .guji-hero-grid { flex-direction: column; margin: 0 4% 24px; }
  .guji-hero-red { width: 100%; padding-bottom: 22px; }
  .guji-hero-red-head { padding-top: 28px; }
  .guji-hero-red-head h2 { font-size: 24px !important; }
  .guji-hero-red-desc { margin-top: 20px; }
  .guji-hero-feats { flex-wrap: wrap; margin-top: 20px; }
  .guji-feat { flex: 0 0 50%; margin-bottom: 18px; }
  .guji-feat img { height: 44px; }
}

/* ===== 分类页 hero（原版古籍/古画书法/公版电影/期刊报纸） ===== */
/* hero 结构复用首页 .guji-hero-banner / .guji-hero-grid 样式 */
/* 隐藏 Astra 默认归档标题（红块里已有标题，避免重复） */
body.guji-cat-hero .ast-archive-description { display: none !important; }
/* 分类页内容容器若带左右 padding，红块栅格与首页保持一致的 2.72% 边距 */
.guji-cat-grid { margin-left: 2.72%; margin-right: 2.72%; }
/* 移动端：hero 沿用首页 xs 规则（banner 640px 平铺/红块全宽/图标2列） */
/* 修复：容器 max-width:100% 把 100vw 通栏横幅截短，右侧留白 */
.guji-hero-banner { max-width: none !important; }
/* 修复：Astra .ast-row 为 flex 容器，横幅被 flex-shrink 收缩，禁止收缩 */
.guji-hero-banner { flex-shrink: 0; }

/* ===== 标签页：隐藏 Astra 默认归档标题框，显示「标签筛选」块（复刻旧站样式） ===== */
body.guji-tag-filter .ast-archive-description { display: none !important; }
.gjt-tf {
  margin: 0 0 18px 0; padding: 14px 16px;
  background: #faf8f5; border: 1px solid #ece5da; border-radius: 6px;
  font-size: 14px; line-height: 1.6;
}
.gjt-tf-bar { margin-bottom: 10px; }
.gjt-tf-title { font-weight: 600; color: #7a5c3e; margin-right: 10px; }
.gjt-tf-tip { color: #9a8b7a; font-size: 12px; }
.gjt-tf-tip a { color: #8a6a45; text-decoration: underline; }
.gjt-tf-list { display: flex; flex-wrap: wrap; gap: 8px; }
.gjt-tf-item {
  display: inline-flex; align-items: center;
  padding: 4px 12px; border: 1px solid #e0d6c8; border-radius: 14px;
  background: #fff; color: #5c4b3a !important; text-decoration: none !important;
  cursor: pointer; transition: all .15s; white-space: nowrap;
}
.gjt-tf-item:hover { border-color: #c8a97e; color: #8a6a45 !important; }
.gjt-tf-item.on { background: #8a6a45; border-color: #8a6a45; color: #fff !important; }
.gjt-tf-cnt { margin-left: 6px; font-size: 12px; color: #a89a88; }
.gjt-tf-item.on .gjt-tf-cnt { color: #f0e6d8; }
@media (max-width: 768px) {
  .gjt-tf { padding: 10px 12px; }
  .gjt-tf-item { padding: 3px 10px; }
}

/* ===== 标签页 / 分类页两列布局：左（标签筛选 + 3 列卡片 + 分页） / 右（最近更新） ===== */
body.guji-tag-filter,
body.guji-cat-list,
body.guji-search-page { background-color: #fff !important; }
body.guji-tag-filter #primary,
body.guji-cat-list #primary,
body.guji-search-page #primary { padding: 0 !important; margin: 0 !important; }

/* 面包屑：导航下方一行 */
.guji-crumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin: 20px 0 0;
  font-size: 13px; line-height: 1.6; color: #8a8a8a;
}
.guji-crumb a { color: #666 !important; text-decoration: none !important; }
.guji-crumb a:hover { color: var(--guji-red) !important; }
.guji-crumb .sep { color: #c9c9c9; font-size: 12px; }
.guji-crumb .mid { color: #8a8a8a; }
.guji-crumb .cur { color: #333; }

.guji-tag-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 252px;
  column-gap: 32px;
  align-items: start;
  margin: 12px 0 48px;
}
.guji-tag-left { min-width: 0; }

/* 卡片网格：一行 3 篇 */
.guji-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 20px; }
.guji-card { display: flex; flex-direction: column; min-width: 0; }
.guji-card-thumb {
  display: block; aspect-ratio: 4 / 3; overflow: hidden;
  border-radius: 4px; background: var(--guji-gray);
}
.guji-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }

/* 末行不足 3 篇时，卡片一律保持单列宽度（不再跨列补满）。
   旧规则让最后一张卡跨 2~3 列，导致只有 1~2 篇的分类/标签/搜索结果页里
   最后一张图被横向拉宽、图片严重裁切变形，已移除。 */
.guji-cards > .guji-card { grid-column: auto; }
.guji-card-thumb.guji-noimg { display: flex; align-items: center; justify-content: center; font-size: 34px; color: #bbb; }
.guji-card-title {
  margin-top: 8px; font-size: 15px; line-height: 1.45; font-weight: 500;
  color: var(--guji-text) !important; text-decoration: none !important;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.guji-card-title:hover { color: var(--guji-red) !important; }

/* 卡片内标签行：该文章全部标签，允许换行 */
.guji-card-tags { display: flex; flex-wrap: wrap; gap: 2px 10px; margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
.guji-card-tags a { color: #999 !important; text-decoration: none !important; }
.guji-card-tags a:hover { color: var(--guji-red) !important; }

/* 自定义分页条（随筛选结果重算） */
.guji-pager-wrap { margin: 28px 0 0; }
.guji-pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
.guji-pg {
  min-width: 36px; height: 36px; padding: 0 12px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #e2e2e2; border-radius: 4px; background: #fff;
  color: #555 !important; text-decoration: none !important; font-size: 14px; line-height: 1;
}
.guji-pg:hover { border-color: var(--guji-red); color: var(--guji-red) !important; }
.guji-pg.current { background: var(--guji-red); border-color: var(--guji-red); color: #fff !important; }
.guji-pg.dots { border: 0; background: none; min-width: 0; padding: 0 2px; color: #999 !important; }
.guji-empty { grid-column: 1 / -1; padding: 40px 0; text-align: center; color: #999; }
.guji-tf-loading { opacity: .45; transition: opacity .15s; }

/* 右栏：最近更新（复用首页侧栏样式） */
.guji-tag-side { min-width: 0; }
.guji-recent-10 li, .guji-recent-12 li { padding: 9px 0; }

@media (max-width: 921px) {
  .guji-tag-grid { grid-template-columns: 1fr; row-gap: 26px; margin-top: 10px; }
  .guji-crumb { margin-top: 14px; font-size: 12px; gap: 6px; }
  .guji-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* 2 列时末行也保持单列宽度，避免最后一张被横向拉宽变形 */
  .guji-tag-side { order: 2; }
}
@media (max-width: 544px) {
  .guji-cards { grid-template-columns: 1fr; }
}

/* 分类页背景改纯白 + 顶部间距与首页一致（首页是 ast-plain-container 白底，
   分类页是 ast-separate-container：Astra 给了 #f5f5f5 灰底 + #primary 上内边距 4em=60px，
   60+横幅 margin-top 30px = 用户看到的 90px，去掉 60px 即与首页一致） */
body.guji-cat-hero { background-color: #fff !important; }
body.guji-cat-hero.ast-separate-container #primary { padding-top: 0 !important; margin-top: 0 !important; }

/* ===== 频道页（/channel/<key>/）：横幅下两列 —— 左（按分类分图文区，各区 12 条）右（最近更新 12 条） ===== */
body.guji-channel { background-color: #fff !important; }
body.guji-channel #primary { padding: 0 !important; margin: 0 !important; }
body.guji-channel .guji-tag-grid { margin-top: 0; }

/* 每个分类一个图文区：结构复刻首页栏目块（◆分类名 … 更多 ›），只是条数 12（3 列 × 4 行） */
.guji-chan-block { margin-bottom: 34px; }
.guji-chan-block:last-child { margin-bottom: 0; }
.guji-chan-block .guji-block-head { margin-bottom: 16px; }
@media (max-width: 921px) {
  .guji-chan-block { margin-bottom: 26px; }
  .guji-chan-block .guji-block-head { margin-bottom: 12px; }
}

/* ===== 文章详情页：复刻原站（灰底白卡，标题红竖条 / 作者来源时间 / 标签胶囊 / 上一篇下一篇 / 留言区 / 右栏最近更新） ===== */
body.guji-single { background-color: #f5f5f5 !important; }
body.guji-single #primary { padding: 0 !important; margin: 0 !important; }

/* 覆盖 Astra narrow 容器(750px)：原站版心 = 文章 890 + 右栏 290 + 间距，
   否则 1fr 左列只剩 ~466px，正文显得过窄 */
body.guji-single.ast-narrow-container .site-content > .ast-container { max-width: 1200px !important; }
body.guji-single #primary.guji-single-page { max-width: 1200px; }
body.guji-single .ast-container { padding-left: 0 !important; padding-right: 0 !important; }
body.guji-single .site-main { padding-left: 0 !important; padding-right: 0 !important; }
body.guji-single .guji-tag-grid {
  grid-template-columns: 890px 290px;
  column-gap: 20px;
  margin-top: 28px;   /* 面包屑与两列间距拉大 */
}
/* 922~1219px 视口：左列改为自适应，避免固定 890 溢出 */
@media (max-width: 1219px) and (min-width: 922px) {
  body.guji-single .guji-tag-grid { grid-template-columns: minmax(0, 1fr) 290px; }
}

/* 左列白卡 */
.guji-post-card {
  background: #fff; border: 1px solid #ececec; border-radius: 4px;
  padding: 26px 30px 26px;
}
.guji-post-title {
  position: relative; margin: 0 0 12px !important; padding-left: 14px;
  font-size: 21px !important; font-weight: 700; line-height: 1.45;
  color: var(--guji-text) !important; overflow-wrap: anywhere;
}
.guji-post-title::before {
  content: ""; position: absolute; left: 0; top: 6px; bottom: 6px;
  width: 4px; background: var(--guji-red); border-radius: 2px;
}
.guji-post-meta { font-size: 13px; color: #999; margin: 0 0 20px; }

/* 正文：段落首行缩进 2 字（含图/表单段落不缩进），链接蓝色（原版样式） */
.guji-post-content { font-size: 15px; line-height: 1.9; color: var(--guji-text); }
.guji-post-content p { text-indent: 2em; margin: 0 0 14px; }
.guji-post-content p:has(img), .guji-post-content p:has(iframe) { text-indent: 0; }
.guji-post-content h1, .guji-post-content h2, .guji-post-content h3,
.guji-post-content h4, .guji-post-content ul, .guji-post-content ol,
.guji-post-content blockquote, .guji-post-content figure { text-indent: 0; }
.guji-post-content img { max-width: 100%; height: auto; }
.guji-post-content a { color: #2f6fb7 !important; text-decoration: underline; }
.guji-post-content a:hover { color: var(--guji-red) !important; }

/* 标签行：灰胶囊（原版样式） */
.guji-tag-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 26px 0 0; padding-top: 20px; border-top: 1px solid #f0f0f0;
  font-size: 13px; color: #999;
}
.guji-tag-pill {
  padding: 3px 12px; background: #f3f3f3; border-radius: 3px;
  color: #555 !important; text-decoration: none !important; font-size: 13px;
}
.guji-tag-pill:hover { background: var(--guji-red); color: #fff !important; }

/* 上一篇 / 下一篇：一行灰字链接（原版样式） */
.guji-pn { margin: 16px 0 0; font-size: 13.5px; }
.guji-pn a {
  color: #666 !important; text-decoration: none !important;
  display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.guji-pn a:hover { color: var(--guji-red) !important; }

/* 留言区（复刻原站） */
.guji-comments { margin-top: 28px; }
.guji-cm-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.guji-cm-head h3 { margin: 0 !important; font-size: 16px !important; color: var(--guji-text); }
.guji-cm-auth { font-size: 13px; color: #999; }
.guji-cm-auth a { color: #666 !important; text-decoration: none !important; }
.guji-cm-auth a:hover { color: var(--guji-red) !important; }
.guji-cm-auth i { margin: 0 8px; color: #ccc; font-style: normal; }

.guji-cm-list { list-style: none; margin: 0 0 6px !important; padding: 0 !important; }
.guji-cm { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.guji-cm .children { list-style: none; margin: 0; padding-left: 26px; }
.guji-cm-item { border-bottom: 1px solid #f1f1f1; padding: 12px 0; }
.guji-cm-info { display: flex; gap: 10px; align-items: baseline; font-size: 13px; }
.guji-cm-author { color: #555; font-weight: 600; }
.guji-cm-info time { color: #aaa; font-size: 12px; }
.guji-cm-text { font-size: 14px; line-height: 1.7; color: #444; margin-top: 4px; }
.guji-cm-text p { margin: 0 0 4px; }
.guji-cm-reply a { font-size: 12px; color: #999 !important; text-decoration: none !important; }
.guji-cm-reply a:hover { color: var(--guji-red) !important; }
.guji-comments .nav-links { display: flex; justify-content: space-between; font-size: 13px; margin: 8px 0 0; }
.guji-comments .nav-links a { color: #666 !important; text-decoration: none !important; }
.guji-comments .nav-links a:hover { color: var(--guji-red) !important; }

/* 表单：昵称/邮箱/网址一行三列 → 输入框 → 右下角灰蓝按钮（原版样式） */
.guji-cm-form { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin: 0 !important; }
.guji-cm-form p { margin: 0 !important; }
.guji-cm-form .guji-cm-field,
.guji-cm-form .form-submit { grid-column: 1 / -1; }
.guji-cm-form .guji-cm-field textarea {
  width: 100%; border: 1px solid #ddd; border-radius: 4px; padding: 10px 12px;
  font-size: 14px; line-height: 1.6; outline: none; resize: vertical;
  font-family: inherit; background: #fff; box-sizing: border-box;
}
.guji-cm-form .guji-cm-field textarea:focus { border-color: var(--guji-red); }
.guji-cm-form .guji-cm-inputs input {
  width: 100%; box-sizing: border-box; height: 36px; border: 1px solid #ddd; border-radius: 4px;
  padding: 0 12px; font-size: 13px; outline: none;
}
.guji-cm-form .guji-cm-inputs input:focus { border-color: var(--guji-red); }
.guji-cm-form .form-submit { display: flex; justify-content: flex-end; }
.guji-cm-submit {
  background: #8a9bb0 !important; border: 0; border-radius: 3px; color: #fff !important;
  padding: 7px 22px; font-size: 14px; cursor: pointer;
}
.guji-cm-submit:hover { background: var(--guji-red) !important; }

/* 右栏：最近更新白卡（灰底上凸出） */
.guji-single-page .guji-tag-side {
  background: #fff; border: 1px solid #ececec; border-radius: 4px;
  padding: 16px 18px 12px;
}
@media (max-width: 921px) {
  body.guji-single .guji-tag-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 24px;
    margin-top: 16px;
  }
  body.guji-single .guji-post-card { padding: 20px 16px; }
  body.guji-single .guji-post-content p { font-size: 15px; line-height: 1.75; }
  .guji-cm-form { grid-template-columns: 1fr; }
}

/* ===== 头部右上角登录态：用户名（链到个人中心） ===== */
.guji-auth-user { color: var(--guji-red) !important; font-weight: 600; text-decoration: none !important; padding: 0 3px; }
.guji-auth-user:hover { text-decoration: underline !important; }

/* ===== 个人会员中心页面 ===== */
body.page-template-page-member-center .site-content > .ast-container { max-width: 960px; }
body.page-template-page-member-center .entry-title,
body.page-template-page-member-center .ast-archive-description { display: none; }

.guji-mc { margin: 24px auto 40px; }
.guji-mc-head {
    display: flex; align-items: center; gap: 16px;
    background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 20px 22px;
}
.guji-mc-avatar img { border-radius: 50%; display: block; }
.guji-mc-id { flex: 1; min-width: 0; }
.guji-mc-name { font-size: 18px; font-weight: 700; color: #222; }
.guji-mc-meta { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.guji-mc-meta span { font-size: 12px; color: #888; }
.guji-mc-logout {
    flex: none; align-self: flex-start; border: 1px solid #ddd; border-radius: 999px;
    padding: 6px 16px; font-size: 13px; color: #666; text-decoration: none;
}
.guji-mc-logout:hover { border-color: var(--guji-red); color: var(--guji-red); }

.guji-mc-tabs { display: flex; gap: 8px; margin: 22px 0 14px; border-bottom: 1px solid #eee; }
.guji-mc-tabs button {
    appearance: none; background: none; border: none; cursor: pointer;
    padding: 10px 6px; margin-bottom: -1px; font-size: 15px; color: #888;
    border-bottom: 2px solid transparent;
}
.guji-mc-tabs button.active { color: var(--guji-red); border-bottom-color: var(--guji-red); font-weight: 600; }
.guji-mc-badge {
    display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 4px;
    font-size: 11px; line-height: 18px; text-align: center;
    background: #f0f0f0; color: #999; border-radius: 9px;
}
.guji-mc-tabs button.active .guji-mc-badge { background: var(--guji-red); color: #fff; }

.guji-mc-list { list-style: none; margin: 0; padding: 0; }
.guji-mc-item { background: #fff; border: 1px solid #ececec; border-radius: 8px; padding: 14px 16px; margin-bottom: 12px; }
.guji-mc-item-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.guji-mc-item-meta a { color: #2a2a2a; font-weight: 600; text-decoration: none; font-size: 15px; }
.guji-mc-item-meta a:hover { color: var(--guji-red); }
.guji-mc-item-meta time { flex: none; font-size: 12px; color: #aaa; }
.guji-mc-item-body { margin-top: 8px; font-size: 14px; color: #555; line-height: 1.7; }
.guji-mc-status { font-size: 12px; padding: 1px 8px; border-radius: 4px; }
.guji-mc-status-publish { background: #e8f5e9; color: #2e7d32; }
.guji-mc-status-pending { background: #fff8e1; color: #f57f17; }
.guji-mc-status-draft { background: #f3f3f3; color: #888; }
.guji-mc-empty, .guji-mc-tip { color: #999; font-size: 14px; padding: 30px 10px; text-align: center; }
.guji-mc-tip { padding: 10px; text-align: left; }

@media (max-width: 600px) {
    .guji-mc-head { flex-wrap: wrap; }
    .guji-mc-logout { margin-left: auto; }
    .guji-mc-meta { gap: 2px 12px; }
}

/* ===== 会员中心：编辑资料表单 ===== */
.guji-mc-form {
    background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 22px 24px;
    max-width: 520px; display: flex; flex-direction: column; gap: 16px;
}
.guji-mc-form label { display: block; font-size: 14px; color: #444; font-weight: 600; }
.guji-mc-form input[type="text"],
.guji-mc-form input[type="email"],
.guji-mc-form input[type="password"] {
    width: 100%; margin-top: 6px; padding: 10px 12px; font-size: 14px;
    border: 1px solid #ddd; border-radius: 8px; box-sizing: border-box;
}
.guji-mc-form input:focus { outline: none; border-color: var(--guji-red); }
.guji-mc-save {
    align-self: flex-start; margin-top: 4px; padding: 10px 26px; font-size: 14px;
    color: #fff; background: var(--guji-red); border: none; border-radius: 999px; cursor: pointer;
}
.guji-mc-save:hover { opacity: .9; }
.guji-mc-msg {
    background: #f3f8f3; border: 1px solid #cfe6cf; color: #2e7d32;
    border-radius: 8px; padding: 10px 14px; font-size: 14px; margin-bottom: 14px; max-width: 520px;
}

/* ===== 评论区：匿名提示文案 ===== */
.must-log-in { font-size: 14px; color: #666; background: #faf7f2; border: 1px solid #ece3d6; border-radius: 8px; padding: 14px 16px; }
.must-log-in a { color: var(--guji-red); font-weight: 600; }

/* 会员中心「我的评论」：待审核标注 */
.guji-mc-pending { flex: none; font-size: 12px; padding: 1px 8px; border-radius: 4px; background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }

/* ===== 404 页面（中文） ===== */
.guji-404-page .guji-404-hero {
    background: #fff; border: 1px solid #efefef; border-radius: 5px;
    padding: 42px 30px 34px; text-align: center; margin: 18px 0 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}
.guji-404-code {
    font-family: "Songti SC", "SimSun", Georgia, serif;
    font-size: 92px; line-height: 1; font-weight: 700;
    color: #f2dcdc; letter-spacing: 8px; margin: 0 0 4px;
    user-select: none;
}
.guji-404-title {
    margin: 0 0 12px !important; font-size: 26px !important; line-height: 1.4 !important;
    color: #222; letter-spacing: 1px; font-weight: 600;
}
.guji-404-desc { color: #7c7c7c; font-size: 14.5px; line-height: 1.95; margin: 0 auto 24px; max-width: 580px; }

/* 搜索框：与站内搜索一致的胶囊样式 */
.guji-404-search {
    display: flex; align-items: stretch; max-width: 520px; margin: 0 auto 20px;
    border: 2px solid var(--guji-red); border-radius: 24px; overflow: hidden; background: #fff;
}
.guji-404-search input[type="search"] {
    flex: 1 1 auto; min-width: 0; height: 44px; margin: 0 !important; padding: 0 20px !important;
    border: 0 !important; outline: 0; background: transparent !important;
    box-shadow: none !important; font-size: 15px; color: #333;
}
.guji-404-search input[type="search"]::placeholder { color: #aaa; }
.guji-404-search button {
    flex: 0 0 auto; height: 44px; padding: 0 30px; border: 0; border-radius: 0;
    background: var(--guji-red); color: #fff; font-size: 15px; letter-spacing: 2px;
    cursor: pointer; transition: background .2s;
}
.guji-404-search button:hover { background: var(--guji-red-dark); }

.guji-404-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.guji-404-btn {
    display: inline-flex; align-items: center; height: 38px; padding: 0 26px;
    border-radius: 19px; font-size: 14px; text-decoration: none !important;
    border: 1px solid #e0e0e0; background: #fafafa; color: #555 !important; transition: .2s;
}
.guji-404-btn:hover { border-color: var(--guji-red); color: var(--guji-red) !important; }
.guji-404-btn.primary { background: var(--guji-red); border-color: var(--guji-red); color: #fff !important; }
.guji-404-btn.primary:hover { background: var(--guji-red-dark); border-color: var(--guji-red-dark); color: #fff !important; }

/* 频道入口 3×2 */
.guji-404-chans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.guji-404-chan {
    display: block; padding: 16px 16px 15px; background: #fff;
    border: 1px solid #eee; border-radius: 4px; text-decoration: none !important;
    transition: border-color .18s, box-shadow .18s, transform .18s;
}
.guji-404-chan strong { display: block; margin-bottom: 6px; color: #333; font-size: 15.5px; font-weight: 600; }
.guji-404-chan span { display: block; color: #8d8d8d; font-size: 12.5px; line-height: 1.65; }
.guji-404-chan:hover {
    border-color: var(--guji-red);
    box-shadow: 0 2px 10px rgba(192, 0, 0, .08);
    transform: translateY(-1px);
}
.guji-404-chan:hover strong { color: var(--guji-red); }

/* 热门标签 */
.guji-404-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.guji-404-tags a {
    display: inline-block; padding: 6px 15px; border-radius: 15px;
    background: #f6f6f6; border: 1px solid #efefef; color: #555 !important;
    font-size: 13px; text-decoration: none !important; transition: .18s;
}
.guji-404-tags a:hover { background: var(--guji-red); border-color: var(--guji-red); color: #fff !important; }

@media (max-width: 921px) {
    .guji-404-page .guji-404-hero { padding: 32px 18px 28px; }
    .guji-404-chans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guji-404-code { font-size: 76px; }
}
@media (max-width: 544px) {
    .guji-404-code { font-size: 62px; letter-spacing: 4px; }
    .guji-404-title { font-size: 20px !important; }
    .guji-404-desc { font-size: 13.5px; }
    .guji-404-chans { grid-template-columns: 1fr; }
    .guji-404-search button { padding: 0 20px; }
    .guji-404-btn { height: 36px; padding: 0 20px; font-size: 13.5px; }
}

/* ===== 列表页 H1（2026-10-29）：分类 / 标签 / 搜索页原先没有 H1 ===== */
.guji-page-h1 {
  margin: 12px 0 0;
  font-size: 25px !important;
  line-height: 1.35;
  font-weight: 700;
  color: #1a1a1a !important;
  letter-spacing: .5px;
}
.guji-page-sub {
  margin: 6px 0 16px;
  font-size: 13.5px;
  color: #8a8a8a;
}
@media (max-width: 921px) {
  .guji-page-h1 { font-size: 20px !important; margin-top: 10px; }
  .guji-page-sub { margin-bottom: 12px; font-size: 12.5px; }
}
/* 首页 / 频道页 hero 标题改为 H1 后保持原视觉 */
.guji-hero-red-head h1 {
  color: #fff !important;
  font-size: 30px !important;
  font-weight: 700;
  margin: 0 0 6px !important;
  letter-spacing: 2px;
  line-height: 1.3;
}
@media (max-width: 921px) {
  .guji-hero-red-head h1 { font-size: 24px !important; }
}

/* ===== 文章页“同类资源”内链 ===== */
.guji-related {
  margin: 34px 0 0; padding: 18px 22px 20px;
  background: #faf8f4; border: 1px solid #ece5d8; border-radius: 6px;
}
.guji-related h2 {
  font-size: 17px !important; margin: 0 0 12px !important;
  padding-left: 10px; border-left: 3px solid var(--guji-red); line-height: 1.2;
}
.guji-related ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 26px;
}
.guji-related li { font-size: 14px; line-height: 1.65; overflow: hidden; }
.guji-related a {
  color: #333 !important; text-decoration: none !important;
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.guji-related a:hover { color: var(--guji-red) !important; }
@media (max-width: 921px) {
  .guji-related { padding: 16px; margin-top: 26px; }
  .guji-related ul { grid-template-columns: 1fr; gap: 6px; }
}
