/* ==========================================================================
   ZPB 资源详情页 · V5 版式层（唯一版式层，仅 /down/{id}/ 加载）
   --------------------------------------------------------------------------
   Penpot 稿：ZBP 资源详情页 · 全部重设计 v5（结构版 · 1440）  d5738958-…-b8ea47b08dbe
              ZBP 资源详情页 · hero 改版 v4（通栏带 · 1440）     c7073b10-…-b8e7b55cee73
   规格表：docs/detail-v5-spec.md（元素 → 坐标/字号/色值，逐项对表用）

   稿上量出来的关键数（1440 视口，容器 135→1305 = 1170）：
     正文卡 814（内边距 24，块内容再左缩进 20 → 文字左缘 179）
     侧栏 333（内边距 20）  栏距 23   块间距 28
     hero 带 1440×420，书影 352×296，信息列起点 540（= 352 + 53 栏距）
     数据带 765×70 白底 r10，格间 1px 细线；动作按钮 128×40 r20
   旧版式层 assets/css/resource-layout.css 已停用（文件保留以便回退）。
   ========================================================================== */

/* ---------- 0. 作用域重置与令牌 ---------- */
/* 通栏 hero 带用 calc(50% - 50vw) 出血，而 100vw 含纵向滚动条宽 → 带子比可视区宽 8px，
   每个页面底部会多出一条横向滚动条。在根元素上 overflow-x:hidden（视口本身就是滚动容器，
   不影响子元素 sticky；写在 body 上无效 —— body 的 overflow 会被传播到视口并失效）。
   scrollbar-gutter: stable 是为了灯箱：灯箱打开时会锁根元素滚动、纵向滚动条消失，
   不预留槽位的话整页会横向跳 7.5px（站长看到「hero 条往旁边跑」就是这个）；
   预留槽位后开/关灯箱页面纹丝不动。 */
html { overflow-x: hidden; scrollbar-gutter: stable; }

.zpb-detail-page,
.zpb-detail-page * { box-sizing: border-box; }

