/* ============================================================
   fo_terms_richtext.css — 회원가입 약관 본문(CKEditor rich-text) 표시 스타일
   ------------------------------------------------------------
   약관 본문(INNO_STPLAT.STPLAT_CN)은 정책페이지(INNO_POLICY)와 동일한
   plain semantic HTML(h2/h3/p/ul/ol/li/table.policy-table)이다.
   정책페이지는 .policy-content 스코프(policy.css)로 스타일을 받지만,
   회원가입 약관 화면(.terms__content)과 약관 동의 모달(.fo-terms-modal-term-body)
   에는 그 스코프/CSS가 없어 표·리스트가 브라우저 기본값으로 렌더된다.
   이 파일은 두 컨테이너에 동일한 rich-text 스타일을 부여한다.
   - 수치는 policy.css 의 .policy-table 규칙을 차용.
   - 두 컨텍스트(토큰 로드 ○ / 모달 하드코딩 관례) 공용이므로
     var(--token, #hex) 형태로 폴백을 둬 토큰 미로드 시에도 안전.
   ============================================================ */

/* ---------- 표 ---------- */
.terms__content table,
.fo-terms-modal-term-body table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-4, 16px) 0 var(--space-6, 24px);
  font-size: var(--fs-body-sm, 0.9375rem);
}

.terms__content th,
.terms__content td,
.fo-terms-modal-term-body th,
.fo-terms-modal-term-body td {
  border: 1px solid var(--color-gray-300, #dcdfe3);
  padding: var(--space-2, 8px) var(--space-3, 12px);
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
  word-break: break-word;
}

.terms__content thead th,
.fo-terms-modal-term-body thead th {
  background: var(--color-gray-100, #f3f5f7);
  font-weight: var(--fw-bold, 700);
  color: var(--color-gray-900, #1a1d20);
}

.terms__content tbody th,
.fo-terms-modal-term-body tbody th {
  background: var(--color-gray-50, #f9fafb);
  font-weight: var(--fw-medium, 500);
}

/* ---------- 제목 ---------- */
.terms__content h2,
.fo-terms-modal-term-body h2 {
  margin: var(--space-6, 24px) 0 var(--space-3, 12px);
  font-size: var(--fs-body, 1rem);
  font-weight: var(--fw-bold, 700);
  color: var(--color-gray-900, #1a1d20);
}

.terms__content h3,
.fo-terms-modal-term-body h3 {
  margin: var(--space-4, 16px) 0 var(--space-2, 8px);
  font-size: var(--fs-body-sm, 0.9375rem);
  font-weight: var(--fw-medium, 600);
  color: var(--color-gray-800, #343a40);
}

/* 첫 제목 상단 여백 제거 */
.terms__content > h2:first-child,
.terms__content > h3:first-child,
.fo-terms-modal-term-body > h2:first-child,
.fo-terms-modal-term-body > h3:first-child {
  margin-top: 0;
}

/* ---------- 문단 ---------- */
.terms__content p,
.fo-terms-modal-term-body p {
  margin: 0 0 var(--space-3, 12px);
  line-height: 1.7;
}

/* ---------- 리스트 ---------- */
.terms__content ul,
.terms__content ol,
.fo-terms-modal-term-body ul,
.fo-terms-modal-term-body ol {
  margin: 0 0 var(--space-3, 12px);
  padding-left: 1.4em;
}

.terms__content ul,
.fo-terms-modal-term-body ul {
  list-style: disc;
}

.terms__content ol,
.fo-terms-modal-term-body ol {
  list-style: decimal;
}

.terms__content li,
.fo-terms-modal-term-body li {
  margin-bottom: var(--space-1, 4px);
  line-height: 1.7;
}
