/* ====================================================================
   V80.7 글로벌 룰 (2026-05-16 박지)
   - .it 한글 fake italic 차단: 한글에 italic 적용 시 브라우저 합성 금지
   - 한국어 어절 단위 줄바꿈: 헤딩에서 단어 중간 끊김 방지 ("디자/이너들" X)
   - 적용 범위: 자사몰 1,337 페이지 전체 (fonts.css 통해 일괄 적용)
   - 박지: feedback_it_class_no_fake_korean.md / feedback_korean_word_break.md
==================================================================== */
.it, em {
  font-synthesis: none;
}

/* ====================================================================
   V81 미적 통일 토큰 (2026-05-16) — 폰트 변수화
   미래 폰트 변경 시 :root 변수 1줄만 수정 → 1,337 페이지 자동 전파.
   분류:
   - 헤리티지 디스플레이 (h1 hero, 큰 디스플레이) = Playfair Display (Dior Modern Didone)
   - 본문 (h2~h6, p, footer, meta, 모든 영문 텍스트) = Cormorant Garamond
     (네이버스토어 V79-L 박지 + 자사몰 통일. classic Garamond 톤)
   - italic 강조 (.it) = Cormorant Garamond italic 보르도
   - sans 메타/label = Noto Sans KR
   V81 변경 이력: Cormorant → GFS Didot → Cormorant (사용자 최종 결정 2026-05-16) */
:root {
  /* V81 후속 v2 (2026-05-16) — 사용자 명시: 한글 + 영문 + 마침표 등 모든 글자 Noto Serif KR 단일 통일.
     이전: Cormorant Garamond 우선 chain → 라틴 글자 (마침표/공백/영문) 분산 매칭 (사용자 F12 검증 거슬림).
     변경: Noto Serif KR 첫 번째 → 모든 글자 Noto Serif KR 단일 매칭.
     영문 Cormorant italic 톤 손실 — 사용자 의도 (통일 우선).
     PDP h1/colorway-name 등 영문 italic 디자인은 직접 정의라 영향 X.
     박지: [feedback_v81_jasamoll_korean_noto_serif.md] */
  --font-heritage: "Playfair Display", "Didot", "Noto Serif KR", Georgia, serif;
  --font-body: "Noto Serif KR", "Cormorant Garamond", "Fraunces", serif;
  --font-it: "Noto Serif KR", "Cormorant Garamond", "Fraunces", serif;
  --font-sans: "Noto Sans KR", sans-serif;
}

/* V81 후속 (2026-05-16) — .it 클래스 한글 fake italic 진짜 fix (사용자 F12 진단).
   원인: .it { font-style: italic }이라 브라우저가 italic 폰트 우선 매칭 → 한글이 Cormorant Garamond LightItalic으로 강제 매칭 (영문 italic 폰트라 시각상 본문 한글과 다름).
   해결: unicode-range로 한글 글자 범위만 별도 매칭 (NotoSerifKR-it-han 가짜 italic 이름).
        영문 = Cormorant Garamond italic (italic 효과 유지) / 한글 = Noto Serif KR (normal woff2, font-synthesis:none으로 fake italic 차단)
   V79-L 박지 [feedback_it_class_no_fake_korean.md]에서 local() 실패 → self-hosted url()로 성공.
   박지 [feedback_v81_jasamoll_korean_noto_serif.md] */
@font-face {
  font-family: 'NotoSerifKR-it-han';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('noto-serif-kr/noto-serif-kr-korean-400-normal.woff2') format('woff2');
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}
@font-face {
  font-family: 'NotoSerifKR-it-han';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('noto-serif-kr/noto-serif-kr-korean-300-normal.woff2') format('woff2');
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}
/* V81 후속 (2026-05-16) — .it 단순화: 사용자 결정 (F12 분산 매칭 거슬림).
   변경: italic 효과 제거 + Noto Serif KR 첫 번째 fallback → 모든 글자 (한글/영문/마침표/공백) Noto Serif KR 단일 매칭.
   var(--font-body) chain은 Cormorant Garamond 첫 번째라 latin 글자가 거기 매칭됨 → Noto Serif KR 직접 명시.
   영문 italic 강조 효과는 사라짐. 보르도 색 강조만 유지.
   현재 자사몰 .it 사용처는 한글 위주이므로 영향 작음. PDP/page 영문 italic은 별도 정의 (h1, colorway-name, inline 인용문) — 영향 X.
   박지: [feedback_v81_jasamoll_korean_noto_serif.md] */
