@charset "utf-8";

/* 약관 팝업(푸터 개인정보처리방침·이용약관, 회원가입 약관 동의 [보기]) — 2026-10-14 고객 요청. 시안 없음.
   시안 detail.css .pop 규칙을 .tpop 로 복제(.pop 는 detail.css 를 쓰는 페이지에만 있어 전 페이지 공용 불가).
   신규 클래스만 정의 → 기존 화면 픽셀 영향 없음. 푸터(Footer)가 모든 페이지에서 로드. */
.tpop {
  --tpop-pad: 32px;
  width: min(720px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100% - 64px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: var(--c-white);
  color: var(--c-black);
  overflow: hidden;
}
.tpop[open] { display: flex; flex-direction: column; animation: tpopIn .25s ease-out; }
@keyframes tpopIn { from { opacity: 0; transform: translateY(16px); } }
.tpop::backdrop { background: rgba(0, 0, 0, .6); }
.tpop__inner { display: flex; flex-direction: column; min-height: 0; padding: var(--tpop-pad); }
.tpop__head { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tpop__tit { font-size: 24px; line-height: 32px; font-weight: 700; }
.tpop__close { flex-shrink: 0; width: 32px; height: 32px; padding: 0; translate: 12px -12px; }
.tpop__close img { display: block; width: 32px; height: 32px; }
.tpop__body {
  min-height: 0; margin-top: 20px; padding: 20px 24px; overflow-y: auto; border-radius: 12px; background: var(--c-base9);
  font-size: 15px; line-height: 26px; color: var(--c-base2); white-space: pre-wrap; overflow-wrap: anywhere;
}
.tpop__body--empty { color: var(--c-base4); text-align: center; }
html.is-pop-open { overflow: hidden; }

@media (max-width: 767px) {
  .tpop { --tpop-pad: 20px; border-radius: 16px; }
  .tpop__tit { font-size: 18px; line-height: 26px; }
  .tpop__close, .tpop__close img { width: 24px; height: 24px; }
  .tpop__close { translate: 8px -8px; }
  .tpop__body { margin-top: 16px; padding: 16px; font-size: 14px; line-height: 22px; }
}
