@charset "utf-8";

/*
 * File    : sub-privacy-policy.css
 * Author  : STUDIO-JT
 *
 * 개인정보처리방침·이용약관 대표 페이지(templates/privacy-policy.php, templates/terms-of-use.php)와
 * 정책 버전 상세(single-policy.php) 공용.
 *
 * SUMMARY :
 * GLOBAL
 * HEADER
 * REVISION
 * CONTENT
 * HOVER
 */



/* **************************************** *
 * GLOBAL
 * **************************************** */
body.page-template-privacy-policy .main-container,
body.single-policy .main-container,
body.page-template-terms-of-use .main-container { padding-top: 0; padding-bottom: 0; } /* 페이지 자체 패딩(224...)이 전체 상단 여백을 담당: 컨테이너와 겹치면 타이틀이 500px 아래로 밀린다 */

.privacy-policy { padding: 224rem 0 200rem; }
/* WP 는 '설정 > 개인정보' 지정 페이지의 body 에도 privacy-policy 클래스를 붙인다:
   위 컴포넌트 패딩이 body 까지 물들면 상단이 이중으로 밀리므로 body 쪽만 무력화 (전 해상도) */
body.privacy-policy { padding: 0; }



/* **************************************** *
 * HEADER
 * **************************************** */
.privacy-policy__header { text-align: center; }

.privacy-policy__title { color: var(--color-black); }



/* **************************************** *
 * REVISION
 * **************************************** */
.privacy-policy__revision { display: flex; justify-content: center; margin-top: 59rem; }
.privacy-policy__revision .jt-choices__wrap { width: 260rem; text-align: left; }



/* **************************************** *
 * CONTENT
 * **************************************** */
.privacy-policy__body { width: 830rem; margin: 140rem auto 0; }

.privacy-policy__blocks { color: var(--color-black); }
.privacy-policy__blocks :where(strong) { font-weight: var(--font-weight-bold); }
.privacy-policy__blocks a { color: var(--color-brown-200); text-decoration: none; }

/* PARAGRAPH */
.privacy-policy__blocks p { margin: 0 0 20rem; }
.privacy-policy__blocks :where(p) { font-size: var(--font-size-primary-04); line-height: var(--font-lineheight-primary-04); font-weight: var(--font-weight-regular); letter-spacing: var(--letter-spacing-01); }

/* 보조 타이틀 (전체 볼드 문단, 예: "Diagnosis of cardiovascular disease risk")
   본문과 크기가 같아 굵기(strong 700)와 위아래 여백으로 구분한다.
   크기까지 올리면 바로 위 h2(30) 와 간격이 좁아져 위계가 뭉갠다. */
.privacy-policy__blocks p:has(> strong:only-child) { margin: 26rem 0 22rem; }
.privacy-policy__blocks :where(p:has(> strong:only-child)) { font-size: var(--font-size-primary-04); line-height: var(--font-lineheight-primary-04); }
.privacy-policy__blocks .wp-block-heading + p:has(> strong:only-child) { margin-top: 0; }

/* 주석 문단 (※: 소형 그레이 노트) */
.privacy-policy__blocks p.jt-note { margin: -10rem 0 20rem; color: var(--color-gray-700); }
.privacy-policy__blocks :where(p.jt-note) { font-size: var(--font-size-primary-06); line-height: var(--font-lineheight-primary-06); }

/* HEADING */
.privacy-policy__blocks .wp-block-heading { color: var(--color-black); }
/* 섹션 제목 : 크기·행간은 blocks.css 의 전역 사다리(h2 = T1)를 그대로 쓰고
   여기서는 이 문서 고유의 여백과 목차 앵커 오프셋만 지정한다. */
.privacy-policy__blocks h2.wp-block-heading { margin: 64rem 0 28rem; scroll-margin-top: 100rem; }
.privacy-policy__blocks h3.wp-block-heading { margin: 40rem 0 16rem; }

/* 목차 안내 제목: 단계는 h2 지만 크기는 T5 */
.privacy-policy__blocks h2.wp-block-heading.has-medium-font-size { margin: 60rem 0 40rem; }

/* QUOTE (인트로 콜아웃) */
.privacy-policy__blocks .wp-block-quote { margin: 0 0 60rem; padding: 0 0 0 36rem; border-left: 4rem solid var(--color-black); }
.privacy-policy__blocks .wp-block-quote p:last-child { margin-bottom: 0; }

/* SEPARATOR (목차 아래 구분선) */
.privacy-policy__blocks .wp-block-separator { height: 1px; margin: 56rem 0 0; background: var(--color-brown-100); border: none; }

