/*
 * 조달메이트 법적 문서 전용 스타일
 * 공통 헤더/푸터/버튼/테마는 common.css 및 ui-system.css를 사용하고
 * 이 파일에서는 약관/개인정보 문서 본문 표현만 관리한다.
 */
.legal-page { padding: var(--ui-page-top, 34px) 0 72px; }
.legal-container { max-width: 1180px; }
html[data-layout="wide"] .legal-container { max-width: 1500px; }
.legal-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.legal-title-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.legal-title-line h1 { margin:0; color:var(--text); font-size:24px; line-height:1.2; letter-spacing:-.035em; }
.legal-title-line span { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:7px; background:color-mix(in srgb, #38bdf8 13%, var(--surface)); color:#1686bd; font-size:10px; font-weight:850; letter-spacing:.055em; }
.legal-page-head p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.legal-effective { flex:0 0 auto; color:var(--muted); font-size:12px; font-weight:700; }
.legal-document { padding:30px 34px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-sm, 0 4px 16px rgba(15,23,42,.04)); }
.legal-document section + section { margin-top:30px; padding-top:28px; border-top:1px solid var(--line); }
.legal-document h2 { margin:0 0 12px; color:var(--text); font-size:16px; line-height:1.45; letter-spacing:-.02em; }
.legal-document p, .legal-document li, .legal-document dd, .legal-document dt { color:var(--text); font-size:13px; line-height:1.85; word-break:keep-all; }
.legal-document p { margin:0; }
.legal-document p + p { margin-top:10px; }
.legal-document ol, .legal-document ul { margin:0; padding-left:22px; }
.legal-document li + li { margin-top:6px; }
.legal-document a { color:var(--brand); text-decoration:none; }
.legal-document a:hover { text-decoration:underline; }
.legal-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.legal-table th, .legal-table td { padding:12px 14px; border:1px solid var(--line); vertical-align:top; text-align:left; font-size:12px; line-height:1.7; }
.legal-table th { background:var(--surface-2); color:var(--text); font-weight:800; }
.legal-table th:first-child, .legal-table td:first-child { width:180px; }
.legal-definition { margin:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.legal-definition > div { display:grid; grid-template-columns:160px minmax(0,1fr); }
.legal-definition > div + div { border-top:1px solid var(--line); }
.legal-definition dt, .legal-definition dd { margin:0; padding:10px 14px; }
.legal-definition dt { background:var(--surface-2); color:var(--muted); font-weight:750; }
@media (max-width: 760px) {
  .legal-page-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .legal-document { padding:22px 18px; }
  .legal-document p, .legal-document li, .legal-document dd, .legal-document dt { word-break:normal; }
  .legal-table { display:block; overflow-x:auto; white-space:normal; }
  .legal-table th:first-child, .legal-table td:first-child { width:130px; min-width:130px; }
  .legal-definition > div { grid-template-columns:1fr; }
  .legal-definition dd { border-top:1px solid var(--line); }
}


/* 회원가입 약관 iframe 전용: 사이트 헤더/푸터 없이 문서 본문만 표시 */
.legal-embed-body { margin: 0; min-width: 0; background: var(--surface); overflow-x: hidden; }
.legal-embed-body .legal-page { padding: 0; background: var(--surface); }
.legal-embed-body .legal-container { width: auto; max-width: none; margin: 0; padding: 14px 16px 18px; }
.legal-embed-body .legal-page-head { margin-bottom: 12px; padding-bottom: 10px; }
.legal-embed-body .legal-title-line h1 { font-size: 17px; }
.legal-embed-body .legal-title-line span { font-size: 9px; }
.legal-embed-body .legal-page-head > div > p,
.legal-embed-body .legal-effective { font-size: 10px; }
.legal-embed-body .legal-document { box-shadow: none; border-radius: 10px; }
.legal-embed-body .legal-document section { padding: 13px 14px; }
.legal-embed-body .legal-document h2 { font-size: 13px; }
.legal-embed-body .legal-document p,
.legal-embed-body .legal-document li { font-size: 11px; line-height: 1.7; }
