/* whale 공통 폰트 규칙 v2 (261030 개정 — 자간을 요소별 em 으로) — pc · mobile · mpm · planner 공용
 * 폰트 파일(@font-face)은 언어별 CSS 가 따로 가진다. 이 파일은 "어느 언어에 어떤 이름" 과 자간만 정한다.
 * html[lang] 은 ko · en · ja · zh-Hans · zh-Hant 로 맞춘다(zh-CN · zh-TW 도 받아 준다).
 */
:root {
  --font-sans: 'Pretendard GOV Variable', 'Pretendard GOV', -apple-system, BlinkMacSystemFont,
    'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}
html:lang(ja) {
  --font-sans: 'Pretendard JP Variable', 'Pretendard GOV Variable', 'Hiragino Sans',
    'Yu Gothic', Meiryo, sans-serif;
}
html:lang(zh-Hans), html:lang(zh-CN) {
  --font-sans: 'Noto Sans SC Variable', 'Pretendard GOV Variable', 'PingFang SC',
    'Microsoft YaHei', sans-serif;
}
html:lang(zh-Hant), html:lang(zh-TW) {
  --font-sans: 'Noto Sans TC Variable', 'Pretendard GOV Variable', 'PingFang TC',
    'Microsoft JhengHei', sans-serif;
}

body {
  font-family: var(--font-sans);
}
button, input, select, textarea, optgroup {
  font-family: inherit;
}

/* 자간 -3% — 요소마다 자기 글자 크기 기준으로 계산한다.
 * body 한 곳에만 em 을 주면 px 로 굳어 상속돼 큰 제목·작은 글씨가 -3% 가 안 된다.
 * :where() 라 우선순위 0 — 컴포넌트가 따로 준 자간(양수·0 등)이 항상 이긴다. */
:where(*, *::before, *::after) {
  letter-spacing: -0.03em;
}

/* 아이콘 폰트 — 자간이 0 이 아니면 리거처가 풀려 아이콘 대신 글자가 찍힌다 */
.material-icons, .material-icons-outlined, .material-symbols-outlined,
.q-icon, i.material-icons,
.swiper-button-next::after, .swiper-button-prev::after {
  letter-spacing: 0;
}
