/* ═══════════════════════════════════════════════════════════════
   财小云 V2.2 — 知识中心页（内容线：清、整、导 · 杂志式目录）
   依赖：tokens.css / base.css / home.css / components.css
   版式家族：轻 hero + 口诀带 / 杂志头条 / 编辑列表 / 编号列表 /
   词条列表 / 日历横幅 / 资源横幅 / 工具卡网格（≥4 达标）
   ═══════════════════════════════════════════════════════════════ */

/* ────────── 轻 hero（内容线：短标题条，不用大 hero 材质）────────── */
.kw-hero { padding: var(--cxy-space-10) 0 var(--cxy-space-9); }
.kw-hero .hero-sub { max-width: 34em; }
.kw-hero h1 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: clamp(2rem, 1.4rem + 2.4vw, var(--cxy-size-h1));   /* 内容页 40px 档，不用营销页 64px */
  line-height: var(--cxy-leading-tight); letter-spacing: var(--cxy-tracking-display);
  color: var(--cxy-ink); margin: var(--cxy-space-5) 0 var(--cxy-space-4);
}
/* 分类导览口诀带并入轻 hero 底部（与 AI 页 hero-creed 同语言） */
.kw-hero-creed { margin-top: var(--cxy-space-8); padding-top: var(--cxy-space-6); border-top: var(--cxy-border-hairline) solid var(--cxy-border); }

/* ────────── 杂志头条（复用首页 .art-grid 杂志布局）────────── */
.kw-feature .art-grid { margin-top: var(--cxy-space-7); }

/* ────────── 文章列表三版式 ────────── */
/* ① 编辑式文章列表（政策解读）：hairline 分隔，扫描优先 */
.kw-list { list-style: none; margin-top: var(--cxy-space-7); }
.kw-list > li { border-top: var(--cxy-border-hairline) solid var(--cxy-border); }
.kw-list > li:last-child { border-bottom: var(--cxy-border-hairline) solid var(--cxy-border); }
.kw-list a {
  display: grid; grid-template-columns: 1fr auto; gap: var(--cxy-space-3) var(--cxy-space-6);
  align-items: baseline; padding: var(--cxy-space-4) 0;
  transition: background var(--cxy-duration-fast) var(--cxy-ease-standard);
}
.kw-list .kw-list-d { grid-column: 1; }
.kw-list .kw-list-go { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.kw-list a:hover .kw-list-t { color: var(--cxy-action); }
.kw-list-t { display: block; font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); line-height: var(--cxy-leading-snug); transition: color var(--cxy-duration-fast) var(--cxy-ease-standard); }
.kw-list-d { display: block; font-size: var(--cxy-size-sm); color: var(--cxy-muted); line-height: var(--cxy-leading-body); }
.kw-list-go { font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold); color: var(--cxy-action); white-space: nowrap; }
/* 触控与可读性：列表锚点整行可点且 ≥44px */
.kw-list a, .kw-num-list a, .kw-term-list a { min-height: 44px; }
/* ② 编号列表（实操指南）：复用 edit-num 语言 */
.kw-num-list { list-style: none; margin-top: var(--cxy-space-7); counter-reset: kwnum; }
.kw-num-list > li {
  counter-increment: kwnum;
  display: grid; grid-template-columns: 64px 1fr; gap: var(--cxy-space-5);
  padding: var(--cxy-space-4) 0;
  border-top: var(--cxy-border-hairline) solid var(--cxy-border);
}
.kw-num-list > li:last-child { border-bottom: var(--cxy-border-hairline) solid var(--cxy-border); }
.kw-num-list > li::before {
  content: counter(kwnum, decimal-leading-zero);
  font-family: var(--cxy-font-num); font-weight: var(--cxy-weight-semibold);
  font-size: var(--cxy-size-h3); color: var(--cxy-blue); line-height: var(--cxy-leading-snug);
}
.kw-num-list a { display: block; }
.kw-num-list .kw-list-d { margin-top: var(--cxy-space-1); }
/* ③ 词条式列表（财税百科）：词 + 一行释义 */
.kw-term-list { list-style: none; margin-top: var(--cxy-space-7); }
.kw-term-list > li {
  padding: var(--cxy-space-5);
  border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); background: var(--cxy-surface-card);
  box-shadow: var(--cxy-elevation-1);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out), box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.kw-term-list > li + li { margin-top: var(--cxy-space-4); }
