/*
 * Picks 법적 문서 진입(허브) 페이지 공용 스타일.
 *
 * legal/index.html(영어 기본)과 legal/<lang>/index.html(kr/jp/id/zh/vi/ph/sg/th)이 공유한다.
 * 개인정보 처리방침(privacy/)·이용약관(terms/) 중 하나를 고르는 랜딩 화면 전용이며,
 * 문서 본문 스타일(privacy/assets/style.css, terms/assets/style.css)과는 별개다.
 * 디자인 토큰은 앱 팔레트를 따른다 (accent #9810FA → #E60076, bg #F9FAFB, text #364153).
 */

:root {
  --accent: #9810FA;          /* 브랜드 보라색 강조색 */
  --accent-2: #E60076;        /* 브랜드 핑크(그라디언트 끝) */
  --accent-weak: #FAF5FF;     /* 강조색의 옅은 배경 */
  --accent-border: #E9D4FF;   /* 강조색 계열 보더 */
  --text: #364153;            /* 본문 텍스트 */
  --heading: #1B1F27;         /* 제목 텍스트 */
  --muted: #6B7280;           /* 보조 텍스트 */
  --border: #E5E7EB;          /* 기본 보더 */
  --border-strong: #D1D5DC;   /* 강한 보더 */
  --surface: #FFFFFF;         /* 표면(카드) 배경 */
  --bg: #F9FAFB;              /* 페이지 배경 */
  --radius: 16px;             /* 카드 모서리 둥글기 */
  --shadow: 0 10px 30px rgba(17, 24, 39, 0.10);
  --maxw: 560px;              /* 본문 최대 너비 */
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--text);
  /* Pretendard 가 설치돼 있으면 사용하고, 없으면 시스템 폰트로 폴백한다. */
  font-family: 'Pretendard', 'Pretendard Variable', -apple-system, BlinkMacSystemFont,
    'Apple SD Gothic Neo', 'Segoe UI', 'Noto Sans KR', 'Hiragino Sans', 'Yu Gothic',
    'Noto Sans Thai', Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ── 상단 바 (브랜드 로고) ──────────────────────────────── */
.topbar {
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
}
.topbar-inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
}
.brand-logo { display: block; height: 26px; width: auto; }

/* ── 본문 ───────────────────────────────────────────────── */
.hub {
  flex: 1;
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 48px 20px 32px;
}
.hub-head { margin: 0 0 28px; }
.hub-title {
  font-size: 26px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--heading);
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.hub-sub { margin: 0; color: var(--muted); font-size: 14px; }

/* ── 선택 카드 ──────────────────────────────────────────── */
.cards { display: grid; gap: 14px; }
.card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background 0.15s ease;
}
.card:hover {
  background: #FCFAFF;
  border-color: var(--accent-border);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.card:focus-visible {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(152, 16, 250, 0.18);
}
/* 아이콘 컨테이너 — 강조색 그라디언트 원형 배경 */
.card-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
  color: #FFFFFF;
}
.card-icon svg { width: 24px; height: 24px; }
.card-text { flex: 1; min-width: 0; }
.card-text h2 {
  font-size: 17px;
  font-weight: 700;
  color: var(--heading);
  letter-spacing: -0.01em;
  margin: 0 0 2px;
}
.card-text p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.card-chevron {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--border-strong);
  transition: color 0.15s ease, transform 0.15s ease;
}
.card:hover .card-chevron { color: var(--accent); transform: translateX(2px); }

/* ── 하단 ───────────────────────────────────────────────── */
.footer-note {
  max-width: var(--maxw);
  margin: 0 auto;
  width: 100%;
  padding: 24px 20px 36px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .hub { padding: 36px 18px 24px; }
  .hub-title { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
