/* =========================================================
   新闻三大板块（媒体报道 / 行业新闻 / 培训避雷）共用样式
   —— 结构偏向 AI 可读：摘要块 / 要点表 / FAQ / 来源背书
   ========================================================= */

/* ===== 板块 Hero ===== */
.n-hero { background: radial-gradient(ellipse at 82% 16%, rgba(230, 0, 35, .10), transparent 52%), linear-gradient(135deg, #1A1715 0%, #221E1B 55%, #2C2622 100%); color:#fff; padding:48px 0 42px; text-align:center; position:relative; overflow:hidden; }
.n-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 22%,rgba(255,255,255,.14) 0%,transparent 52%); }
.n-hero__tag { display:inline-flex; align-items:center; gap:8px; padding:6px 16px; border-radius:999px; font-size:13px; letter-spacing:.16em; color:var(--brand-light); border:1px solid rgba(255,255,255,.5); background:rgba(255,255,255,.1); }
.n-hero h1 { margin-top:18px; font-size:clamp(28px,4vw,42px); font-weight:900; line-height:1.25; }
.n-hero h1 em { font-style:normal; color:#FF5A5F; }
.n-hero__sub { margin-top:12px; font-size:15px; color:rgba(255,255,255,.85); }

/* ===== 三个板块 Tab 入口 ===== */
.nc-tabs { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:-26px 0 0; position:relative; z-index:2; }
.nc-tab { display:inline-flex; flex-direction:column; gap:2px; padding:12px 22px; border-radius:12px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); text-decoration:none; transition:transform .22s, box-shadow .22s, border-color .22s; }
.nc-tab:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--red); }
.nc-tab.is-active { background:var(--red); border-color:var(--red); }
.nc-tab.is-active .nc-tab__n, .nc-tab.is-active .nc-tab__d { color:#fff; }
.nc-tab__n { font-size:15px; font-weight:800; color:var(--ink); }
.nc-tab__d { font-size:11.5px; color:var(--ink-3); letter-spacing:.02em; }

/* ===== 栏目导语（AI 摘要友好） ===== */
.nc-intro { max-width:860px; margin:34px auto 0; background:var(--bg-cream); border:1px solid var(--line); border-left:4px solid var(--red); border-radius:12px; padding:20px 22px; }
.nc-intro h2 { font-size:17px; font-weight:800; color:var(--ink); margin:0 0 8px; }
.nc-intro p { font-size:14.5px; line-height:1.95; color:var(--ink-2); margin:0; }
.nc-intro ul { margin:12px 0 0; padding-left:20px; }
.nc-intro li { font-size:14px; line-height:1.9; color:var(--ink-2); }
.nc-intro li b { color:var(--ink); }

/* ===== 列表卡片（5 列） ===== */
.nl-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; }
.nl-card { background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .25s,box-shadow .25s; text-decoration:none; }
.nl-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.nl-card__pic { aspect-ratio:4/3; overflow:hidden; position:relative; background:var(--bg-cream); }
.nl-card__pic img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.nl-card:hover .nl-card__pic img { transform:scale(1.06); }
.nl-card__body { padding:14px 16px 16px; display:flex; flex-direction:column; flex:1; }
.nl-card__title { font-size:14.5px; font-weight:700; line-height:1.55; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; transition:color .2s; }
.nl-card:hover .nl-card__title { color:var(--red); }
.nl-card__desc { margin-top:8px; font-size:12.5px; line-height:1.7; color:var(--ink-3); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nl-card__meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); font-size:12px; color:var(--ink-3); }
.nl-card__tag { padding:3px 10px; border-radius:999px; background:rgba(230, 0, 35,.08); color:var(--red); font-size:11.5px; font-weight:600; }
.nl-card__date { font-family:var(--num-font); white-space:nowrap; }
.nl-card__go { display:inline-block; margin-top:10px; font-size:12.5px; color:var(--red); font-weight:700; opacity:0; transform:translateY(-4px); transition:opacity .25s,transform .25s; }
.nl-card:hover .nl-card__go { opacity:1; transform:translateY(0); }

