/* ============================================================
   이용약관 페이지 — Figma D-rive_Branding '약관동의' 프레임(65:6339)
   1920 스테이지가 아닌 일반 문서 페이지. 600px 컬럼 가운데 정렬.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: #fff;
  font-family: 'Pretendard Variable', sans-serif;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; }

.t-page { padding: 54px 0 160px; }
.t-col { width: 600px; margin: 0 auto; }

/* ---- 헤더: 뒤로가기 + 제목 ---- */
.t-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  color: #8b95a1;
  text-decoration: none;
}
.t-back .ic { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; }
.t-title { margin-top: 24px; font-size: 24px; font-weight: 700; color: #020202; }

/* ---- 본문 카드 ---- */
.t-content { margin-top: 30px; }
.t-card { background: #fff; border-radius: 8px; padding: 8px 28px 28px; }

.t-sec + .t-sec { margin-top: 54px; }
.t-sec > * + * { margin-top: 54px; }     /* 섹션 제목 ↔ 소절 그룹 */
.t-h1 { font-size: 24px; font-weight: 700; line-height: normal; color: #020202; }
.t-h2 { font-size: 20px; font-weight: 600; line-height: normal; color: #020202; }

.t-grp > * + * { margin-top: 20px; }
.t-grp-table > * + * { margin-top: 16px; }

.t-p, .t-quote {
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  color: #8b95a1;
}
.t-confirm { color: #3e4753; }
.t-label { font-size: 14px; font-weight: 600; line-height: normal; color: #020202; }

/* ---- 목록: 번호(21px) + 8px + 본문 ---- */
.t-ol { list-style: none; }
.t-label + .t-ol { margin-top: 16px; }
.t-ol li, .t-li {
  display: flex;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  color: #8b95a1;
}
.t-ol li + li, .t-li + .t-li { margin-top: 16px; }
.t-ol .n, .t-li .n { flex: none; min-width: 21px; }

/* ---- 표: 구분(120px) + 내용 ---- */
.t-table { width: 100%; }
.t-tr { display: flex; align-items: stretch; }
.t-td {
  display: flex;
  align-items: center;
  flex: 1 0 0;
  min-width: 0;
  padding: 12px 16px;
  border-bottom: 1px solid #d1d6db;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  color: #3e4753;
  word-break: break-word;
}
.t-tr:first-child .t-td { border-top: 1px solid #d1d6db; }
.t-th { width: 120px; flex: none; align-items: flex-start; background: #f2f4f6; }
.t-head { background: #f2f4f6; }

/* ---- 모바일 ---- */
@media (max-width: 900px) {
  .t-page { padding: 32px 0 80px; }
  .t-col { width: 100%; padding: 0 20px; }
  .t-card .t-col { padding: 0; }   /* 카드가 이미 좌우 여백을 가짐 */
  .t-card { padding: 8px 20px 20px; }
  .t-title { font-size: 22px; }
  .t-h1 { font-size: 20px; }
  .t-h2 { font-size: 17px; }
  .t-sec + .t-sec, .t-sec > * + * { margin-top: 40px; }
  .t-th { width: 92px; padding: 12px; }
  .t-td { padding: 12px; }
}