.kw-term-list > li:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-2); }
/* V22-A5：原 auto 1fr auto 三列被长标题 max-content 撑爆（描述列≈0 竖排塌陷）。
   改为「标题+描述 body 弹性列 + 箭头列」；min-width:0 是 grid 弹性列收敛的必要条件。 */
.kw-term-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--cxy-space-5); align-items: center; }
.kw-term-body { display: block; min-width: 0; }
.kw-term-body .kw-term-d { margin-top: var(--cxy-space-2); }
.kw-term-t { display: block; font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); line-height: var(--cxy-leading-snug); }
.kw-term-d { display: block; font-size: var(--cxy-size-sm); color: var(--cxy-muted); line-height: var(--cxy-leading-body); }
.kw-term-list a:hover .kw-term-t { color: var(--cxy-action); }

/* ────────── 征期日历横幅（左文右示意卡）────────── */
.kw-cal { display: grid; grid-template-columns: 7fr 5fr; gap: var(--cxy-space-10); align-items: center; }
.kw-cal-text h2 {
  font-family: var(--cxy-font-cn); font-weight: var(--cxy-weight-heavy);
  font-size: clamp(var(--cxy-size-h3), 1.1rem + 1.4vw, var(--cxy-size-h2));
  color: var(--cxy-ink); margin: var(--cxy-space-4) 0 var(--cxy-space-3);
}
.kw-cal-text p { color: var(--cxy-text); font-size: var(--cxy-size-body); max-width: 30em; margin-bottom: var(--cxy-space-6); }
.kw-cal-card {
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); padding: var(--cxy-space-6);
  box-shadow: var(--cxy-elevation-1);
}
.kw-cal-label {
  display: block; font-family: var(--cxy-font-display); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-semibold); letter-spacing: var(--cxy-tracking-label);
  text-transform: uppercase; color: var(--cxy-muted); margin-bottom: var(--cxy-space-3);
}
.kw-cal-list { list-style: none; }
.kw-cal-list li { display: flex; align-items: center; gap: var(--cxy-space-2); padding: var(--cxy-space-2) 0; font-size: var(--cxy-size-sm); color: var(--cxy-ink-2); }
.kw-cal-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.kw-cal-dot.g { background: var(--cxy-positive); }
.kw-cal-dot.y { background: var(--cxy-warning); }
.kw-cal-dot.b { background: var(--cxy-action); }
.kw-cal-time { margin-left: auto; font-size: var(--cxy-size-caption); color: var(--cxy-muted); font-variant-numeric: tabular-nums; }
.kw-cal-note { margin-top: var(--cxy-space-3); font-size: var(--cxy-size-label); color: var(--cxy-muted); }

/* ────────── 资源导览横幅 ×3（术语库 / FAQ / 区域）────────── */
.kw-res { display: grid; gap: var(--cxy-space-4); margin-top: var(--cxy-space-7); }
.kw-res-item {
  display: flex; align-items: center; justify-content: space-between; gap: var(--cxy-space-6);
  padding: var(--cxy-space-6) var(--cxy-space-7);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-xl); box-shadow: var(--cxy-elevation-1);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out),
              box-shadow var(--cxy-duration-base) var(--cxy-ease-out),
              border-color var(--cxy-duration-base) var(--cxy-ease-standard);
}
.kw-res-item:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-2); border-color: var(--cxy-border-strong); }
.kw-res-item h3 { font-size: var(--cxy-size-title); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: var(--cxy-space-2) 0 var(--cxy-space-1); }
.kw-res-item p { font-size: var(--cxy-size-sm); color: var(--cxy-muted); max-width: 46em; }
.kw-res-go { flex: none; font-size: var(--cxy-size-sm); font-weight: var(--cxy-weight-semibold); color: var(--cxy-action); white-space: nowrap; }