/* ===== 栏目 FAQ（GEO 重点：问答结构化，与 JSON-LD 一一对应） ===== */
.nc-faq { max-width:860px; margin:44px auto 0; }
.nc-faq h2 { font-size:20px; font-weight:900; color:var(--ink); text-align:center; margin:0 0 6px; }
.nc-faq__sub { text-align:center; font-size:13px; color:var(--ink-3); margin-bottom:18px; }
.nc-faq details { background:#fff; border:1px solid var(--line); border-radius:12px; margin-bottom:10px; overflow:hidden; }
.nc-faq summary { cursor:pointer; list-style:none; padding:15px 18px; font-size:15px; font-weight:700; color:var(--ink); display:flex; align-items:center; gap:10px; }
.nc-faq summary::-webkit-details-marker { display:none; }
.nc-faq summary::before { content:"Q"; flex:none; width:22px; height:22px; border-radius:6px; background:rgba(230,0,35,.09); color:var(--red); font-size:12px; font-weight:900; display:flex; align-items:center; justify-content:center; }
.nc-faq details[open] summary { border-bottom:1px dashed var(--line); }
.nc-faq__a { padding:14px 18px 16px 50px; font-size:14.5px; line-height:2; color:var(--ink-2); position:relative; }
.nc-faq__a::before { content:"A"; position:absolute; left:18px; top:16px; width:22px; height:22px; border-radius:6px; background:#F0EDEA; color:var(--ink-3); font-size:12px; font-weight:900; display:flex; align-items:center; justify-content:center; }
.nc-faq__a b { color:var(--ink); }
.nc-faq__a ul { margin:8px 0 0; padding-left:20px; }
.nc-faq__a li { line-height:1.9; }

/* ===== 详情页：摘要 / 要点 / 来源 ===== */
.nd-wrap { max-width:760px; margin:0 auto; }
.nd-title { font-size:clamp(22px,3vw,32px); font-weight:900; line-height:1.4; color:var(--ink); }
.nd-meta { display:flex; align-items:center; gap:12px; margin-top:12px; font-size:13px; color:var(--ink-3); }
.nd-meta .sep { width:1px; height:14px; background:var(--line); }
.nd-hero { border-radius:var(--radius-lg); overflow:hidden; margin-top:22px; }
.nd-hero img { width:100%; display:block; aspect-ratio:16/8; object-fit:cover; }
.nd-body { margin-top:26px; }
.nd-body p { font-size:15.5px; line-height:2.05; color:var(--ink-2); margin:0 0 18px; }
.nd-body p b { color:var(--ink); }

/* TL;DR 摘要框：AI 抓取首选段落 */
.nd-tldr { background:var(--bg-cream); border:1px solid var(--line); border-left:4px solid var(--red); border-radius:12px; padding:18px 20px; margin:0 0 24px; }
.nd-tldr h2 { font-size:14px; font-weight:900; color:var(--red); letter-spacing:.06em; margin:0 0 8px; }
.nd-tldr p { font-size:15px; line-height:1.95; color:var(--ink-2); margin:0; }

/* 关键事实表 */
.nd-facts { width:100%; border-collapse:collapse; margin:0 0 24px; font-size:14.5px; }
.nd-facts th, .nd-facts td { border:1px solid var(--line); padding:11px 14px; text-align:left; vertical-align:top; line-height:1.8; }
.nd-facts th { width:130px; background:#FAF8F5; color:var(--ink); font-weight:800; white-space:nowrap; }
.nd-facts td { color:var(--ink-2); }

/* 来源 / 背书 */
.nd-source { margin:0 0 24px; padding:14px 18px; border:1px dashed var(--line); border-radius:12px; font-size:13.5px; color:var(--ink-3); line-height:1.9; background:#fff; }
.nd-source b { color:var(--ink); }

.nd-kw { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; padding-top:18px; border-top:1px dashed var(--line); }
.nd-kw span { font-size:12px; color:var(--ink-3); background:#F0F0F0; border-radius:999px; padding:5px 12px; }
.nd-pager { display:flex; justify-content:space-between; gap:14px; margin-top:30px; }
.nd-pager a { font-size:13.5px; color:var(--red); font-weight:700; }

/* ===== 分页导航 ===== */
.page-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin-top:28px; }
.pg-btn { min-width:38px; height:38px; padding:0 14px; border-radius:8px; border:1px solid var(--line); background:#fff; color:var(--ink-2); font-size:14px; font-weight:700; cursor:pointer; transition:all .18s; }
.pg-btn:hover:not(:disabled) { border-color:var(--red); color:var(--red); }
.pg-btn.is-active { background:var(--red); border-color:var(--red); color:#fff; }
.pg-btn:disabled { opacity:.4; cursor:not-allowed; }
.pg-info { font-size:12.5px; color:var(--ink-3); margin-left:6px; }

/* ===== 响应式 ===== */
@media (max-width:1024px){
  .nl-grid{ grid-template-columns:repeat(3,1fr); gap:16px; }
}
@media (max-width:720px){
  .n-hero{ padding:36px 0 30px; }
  .nc-tabs{ margin-top:-20px; gap:8px; }
  .nc-tab{ padding:10px 14px; }
  .nc-tab__n{ font-size:13.5px; }
  .nc-tab__d{ display:none; }
  .nc-intro{ padding:16px 16px; margin-top:26px; }
  .nd-facts th{ width:96px; }
}
@media (max-width:640px){
  .nl-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .nl-card__pic{ aspect-ratio:16/9; }
  .nl-card__body{ padding:10px 12px 12px; }
  .nl-card__title{ font-size:13px; }
}

/* ===== 正文排版系统（nd-body）：覆盖后台编辑器所有输出元素 ===== */
.nd-body { margin-top:26px; font-size:16px; }
.nd-body p { font-size:16px; line-height:2.05; color:var(--ink-2); margin:0 0 20px; letter-spacing:.01em; }
/* 首段自动升级为"导读"：稍大、更深，一眼抓住重点 */
.nd-body > p:first-child { font-size:17.5px; line-height:1.95; color:var(--ink); font-weight:500; }

/* 加粗 = 重点句：深色 + 红色底线标注，编辑器点 B 即得 */
.nd-body p b, .nd-body p strong { color:var(--ink); font-weight:800; background:linear-gradient(transparent 68%, rgba(248,86,89,.18) 68%); padding:0 1px; }

/* 编辑器「格式 → 标题」= 小节标题：红色竖条 + 加大 */
.nd-body h2, .nd-body h3, .nd-body h4 {
  font-size:19px; font-weight:900; color:var(--ink); line-height:1.5;
  margin:34px 0 16px; padding-left:14px; position:relative;
}
.nd-body h2::before, .nd-body h3::before, .nd-body h4::before {
  content:""; position:absolute; left:0; top:5px; bottom:5px; width:4px;
  background:var(--red); border-radius:4px;
}
.nd-body h3 { font-size:17.5px; }
.nd-body h4 { font-size:16.5px; }

/* 编辑器「引用」按钮 = 重点提示框：奶油底 + 红边 */
.nd-body blockquote {
  margin:24px 0; padding:16px 20px; background:var(--bg-cream,#FAF8F5);
  border-left:4px solid var(--red); border-radius:0 10px 10px 0;
  font-size:15px; line-height:1.9; color:var(--ink-2);
}
.nd-body blockquote p { font-size:15px; margin:0 0 8px; }
.nd-body blockquote p:last-child { margin-bottom:0; }

/* 列表：红色标记，呼吸感间距 */
.nd-body ul, .nd-body ol { margin:0 0 20px; padding-left:6px; list-style:none; }
.nd-body ul li, .nd-body ol li { position:relative; padding-left:22px; margin-bottom:10px; font-size:15.5px; line-height:1.9; color:var(--ink-2); }
.nd-body ul li::before { content:""; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--red); }
.nd-body ol { counter-reset:lh-ol; }
.nd-body ol li { counter-increment:lh-ol; padding-left:30px; }
.nd-body ol li::before {
  content:counter(lh-ol); position:absolute; left:0; top:.18em;
  width:20px; height:20px; border-radius:50%; background:var(--red); color:#fff;
  font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;
  font-family:var(--num-font,inherit);
}
.nd-body li b, .nd-body li strong { color:var(--ink); }

/* 图片：圆角卡片 + 居中 + 图注支持（编辑器插入图片即得） */
.nd-body img { display:block; max-width:100%; height:auto; margin:26px auto; border-radius:12px; box-shadow:0 6px 24px rgba(33,25,34,.08); }
.nd-body figure { margin:26px 0; text-align:center; }
.nd-body figure img { margin:0 auto 10px; }
.nd-body figcaption { font-size:13px; color:var(--ink-3); line-height:1.7; }

/* 表格：与 nd-facts 同风格 */
.nd-body table { width:100%; border-collapse:collapse; margin:24px 0; font-size:14.5px; }
.nd-body table th, .nd-body table td { border:1px solid var(--line); padding:11px 14px; text-align:left; line-height:1.8; }
.nd-body table th { background:#FAF8F5; color:var(--ink); font-weight:800; white-space:nowrap; }
.nd-body table td { color:var(--ink-2); }

/* 链接 / 分隔线 */
.nd-body a { color:var(--red); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(248,86,89,.35); }
.nd-body a:hover { border-bottom-color:var(--red); }
.nd-body hr { border:none; border-top:1px dashed var(--line); margin:30px 0; }

/* 引用来源块（.ref-source 内联样式保留），内部段落收紧 */
.nd-body .ref-source p { font-size:14px; margin:0; }

/* 移动端收紧 */
@media (max-width:720px){
  .nd-body { margin-top:20px; }
  .nd-body p { font-size:15px; line-height:1.95; margin-bottom:16px; }
  .nd-body > p:first-child { font-size:16px; }
  .nd-body h2, .nd-body h3, .nd-body h4 { font-size:17.5px; margin:26px 0 12px; }
  .nd-body ul li, .nd-body ol li { font-size:14.5px; }
  .nd-body img { margin:20px auto; }
}
