@charset "UTF-8";

/* ==========================================================================
   약관 페이지 (개인정보 처리방침 / 회원 약관) — 푸터 링크
   ========================================================================== */
.policy-page .board-header .section-description {color: var(--color-muted-sub);}

.policy-section {padding: 12rem 0 13rem; background: #f8f6f4;}
.policy {font-size: 1.8rem; line-height: 1.8; color: var(--color-text); word-break: keep-all;}
/* 회원 약관은 본문 글자가 한 단계 큼(시안) */
.policy--terms {font-size: 1.8rem; line-height: 1.8;}

.policy__intro {margin-bottom: 5rem;}
.policy__intro b {font-weight: 700;}

/* 조항 — 제목 위아래 선, 본문 */
.policy__title {padding: 2.8rem 0; border-top: 1px solid var(--color-text); border-bottom: 1px solid var(--color-text); font-size: 2rem; font-weight: 700; line-height: 1.6; color: var(--color-text);}
.policy__body {padding: 3rem 0 5rem;}
.policy__item:last-child .policy__body {padding-bottom: 0;}
.policy__body > * + * {margin-top: 3.2rem;}
/* 조항 번호(01. 02. …)만 더 굵게 */
.policy__num {font-weight: 900;}
.policy__sub {font-weight: 700;}
.policy__body b {font-weight: 700;}

/* 목록 기호 — ○(개인정보 처리방침) / -(회원 약관) */
.policy__list > li::before {content: "○ ";}
.policy__list--dash > li::before {content: "- ";}

/* 더 보기 — 모바일 전용 (접힘 대상은 policy-more.js) */
.policy__more {display: none;}

@media (max-width: 768px) {
  .policy-section {padding: clamp(5rem, 13.02vw, 10rem) 0 clamp(7.5rem, 19.53vw, 15rem);}
  .policy,
  .policy--terms {font-size: clamp(1.3rem, 3.13vw, 2.4rem); line-height: 1.8;}
  .policy__intro {margin-bottom: clamp(3.5rem, 9.11vw, 7rem);}
  .policy__title {padding: clamp(2rem, 5.21vw, 4rem) 0; font-size: clamp(1.3rem, 3.39vw, 2.6rem); line-height: 1.5;}
  .policy__body {padding: clamp(2rem, 5.21vw, 4rem) 0 clamp(3.5rem, 9.11vw, 7rem);}
  .policy__body > * + * {margin-top: clamp(2.75rem, 7.16vw, 5.5rem);}

  /* 접힌 상태: 기준 조항 이후 숨김, 마지막으로 보이는 조항 아래 여백은 버튼 위 간격(6rem)으로 */
  .policy.is-collapsed .policy__item--more {display: none;}
  .policy.is-collapsed .policy__item--last-visible .policy__body {padding-bottom: 0;}
  .policy.is-collapsed + .policy__more {display: flex; width: 100%; height: clamp(3.5rem, 9.11vw, 7rem); margin-top: clamp(3rem, 7.81vw, 6rem); padding: 0; border-color: #d7d4d2; font-size: clamp(1.3rem, 3.5vw, 2.2rem); font-weight: 400; color: var(--color-text);}
}