.zpb-detail-page {
    --zpb-accent:  var(--theme-color, #f04494);
    --zpb-ink:     var(--main-color, #1f2329);
    --zpb-body:    var(--muted-color, #6b7280);
    --zpb-quiet:   #9aa0a6;
    --zpb-line:    #f1f2f5;
    --zpb-bar:     #f4f5f7;
    --zpb-row:     #fcfcfd;
    --zpb-card:    var(--main-bg-color, #fff);
    --zpb-page-bg: var(--body-bg-color, #f5f6f7);
    --zpb-green:   #22a06b;
    --zpb-purple:  #7c4dff;
    --zpb-seal:    #c1272d;
    --zpb-serif:   "Songti SC", "SimSun", "Source Han Serif SC", serif;
    margin: 0;
    color: var(--zpb-ink);
}

/* ---------- 1. hero 通栏带 ---------- */
/* 带底色：主题「页面底色」+ 3% 主题色（原定义在停用的 resource-layout.css 里，现随版式层搬过来）。
   用 --body-bg-color（页面底色 #f5f6f7）而不是 --main-bg-color（卡片白底）—— 用错整条带会发白；
   用主题变量后浅色/夜间自动跟随。::after 的渐变遮罩也取自同一个变量，少了它会一起失效。 */
.zpb-page .zpb-detail-hero-wrap {
    --zpb-hero-base: var(--body-bg-color, #f5f6f7);
    --zpb-hero-bg: color-mix(in oklab, var(--theme-color, #f04494) var(--zpb-hero-tint, 8%), var(--zpb-hero-base));
}
/* 带内边距 30/34（稿：装裱底 138 − 带顶 108 = 30；书叶条底 494 → 带底 528 = 34）
   横向 15px：与子比容器内容宽（1200 − 15×2 = 1170）对齐，各块左缘成一条竖线 */
.zpb-page .zpb-detail-hero-wrap { padding: 30px 15px 34px; margin-bottom: 24px; }
.zpb-detail-hero .zpb-hero {
    display: grid;
    /* 站长 2026-10-01：文字在左、书影卡在右（原来相反）——与手机端堆叠顺序一致 */
    grid-template-columns: minmax(0, 1fr) 352px;
    gap: 53px;
    align-items: start;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
/* 旧的出血 hero 容器（自带底色 + 负边距）在通栏带里要中和掉 */
.zpb-detail-hero .zpb-hero-bleed { margin: 0; padding: 0; background: none; border-radius: 0; border-bottom: 0; }
.zpb-detail-hero .zpb-hero-main  { order: 1; min-width: 0; }
.zpb-detail-hero .zpb-hero-cover { order: 2; }

/* 书名 34/700、副题 13、标签 26 高、元信息 12.5 */
.zpb-detail-hero .zpb-hero-title {
    margin: 8px 0 0;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .01em;
    color: var(--zpb-ink);
}
.zpb-detail-hero .zpb-title-sub {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--zpb-quiet);
    word-break: break-all;
}
.zpb-detail-hero .zpb-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
.zpb-detail-hero .zpb-tag-item {
    display: inline-flex; align-items: center; gap: 5px;
    height: 26px; padding: 0 11px; border-radius: 13px;
    font-size: 12px; line-height: 1; text-decoration: none;
    background: var(--zpb-bar); color: var(--zpb-body);
}
.zpb-detail-hero .zpb-tag-item .fa { font-size: 12px; }
.zpb-detail-hero .zpb-tag-item.zpb-tag-cat  { color: var(--zpb-accent); background: color-mix(in oklab, var(--zpb-accent) 8%, transparent); }
.zpb-detail-hero .zpb-tag-item.zpb-tag-ver  { color: #b0723a; background: #faf4ee; }
.zpb-detail-hero .zpb-tag-item.zpb-tag-oa   { color: var(--zpb-green); background: #eef7f2; }
.zpb-detail-hero .zpb-tag-item.zpb-tag-disk { color: var(--zpb-purple); background: #f2eeff; }
.zpb-detail-hero .zpb-tag-item.zpb-tag-free { color: var(--zpb-green); background: #eef7f2; }
.zpb-detail-hero .zpb-tag-item.zpb-tag-vip,
.zpb-detail-hero .zpb-tag-item.zpb-tag-paid { color: var(--zpb-accent); background: color-mix(in oklab, var(--zpb-accent) 8%, transparent); }

.zpb-detail-hero .zpb-hero-meta { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 14px 0 0; font-size: 12.5px; color: var(--zpb-body); }
.zpb-detail-hero .zpb-hero-meta .zpb-meta-item { display: inline-flex; align-items: center; gap: 5px; }
.zpb-detail-hero .zpb-hero-meta .zpb-meta-item .fa { color: var(--zpb-quiet); }
.zpb-detail-hero .zpb-hero-meta .zpb-meta-item b { color: var(--zpb-ink); font-weight: 600; }
/* 获取方式说明（2026-10-01 站长定：原元信息行改成这一句） */
.zpb-detail-hero .zpb-hero-howto { gap: 4px 12px; }
.zpb-detail-hero .zpb-hero-howto .zpb-howto-text { gap: 0; }
.zpb-detail-hero .zpb-hero-howto .zpb-howto-sep { font-style: normal; margin: 0 7px; color: #d9dbe0; }
.zpb-detail-hero .zpb-hero-howto b { color: var(--zpb-accent); }

/* 数据带：规格与 ZRG 的 .zrg-article .zrg-hero-stats / .zrg-stat 对齐（站长 2026-10-01：宽度也统一）
   —— width:fit-content 跟着内容收，每格 min-width 108 / padding 10 14，格间 1px 细线 */
.zpb-detail-hero .zpb-hero-stats {
    display: flex; flex-wrap: wrap;
    width: fit-content; max-width: 100%; min-height: 0;
    margin: 22px 0 0; gap: 0;
    border-radius: 10px; background: var(--zpb-card); overflow: hidden;
}
.zpb-detail-hero .zpb-hero-stats .zpb-stat {
    position: relative; flex: 0 0 auto; min-width: 108px; padding: 10px 14px; border-radius: 0; background: transparent;
}
.zpb-detail-hero .zpb-hero-stats .zpb-stat + .zpb-stat::before {
    content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 1px; background: var(--zpb-line);
}
.zpb-detail-hero .zpb-stat-num   { font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--zpb-accent); white-space: nowrap; }
.zpb-detail-hero .zpb-stat-label { margin-top: 2px; font-size: 12px; line-height: 1.3; color: var(--zpb-quiet); }

/* 动作行：128×40 r20 胶囊；主按钮实心主题色，次按钮白底描边 */
.zpb-detail-hero .zpb-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 18px 0 0; }
.zpb-detail-hero .zpb-hero-action {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    min-width: 128px; height: 40px; padding: 0 18px; border-radius: 20px;
    font-size: 13px; line-height: 1; text-decoration: none;
    border: 1px solid var(--zpb-accent); color: var(--zpb-accent); background: transparent;
    transition: opacity .15s ease;
}
.zpb-detail-hero .zpb-hero-action .fa { font-size: 13px; }
.zpb-detail-hero .zpb-hero-action.is-primary { background: var(--zpb-accent); border-color: transparent; color: #fff; }
.zpb-detail-hero .zpb-hero-action.is-green   { border-color: var(--zpb-green); color: var(--zpb-green); }
.zpb-detail-hero .zpb-hero-action:hover { opacity: .85; }
.zpb-detail-hero .zpb-copyright-notice {
    margin-left: auto; font-size: 11px; color: var(--zpb-quiet); white-space: nowrap;
}
.zpb-detail-hero .zpb-copyright-notice .fa { margin-right: 4px; }

/* ---------- 2. hero 左栏：古籍陈列式书影（平置装裱 + 双细线框 + 题签 + 朱印） ---------- */
.zpb-detail-hero .zpb-hero-cover {
    position: relative;
    width: 352px; max-width: 100%;
    padding: 0 0 0;
    background: #faf7f1;
    border: 1px solid #ded4c6;
    border-radius: 2px;
    box-shadow: none;
}
.zpb-detail-hero .zpb-hero-cover::after { content: none; }          /* 关掉继承来的出血渐变罩 */
.zpb-detail-hero .zpb-hero-cover::before {
    content: ''; position: absolute; inset: 10px; border: 1px solid #e8dfd2;
    pointer-events: none; z-index: 2;
}
.zpb-detail-hero .zpb-gallery-frame { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.zpb-detail-hero .zpb-gallery-stage {
    position: relative;
    margin: 22px 22px 0;
    height: 218px;
    background: #eae2d6;
    border-radius: 0; overflow: hidden;
}
/* 大图区：只显示当前这张。
   注意选择器权重 —— 下面那条带 .zpb-gallery-stage 的（0,3,0）比单独一条 .zpb-gallery-img（0,2,0）高，
   原先把 display:block 写在带 stage 的那条里，会把「非当前图的 display:none」压掉、8 张全显示并叠在一起，
   点缩略图时大图因此不切换（站长 2026-10-01 反馈「点小缩略图大图没有变」）。 */
.zpb-detail-hero .zpb-gallery-stage .zpb-gallery-img,
.zpb-detail-hero .zpb-gallery-single {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top;
    border-radius: 0 !important; box-shadow: none !important;
}
.zpb-detail-hero .zpb-gallery-single { display: block; }
.zpb-detail-hero .zpb-gallery-stage .zpb-gallery-img { display: none; }
.zpb-detail-hero .zpb-gallery-stage .zpb-gallery-img.is-active { display: block; }
/* 「书叶影印」图注按站长要求删除（2026-10-01）；对应的 .zpb-shuying-caption / -tip 样式一并撤掉，
   不留在文件里当死规则（resource-layout.css 里那份是停用层的，未动） */
/* 书叶条缩略图：64×42 平铺，当前叶朱线框 */
.zpb-detail-hero .zpb-gallery-strip { display: flex; align-items: center; gap: 4px; margin: 12px 22px 0; }
.zpb-detail-hero .zpb-gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.zpb-detail-hero .zpb-gallery-thumbs::-webkit-scrollbar { display: none; }
.zpb-detail-hero .zpb-gallery-thumb {
    flex: 0 0 auto; width: 64px; height: 42px; padding: 0; overflow: hidden;
    border: 1px solid #e0d6c8; border-radius: 0; background: #eee7db; cursor: pointer;
}
.zpb-detail-hero .zpb-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.zpb-detail-hero .zpb-gallery-thumb.is-active { border: 2px solid var(--zpb-seal); }
.zpb-detail-hero .zpb-gallery-nav {
    flex: 0 0 auto; width: 22px; height: 42px; padding: 0; cursor: pointer;
    border: 1px solid #ded4c6; border-radius: 0; background: rgba(255, 255, 255, .88);
    color: #8a7f70; font-size: 14px; line-height: 1;
}
.zpb-detail-hero .zpb-gallery-nav[hidden] { display: none; }
/* 题签 + 朱印（稿：题签在装裱底左下、朱印右下） */
.zpb-detail-hero .zpb-shuying-footer {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin: 14px 22px 16px;
}
.zpb-detail-hero .zpb-shuying-title {
    font-family: var(--zpb-serif); font-size: 11.5px; line-height: 1.4;
    color: #8a7f70; letter-spacing: .02em;
}
.zpb-detail-hero .zpb-shuying-seal {
    flex: 0 0 auto; width: 18px; height: 18px;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--zpb-serif); font-size: 8px; line-height: 1;
    color: #fff; background: var(--zpb-seal); border-radius: 1px; opacity: .9;
}

/* ---------- 3. 页面骨架：正文卡 814 + 侧栏 333 ---------- */
.zpb-detail-page .zpb-article.zib-widget {
    padding: 0 !important; margin: 0 !important;
    background: transparent !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: none !important;
}
.zpb-detail-page .zpb-layout { display: grid; grid-template-columns: minmax(0, 1fr) 333px; gap: 23px; align-items: start; }
/* 正文卡别贴着页脚（站长 2026-10-01）；书库页本来就有灰底间距，详情页是 0 */
.zpb-detail-page .zpb-layout { margin-bottom: 24px; }
.zpb-detail-page .zpb-main {
    min-width: 0;
    padding: 24px;
    background: var(--zpb-card);
    border-radius: 12px;
}
.zpb-detail-page .zpb-main > .zpb-anchor,
.zpb-detail-page .zpb-main > .zpb-section { padding-left: 20px; }
.zpb-detail-page .zpb-main > .zpb-anchor + .zpb-anchor { margin-top: 28px; }
/* 版权声明已上移到正文列末尾（站长 2026-10-01）：与上一段之间隔着一段 script，兄弟选择器吃不到，单独给上间距 */
.zpb-detail-page .zpb-main > .zpb-anchor#zpb-sec-notice { margin-top: 28px; }
/* 旧层给 .zpb-section 自带 25px 30px 内边距（老卡片式区块），V5 稿区块是裸的 —— 全部撤掉 */
.zpb-detail-page .zpb-section { padding: 0; background: transparent; border: 0; box-shadow: none; }

/* 区块头：4×18 主题色竖条（悬在文字左侧 16px）+ 18/700 标题 + 右对齐区块注 */
.zpb-detail-page .zpb-block-head {
    position: relative; display: flex; align-items: center; gap: 12px;
    margin: 0 0 20px -20px; min-height: 24px;
}
.zpb-detail-page .zpb-block-title {
    position: relative; margin: 0; padding-left: 20px;
    font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--zpb-ink);
}
.zpb-detail-page .zpb-block-title::before {
    content: ''; position: absolute; left: 4px; top: 50%; transform: translateY(-50%);
    width: 4px; height: 18px; border-radius: 2px; background: var(--zpb-accent);
}
.zpb-detail-page .zpb-block-note {
    margin-left: auto; font-size: 12px; line-height: 1.4; color: var(--zpb-quiet); white-space: nowrap;
}
/* 旧标题类一并归一（地域文脉 / 读书笔记 / 版权段自带 h2.title-theme） */
.zpb-detail-page .zpb-section > .title-theme,
.zpb-detail-page .zpb-section > h2.box-title {
    position: relative; margin: 0 0 20px -20px; padding-left: 20px;
    border: 0 !important; border-left: 0 !important;
    font-size: 18px !important; font-weight: 700 !important; line-height: 1.4 !important;
    color: var(--zpb-ink) !important;
}
.zpb-detail-page .zpb-section > .title-theme::before,
.zpb-detail-page .zpb-section > h2.box-title::before {
    content: ''; position: absolute; left: 4px; top: 50%; transform: translateY(-50%);
    width: 4px; height: 18px; border-radius: 2px; background: var(--zpb-accent);
}
.zpb-detail-page .zpb-section > .title-theme .zpb-badg-text,
.zpb-detail-page .zpb-section > h2.box-title .zpb-badg-text { margin-left: 8px; }

/* ---------- 4. ① 获取这个资源：三条等宽裸通道 ---------- */
.zpb-detail-page .zpb-download-area { margin: 0; padding: 20px 0 0; background: transparent; border: 0; box-shadow: none; }
.zpb-detail-page .zpb-download-wrapper.zpb-channels {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 32px; align-items: stretch;
}
.zpb-detail-page .zpb-chan {
    position: relative;
    padding: 0;
    background: transparent !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: none !important;
}
.zpb-detail-page .zpb-chan::before { content: none !important; }   /* 旧层用伪元素画色点，一并压掉 */
/* 标题行（标题 + 状态药丸）：三列行高一致，下面的 说明 / 按钮 / 小条 才各成一条横线 */
.zpb-detail-page .zpb-chan-head {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    min-height: 24px; margin: 0 0 8px;
}
.zpb-detail-page .zpb-chan-title {
    display: inline-flex; align-items: center; gap: 7px;
    margin: 0; font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--zpb-accent);
}
.zpb-detail-page .zpb-chan-title .fa { font-size: 15px; }
.zpb-detail-page .zpb-chan-title.is-free  { color: var(--zpb-green); }
.zpb-detail-page .zpb-chan-title.is-read  { color: var(--zpb-purple); }
.zpb-detail-page .zpb-chan-head .zpb-dl-status {
    flex: 0 0 auto; margin: 0; padding: 1px 9px; border-radius: 10px;
    background: var(--zpb-bar); color: var(--zpb-quiet);
    font-size: 11px; font-weight: 500; line-height: 1.75; white-space: nowrap;
}
.zpb-detail-page .zpb-chan-head .zpb-status-unlocked { background: #eef7f2; color: var(--zpb-green); }
.zpb-detail-page .zpb-chan-head .zpb-status-login    { background: var(--zpb-bar); color: var(--zpb-quiet); }
.zpb-detail-page .zpb-chan-head .zpb-status-support  { background: color-mix(in oklab, var(--zpb-accent) 8%, transparent); color: var(--zpb-accent); }
/* 说明行留两行高（稿上说明区 40）：三列的按钮才会落在同一条横线上 */
.zpb-detail-page .zpb-chan-desc { margin: 0 0 16px; min-height: 41px; font-size: 12px; line-height: 1.7; color: var(--zpb-body); }
.zpb-detail-page .zpb-chan-btn {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    width: 100%; height: 38px; padding: 0 14px; margin: 0 0 10px;
    border: 1px solid var(--zpb-accent); border-radius: 19px;
    font-size: 13px; line-height: 1; text-decoration: none; cursor: pointer;
    background: transparent; color: var(--zpb-accent);
}
.zpb-detail-page button.zpb-chan-btn { font-family: inherit; }
.zpb-detail-page .zpb-chan-btn.is-primary,
.zpb-detail-page .zpb-chan-btn.is-green,
.zpb-detail-page .zpb-chan-btn.is-purple { color: #fff; border-color: transparent; }
.zpb-detail-page .zpb-chan-btn.is-primary { background: var(--zpb-accent); }
.zpb-detail-page .zpb-chan-btn.is-green   { background: var(--zpb-green); }
.zpb-detail-page .zpb-chan-btn.is-purple  { background: var(--zpb-purple); }
.zpb-detail-page .zpb-chan-btn.is-muted   { border-color: #d9dbe0; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-chan-btn.is-outline { background: transparent; border-color: var(--zpb-accent); color: var(--zpb-accent); }
.zpb-detail-page .zpb-chan-btn:hover { opacity: .88; }
.zpb-detail-page .zpb-chan-bar {
    height: 26px; padding: 0 10px; border-radius: 6px;
    background: var(--zpb-bar); color: var(--zpb-quiet);
    font-size: 11.5px; line-height: 26px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.zpb-detail-page .zpb-chan-tip { margin: 10px 0 0; font-size: 11.5px; color: var(--zpb-quiet); }

/* ① 列：二维码搬进弹层 —— 列内只留按钮与灰条 */
.zpb-detail-page .zpb-chan-bar.is-link {
    display: flex; align-items: center; justify-content: space-between; gap: 6px;
    width: 100%; border: 0; cursor: pointer; font-family: inherit; text-align: left;
    color: var(--zpb-quiet); text-decoration: none;   /* 有几支用的是 <a>，别吃掉灰条本色/别出现下划线 */
}
.zpb-detail-page .zpb-chan-bar.is-link:hover { color: var(--zpb-accent); }
.zpb-detail-page .zpb-chan-bar.is-link .fa { font-size: 13px; opacity: .7; }

/* ---------- 4b. 详情页弹层（公众号二维码 / 网盘链接 + 提取码） ---------- */
/* 观感跟既有「解锁弹层」(.zpb-unlock-modal) 一套；弹层挂在列内，不占流布局（fixed） */
.zpb-detail-page .zpb-modal { position: fixed; inset: 0; z-index: 901; display: none; align-items: center; justify-content: center; padding: 20px; }
.zpb-detail-page .zpb-modal.is-open { display: flex; }
.zpb-detail-page .zpb-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .58); backdrop-filter: blur(4px); }
.zpb-detail-page .zpb-modal-dialog {
    position: relative; width: min(420px, 100%); max-height: calc(100vh - 40px);
    background: var(--zpb-card); border-radius: 16px; padding: 24px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .28); overflow: hidden;
}
.zpb-detail-page .zpb-modal-dialog.is-wide { width: min(520px, 100%); }
.zpb-detail-page .zpb-modal-body { max-height: calc(100vh - 88px); overflow-y: auto; }
.zpb-detail-page .zpb-modal-close {
    position: absolute; top: 12px; right: 12px; z-index: 6;
    width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%;
    background: var(--zpb-bar); color: var(--zpb-body); font-size: 15px; line-height: 1; cursor: pointer;
}
.zpb-detail-page .zpb-modal-close:hover { background: #eceef1; color: var(--zpb-ink); }
.zpb-detail-page .zpb-modal-kicker {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px;
    background: var(--zpb-bar); color: var(--zpb-body); font-size: 12px; font-weight: 600;
}
.zpb-detail-page .zpb-modal-kicker.is-free { background: #eef7f2; color: var(--zpb-green); }
.zpb-detail-page .zpb-modal-kicker.is-sponsor { background: color-mix(in oklab, var(--zpb-accent) 8%, transparent); color: var(--zpb-accent); }
.zpb-detail-page .zpb-modal-title { margin: 12px 0 0; font-size: 18px; font-weight: 700; line-height: 1.5; color: var(--zpb-ink); word-break: break-word; }
.zpb-detail-page .zpb-modal-qr { margin: 18px auto 0; width: 220px; max-width: 100%; }
.zpb-detail-page .zpb-modal-qr img { display: block; width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--zpb-line); }
.zpb-detail-page .zpb-modal-tip { margin: 16px 0 0; font-size: 12.5px; line-height: 1.9; color: var(--zpb-body); }
.zpb-detail-page .zpb-modal-tip em { font-style: normal; font-weight: 700; color: var(--zpb-accent); }
.zpb-detail-page .zpb-modal-foot {
    margin: 18px 0 0; padding-top: 12px; border-top: 1px solid var(--zpb-line);
    font-size: 11.5px; line-height: 1.7; color: var(--zpb-quiet);
}
.zpb-detail-page .zpb-modal-foot .fa { margin-right: 5px; color: var(--zpb-accent); }
.zpb-detail-page .zpb-modal .zpb-dl-info { margin: 18px 0 0; }
.zpb-detail-page .zpb-modal .zpb-dl-row { align-items: center; font-size: 12.5px; }
.zpb-detail-page .zpb-modal .zpb-dl-actions { margin-top: 14px; justify-content: center; }
.zpb-detail-page .zpb-modal-actions { display: flex; flex-direction: column; gap: 10px; margin: 18px 0 0; }
.zpb-detail-page .zpb-modal-actions .zpb-chan-btn { margin-bottom: 0; }

/* 提取码行里的「显示提取码」小按钮（替代原「点击下方按钮查看」的死文字 + 下方同功能按钮） */
.zpb-detail-page .zpb-code-ask {
    display: inline-flex; align-items: center; gap: 5px;
    height: 24px; padding: 0 10px; border-radius: 6px; font-family: inherit; cursor: pointer;
    border: 1px solid color-mix(in oklab, var(--zpb-accent) 34%, transparent);
    background: color-mix(in oklab, var(--zpb-accent) 7%, transparent);
    color: var(--zpb-accent); font-size: 12px; line-height: 1;
    transition: background .18s, border-color .18s;
}
.zpb-detail-page .zpb-code-ask:hover {
    background: color-mix(in oklab, var(--zpb-accent) 14%, transparent);
    border-color: color-mix(in oklab, var(--zpb-accent) 52%, transparent);
}
.zpb-detail-page .zpb-code-ask .fa { font-size: 11px; }

/* 弹层里的「高速下载」文件列表（有下载权限时才有）：一条一册，右侧一个本地下载 */
.zpb-detail-page .zpb-modal-files { margin: 16px 0 0; }
.zpb-detail-page .zpb-modal-files-head {
    display: flex; align-items: center; gap: 6px;
    padding: 0 0 8px; border-bottom: 1px solid var(--zpb-line);
    font-size: 12px; font-weight: 600; color: var(--zpb-ink);
}
.zpb-detail-page .zpb-modal-files-head .fa { color: var(--zpb-accent); font-size: 11px; }
.zpb-detail-page .zpb-modal-file-list { max-height: 232px; overflow-y: auto; }
.zpb-detail-page .zpb-modal-file-row {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 0; border-bottom: 1px solid var(--zpb-line);
}
.zpb-detail-page .zpb-modal-file-row:last-child { border-bottom: 0; }
.zpb-detail-page .zpb-modal-file-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.zpb-detail-page .zpb-modal-file-name {
    font-size: 12.5px; line-height: 1.5; color: var(--zpb-ink);
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.zpb-detail-page .zpb-modal-file-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 11.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-modal-file-row .zpb-file-download-btn { flex: 0 0 auto; height: 30px; padding: 0 13px; font-size: 12px; }
.zpb-detail-page .zpb-link-btn {
    display: inline; padding: 0; border: 0; background: none; color: var(--zpb-accent);
    font: inherit; cursor: pointer; text-decoration: underline;
}

/* ② 赞助列：状态行 + 键值行 + 动作行 */
.zpb-detail-page .zpb-dl-status {
    display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px;
    font-size: 12.5px; font-weight: 600; color: var(--zpb-body);
}
.zpb-detail-page .zpb-dl-status.zpb-status-unlocked { color: var(--zpb-green); }
.zpb-detail-page .zpb-dl-status.zpb-status-support  { color: var(--zpb-accent); }
.zpb-detail-page .zpb-dl-info { margin: 12px 0 0; }
.zpb-detail-page .zpb-dl-row {
    display: flex; align-items: flex-start; gap: 8px;
    padding: 6px 0; border-bottom: 1px dashed var(--zpb-line);
    font-size: 12px; line-height: 1.6;
}
.zpb-detail-page .zpb-dl-row:last-of-type { border-bottom: 0; }
.zpb-detail-page .zpb-dl-row label { flex: 0 0 auto; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-dl-value { flex: 1 1 auto; min-width: 0; color: var(--zpb-body); word-break: break-all; }
.zpb-detail-page .zpb-dl-value a { color: var(--zpb-accent); }
.zpb-detail-page .zpb-dl-value a:hover { text-decoration: underline; }
.zpb-detail-page .zpb-code-show { font-weight: 700; color: var(--zpb-ink); letter-spacing: .04em; }
.zpb-detail-page .zpb-code-hide { color: var(--zpb-quiet); }
.zpb-detail-page .zpb-btn-copy {
    margin-left: 6px; padding: 0 6px; border: 1px solid var(--zpb-line); border-radius: 4px;
    background: var(--zpb-bar); color: var(--zpb-body); font-size: 11px; cursor: pointer;
}
.zpb-detail-page .zpb-quota { margin-left: 8px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-dl-actions {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin: 12px 0 0;
}
.zpb-detail-page .zpb-dl-actions .zpb-action-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    height: 32px; padding: 0 14px; border-radius: 16px;
    border: 1px solid var(--zpb-accent); background: transparent; color: var(--zpb-accent);
    font-size: 12.5px; line-height: 1; text-decoration: none; cursor: pointer; font-family: inherit;
}
.zpb-detail-page .zpb-dl-actions .zpb-action-btn:hover { opacity: .88; }
.zpb-detail-page .zpb-dl-quota { flex: 1 1 100%; font-size: 11.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-support-tip { margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--zpb-bar); }
.zpb-detail-page .zpb-support-tip p { margin: 0; font-size: 11.5px; line-height: 1.7; color: var(--zpb-body); }
.zpb-detail-page .zpb-support-tip em { font-style: normal; color: var(--zpb-accent); }
.zpb-detail-page .zpb-oa-notice {
    margin: 20px 0 0; padding: 10px 14px; border-radius: 8px;
    background: var(--zpb-bar); color: var(--zpb-quiet);
    font-size: 11.5px; line-height: 1.7;
}
.zpb-detail-page .zpb-oa-notice i { margin-right: 6px; color: var(--zpb-green); }

/* ---------- 5. ② 文件清单 ---------- */
.zpb-detail-page .zpb-files-card { border: 0; box-shadow: none; }
.zpb-detail-page .zpb-files-header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; border: 0; }
.zpb-detail-page .zpb-files-header .zpb-block-head { flex: 1 1 auto; margin-bottom: 0; }
.zpb-detail-page .zpb-files-count { font-size: 12px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-files-quota { margin-left: auto; font-size: 11.5px; color: var(--zpb-quiet); }
/* 旧层把文件清单做成了限高滚动框（max-height:280 + overflow-y:auto），V5 稿是整段铺开 —— 撤掉 */
.zpb-detail-page .zpb-files-list { display: flex; flex-direction: column; gap: 10px; margin: 20px 0 0; max-height: none; overflow: visible; }
.zpb-detail-page .zpb-file-row {
    display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto;
    align-items: center; gap: 14px; flex: 0 0 auto;
    min-height: 52px; padding: 11px 14px;
    background: var(--zpb-row); border: 1px solid var(--zpb-line); border-radius: 8px;
}
.zpb-detail-page .zpb-file-icon {
    width: 40px; height: 30px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 6px; background: #fdeef2; color: #e0346f; box-shadow: none;
    font-size: 11px; font-weight: 600; letter-spacing: .04em;
}
/* 旧层把 .zpb-file-ext 做成灰药丸并在窄屏 display:none —— 这里它是徽章里的扩展名文字 */
.zpb-detail-page .zpb-file-ext {
    display: inline-block; margin: 0; padding: 0; border-radius: 0;
    background: transparent; color: inherit; font-size: 11px; font-weight: 600; letter-spacing: .04em;
}
.zpb-detail-page .zpb-file-icon.is-txt { background: #eef1f9; color: #4d6bb6; }
.zpb-detail-page .zpb-file-icon.is-zip { background: #fdf6e8; color: #b0723a; }
.zpb-detail-page .zpb-file-icon.is-doc { background: #eef1f9; color: #4d6bb6; }
.zpb-detail-page .zpb-file-icon.is-img { background: #eef7f2; color: var(--zpb-green); }
.zpb-detail-page .zpb-file-info { min-width: 0; }
.zpb-detail-page .zpb-file-name { font-size: 13.5px; line-height: 1.5; color: var(--zpb-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zpb-detail-page .zpb-file-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2px; font-size: 11.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-file-size { font-size: 12px; color: var(--zpb-quiet); white-space: nowrap; }
.zpb-detail-page .zpb-file-actions { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.zpb-detail-page .zpb-file-download-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    min-width: 132px; height: 30px; padding: 0 16px; border-radius: 15px;
    border: 1px solid transparent; background: var(--zpb-accent); color: #fff;
    font-size: 12.5px; line-height: 1; text-decoration: none; white-space: nowrap;
}
.zpb-detail-page .zpb-file-download-btn:hover { opacity: .88; }
.zpb-detail-page .zpb-file-status { font-size: 10.5px; line-height: 1.4; color: var(--zpb-quiet); white-space: nowrap; }
.zpb-detail-page .zpb-files-footer { margin: 14px 0 0; font-size: 11.5px; color: var(--zpb-quiet); }
/* 多文件：固定高度 + 上下滑动（单文件不加这个类，随内容展开）—— 站长 2026-10-01 */
.zpb-detail-page .zpb-files-list.is-scroll {
    max-height: 372px; overflow-y: auto; padding-right: 6px;
    scrollbar-width: thin; scrollbar-color: #dfe1e6 transparent;
}
.zpb-detail-page .zpb-files-list.is-scroll::-webkit-scrollbar { width: 6px; }
.zpb-detail-page .zpb-files-list.is-scroll::-webkit-scrollbar-thumb { background: #dfe1e6; border-radius: 3px; }
.zpb-detail-page .zpb-files-list.is-scroll::-webkit-scrollbar-track { background: transparent; }


/* ---------- 6. ③ 资源简介（可折叠） ---------- */
.zpb-detail-page .zpb-desc-wrap { position: relative; max-height: 176px; overflow: hidden; }
.zpb-detail-page .zpb-desc-wrap.is-open { max-height: none; }
.zpb-detail-page .zpb-desc-wrap:not(.is-open)::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 56px;
    background: linear-gradient(180deg, transparent, var(--zpb-card));
    pointer-events: none;
}
.zpb-detail-page .zpb-desc-text { font-size: 14px; line-height: 1.9; color: var(--zpb-body); }
.zpb-detail-page .zpb-desc-text p { margin: 0 0 14px; }
.zpb-detail-page .zpb-desc-text p:last-child { margin-bottom: 0; }
.zpb-detail-page .zpb-desc-text h2,
.zpb-detail-page .zpb-desc-text h3 { font-size: 15.5px; font-weight: 700; color: var(--zpb-ink); margin: 18px 0 10px; }
.zpb-detail-page .zpb-desc-text a { color: var(--zpb-accent); }
.zpb-detail-page .zpb-desc-text .zrg-region-nav { margin-bottom: 14px; }
/* 展开全文 / 收起：做成居中的胶囊按钮（站长 2026-10-01：美化成按钮并且居中） */
.zpb-detail-page .zpb-desc-toggle {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    width: max-content; margin: 16px auto 4px; padding: 0 20px; height: 34px;
    border: 1px solid color-mix(in oklab, var(--zpb-accent) 34%, transparent);
    border-radius: 17px; background: color-mix(in oklab, var(--zpb-accent) 6%, transparent);
    color: var(--zpb-accent); font-size: 13px; font-family: inherit; cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}
.zpb-detail-page .zpb-desc-toggle:hover {
    background: color-mix(in oklab, var(--zpb-accent) 12%, transparent);
    border-color: color-mix(in oklab, var(--zpb-accent) 55%, transparent);
}
.zpb-detail-page .zpb-desc-toggle .fa { font-size: 12px; }
.zpb-detail-page .zpb-desc-toggle[hidden] { display: none; }


/* ---------- 8. ⑤ 目录 · 版本信息 ---------- */
.zpb-detail-page .zpb-outline { margin: 0 0 6px; padding: 0; list-style: none; }
.zpb-detail-page .zpb-outline-row {
    display: flex; align-items: baseline; gap: 8px;
    padding: 11px 0; border-bottom: 1px solid var(--zpb-line);
    font-size: 13.5px; line-height: 1.6;
}
.zpb-detail-page .zpb-outline-name { flex: 0 1 auto; min-width: 0; color: var(--zpb-ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zpb-detail-page .zpb-outline-name .fa { margin-right: 6px; color: var(--zpb-quiet); font-size: 12px; }
.zpb-detail-page a.zpb-outline-name:hover { color: var(--zpb-accent); }
.zpb-detail-page .zpb-outline-dots { flex: 1 1 auto; min-width: 20px; height: 1px; background: var(--zpb-line); transform: translateY(-3px); }
.zpb-detail-page .zpb-outline-page { flex: 0 0 auto; font-size: 12.5px; color: var(--zpb-quiet); white-space: nowrap; }
.zpb-detail-page .zpb-facts {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px; margin: 18px 0 0; padding: 0;
    background: transparent; border: 0;
}
.zpb-detail-page .zpb-fact {
    display: flex; align-items: baseline; gap: 10px;
    padding: 9px 0; border-bottom: 1px solid var(--zpb-line);
    font-size: 12.5px; line-height: 1.6;
}
.zpb-detail-page .zpb-fact-label { flex: 0 0 62px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-fact-value { flex: 1 1 auto; min-width: 0; color: var(--zpb-ink); word-break: break-word; }

/* ---------- 9. ⑥ 相关资源（四张卡横排） ---------- */
.zpb-detail-page .zpb-rel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.zpb-detail-page .zpb-rel-card {
    display: block; padding: 10px; text-decoration: none;
    background: var(--zpb-card); border: 1px solid var(--zpb-line); border-radius: 10px;
}
.zpb-detail-page .zpb-rel-card:hover { border-color: color-mix(in oklab, var(--zpb-accent) 40%, var(--zpb-line)); }
.zpb-detail-page .zpb-rel-cover {
    width: 100%; height: 100px; overflow: hidden; border-radius: 6px;
    background: var(--zpb-bar); border: 1px solid var(--zpb-line);
}
/* 志书封面多是「白纸扫描」，铺满 + 贴左上，比整幅缩进（contain）看得出是书页 */
.zpb-detail-page .zpb-rel-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.zpb-detail-page .zpb-rel-cover .linebook-cover { width: 100% !important; height: 100% !important; }
.zpb-detail-page .zpb-rel-name {
    margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--zpb-ink);
    overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.zpb-detail-page .zpb-rel-meta { margin: 4px 0 0; font-size: 11.5px; color: var(--zpb-quiet); }

/* ---------- 10. ⑦⑧ 地域文脉 / 读书笔记（保留块，统一到本页语言） ---------- */
/* ④ 地域相关信息（2026-10-01）：区块头右侧地名页入口 + 下面接地名库条目 */
.zpb-detail-page .zpb-region-link { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--zpb-accent); text-decoration: none; }
.zpb-detail-page .zpb-region-link:hover { text-decoration: underline; }
.zpb-detail-page .zpb-region-link .fa { font-size: 12px; }
.zpb-detail-page .zpb-culture-desc { margin: 0 0 16px; font-size: 12.5px; line-height: 1.7; color: var(--zpb-body); }
.zpb-detail-page .zpb-culture-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.zpb-detail-page .zpb-culture-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--zpb-line); }
.zpb-detail-page .zpb-culture-head .t { font-size: 13px; font-weight: 600; color: var(--zpb-ink); }
.zpb-detail-page .zpb-culture-head .n { font-size: 11.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-culture-col ul { margin: 0; padding: 0; list-style: none; }
.zpb-detail-page .zpb-culture-col li { padding: 7px 0; font-size: 12.5px; line-height: 1.6; color: var(--zpb-body); border-bottom: 1px solid var(--zpb-line); }
.zpb-detail-page .zpb-culture-col li:last-child { border-bottom: 0; }
.zpb-detail-page .zpb-culture-col li a { color: var(--zpb-ink); text-decoration: none; }
.zpb-detail-page .zpb-culture-col li a:hover { color: var(--zpb-accent); }
.zpb-detail-page .zpb-culture-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 16px; font-size: 12.5px; color: var(--zpb-accent); text-decoration: none; }

.zpb-detail-page .zpb-notes-section { padding: 0 !important; }
.zpb-detail-page .zpb-notes-header { display: flex; align-items: center; gap: 12px; }
.zpb-detail-page .zpb-notes-header .zpb-block-head { flex: 1 1 auto; margin-bottom: 0; }
.zpb-detail-page .zpb-btn-write-note {
    display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 14px;
    border: 1px solid var(--zpb-accent); border-radius: 15px; background: transparent;
    color: var(--zpb-accent); font-size: 12.5px; font-family: inherit; cursor: pointer;
}
.zpb-detail-page .zpb-notes-list { display: flex; flex-direction: column; gap: 10px; margin: 20px 0 0; }
.zpb-detail-page .zpb-note-item { padding: 12px 14px; border: 1px solid var(--zpb-line); border-radius: 8px; background: var(--zpb-row); cursor: pointer; }
.zpb-detail-page .zpb-note-item:hover { border-color: color-mix(in oklab, var(--zpb-accent) 35%, var(--zpb-line)); }
.zpb-detail-page .zpb-note-title { font-size: 13.5px; font-weight: 600; color: var(--zpb-ink); }
.zpb-detail-page .zpb-note-excerpt { margin-top: 4px; font-size: 12px; line-height: 1.7; color: var(--zpb-body); }
.zpb-detail-page .zpb-note-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 8px; font-size: 11.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-note-meta .fa { margin-right: 4px; }
.zpb-detail-page .zpb-note-date { margin-left: auto; }
.zpb-detail-page .zpb-notes-empty { margin: 20px 0 0; font-size: 12.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-notes-empty a { color: var(--zpb-accent); }
.zpb-detail-page .zpb-notes-more { margin-top: 14px; text-align: center; }

/* ---------- 11. 页脚卡：版权声明与下载须知（814 宽，与正文卡同左缘） ---------- */
.zpb-detail-page .zpb-article > .zpb-anchor {
    width: 814px; max-width: 100%;
    margin: 24px 0 0; padding: 24px;
    background: var(--zpb-card); border-radius: 12px;
}
.zpb-detail-page .zpb-notice-box {
    padding: 0; background: transparent; border: 0; border-radius: 0;
    font-size: 12.5px; line-height: 1.9; color: var(--zpb-body);
}
.zpb-detail-page .zpb-notice-box p { margin: 0 0 8px; }
.zpb-detail-page .zpb-notice-box p:last-child { margin-bottom: 0; }
.zpb-detail-page .zpb-notice-box strong { color: var(--zpb-ink); }

/* ---------- 12. 侧栏：速览 / 获取方式 / 同地域志书 ---------- */
/* 站长 2026-10-01：桌面端右侧栏不再吸附跟随滚动（原来 sticky top:80），随页面一起走 */
.zpb-detail-page .zpb-aside { position: static; align-self: start; min-width: 0; }
.zpb-detail-page .zpb-aside > * + * { margin-top: 16px; }
.zpb-detail-page .zpb-aside-card.zib-widget,
.zpb-detail-page .zpb-aside > div {
    padding: 20px; margin: 0;
    background: var(--zpb-card); border: 0; border-radius: 12px; box-shadow: none;
}
/* 卡片之间的灰底间距：上面这条 margin:0 有 3 个类，会盖掉第 641 行那条 2 个类的兄弟选择器（站长 2026-10-01） */
.zpb-detail-page .zpb-aside > .zpb-aside-card + .zpb-aside-card,
.zpb-detail-page .zpb-aside > .zpb-aside-card + div,
.zpb-detail-page .zpb-aside > div + .zpb-aside-card,
.zpb-detail-page .zpb-aside > div + div { margin-top: 18px; }
.zpb-detail-page .zpb-aside-head { position: relative; display: flex; align-items: center; gap: 8px; margin: 0 0 18px; }
.zpb-detail-page .zpb-aside-head h3 {
    position: relative; margin: 0; padding-left: 12px;
    font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--zpb-ink);
}
.zpb-detail-page .zpb-aside-head h3::before {
    content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 4px; height: 16px; border-radius: 2px; background: var(--zpb-accent);
}
.zpb-detail-page .zpb-aside-sub { margin-left: 8px; font-size: 11.5px; font-weight: 400; color: var(--zpb-quiet); }

.zpb-detail-page .zpb-aside-list { margin: 0; padding: 0; list-style: none; }
.zpb-detail-page .zpb-aside-list li {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
    padding: 8px 0; border-bottom: 1px solid var(--zpb-line);
    font-size: 12.5px; line-height: 1.6;
}
.zpb-detail-page .zpb-aside-list li:last-child { border-bottom: 0; }
.zpb-detail-page .zpb-aside-k { flex: 0 0 auto; color: var(--zpb-body); }
.zpb-detail-page .zpb-aside-v { flex: 0 1 auto; min-width: 0; text-align: right; color: var(--zpb-accent); word-break: break-word; }

.zpb-detail-page .zpb-get-list { margin: 0; padding: 0; list-style: none; }
.zpb-detail-page .zpb-get-list li + li { margin-top: 14px; }
.zpb-detail-page .zpb-get-list a { display: flex; align-items: flex-start; gap: 10px; text-decoration: none; }
.zpb-detail-page .zpb-get-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: var(--zpb-accent); }
.zpb-detail-page .zpb-get-dot.is-free    { background: var(--zpb-green); }
.zpb-detail-page .zpb-get-dot.is-sponsor { background: var(--zpb-accent); }
.zpb-detail-page .zpb-get-dot.is-read    { background: var(--zpb-purple); }
.zpb-detail-page .zpb-get-dot.is-local   { background: var(--zpb-seal); }
.zpb-detail-page .zpb-get-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.zpb-detail-page .zpb-get-item { font-size: 13px; line-height: 1.5; color: var(--zpb-ink); }
.zpb-detail-page .zpb-get-list a:hover .zpb-get-item { color: var(--zpb-accent); }
.zpb-detail-page .zpb-get-note { font-size: 11.5px; line-height: 1.5; color: var(--zpb-quiet); }

.zpb-detail-page .zpb-region-list { margin: 0; padding: 0; list-style: none; }
.zpb-detail-page .zpb-region-list li + li { margin-top: 12px; }
.zpb-detail-page .zpb-region-list a { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.zpb-detail-page .zpb-region-thumb {
    flex: 0 0 auto; width: 44px; height: 32px; overflow: hidden; border-radius: 4px; background: var(--zpb-bar);
}
.zpb-detail-page .zpb-region-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.zpb-detail-page .zpb-region-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.zpb-detail-page .zpb-region-name {
    font-size: 12.5px; line-height: 1.5; color: var(--zpb-ink);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.zpb-detail-page .zpb-region-list a:hover .zpb-region-name { color: var(--zpb-accent); }
.zpb-detail-page .zpb-region-meta { font-size: 11.5px; color: var(--zpb-quiet); }
.zpb-detail-page .zpb-aside-more {
    display: inline-flex; align-items: center; gap: 5px; margin-top: 16px;
    font-size: 12px; color: var(--zpb-accent); text-decoration: none;
}

/* ---------- 13. 面包屑：与书库/分类页同一套（站长 2026-10-01 要求统一） ----------
   满宽：frontend.css 给 .zpb-page-crumb 留了 calc(311px + 15px) 的右侧空间（旧侧栏让位），这里撤掉；
   字号/颜色/内距对齐 library-layout.css 里 .zpb-library/.zpb-category 那组（12.5 / --zpb-muted / 0 内距 / 下间距 8）。 */
.zpb-detail-crumb { margin: 0 0 8px; }
.zpb-detail-crumb .zpb-breadcrumb {
    display: flex; flex-wrap: nowrap; align-items: center; gap: 5px;
    max-width: 100%; padding: 0; margin: 0;
    background: transparent; border: 0;
    font-size: 12.5px; color: color-mix(in oklab, var(--main-color, #1f2329) 55%, transparent);
    overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.zpb-detail-crumb .zpb-breadcrumb::-webkit-scrollbar { display: none; }
.zpb-detail-crumb .zpb-breadcrumb i { font-size: 12px; }
.zpb-detail-crumb .zpb-breadcrumb a { flex: 0 0 auto; color: color-mix(in oklab, var(--main-color, #1f2329) 55%, transparent); text-decoration: none; }
.zpb-detail-crumb .zpb-breadcrumb a:hover { color: var(--zpb-accent); }
.zpb-detail-crumb .zpb-breadcrumb .sep { flex: 0 0 auto; }
.zpb-detail-crumb .zpb-breadcrumb .cur { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* ---------- 14. 响应式 ---------- */
@media (max-width: 1199px) {
    .zpb-detail-page .zpb-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .zpb-detail-page .zpb-article > .zpb-anchor { width: 100%; }
}
@media (max-width: 1024px) {
    .zpb-page .zpb-detail-hero-wrap { padding: 24px 15px 26px; }
    .zpb-detail-hero .zpb-hero { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .zpb-detail-hero .zpb-hero-main  { order: 1; }
    .zpb-detail-hero .zpb-hero-cover { order: 2; width: 352px; max-width: 100%; }
    .zpb-detail-page .zpb-download-wrapper.zpb-channels { gap: 28px; }
}
@media (max-width: 767px) {
    .zpb-detail-page .zpb-main { padding: 18px 16px; }
    .zpb-detail-page .zpb-main > .zpb-anchor,
    .zpb-detail-page .zpb-main > .zpb-section { padding-left: 0; }
    .zpb-detail-page .zpb-main > .zpb-anchor + .zpb-anchor { margin-top: 24px; }
    .zpb-detail-page .zpb-block-head { margin-left: 0; }
    .zpb-detail-page .zpb-section > .title-theme,
    .zpb-detail-page .zpb-section > h2.box-title { margin-left: 0; }
    .zpb-detail-page .zpb-article > .zpb-anchor { padding: 18px 16px; }
    .zpb-detail-page .zpb-block-title,
    .zpb-detail-page .zpb-section > .title-theme,
    .zpb-detail-page .zpb-section > h2.box-title { font-size: 17px !important; }
    .zpb-detail-page .zpb-block-note { display: none; }

    /* 站长 2026-10-01：手机端书影卡提到标题上方（桌面/平板仍是文字在左） */
    .zpb-detail-hero .zpb-hero-cover { order: -1; width: 100%; max-width: 352px; margin: 0 auto; }
    .zpb-detail-hero .zpb-hero-title { font-size: 22px; }
    /* 站长 2026-10-01：手机端 hero 数据带不显示（页数/大小/文件/下载 在「基本信息」里都有） */
    .zpb-detail-hero .zpb-hero-stats { display: none; }
    .zpb-detail-hero .zpb-hero-action { flex: 1 1 auto; min-width: 0; height: 38px; padding: 0 14px; font-size: 12.5px; }
    .zpb-detail-hero .zpb-copyright-notice { flex: 1 1 100%; margin-left: 0; }

    /* 站长 2026-10-01：手机端两条通道一行两个并排；③ 在线阅读整条不显示 */
    .zpb-detail-page .zpb-download-wrapper.zpb-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
    .zpb-detail-page .zpb-reader-card { display: none; }
    /* 对齐（站长 2026-10-01）：标题独占一行、状态药丸另起一行并给它留够高度 ——
       两条通道后面 说明/按钮/灰条 才会落在同一条横线上（原来 ② 多一行药丸，整列被推下去） */
    .zpb-detail-page .zpb-chan-head { display: block; min-height: 44px; margin: 0 0 6px; }
    .zpb-detail-page .zpb-chan-title { display: flex; font-size: 13.5px; gap: 5px; }
    .zpb-detail-page .zpb-chan-title .fa { font-size: 13.5px; }
    .zpb-detail-page .zpb-chan-head .zpb-dl-status { display: inline-block; margin-top: 5px; padding: 0 7px; font-size: 10px; line-height: 1.7; }
    .zpb-detail-page .zpb-chan-btn { height: 36px; padding: 0 10px; font-size: 12.5px; }
    /* 灰条：窄列里允许折成两行，别用省略号把「高速下载」吃掉 */
    .zpb-detail-page .zpb-chan-bar {
        height: auto; min-height: 26px; padding: 4px 9px;
        font-size: 10.5px; line-height: 1.55; white-space: normal; overflow: visible; text-overflow: clip;
    }
    .zpb-detail-page .zpb-chan-bar.is-link { align-items: flex-start; }
    .zpb-detail-page .zpb-chan-bar.is-link .fa { font-size: 11px; line-height: 1.55; }
    .zpb-detail-page .zpb-chan-desc { min-height: 0; margin-bottom: 12px; }
    .zpb-detail-page .zpb-file-row { grid-template-columns: 40px minmax(0, 1fr); gap: 10px 12px; padding: 12px; }
    .zpb-detail-page .zpb-file-size { grid-column: 2; font-size: 11.5px; }
    .zpb-detail-page .zpb-file-actions { grid-column: 1 / -1; flex-direction: column; align-items: stretch; gap: 6px; }
    .zpb-detail-page .zpb-file-download-btn { flex: 1 1 auto; }
    .zpb-detail-page .zpb-file-status { text-align: center; }
    /* 站长 2026-10-03：手机端「基本信息」改回一行两个（原为单列，8 行太长）。
       桌面本就是两列；这里恢复两列并把栏距 24px 收到 14px、标签列 62→54px，
       保证「更新于 2026-10-02」这类较长的键值对在半宽格子里仍不折行。 */
    .zpb-detail-page .zpb-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
    .zpb-detail-page .zpb-fact-label { flex: 0 0 54px; }
    .zpb-detail-page .zpb-rel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zpb-detail-page .zpb-culture-cols { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    /* 站长 2026-10-01：手机端右侧栏（速览 / 获取方式 / 同地域志书 + 主题小工具）整列不显示 */
    .zpb-detail-page .zpb-aside { display: none; }
 }

/* ---------- 15. 锚点与灯箱（灯箱样式原在 resource-layout.css 里，随版式层迁移过来） ---------- */
.zpb-detail-page .zpb-anchor { scroll-margin-top: 90px; }

/* ---------- 14b. 中和旧层遗留（frontend.css 里的老样式会漏进来，逐条压掉） ---------- */
/* 老的行式下载区：锁定行带负边距 + 灰底，会溢出新列 */
.zpb-detail-page .zpb-row-locked { margin: 0; padding: 6px 0; background: transparent; border-radius: 0; }
/* 老的状态行是「黄色/红色提示块」，V5 稿是安静的一行小字 */
.zpb-detail-page .zpb-dl-status { padding: 0; background: transparent; }
.zpb-detail-page .zpb-support-tip { border: 0; }
.zpb-detail-page .zpb-files-footer { padding: 14px 0 0; background: transparent; border-top: 0; }
.zpb-detail-page .zpb-files-footer i { color: var(--zpb-accent); }
.zpb-detail-page .zpb-copyright-notice { padding: 0; }
.zpb-detail-page .zpb-qr-image img { border-radius: 4px; }

html.zpb-lb-lock,
html.zpb-lb-lock body {
  overflow: hidden;
}
/* ---------- 15b. 灯箱 v2（2026-10-01 重设计：大气 · 简洁） ----------
   结构：顶栏（书名 + 计数 + 关闭）｜左右幽灵箭头｜居中大图｜底栏（页码 + 缩略图条 + 操作提示）
   冷色深底 + 径向渐晕 + 毛玻璃；图片不加重边框，只留大投影。
   交互类名沿用 v1（.is-open/.zpb-lb-*），resource-lightbox.js 绑定不用改。 */
/* ---------- 15b. 灯箱 v3「陈列式」（2026-10-01 第二次重设计） ----------
   设计语言：纸白底 + 细线框 + 大字书影 + 左侧竖向缩略图轨（站内装裱卡同一套语汇），
   不再是深色底片式看图器。为了让书影尽量大：
     · 顶栏 56 / 底栏 46，都极薄且不盖图（原 v2 是浮在图上，图被压小）
     · 缩略图从底部搬到左侧竖轨 —— 志书页多为竖版，左右本来空着，纵向空间全给图
     · 图去重边框，改 1px 细线（box-shadow 画，不动盒模型）+ 大投影（装裱「平置」观感）
   静默：闲置 3.2 秒顶栏/底栏/缩略图轨/箭头一起淡出，只留书影；动鼠标或按键即回。
   交互类名沿用 v1/v2（.is-open/.zpb-lb-*），resource-lightbox.js 的缩放/平移/翻页逻辑未改。 */
.zpb-lightbox {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; flex-direction: column;
    opacity: 0; visibility: hidden;
    background: radial-gradient(125% 95% at 50% 42%, #fdfcfa 0%, #f4f1ec 62%, #eae6e0 100%);
    transition: opacity .26s ease, visibility .26s ease;
}
.zpb-lightbox.is-open { opacity: 1; visibility: visible; }

/* 顶栏：一行书名，一条细线收口 */
.zpb-lb-bar {
    flex: 0 0 auto; display: flex; align-items: center; gap: 18px;
    height: 56px; padding: 0 16px 0 24px;
    border-bottom: 1px solid rgba(31, 35, 41, .07);
    background: rgba(255, 255, 255, .55);
    transition: opacity .32s ease;
}
.zpb-lb-title {
    flex: 1 1 auto; min-width: 0;
    font-family: var(--zpb-serif); font-size: 15.5px; font-weight: 600;
    letter-spacing: .05em; color: var(--zpb-ink, #1f2329);
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.zpb-lb-tools { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; }
.zpb-lb-count { color: var(--zpb-quiet, #9aa0a6); font-size: 12.5px; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.zpb-lb-close {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; padding: 0;
    border: 1px solid rgba(31, 35, 41, .08); border-radius: 50%;
    color: rgba(31, 35, 41, .55); font-size: 15px; background: rgba(255, 255, 255, .8);
    cursor: pointer; transition: color .18s, background .18s, border-color .18s;
}
.zpb-lb-close:hover { color: #1f2329; background: #fff; border-color: rgba(31, 35, 41, .18); }

/* 主体：左竖轨 + 舞台 */
.zpb-lb-body { position: relative; flex: 1 1 auto; display: flex; min-height: 0; }
.zpb-lb-rail {
    flex: 0 0 auto; width: 106px; padding: 14px 10px;
    overflow-y: auto; overflow-x: hidden;
    border-right: 1px solid rgba(31, 35, 41, .06);
    background: rgba(255, 255, 255, .42);
    scrollbar-width: none;
    transition: opacity .32s ease;
}
.zpb-lb-rail::-webkit-scrollbar { display: none; }
.zpb-lb-thumbs { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.zpb-lightbox.is-open .zpb-lb-stage { opacity: 1; transform: none; }
.zpb-lb-stage {
    position: relative; flex: 1 1 auto; min-width: 0;
    display: flex; align-items: center; justify-content: center;
    padding: 18px 82px;
    opacity: 0; transform: translateY(8px);
    transition: opacity .28s ease .04s, transform .28s cubic-bezier(.2, .7, .3, 1) .04s;
}
.zpb-lb-img {
    max-width: 100%; max-height: 100%; width: auto; height: auto;
    object-fit: contain; border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(31, 35, 41, .07), 0 22px 60px rgba(72, 62, 48, .20), 0 4px 12px rgba(72, 62, 48, .08);
    cursor: zoom-in; user-select: none; -webkit-user-drag: none;
    transform-origin: center center; transition: transform .18s ease;
}
.zpb-lb-img.is-zoomed { cursor: grab; }
.zpb-lb-img.is-panning { cursor: grabbing; transition: none; }

/* 箭头：纸底上用白底细边幽灵钮，贴着舞台两侧 */
.zpb-lb-nav {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0;
    border: 1px solid rgba(31, 35, 41, .08); border-radius: 50%;
    color: rgba(31, 35, 41, .5); font-size: 20px; background: rgba(255, 255, 255, .82);
    cursor: pointer; box-shadow: 0 4px 14px rgba(72, 62, 48, .10);
    transition: opacity .32s ease, color .18s, background .18s, border-color .18s, box-shadow .18s;
}
.zpb-lb-nav:hover { color: #1f2329; background: #fff; border-color: rgba(31, 35, 41, .18); box-shadow: 0 6px 18px rgba(72, 62, 48, .16); }
.zpb-lb-prev { left: 122px; }
.zpb-lb-next { right: 18px; }

/* 底栏：左「《书名》· 第 N 页」右「操作提示」，同样一条细线收口 */
.zpb-lb-foot {
    flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    height: 46px; padding: 0 22px 0 24px;
    border-top: 1px solid rgba(31, 35, 41, .07);
    background: rgba(255, 255, 255, .55);
    transition: opacity .32s ease;
}
.zpb-lb-caption {
    min-width: 0; font-family: var(--zpb-serif); color: rgba(31, 35, 41, .72);
    font-size: 13.5px; letter-spacing: .04em;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.zpb-lb-hint { flex: 0 0 auto; color: var(--zpb-quiet, #9aa0a6); font-size: 11.5px; letter-spacing: .04em; }

/* 缩略图：竖轨里按页序排，选中用主题色细描边 + 提亮 */
.zpb-lb-thumb {
    flex: 0 0 auto; width: 74px; height: 56px; padding: 0;
    border: 0; border-radius: 3px; background: rgba(31, 35, 41, .05);
    overflow: hidden; cursor: pointer; opacity: .5;
    outline: 2px solid transparent; outline-offset: 2px;
    box-shadow: 0 1px 3px rgba(72, 62, 48, .12);
    transition: opacity .18s, outline-color .18s;
}
.zpb-lb-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zpb-lb-thumb:hover { opacity: .85; }
.zpb-lb-thumb.is-active { opacity: 1; outline-color: var(--zpb-accent); }

/* 静默：只留书影 */
.zpb-lightbox.is-idle .zpb-lb-bar,
.zpb-lightbox.is-idle .zpb-lb-foot,
.zpb-lightbox.is-idle .zpb-lb-rail,
.zpb-lightbox.is-idle .zpb-lb-nav { opacity: 0; pointer-events: none; }

@media (max-width: 767px) {
    .zpb-lb-bar { height: 52px; padding: 0 12px 0 16px; gap: 10px; }
    .zpb-lb-title { font-size: 13.5px; }
    .zpb-lb-close { width: 32px; height: 32px; }
    /* 手机：竖轨改底部横条，箭头隐藏（左右滑翻页），竖版页此时最占高度 */
    .zpb-lb-rail {
        position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
        width: auto; height: 74px; padding: 10px 12px;
        overflow-x: auto; overflow-y: hidden;
        border-right: 0; border-top: 1px solid rgba(31, 35, 41, .07);
        background: rgba(255, 255, 255, .66);
    }
    .zpb-lb-thumbs { flex-direction: row; justify-content: flex-start; }
    .zpb-lb-nav { display: none; }
    .zpb-lb-stage { padding: 12px 10px 86px; }
    .zpb-lb-thumb { width: 56px; height: 42px; }
    .zpb-lb-foot { height: 40px; padding: 0 14px; }
    .zpb-lb-caption { font-size: 12.5px; }
    .zpb-lb-hint { display: none; }
    .zpb-page .zpb-hero-cover .zpb-gallery-thumb { width: 62px; height: 44px; }
}
/* 矮窗（横屏手机 / 小笔电）：顶底栏再压薄，把高度让给书影 */
@media (max-height: 620px) {
    .zpb-lb-bar { height: 46px; }
    .zpb-lb-foot { height: 38px; }
    .zpb-lb-stage { padding: 10px 74px; }
}

/* ==========================================================================
   手机端：文件清单行的「本地下载」按钮收窄（2026-10-03 站长截图）
   按钮原宽约 90px（13px 内距 ×2 + 图标 + 四个字），把左侧文件名挤成省略号。
   手机档去掉图标、内距收到 9px、字号 11.5px → 约 62px，多出约 28px 给文件名。
   桌面端（>720px）不动。若还想更短，可再加一条把文案换成「下载」（再省约 20px）。
   ========================================================================== */
@media screen and (max-width: 720px) {
  .zpb-detail-page .zpb-modal-file-row .zpb-file-download-btn {
    /* 关键：基础规则 .zpb-detail-page .zpb-file-download-btn 有 min-width:132px，
       不解除它，改内距和字号都不会变窄（实测卡在 132px）。 */
    min-width: 0;
    padding: 0 9px;
    height: 28px;
    font-size: 11.5px;
    gap: 0;
  }
  .zpb-detail-page .zpb-modal-file-row .zpb-file-download-btn > .fa {
    display: none;          /* 手机端去掉下载图标，只留文字 */
  }
  .zpb-detail-page .zpb-modal-file-row {
    gap: 8px;               /* 行内间距同步收一点，进一步给信息让位 */
  }
}

/* ==========================================================================
   手机端：「获取方式」说明超出屏幕（2026-10-03 站长截图）
   根因：frontend.css 的窄屏块里有 .zpb-meta-item{white-space:nowrap}，
   而那句说明正是 .zpb-meta-item.zpb-howto-text（多段用 · 连接），
   nowrap 让它无法换行 → 直接顶出屏幕右侧。
   处理：手机档允许换行，并让说明独占一行（「获取方式」标签在上、说明在下）。
   ========================================================================== */
@media screen and (max-width: 720px) {
  /* 站长 2026-10-03 修正：不是整行隐藏，只隐藏「助站书友可在线阅读」这一段（其余照常显示）。
     整块改块级流式（标签一行、说明一行），否则容器是 inline-flex，
     正文与 · 分隔点会按列排。每段已由模板包成 span，分隔点并入后一段，
     隐藏末段时不会留下孤立的「·」。 */
  .zpb-detail-page .zpb-hero-howto {
    display: block;
  }
  .zpb-detail-page .zpb-hero-howto > .zpb-meta-item:first-child {
    display: inline-flex;
  }
  .zpb-detail-page .zpb-hero-howto .zpb-howto-text {
    display: block;
    white-space: normal;
    line-height: 1.7;
    margin-top: 3px;
  }
  .zpb-detail-page .zpb-hero-howto .zpb-howto-sep {
    margin: 0 5px;
  }
  .zpb-detail-page .zpb-hero-howto .zpb-howto-piece.zpb-howto-read {
    display: none;
  }
}


/* ==========================================================================
   手机端：不显示任何在线阅读入口（2026-10-03 站长要求）
   资源页上的在线阅读入口共 4 类，逐一处理：
     ① hero 动作行的「在线阅读」主按钮      → .zpb-oa-entry（模板加标记）
     ② ③ 在线阅读整块（标题+说明+开始阅读） → .zpb-reader-card（模板原有类）
     ③ 侧栏「获取方式」卡里的「在线阅读」项 → .zpb-oa-entry（模板给该 li 加标记）
     ④ 目录里分册名的「阅读跳转」链接       → 不能直接隐藏（名字会一起没），
        改为去掉可点击性并还原成普通文字外观，保留分册名与页码
   桌面端（>720px）全部保持原样。
   ========================================================================== */
@media screen and (max-width: 720px) {
  .zpb-detail-page .zpb-oa-entry {
    display: none;
  }
  .zpb-detail-page .zpb-reader-card {
    display: none;
  }
  .zpb-detail-page .zpb-outline-name[href] {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
    cursor: default;
  }
}
