/* ========== 基础样式 ========== */
.article-body {
  line-height: 1.8;
  font-size: 17px;
  color: #333;
  font-family: "Microsoft YaHei", sans-serif;
}

/* ========== 标题类 ========== */
.section-title-large {
  color: #2c3e50;
  border-bottom: 3px solid #3498db;
  padding-bottom: 12px;
  margin-top: 45px;
  margin-bottom: 25px;
  font-size: 1.6em;
  font-weight: 600;
}

.sub-title-large {
  color: #1a5fb4;
  margin-top: 28px;
  margin-bottom: 15px;
  font-size: 1.25em;
  font-weight: 600;
}

/* ========== 核心摘要类 ========== */
.core-summary {
  background-color: #fff8f0;
  border-left: 5px solid #ff8c00;
  padding: 22px;
  margin: 28px 0;
  font-size: 1.08em;
  line-height: 1.75;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.strategic-significance {
  background-color: #f0f8ff;
  border-left: 5px solid #4169e1;
  padding: 25px;
  margin: 30px 0;
  line-height: 1.8;
}

/* ========== 法律要点类 ========== */
.principle-detail {
  background-color: #fff;
  border: 1px solid #ced4da;
  padding: 25px;
  margin: 30px 0;
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.05);
}

.principle-item {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px dashed #e9ecef;
}

.principle-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

/* ========== 步骤流程类 ========== */
.verification-steps {
  background-color: #f9fff9;
  border: 2px dashed #7bcfa2;
  padding: 25px;
  margin: 30px 0;
  border-radius: 8px;
}

.flow-step {
  counter-increment: step-counter;
  margin: 30px 0;
  padding-left: 70px;
  position: relative;
  line-height: 1.8;
  min-height: 60px;
}

.flow-step:before {
  content: counter(step-counter);
  background-color: #20b2aa;
  color: white;
  font-weight: bold;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.2em;
  box-shadow: 0 3px 6px rgba(32, 178, 170, 0.3);
}

.framework-step {
  counter-increment: framework-counter;
  margin-bottom: 35px;
  padding-left: 80px;
  position: relative;
  min-height: 70px;
}

.framework-step:before {
  content: counter(framework-counter);
  background-color: #4682b4;
  color: white;
  font-weight: bold;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.3em;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.step-title {
  color: #2e8b57;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 1.1em;
}

/* ========== 分析框架类 ========== */
.dimension-box {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 25px 0;
}

.dimension {
  flex: 1;
  min-width: 300px;
  padding: 20px;
  border-radius: 6px;
  border-top: 4px solid;
}

.dim-1 {
  background-color: #fff5f5;
  border-top-color: #dc3545;
}

.dim-2 {
  background-color: #f0fff4;
  border-top-color: #28a745;
}

.dim-3 {
  background-color: #f0f9ff;
  border-top-color: #17a2b8;
}

.blueprint-framework {
  background-color: #f5f5f5;
  border: 2px solid #ddd;
  padding: 25px;
  margin: 30px 0;
  border-radius: 8px;
}

/* ========== 对比表格类 ========== */
.case-contrast {
  background-color: #fffaf0;
  border: 1px solid #ffc107;
  padding: 25px;
  margin: 30px 0;
  border-radius: 6px;
}

/* ========== 提示与警告类 ========== */
.lawyer-insight {
  background-color: #fdf5e6;
  border: 2px solid #ffd700;
  padding: 20px;
  margin: 30px 0;
  border-radius: 8px;
  font-style: normal;
}

.caution-box {
  background-color: #ffe6e6;
  border: 1px solid #ff9999;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
  font-size: 0.95em;
}

.tip-box {
  background-color: #f0f9ff;
  border: 1px solid #b3e0ff;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.note-box {
  background-color: #f4f4f4;
  padding: 15px;
  margin: 20px 0;
  border-left: 4px solid #95a5a6;
  font-style: italic;
}

/* ========== 专业写作类 ========== */
.conclusion-call {
  background-color: #e6f7ff;
  border: 2px solid #1890ff;
  padding: 25px;
  margin: 35px 0;
  text-align: left;
  border-radius: 10px;
  font-weight: bold;
}

/* ========== 文本修饰类 ========== */
.key-point {
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 3px;
  border-left: 2px solid;
  display: inline-block;
}

/* 颜色变体 */
.key-point.warning { color: #e74c3c; background-color: #ffe6e6; border-left-color: #e74c3c; }
.key-point.success { color: #2e8b57; background-color: #f0fff0; border-left-color: #2e8b57; }
.key-point.info { color: #1a5fb4; background-color: #e6f3ff; border-left-color: #1a5fb4; }