/* ============================================================
   typography.css - 排版样式
   定义标题、段落、列表等文字排印规范
   ============================================================ */

/* ---------- 标题样式 ---------- */
.section-title {
  font-family: var(--font-serif);
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  line-height: 1.3;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: var(--spacing-xl);
}

.section-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 3px;
  background-color: var(--color-primary);
}

.section-title--center {
  text-align: center;
}

.section-title--center::after {
  left: 50%;
  transform: translateX(-50%);
}

.section-title__en {
  display: block;
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-tertiary);
  letter-spacing: 2px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.section-title__sub {
  display: block;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-secondary);
  margin-top: 8px;
}

/* ---------- 章节小标题 ---------- */
.block-title {
  font-family: var(--font-serif);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: 1.4;
  position: relative;
  padding-left: 14px;
  margin-bottom: var(--spacing-lg);
}

.block-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  background-color: var(--color-primary);
  border-radius: 2px;
}

/* ---------- 段落 ---------- */
.paragraph {
  font-size: var(--font-size-base);
  line-height: 1.8;
  color: var(--color-text-regular);
  text-align: justify;
  text-indent: 2em;
  margin-bottom: var(--spacing-base);
}

.paragraph--no-indent {
  text-indent: 0;
}

/* ---------- 文字颜色辅助类 ---------- */
.text-primary { color: var(--color-primary); }
.text-secondary { color: var(--color-secondary); }
.text-accent { color: var(--color-accent); }
.text-muted { color: var(--color-text-secondary); }
.text-light { color: var(--color-text-tertiary); }
.text-white { color: #fff; }

/* ---------- 文字对齐 ---------- */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

/* ---------- 字号辅助 ---------- */
.text-xs { font-size: var(--font-size-xs); }
.text-sm { font-size: var(--font-size-sm); }
.text-base { font-size: var(--font-size-base); }
.text-lg { font-size: var(--font-size-lg); }
.text-xl { font-size: var(--font-size-xl); }
.text-2xl { font-size: var(--font-size-2xl); }
.text-3xl { font-size: var(--font-size-3xl); }
