/* ============================================================
   文章单页阅读层 v1.20.2（按 zhihuilu.com 文章页版式移植）
   作用域：body.single-post；模板：single.php
   ============================================================ */

/* GP 3.6 父主题把 .site-content 设为 flex，自定义模板多区块必须恢复文档流 */
body.single-post .site-content{display:block;}
body.single-post .site-content > *{width:100%;max-width:none;}

/* ---------- hero ---------- */
/* v1.20.1：hero 通栏铺满视口（GP 把 .site 锁在 1400px 容器内，渐变带两侧露白像悬浮卡片）；
   100vw 比视口宽一个滚动条宽度，用 overflow-x:clip 兜住横向溢出（clip 不破坏 position:sticky） */
.jnm-read__hero{background:linear-gradient(180deg,#eef3fb 0%,#f6f8fa 100%);border-bottom:1px solid var(--line);padding:34px 24px 30px;width:100vw;margin-left:calc(50% - 50vw);}
body.single-post{overflow-x:hidden;overflow-x:clip;}
.jnm-read__crumb{font-size:13px;color:var(--muted);margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.jnm-read__crumb a{color:var(--muted);text-decoration:none;}
.jnm-read__crumb a:hover{color:var(--accent);}
.jnm-read__crumb-cur{color:var(--ink-strong);font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.jnm-read__hero h1{font-size:30px;font-weight:800;color:var(--ink-strong);line-height:1.35;margin:0;max-width:920px;}

/* ---------- 双栏：左正文 + 右粘性侧栏 ---------- */
.jnm-read__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;padding:36px 0 72px;}
.jnm-read__side{position:sticky;top:76px;display:flex;flex-direction:column;gap:16px;}

/* ---------- 信息卡（阅读时长/日期/分类 + 文章目录） ---------- */
.jnm-read__brief{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px 28px;margin:0 0 20px;}
.jnm-read__info{border-left:4px solid var(--accent);}
.jnm-read__facts{display:flex;flex-wrap:wrap;gap:28px;}
.jnm-read__fact strong{display:block;font-size:15px;color:var(--ink-strong);font-weight:800;}
.jnm-read__fact span{font-size:12px;color:var(--muted);}
.jnm-read__info-toc{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);}
.jnm-read__info-toc-title{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.06em;margin:0 0 10px;}
.jnm-read__info-toc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;}
.jnm-read__info-toc li{margin:0;font-size:14px;line-height:1.7;}
.jnm-read__info-toc li.is-l3{padding-left:16px;}
.jnm-read__info-toc a{color:var(--ink-strong);text-decoration:none;display:inline-flex;align-items:baseline;gap:6px;}
.jnm-read__info-toc a::before{content:"›";color:var(--accent);font-weight:800;}
.jnm-read__info-toc a:hover{color:var(--accent);}

/* ---------- 核心速读卡 ---------- */
.jnm-read__brief-tag{font-size:12.5px;font-weight:800;color:var(--accent);letter-spacing:.08em;margin:0 0 8px;}
.jnm-read__brief-text{font-size:15px;line-height:1.9;color:var(--jnm-body);margin:0;}
.jnm-read__brief{background:var(--accent-faint,#eef3fb);border-color:transparent;}

/* ---------- 正文排版 ---------- */
.jnm-read__content{font-size:16.5px;line-height:2;color:var(--jnm-body);}
.jnm-read__content p{margin:0 0 18px;}
.jnm-read__content h2{font-size:24px;font-weight:800;color:var(--ink-strong);line-height:1.4;margin:44px 0 16px;}
.jnm-read__content h2::after{content:"";display:block;width:44px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-3,#7fb0ff));margin-top:10px;}
.jnm-read__content h3{font-size:19px;font-weight:800;color:var(--ink-strong);margin:32px 0 12px;}
.jnm-read__content h2:first-child,.jnm-read__content h3:first-child{margin-top:0;}
.jnm-read__content ul,.jnm-read__content ol{padding-left:24px;margin:0 0 18px;}
.jnm-read__content li{margin-bottom:8px;}
.jnm-read__content li::marker{color:var(--accent);}
.jnm-read__content b,.jnm-read__content strong{color:var(--ink-strong);}
.jnm-read__content a{color:var(--accent);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;}
.jnm-read__content a:hover{border-bottom-color:var(--accent);}
.jnm-read__content img{max-width:100%;height:auto;border-radius:10px;}
.jnm-read__content blockquote{margin:20px 0;padding:14px 20px;border-left:4px solid var(--accent);background:var(--surface-soft);border-radius:0 8px 8px 0;color:var(--jnm-body);}
.jnm-read__content table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14.5px;}
.jnm-read__content th,.jnm-read__content td{border:1px solid var(--line);padding:10px 14px;text-align:left;line-height:1.7;}
.jnm-read__content th{background:var(--surface-soft);color:var(--ink-strong);font-weight:700;}
.jnm-read__content h2,.jnm-read__content h3{scroll-margin-top:80px;}

/* ---------- 相关文章 / CTA ---------- */
.jnm-read__rel{margin-top:44px;}
.jnm-read__rel-title{font-size:24px;font-weight:800;color:var(--ink-strong);margin:0 0 20px;}
.jnm-read__rel-title::after{content:"";display:block;width:44px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-3,#7fb0ff));margin-top:10px;}
.jnm-read-cta{padding:0;margin-top:44px;}

/* ---------- 咨询面板 ---------- */
.jnm-side-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;}
.jnm-side-panel__head{display:flex;gap:8px;align-items:center;margin-bottom:10px;}
.jnm-side-panel__eyebrow,.jnm-side-panel__topic{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;}
.jnm-side-panel__eyebrow{color:var(--accent);background:var(--accent-faint,#eef3fb);}
.jnm-side-panel__topic{color:var(--jnm-red);background:#fdeef0;}
.jnm-side-panel h3{font-size:17px;font-weight:800;color:var(--ink-strong);margin:0 0 8px;}
.jnm-side-panel > p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 14px;}
.jnm-side-panel__facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.jnm-side-panel__fact{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px;}
.jnm-side-panel__fact span{display:block;font-size:11.5px;color:var(--muted);margin-bottom:2px;}
.jnm-side-panel__fact strong{font-size:13px;color:var(--ink-strong);font-weight:800;}
.jnm-side-panel__actions{display:flex;flex-direction:column;gap:10px;}
.jnm-side-panel__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:800;text-decoration:none;transition:all .15s ease;}
.jnm-side-panel__btn svg{width:16px;height:16px;}
.jnm-side-panel__btn--primary{background:var(--jnm-red);color:#fff !important;}
.jnm-side-panel__btn--primary:hover{background:var(--jnm-red-dark);}
.jnm-side-panel__btn--ghost{border:1px solid var(--line-strong);color:var(--ink-strong) !important;background:var(--surface);}
.jnm-side-panel__btn--ghost:hover{border-color:var(--accent);color:var(--accent) !important;}
.jnm-side-panel__contact{font-size:12.5px;color:var(--muted);text-decoration:none;text-align:center;}
.jnm-side-panel__contact:hover{color:var(--accent);}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .jnm-read__grid{grid-template-columns:minmax(0,1fr) 280px;gap:24px;}
}
@media (max-width:768px){
  /* v1.20.2：手机端 hero 不需要通栏（视口即全宽），退出 100vw 模式保证与正文同边距 */
  .jnm-read__hero{padding:26px 16px 24px;width:auto;margin-left:0;}
  .jnm-read__hero h1{font-size:24px;}
  /* v1.20.2：正文左右留 16px 边距（原先贴屏幕边） */
  .jnm-read__grid{grid-template-columns:1fr;gap:28px;padding:26px 16px 56px;}
  .jnm-read__side{position:static;}
  .jnm-read__brief{padding:18px 16px;}
  .jnm-read__info-toc ul{grid-template-columns:1fr;}
  .jnm-read__content{font-size:16px;line-height:1.95;}
  .jnm-read__content h2{font-size:21px;}
  .jnm-grid--3{grid-template-columns:1fr;}
  .jnm-sol-cta__inner{padding:24px 20px;}
}
