/* legal.css — 사업자 정보 푸터 + 법정 문서(약관/개인정보/환불) 공용 스타일.
   tokens.css 변수 재사용, 값 없으면 안전한 폴백. 다크 코스믹 톤 유지. */

/* 독립 페이지(terms/privacy/refund/payment-result)는 styles.css를 안 실어 body가 무배경(=흰색 폴백)이었다
   — 밝은 텍스트가 흰 바탕에 떠 가독 불능(UX 감사 실측). 다크 캔버스를 여기서 칠한다. */
body {
  margin: 0;
  background: var(--color-bg-canvas, #0A0817);
  color: var(--color-text-primary, #ECEAF6);
  font-family: var(--font-sans, 'Pretendard', -apple-system, sans-serif);
}

.biz-footer {
  max-width: 860px;
  margin: 56px auto 0;
  padding: 28px max(22px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));
  border-top: 1px solid var(--color-border, rgba(255, 255, 255, 0.1));
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--color-text-secondary, #9aa4b2);
}
.biz-footer .biz-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-bottom: 16px;
  font-size: 0.86rem;
}
.biz-footer .biz-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px; /* 44px 터치 타깃 */
  color: var(--color-text-secondary, #9aa4b2);
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color 0.15s;
}
.biz-footer .biz-links a:hover {
  color: var(--color-accent, #5be0a0);
  text-decoration: underline;
}
.biz-footer .biz-links strong {
  color: var(--color-text-primary, #e8ecf3);
  font-weight: 800;
}
.biz-footer .biz-cs {
  margin-bottom: 14px;
  font-size: 0.8rem;
  opacity: 0.85;
}
.biz-footer .biz-info a {
  color: var(--color-accent, #5be0a0);
  text-underline-offset: 3px;
}
.biz-footer .biz-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 24px;
  margin: 0 0 16px;
}
.biz-footer .biz-row {
  display: flex;
  gap: 8px;
  min-width: 0;
}
.biz-footer .biz-row dt {
  flex: 0 0 auto;
  min-width: 92px;
  color: var(--color-text-tertiary, #6b7280);
  font-weight: 700;
}
.biz-footer .biz-row dd {
  margin: 0;
  min-width: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.biz-footer .biz-missing {
  color: #ff8a8a;
  font-weight: 700;
}
.biz-footer .biz-copyright {
  margin-top: 8px;
  font-size: 0.78rem;
  opacity: 0.7;
}
@media (max-width: 600px) {
  .biz-footer .biz-info {
    grid-template-columns: 1fr;
  }
}

/* ── 법정 문서 페이지 ── */
.legal-doc {
  max-width: 800px;
  margin: 0 auto;
  padding: 48px max(22px, env(safe-area-inset-right)) 24px max(22px, env(safe-area-inset-left));
  color: var(--color-text-primary, #e8ecf3);
  line-height: 1.85;
  word-break: keep-all;
}
.legal-doc .legal-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px; /* 44px 터치 타깃 */
  margin-bottom: 20px;
  font-size: 0.86rem;
  color: var(--color-text-secondary, #9aa4b2);
  text-decoration: none;
}
.legal-doc .legal-back:hover {
  color: var(--color-accent, #5be0a0);
}
.legal-doc h1 {
  font-family: var(--font-display, 'Poppins', sans-serif);
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--color-text-primary, #e8ecf3);
}
.legal-doc .legal-updated {
  font-size: 0.82rem;
  color: var(--color-text-tertiary, #6b7280);
  margin-bottom: 28px;
}
.legal-doc h2 {
  font-size: 1.08rem;
  font-weight: 800;
  margin: 32px 0 10px;
  color: var(--color-accent, #5be0a0);
}
.legal-doc h3 {
  font-size: 0.98rem;
  font-weight: 700;
  margin: 18px 0 6px;
}
.legal-doc p,
.legal-doc li {
  font-size: 0.92rem;
  color: var(--color-text-secondary, #c2c9d4);
}
.legal-doc ul,
.legal-doc ol {
  padding-left: 20px;
  margin: 8px 0;
}
.legal-doc li {
  margin: 4px 0;
}
.legal-doc table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 0.86rem;
  display: block;           /* 열 많은 표(국외이전 5열 등)는 페이지 대신 표 자체가 가로 스크롤 */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.legal-doc table thead,
.legal-doc table tbody { display: table; width: 100%; min-width: 560px; border-collapse: collapse; }
.legal-doc th,
.legal-doc td {
  border: 1px solid var(--color-border, rgba(255, 255, 255, 0.12));
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
  color: var(--color-text-secondary, #c2c9d4);
}
.legal-doc th {
  background: var(--color-surface, rgba(255, 255, 255, 0.04));
  font-weight: 700;
  color: var(--color-text-primary, #e8ecf3);
}
.legal-doc .legal-note {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--color-surface, rgba(255, 255, 255, 0.04));
  font-size: 0.86rem;
}
.legal-doc strong {
  color: var(--color-text-primary, #e8ecf3);
  font-weight: 700;
}
