/* 법률 문서 본문 — 이용약관(member/terms.html, `.member-body`) · 개인정보 처리방침(home/privacy.html, `.legal-body`) 공용.
   2026-11-05 member-portal.css "이용약관" 절에서 옮김 — 선택자 특이도·값 불변(`:is()` 특이도 = `.member-body`와 같다).
   마크업 = common/_legal_doc.html 매크로. 색 변수는 member-portal.css `.member-body` 값을 기본값으로 둔다(홈 레이아웃엔 변수가 없다).
   member-portal.css 뒤에 링크한다(옮기기 전 순서와 같은 우선순위). */
:is(.member-body, .legal-body) .terms-card { font-size: 14px; line-height: 1.85; color: var(--portal-ink, #29282a); overflow-wrap: anywhere; }
:is(.member-body, .legal-body) .terms-band { margin: 0 0 16px; padding: 10px 14px; border-radius: 4px; background: #fff1e0; color: #a4480d; font-size: 14px; font-weight: 700; text-align: center; }
:is(.member-body, .legal-body) .terms-band:last-child { margin: 24px 0 0; }
:is(.member-body, .legal-body) .terms-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 24px; font-size: 12px; color: var(--portal-muted, #777277); }
:is(.member-body, .legal-body) .terms-swatch { display: inline-block; width: 11px; height: 11px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
:is(.member-body, .legal-body) .terms-swatch--confirm { background: #ffd8a8; }
:is(.member-body, .legal-body) .terms-swatch--legal { background: #f3c6e4; }
:is(.member-body, .legal-body) .terms-h1 { font-size: 25px; font-weight: 700; letter-spacing: -.04em; line-height: 1.4; margin: 8px 0 18px; }
:is(.member-body, .legal-body) .terms-h2 { font-size: 16px; font-weight: 700; line-height: 1.5; margin: 28px 0 8px; }
:is(.member-body, .legal-body) .terms-h3 { font-size: 14px; font-weight: 700; line-height: 1.5; margin: 18px 0 6px; }
:is(.member-body, .legal-body) .terms-card p { margin: 8px 0; }
:is(.member-body, .legal-body) .terms-list { margin: 6px 0; padding-left: 22px; }
:is(.member-body, .legal-body) .terms-list li { margin: 4px 0; }
:is(.member-body, .legal-body) ul.terms-list { list-style: disc; }
:is(.member-body, .legal-body) ol.terms-list { list-style: decimal; }
:is(.member-body, .legal-body) .terms-quote { margin: 10px 0; padding: 8px 14px; border-left: 3px solid var(--portal-line, #e4dedb); background: #faf9f8; }
:is(.member-body, .legal-body) .terms-rule { border: 0; border-top: 1px solid var(--portal-line, #e4dedb); margin: 28px 0; }
:is(.member-body, .legal-body) .terms-mark { padding: 1px 4px; border-radius: 3px; color: inherit; }
:is(.member-body, .legal-body) .terms-mark--confirm { background: #ffd8a8; }
:is(.member-body, .legal-body) .terms-mark--legal { background: #f3c6e4; }

@media (max-width: 540px) {
  :is(.member-body, .legal-body) .terms-h1 { font-size: 22px; }
}

/* ---------- 개인정보 처리방침(/privacy) 전용 — 홈 레이아웃(.index-body · .hm-main) 위 ---------- */
/* .hm-main h1/h2/p·ul/ol(0,1,1) 규칙을 덮는다 — 아래 규칙은 전부 (0,2,0) 이상. 이용약관(.member-body)에는 걸리지 않는다. */
.legal-body .legal-shell { width: min(100% - 2 * var(--home-gutter, 25px), 780px); margin: 56px auto 88px; min-width: 0; }
.legal-body .legal-card { background: #fff; border: 1px solid #eee9e7; border-radius: 12px; padding: 38px 42px 34px; box-shadow: 0 15px 36px rgba(42, 30, 32, .04); }
.legal-body .terms-card p { color: inherit; font-size: inherit; }
.legal-body .terms-card .terms-h2 { letter-spacing: -.02em; }

@media (max-width: 540px) {
  .legal-body .legal-shell { width: calc(100% - 32px); margin: 28px auto 56px; }
  .legal-body .legal-card { padding: 28px 22px; }
}
