/* 文档正文排版：doc-body 白名单富文本（terms.php / privacy.php 文章容器挂载）
 * 设计目标：标题与正文层次分明 —— 标题用大字号 + 加粗 + 品牌色点缀 + 分隔线，
 * 正文用柔和墨色 + 宽行距 + 紧凑段距，阅读动线一目了然。
 * 品牌变量对齐 tailwind-config.js：primary-500 #56ab2f / primary-100 #e5f5d2 / ink #111827 / line #e5e7eb。
 */

/* ===== 正文基础：柔和墨色、宽行距，长文阅读舒适 ===== */
.doc-body {
  font-size: 1rem;
  line-height: 1.9;
  color: #4b5563;              /* 正文降一档，与标题拉开对比 */
  word-break: break-word;
}

/* ===== 标题层级：字号 / 字重 / 间距逐级递减，色深递减 ===== */
.doc-body h1 {
  font-weight: 900;
  font-size: 1.65rem;
  line-height: 1.4;
  color: #111827;
  margin: 2.4rem 0 1.1rem;
  letter-spacing: -.01em;
}
.doc-body h2 {
  font-weight: 900;
  font-size: 1.375rem;
  line-height: 1.45;
  color: #111827;
  margin: 2.2rem 0 1rem;
  padding-bottom: .55rem;
  border-bottom: 2px solid #e5f5d2;      /* 章节分隔线：一眼锁定区块 */
  letter-spacing: -.005em;
}
.doc-body h3 {
  font-weight: 800;
  font-size: 1.15rem;
  line-height: 1.5;
  color: #111827;
  margin: 1.7rem 0 .8rem;
  padding-left: .7rem;
  border-left: 4px solid #a6de61;        /* 三级标题：品牌色短标 */
}
.doc-body h4 {
  font-weight: 800;
  font-size: 1.02rem;
  color: #1f2937;
  margin: 1.4rem 0 .65rem;
}
/* 首个标题不上留白（标题带已提供呼吸空间），锚点定位避开固定头部 */
.doc-body > :first-child { margin-top: 0; }
.doc-body h1, .doc-body h2, .doc-body h3, .doc-body h4 { scroll-margin-top: 132px; }

/* ===== 段落与行内元素 ===== */
.doc-body p { margin: .85rem 0; }
.doc-body strong { font-weight: 800; color: #111827; }
.doc-body a {
  color: #479426;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #cbeba0;
  text-underline-offset: .2em;
  word-break: break-all;
}
.doc-body a:hover { color: #2e5f1a; text-decoration-color: currentColor; }

/* ===== 列表：品牌色标记，行距舒展 ===== */
.doc-body ul, .doc-body ol { margin: .9rem 0; padding-left: 1.5rem; }
.doc-body ul { list-style: none; }
.doc-body ul > li { position: relative; margin: .45rem 0; }
.doc-body ul > li::before {
  content: "";
  position: absolute;
  left: -1.05rem;
  top: .78em;
  width: .42rem;
  height: .42rem;
  border-radius: 9999px;
  background: #7fc93c;
}
.doc-body ol { list-style: decimal; }
.doc-body ol > li { margin: .45rem 0; padding-left: .25rem; }
.doc-body ol > li::marker { color: #479426; font-weight: 700; }

/* ===== 引用 / 代码 / 分隔线 ===== */
.doc-body blockquote {
  border-left: 4px solid #a6de61;
  background: #f7faf4;
  border-radius: 0 .75rem .75rem 0;
  padding: .8rem 1.1rem;
  margin: 1.2rem 0;
  color: #4b5563;
}
.doc-body code {
  background: #f3fae8;
  border: 1px solid #e5f5d2;
  border-radius: .4rem;
  padding: .12rem .4rem;
  font-size: .88em;
}
.doc-body hr { border: none; border-top: 1px solid #e5e7eb; margin: 2rem 0; }

/* ===== 表格：表头品牌底色，行分隔清晰 ===== */
.doc-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.2rem 0;
  font-size: .925rem;
  line-height: 1.6;
  overflow-x: auto;
  display: block;
}
.doc-body th, .doc-body td { border: 1px solid #e5e7eb; padding: .6rem .85rem; text-align: left; }
.doc-body th { background: #f3fae8; font-weight: 800; color: #2e5f1a; }
.doc-body td { color: #4b5563; }
.doc-body tr:nth-child(even) td { background: #fafdf8; }

/* ===== 图片 ===== */
.doc-body img { max-width: 100%; height: auto; border-radius: .75rem; margin: 1rem 0; }

/* ===== 移动端：标题降档，保持层级可辨 ===== */
@media (max-width: 640px) {
  .doc-body h1 { font-size: 1.4rem; margin: 1.9rem 0 .9rem; }
  .doc-body h2 { font-size: 1.2rem; margin: 1.7rem 0 .85rem; }
  .doc-body h3 { font-size: 1.05rem; margin: 1.35rem 0 .7rem; }
  .doc-body p { margin: .75rem 0; }
}
