/* ============================================================
   Here Me — 약관/방침 페이지 공용 스타일 (정적 페이지, 런타임 불필요)
   fonts.css → policy.css → responsive.css 순서로 로드
   ============================================================ */
:root {
  --primary: #3a6b52;
  --primary-d: #2c5240;
  --primary-dd: #16291f;
  --glow: #5fd3a0;
  --mint: #9beec6;
  --warm: #f08a6b;
  --cream: #f4f2ea;
  --paper: #fbfaf5;
  --ink: #19231d;
  --muted: #5e6e64;
  --disp: "GmarketSansBold", "Jua", "Noto Sans KR", sans-serif;
  --body: "Pretendard", "Noto Sans KR", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
/* 스크롤바 숨김 (스크롤 기능은 유지) */
html, body { scrollbar-width: none; -ms-overflow-style: none; }
*::-webkit-scrollbar { display: none; width: 0; height: 0; }
body {
  margin: 0;
  background: var(--cream);
  font-family: var(--body);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--glow); color: var(--primary-dd); }

/* 헤더 hover (런타임 없는 정적 페이지용) */
#hm-nav a:hover { color: var(--primary); }

/* 탭 (이용약관 / 개인정보처리방침 / 위치기반서비스) */
.pol-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 32px;
}
.pol-tab {
  all: unset;
  cursor: pointer;
  font-family: var(--disp);
  font-size: 14px;
  padding: 9px 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(58, 107, 82, 0.15);
  color: var(--muted);
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
.pol-tab:hover { border-color: rgba(58, 107, 82, 0.4); transform: translateY(-1px); }
.pol-tab.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-d));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 8px 22px -8px rgba(58, 107, 82, 0.5);
}
.pol-panel[hidden] { display: none; }
.pol-date { color: var(--muted); font-size: 14px; margin: 0 0 26px; }

/* 본문 */
.policy-body h2 {
  font-family: var(--disp);
  font-size: 18px;
  color: var(--ink);
  margin: 30px 0 10px;
  letter-spacing: -.2px;
}
.policy-body h2:first-child { margin-top: 0; }
.policy-body p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.85;
  margin: 0 0 12px;
}
.policy-body p:last-child { margin-bottom: 0; }
.policy-body ul {
  margin: 6px 0 12px;
  padding-left: 20px;
}
.policy-body li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
  margin: 3px 0;
}
.pol-intro {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.85;
  margin: 0 0 26px;
  padding: 16px 18px;
  background: rgba(95, 211, 160, 0.08);
  border-left: 3px solid var(--primary);
  border-radius: 8px;
}
.policy-body h3 {
  font-family: var(--disp);
  font-size: 15.5px;
  color: var(--ink);
  margin: 16px 0 8px;
  letter-spacing: -.2px;
}
.pol-table-wrap { overflow-x: auto; margin: 10px 0 16px; }
.policy-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.policy-body th,
.policy-body td {
  border: 1px solid rgba(58, 107, 82, 0.16);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  color: var(--muted);
  line-height: 1.6;
}
.policy-body th {
  background: rgba(95, 211, 160, 0.1);
  color: var(--ink);
  font-weight: 700;
  white-space: nowrap;
}
