/* ============================================================
   골든디아망 성형외과의원 한국어 타이포그래피 기준 v1 (2026-09-20) — 한국어 78페이지 공통
   근거 문서: /design-guide/typo-standard/
   범위: html[lang="ko"] 의 <main> 안. 다른 10개 언어(render.php 가 같은 원문으로 렌더)는 이 파일이 링크되지 않는다.
   원칙: 줄바꿈은 손이 아니라 규칙으로 — 제목은 균형(balance), 본문은 고아 방지(pretty),
        짧은 강조·조사·가운뎃점·의존어는 묶음째 이동(nowrap), 폰에서는 손으로 넣은 <br> 을 무시한다.
   서체(Pretendard Variable·Playfair)·색·굵기는 바꾸지 않는다. 이 사이트는 clamp() 로 폰에서 글자가 11~14px 까지 내려가므로
   폰 하한(본문 16 / 보조 15 / 주석 13.5)이 핵심이다. 브레이크포인트는 사이트와 같은 768px(폰)·480px(좁은 칸).
   ============================================================ */
html[lang="ko"]{
  --t-body-min: 1rem;        /* 폰 본문 하한 16px */
  --t-aux-min:  .9375rem;    /* 폰 보조 본문(카드 목록·설명) 15px */
  --t-note-min: .84375rem;   /* 폰 주석·캡션·표 13.5px */
  --t-measure: 46rem;        /* 글 본문 폭 736px */
}

/* ── 공통 조판 ── */
html[lang="ko"] main :is(p,li,dd,figcaption,blockquote,.gd-sbody,.gd-body,.gd-callout){ word-break:keep-all; overflow-wrap:break-word; text-wrap-style:pretty }
html[lang="ko"] main :is(h1,h2,h3,h4,.gd-shead,.gd-shead--sub,.gd-prs-h,.gd-card-t,.gd-check-t,.gd-notes-t,.gd-compare-t,.gd-head,.gd-hero-head,.gd-disp){ word-break:keep-all; text-wrap-style:balance }
html[lang="ko"] main :is(b,strong){ text-wrap-style:balance }

/* ── 인라인 강조·묶음 ── */
html[lang="ko"] main :is(p,li,dd) :is(b,strong).u{ white-space:nowrap }
html[lang="ko"] main :is(p,li,dd) :is(b,strong).u-long{ white-space:normal }
html[lang="ko"] main :is(li,dd) > :is(b,strong).u:first-child{ white-space:normal }   /* 항목 첫 자리 라벨(.gd-numlist b 등)은 묶지 않는다 */
html[lang="ko"] main .nb{ white-space:nowrap }
html[lang="ko"] main .tx{ min-width:0 }

/* ── 텍스트 폭 ── */
html[lang="ko"] main :is(.gd-sbody,.gd-prs-lead,.gd-callout){ max-width:var(--t-measure) }

/* ── 글자 하한(전 폭): 이 사이트는 clamp() 로 PC 에서도 본문이 13.5px, 폰에서 11~13px 까지 내려간다 → 본문 16 / 보조 15 / 주석 13.5 ── */
html[lang="ko"] main :is(.gd-sbody,.gd-body,.gd-prs-lead,.gd-hero-lead,.gd-callout,.gd-chain p,.gd-notelist li,.gd-numlist span,.gd-care-body p,.gd-numcard p,.gd-check-t,.gd-branch strong,.gd-dl dd,.gd-sub){ font-size:max(var(--t-body-min),1em) }
html[lang="ko"] main :is(.gd-check-list li > span, ul.gd-reveal li > span, li.gd-reveal > span){ font-size:max(var(--t-body-min),1em) }
html[lang="ko"] main :is(.gd-sbody--sm,.gd-card-l li,.gd-prs-cred li,.gd-scarlist span,.gd-scarlist b,.gd-pilllist li,.gd-care-list span,.gd-song-list span,.gd-compare dd,.gd-vs tbody td,.gd-spec dd,.gd-notes dd,.gd-check-s,.gd-checks--wide .gd-check-s,.gd-duo figcaption,.gd-sig-nm,.gd-short-tt,.gd-spa-note,.gd-hero-focus,.dr-cap,.dr-cert-t){ font-size:max(var(--t-aux-min),1em) }
html[lang="ko"] main :is(.gd-snote,.gd-prs-cap,.gd-check-no,.gd-step-no,.gd-stat-c,.gd-notes dt,.gd-compare dt,.gd-spec dt,.gd-dl dt,.gd-branch em,.gd-vs .gd-vs-ax,.gd-mb-agree-note,.gd-card-l li small){ font-size:max(var(--t-note-min),1em) }
/* 그 밖의 문단·목록·정의(약관 등)는 16px 하한 — 눈썹·버튼·주석은 제외 */
html[lang="ko"] main :where(p,li,dd):where(:not(.gd-snote,.gd-prs-cap,.gd-stat-c,[class*="kicker"],[class*="eyebrow"],.gd-card-l li,.gd-prs-cred li,.gd-pilllist li,.gd-care-list *,.gd-song-list *,.gd-scarlist *,.gd-spec *,.gd-notes *,.gd-compare *,.gd-vs *,.gd-btn,.rb-btn,.dr-cap,.dr-cert-t,.gd-short-tt,.gd-sig-nm)){ font-size:max(var(--t-body-min),1em) }
/* 줄간: 본문이 커진 만큼 1.7 유지, 카드 목록은 1.6 */
html[lang="ko"] main :is(.gd-sbody,.gd-check-t,.gd-prs-lead,.gd-callout){ line-height:1.7 }
html[lang="ko"] main :is(.gd-check-s,.gd-prs-cred li,.gd-notelist li){ line-height:1.6 }

/* ── 폰(≤768px): 손 줄바꿈 무시 ── */
@media (max-width:768px){
  html[lang="ko"] main br.mb-br{ display:none }
}
@media (max-width:480px){
  /* 2열이 남는 좁은 칸(사양 격자·비교·통계)은 1열 */
  html[lang="ko"] main :is(.gd-spec,.gd-duo--keep2){ grid-template-columns:minmax(0,1fr) }
  html[lang="ko"] main .gd-stats{ grid-template-columns:minmax(0,1fr) }
}