.it {
  font-family: "Noto Serif KR", serif;
  color: #6E1F2A;
}

/* V81 후속 (2026-05-16) — 통계 숫자 글로벌 표준 (스토어 V79-L 박지를 자사몰 글로벌로).
   사용자 명시: "숫자는 스토어 가봐. 맑은 고딕"
   인라인 "4세대" 강조 / 1908 / 117 등 디스플레이 숫자.
   font-variant-numeric: tabular-nums — OpenType tnum, 자릿수 균일 폭 (통계 정렬 필수)
   박지: [feedback_heritage_vs_statistical_numbers.md] V79-L 룰 자사몰 적용 */
.stat-number {
  font-family: "Malgun Gothic", "맑은 고딕", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* V81 본문 통일 글로벌 (2026-05-16) — 헤리티지 외 모든 영문 본문 단일 폰트.
   사용자 명시: 글자체 통일 (페이지마다 다르면 X). 미래 변경은 :root --font-body 1줄만 수정.
   페이지별 specific 룰이 우선 (cascade) — Fraunces 사용 specific 룰은 perl 일괄로 별도 통일. */
body, p, li, td, blockquote, dd, dt, figcaption,
h2, h3, h4, h5, h6,
footer, .footer, .meta, label, button, span {
  font-family: var(--font-body);
}
h1 {
  font-family: var(--font-heritage);
}
h1, h2, h3, h4, h5, h6, p, li, td, blockquote, figcaption, dd, dt {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* Playfair Display (V80.7 추가, 2026-05-16) — self-hosted, fontsource 출처
   - PDP h1 / About Hero h1 / 명품 display 헤딩 표준
   - 400/500 normal+italic (Playfair Display 디자인상 300 없음, 400이 최소 weight) */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('playfair-display/playfair-display-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('playfair-display/playfair-display-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('playfair-display/playfair-display-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 500; font-display: swap;
  src: url('playfair-display/playfair-display-latin-500-italic.woff2') format('woff2'); }

/* Fraunces */
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('fraunces/fraunces-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 300; font-display: swap;
  src: url('fraunces/fraunces-latin-300-italic.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fraunces/fraunces-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('fraunces/fraunces-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('fraunces/fraunces-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 500; font-display: swap;
  src: url('fraunces/fraunces-latin-500-italic.woff2') format('woff2'); }

/* Cormorant Garamond */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('cormorant/cormorant-garamond-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300; font-display: swap;
  src: url('cormorant/cormorant-garamond-latin-300-italic.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('cormorant/cormorant-garamond-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('cormorant/cormorant-garamond-latin-400-italic.woff2') format('woff2'); }

/* Noto Serif KR */
@font-face { font-family: 'Noto Serif KR'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('noto-serif-kr/noto-serif-kr-korean-300-normal.woff2') format('woff2'),
       url('noto-serif-kr/noto-serif-kr-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif KR'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('noto-serif-kr/noto-serif-kr-korean-400-normal.woff2') format('woff2'),
       url('noto-serif-kr/noto-serif-kr-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif KR'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('noto-serif-kr/noto-serif-kr-korean-500-normal.woff2') format('woff2'),
       url('noto-serif-kr/noto-serif-kr-latin-500-normal.woff2') format('woff2'); }

/* Noto Sans KR */
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('noto-sans-kr/noto-sans-kr-korean-300-normal.woff2') format('woff2'),
       url('noto-sans-kr/noto-sans-kr-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('noto-sans-kr/noto-sans-kr-korean-400-normal.woff2') format('woff2'),
       url('noto-sans-kr/noto-sans-kr-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('noto-sans-kr/noto-sans-kr-korean-500-normal.woff2') format('woff2'),
       url('noto-sans-kr/noto-sans-kr-latin-500-normal.woff2') format('woff2'); }
