/* 정책 페이지: 기존 서브 헤더·그리드·여백 토큰 사용 */
.policy-visual .sub-visual__image { height: 100%; }
.policy-visual h1 { word-break: keep-all; overflow-wrap: anywhere; }
.policy-section { padding-block: var(--tf-content-space); }
.policy-document { display: flex; min-width: 0; flex-direction: column; gap: var(--number-40); scroll-margin-top: 7.5rem; }
.policy-document > h2 { margin: 0; font-size: var(--tf-text-page-title, 2.5rem); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.policy-document[hidden] { display: none; }
.policy-document__meta { margin: 0; color: var(--color-text-normal); font-size: 1rem; line-height: 1.5; }
/* 에디터 본문은 기존 정책 블록과 같은 간격·본문 기준을 사용합니다. */
.policy-editor-content { display: flex; min-width: 0; flex-direction: column; gap: var(--number-40); font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.policy-editor-content > :first-child { margin-top: 0; }
.policy-editor-content > :last-child { margin-bottom: 0; }
.policy-editor-content p { margin: 0; }
.policy-editor-content h2, .policy-editor-content h3, .policy-editor-content h4 { margin: 0; font-size: var(--tf-text-item-title, 1.5rem); font-weight: 500; line-height: 1.5; word-break: keep-all; }
.policy-editor-content img, .policy-editor-content video { max-width: 100%; height: auto; }
.policy-editor-content ul, .policy-editor-content ol { margin: 0; padding-left: 1.5rem; }
.policy-editor-content a { text-decoration: underline; text-underline-offset: .125rem; }
.policy-editor-content blockquote { margin: 0; border-left: 3px solid var(--color-border-normal); padding-left: 1.25rem; }
.policy-editor-content table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.5; }
.policy-editor-content th, .policy-editor-content td { border: 1px solid var(--color-text-normal); padding: .5rem 1.25rem; vertical-align: top; overflow-wrap: anywhere; }
.policy-version { white-space: normal; }
.policy-block { display: flex; flex-direction: column; gap: var(--number-4); }
.policy-block h3 { margin: 0; font-size: var(--tf-text-item-title, 1.5rem); font-weight: 500; line-height: 1.5; letter-spacing: -.01em; }
.policy-copy, .policy-subheading { font-size: 1rem; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.policy-copy p, .policy-copy ol { margin: 0; }
.policy-copy ol { padding-left: var(--number-24); }
.policy-copy .policy-copy__paragraph { margin-top: 1.5rem; }
.policy-copy a { text-decoration: underline; text-underline-offset: .125rem; }
.policy-subheading { margin: 0; padding-inline: var(--number-20); }

/* 개인정보처리방침: 본문 9컬럼, 문서 메뉴 2컬럼 */
.policy-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--tf-gutter); align-items: start; }
.policy-layout > .policy-document { grid-column: 1 / span 9; }
.policy-documents { grid-column: 11 / -1; min-width: 0; overflow: hidden; border: 1px solid var(--color-border-normal); border-radius: var(--number-12); }
.policy-documents h2 { margin: 0; padding: var(--number-8) var(--number-20); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.policy-documents a { display: block; padding: var(--number-12) var(--number-20); color: var(--color-primary-normal); background: var(--color-background-alt); font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.policy-documents a:not([aria-current="page"]) { color: var(--color-text-normal); background: transparent; }
.policy-documents a:hover { background: var(--color-background-alt); }
.policy-documents__status { display: none; margin-top: .25rem; font-size: .75rem; }
.policy-documents__status[data-status="scheduled"] { display: block; }
.policy-table-group { display: flex; min-width: 0; flex-direction: column; gap: var(--number-12); }
.policy-table-scroll { overflow-x: auto; }
.policy-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 1rem; line-height: 1.5; }
.policy-table th, .policy-table td { width: 25%; border: 1px solid var(--color-text-normal); padding: var(--number-8) var(--number-20); font-weight: 400; text-align: left; vertical-align: top; overflow-wrap: anywhere; }

@media (min-width: 1200px) {
  .policy-visual { height: 34.375rem; }
}

/* 좁은 화면에서는 문서 메뉴를 본문 위로 이동 */
@media (max-width: 1199.98px) {
  .policy-layout { grid-template-columns: minmax(0, 1fr); row-gap: var(--number-40); }
  .policy-layout > .policy-document { grid-column: 1; grid-row: 2; }
  .policy-documents { grid-column: 1; grid-row: 1; width: min(100%, 15.625rem); }
  .policy-document { scroll-margin-top: 5rem; }
}

@media (max-width: 767.98px) {
  .policy-table, .policy-editor-content table { min-width: 44rem; }
}