/* LIST */
.privacy-policy__blocks .wp-block-list { margin: 0 0 20rem; padding: 0; }
.privacy-policy__blocks :where(.wp-block-list) { font-size: var(--font-size-primary-04); line-height: var(--font-lineheight-primary-04); font-weight: var(--font-weight-regular); letter-spacing: var(--letter-spacing-01); }
.privacy-policy__blocks .wp-block-list li ~ li { margin-top: 10rem; }
.privacy-policy__blocks .wp-block-list .wp-block-list { margin: 10rem 0 0; }
.privacy-policy__blocks :where(.wp-block-list .wp-block-list) { font-size: inherit; line-height: inherit; }
.privacy-policy__blocks .wp-block-heading + .wp-block-list { margin-top: 36rem; }

/* 리스트 들여쓰기는 계층당 28rem 한 단위: OL·UL·중첩이 같은 눈금을 쓴다.
   마커는 전부 그 단위 바깥(행잉 인덴트)에 두어 줄바꿈된 본문이 첫 줄 글머리에 맞아 떨어지게 한다. */

/* OL: "1." 마커가 들여쓰기 바깥에 걸리고 본문은 28rem 선에 정렬 */
.privacy-policy__blocks ol.wp-block-list { padding-left: 28rem; list-style: decimal outside; }
.privacy-policy__blocks ol.wp-block-list > li ~ li { margin-top: 20rem; }

/* UL: 소형 원형 불릿 */
.privacy-policy__blocks ul.wp-block-list { list-style: none; }
.privacy-policy__blocks ul.wp-block-list > li { position: relative; padding-left: 28rem; }
.privacy-policy__blocks ul.wp-block-list > li:before { content: ''; display: block; width: 3rem; height: 3rem; position: absolute; top: .7em; margin-top: -1.5rem; left: 10rem; background: var(--color-black); border-radius: 50%; } /* .7em = 첫 줄(행간 1.4) 중앙, -1.5rem = 불릿 반지름: 폰트 크기가 바뀌어도 첫 줄 중앙 유지 */
.privacy-policy__blocks ul.wp-block-list ul.wp-block-list { margin-left: 0; } /* 단위는 li 패딩 하나로: 마진까지 겹치면 계층마다 눈금이 어긋난다 */

/* 목차 (안내 제목 바로 다음 ol: 링크·마커 브라운 컬러)
   태그가 아니라 스타일 클래스를 기준으로 잡아야 이후 단계가 바뀌어도 살아남는다. */
.privacy-policy__blocks .wp-block-heading.has-medium-font-size + ol.wp-block-list { margin-top: 40rem; color: var(--color-brown-200); }
.privacy-policy__blocks .wp-block-heading.has-medium-font-size + ol.wp-block-list li ~ li { margin-top: 12rem; }

/* TABLE */
.privacy-policy__blocks .wp-block-table { margin: 20rem 0; }
.privacy-policy__blocks .wp-block-table table { width: 100%; border-collapse: collapse; border: 1px solid var(--color-brown-100); }
.privacy-policy__blocks .wp-block-table .has-fixed-layout { table-layout: fixed; }
.privacy-policy__blocks .wp-block-table :is(th, td) { padding: 11rem 16rem; vertical-align: middle; text-align: left; border-bottom: 1px solid var(--color-brown-100); }
.privacy-policy__blocks :where(.wp-block-table :is(th, td)) { font-size: var(--font-size-primary-06); line-height: 1.43; letter-spacing: var(--letter-spacing-01); }
.privacy-policy__blocks .wp-block-table :is(th, td) + :is(th, td) { border-left: 1px solid var(--color-brown-100); }
.privacy-policy__blocks .wp-block-table thead { border: none; }
.privacy-policy__blocks .wp-block-table th { padding-top: 14rem; padding-bottom: 14rem; background: var(--color-brown-500); }
.privacy-policy__blocks :where(.wp-block-table th) { font-weight: var(--font-weight-bold); }
.privacy-policy__blocks .wp-block-table td { height: 50rem; }
.privacy-policy__blocks :where(.wp-block-table td) { font-weight: var(--font-weight-regular); } /* height = 1줄 행 최소 높이: 멀티라인 행은 내용대로 늘어남 */
.privacy-policy__blocks .wp-block-table figcaption { display: block; margin: 24rem 0 0; color: var(--color-gray-700); }
.privacy-policy__blocks :where(.wp-block-table figcaption) { font-size: var(--font-size-primary-06); line-height: var(--font-lineheight-primary-06); font-weight: var(--font-weight-regular); }



/* **************************************** *
 * HOVER
 * **************************************** */
@media (hover: hover) and (pointer: fine) {

    /* 목차 링크 */
    .privacy-policy__blocks a:hover { text-decoration: underline; text-underline-offset: 3rem; }

}


/* 마지막 블록 아래 여백 제거: 반드시 파일 끝에 둔다.
   `.privacy-policy__blocks .wp-block-list`(0,2,0) 와 특정도가 같아서
   앞에 있으면 동률에서 밀려 목록·표가 마지막일 때 20rem 이 남는다. */
.privacy-policy__blocks > *:last-child { margin-bottom: 0; }