/* ────────── 速查工具卡网格 ────────── */
.kw-tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--cxy-space-5); margin-top: var(--cxy-space-7); }
.kw-tool-card {
  display: flex; flex-direction: column;
  padding: var(--cxy-space-6);
  background: var(--cxy-surface-card); border: var(--cxy-border-hairline) solid var(--cxy-border);
  border-radius: var(--cxy-radius-lg); box-shadow: var(--cxy-elevation-1);
  transition: transform var(--cxy-duration-base) var(--cxy-ease-out), box-shadow var(--cxy-duration-base) var(--cxy-ease-out);
}
.kw-tool-card:hover { transform: translateY(-2px); box-shadow: var(--cxy-elevation-2); }
.kw-tool-card h3 { font-size: var(--cxy-size-body); font-weight: var(--cxy-weight-bold); color: var(--cxy-ink); margin: var(--cxy-space-3) 0 var(--cxy-space-2); }
.kw-tool-card p { font-size: var(--cxy-size-sm); color: var(--cxy-muted); line-height: var(--cxy-leading-body); flex: 1; }
.kw-tool-card .acard-read { margin-top: var(--cxy-space-4); }

/* ────────── 响应式 ────────── */
@media (max-width: 960px) {
  .kw-cal { grid-template-columns: 1fr; gap: var(--cxy-space-7); }
}
@media (max-width: 768px) {
  .kw-list a { grid-template-columns: 1fr; }
  .kw-list-go { grid-column: 1; grid-row: auto; justify-self: start; }
  .kw-term-list a { grid-template-columns: 1fr; gap: var(--cxy-space-2); }
  .kw-res-item { flex-direction: column; align-items: flex-start; gap: var(--cxy-space-3); }
}

/* ═══ 细节轮：箭头统一 / 百科卡居中 / 工具箱分组（Haning 反馈）═══ */

/* ── 淡色右上小箭头（chevron ↗）：替代「阅读全文 →」文字 ── */
.arr-ne::after {
  content: ""; flex: none; width: 9px; height: 9px;
  border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor;
  transform: translateY(-1px);   /* ┐ 即指向右上角 ↗，不再旋转 */
}
/* 纯箭头态：隐藏文字，只留淡色箭头，hover 提亮；透明扩展 44px 点击盒 */
.acard-read, .kw-list-go {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px;
  font-size: 0; color: var(--cxy-muted);
  transition: color var(--cxy-duration-fast) var(--cxy-ease-standard);
}
.acard-read::after, .kw-list-go::after {
  content: ""; width: 9px; height: 9px;
  border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor;
  transform: translateY(-1px);   /* ┐ 即指向右上角 ↗，不再旋转 */
}
.kw-list a:hover .kw-list-go,
.acard:hover .acard-read,
.kw-term-list li:hover .kw-list-go,
.kw-tool-card:hover .acard-read { color: var(--cxy-action); }

/* ── 百科词条卡：内容垂直居中 ── */
.kw-term-list a { align-items: center; }

/* ── 工具箱分组小标签 ── */
.kw-group-label {
  display: flex; align-items: center; gap: var(--cxy-space-3);
  margin: var(--cxy-space-8) 0 var(--cxy-space-4);
  font-family: var(--cxy-font-display); font-size: var(--cxy-size-label);
  font-weight: var(--cxy-weight-semibold); letter-spacing: var(--cxy-tracking-label);
  text-transform: uppercase; color: var(--cxy-muted);
}
.kw-group-label:first-child { margin-top: var(--cxy-space-7); }
.kw-group-label::after { content: ""; flex: 1; height: 1px; background: var(--cxy-border); }
.kw-res { margin-top: 0; }
/* 资源条目内的入口箭头：淡色，hover 提亮（保留文字，去掉内嵌 → 字符） */
.kw-res-go { display: inline-flex; align-items: center; gap: var(--cxy-space-2); color: var(--cxy-muted); transition: color var(--cxy-duration-fast) var(--cxy-ease-standard); }
.kw-res-go::after {
  content: ""; width: 9px; height: 9px;
  border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor;
  transform: translateY(-1px);   /* ┐ 即指向右上角 ↗，不再旋转 */
}
.kw-res-item:hover .kw-res-go { color: var(--cxy-action); }

/* ── V16 回迁（260720）：征期日历横幅 CTA 排 + 示意卡侧栏 ── */
.kw-cal-cta { display: flex; gap: var(--cxy-space-3); flex-wrap: wrap; }
.kw-cal-side { display: flex; justify-content: center; }
@media (max-width: 960px) {
  .kw-cal { grid-template-columns: 1fr; gap: var(--cxy-space-7); }
}
