/* 일본어 페이지 공통 보정 — data/languages.json ja "css" (2026-10-14). 국문 페이지를 사전으로 옮긴 페이지라 국문 CSS 위에 덧붙인다.
   1) 글꼴: 글자마다 앞에서부터 — Pretendard(라틴·숫자, 사이트 글꼴 그대로) → 가나·한자는 Pretendard 에 없으므로 일본어 글자 모양의 글꼴:
      Hiragino Sans(맥·아이폰 기본) → Noto Sans JP(구글 웹 글꼴, languages.json fonts) → Yu Gothic · Meiryo(윈도우).
      한국어용 Noto Sans CJK KR 은 한자를 한국식 자형으로 그려서 쓰지 않는다(중국어 lang-zh.css 와 다른 점). 영문 라벨용 --font-en(Inter)도 가나·한자는 같은 순서로.
   2) 줄바꿈: 국문용 word-break: keep-all 은 띄어쓰기가 없는 일본어를 한 덩어리로 묶어 줄이 넘치므로 normal 로, 금칙(행두 。、ー 등)은 line-break: strict.
      국문 뜻 묶음(nowrap)도 풀기 */
html:lang(ja) {
  --font-ja: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic', 'YuGothic', 'Meiryo', sans-serif;
  --font-en: 'PL Num', 'Inter', "Helvetica Neue", Helvetica, Arial, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif;
}
html:lang(ja) body { font-family: 'Pretendard', var(--font-ja); }
/* :not(#pl-ja) 는 아무 요소에도 없는 id — 선택자 우선순위를 id 수준으로 올려, 부품 CSS 의 '.a .b { word-break: keep-all !important }' 까지 이긴다 */
html:lang(ja) body :not(#pl-ja) { word-break: normal !important; overflow-wrap: break-word; line-break: strict; }
html:lang(ja) body .pl-philo__nw:not(#pl-ja) { white-space: normal !important; }

/* ===== 2026-10-15 공개 전 점검 반영 =====
   a) 'PL Latin' = Pretendard 의 라틴 글자만(unicode-range) — Pretendard 에 들어 있는 가나·전각 문장부호까지 Pretendard 로 그려져
      한자(일본어·중국어 글꼴)와 한 줄에 두 글꼴이 섞이던 것을 막음. 라틴·숫자는 그대로 Pretendard, 나머지는 --font-ja 순서. 같은 woff2 라 추가 내려받기 없음. */
@font-face { font-family: 'PL Latin'; src: url('../fonts/Pretendard-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-2013, U+2015-2025, U+2027-203A, U+203C-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'PL Latin'; src: url('../fonts/Pretendard-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-2013, U+2015-2025, U+2027-203A, U+203C-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'PL Latin'; src: url('../fonts/Pretendard-SemiBold.woff2') format('woff2'); font-weight: 600; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-2013, U+2015-2025, U+2027-203A, U+203C-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'PL Latin'; src: url('../fonts/Pretendard-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-2013, U+2015-2025, U+2027-203A, U+203C-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
html:lang(ja) body { font-family: 'PL Latin', var(--font-ja); }
/* b) 국문 전용 글꼴 묶음을 박아 둔 부품(의료진 통계·격자 이름, About 소개 탭 --kr) → 같은 순서로 */
html:lang(ja) .medical-team-stats-wrap .pl-stats__label, html:lang(ja) .medical-team-stats-wrap .pl-stats__unit,
html:lang(ja) .medical-team-stats-wrap ul.pl-stats, html:lang(ja) .medical-team-roster .pl-roster__name { font-family: 'PL Latin', var(--font-ja); }
html:lang(ja) { --kr: 'PL Latin', var(--font-ja); }
/* c) 이름 + 院长/院長 이 휴대폰 폭에서 院/长 사이로 갈라지지 않게 — 이름·직함 줄은 띄어쓰기에서만 줄바꿈 */
html:lang(ja) body :is(.post-meta .name, .post-meta .author, .author, .news-meta, .pl-roster__name, .pl-relnews__by):not(#pl-ja) { word-break: keep-all !important; }
/* d) 문단·제목 끝에 한 글자만 남는 줄을 줄임(지원 브라우저만) */
html:lang(ja) body :is(p, h1, h2, h3, h4) { text-wrap: pretty; }
/* e) 시술 카드 [분류 | プログラム | 시술 이름] 이 PC 폭(960~1440)에서 プログラ/ム · ウルセラピープ/ライム 처럼 갈라지던 것 —
   분류·プログラム 은 한 덩어리, 시술 이름은 줄에 안 들어가면 통째로 다음 줄(모바일 배치는 그대로) */
@media (min-width: 960px) {
  html:lang(ja) .txt-frame { flex-wrap: wrap; }
  html:lang(ja) .txt-frame .sub { flex: none; white-space: nowrap; }
  html:lang(ja) .txt-frame .name { flex: 0 0 auto; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
/* f) 2026-10-15 확인 점검 반영: 문단 속 국문 위치의 PC 전용 줄바꿈(pl-pc-br)은 숨김(한두 글자 줄이 생김),
      About 'PAGE LAB BIOMEDICS…' 더보기 링크는 칸이 좁으면 줄바꿈(960 근처 넘침) */
html:lang(ja) p br.pl-pc-br { display: none; }
html:lang(ja) .pl-intro .more-link { width: auto; max-width: 100%; }
html:lang(ja) .pl-intro .more-link .txt { white-space: normal; }
/* g) 제목은 구절 단위로 줄바꿈(クリ/ニック 처럼 단어 중간에서 끊기지 않게 — 지원 브라우저만, 나머지는 위 normal 그대로) */
html:lang(ja) body :is(h1, h2, h3, h4):not(#pl-ja) { word-break: auto-phrase !important; }
/* h) 시술 카드 이름은 PC 에서 늘 둘째 줄(한 줄 · 두 줄 카드가 섞여 줄 높이가 들쭉날쭉하던 것).
      2026-10-16 사용자: 이름 칸을 100% 로 늘리면 밑줄이 카드 폭 전체로 깔림 → 이름 앞에 빈 줄바꿈 칸(::after, 폭 100%·높이 0)을 두고 이름은 글자 폭 그대로 */
@media (min-width: 960px) {
  html:lang(ja) .txt-frame:has(> .name)::after { content: ''; flex-basis: 100%; height: 0; order: 1; }
  html:lang(ja) .txt-frame > .name { order: 2; }
}
/* i) 관련 소식: 설명 문장은 두 줄을 고르게(끝에 'する。' 만 남던 것), 글 제목도 구절 단위로(シンポジウ/ム 같은 갈라짐) — 지원 브라우저만 */
html:lang(ja) body .pl-relnews__desc p:not(#pl-ja) { text-wrap: balance; word-break: auto-phrase !important; }
html:lang(ja) body .pl-relnews__name:not(#pl-ja) { word-break: auto-phrase !important; }
