/* ==========================================================
   글로벌 웹폰트 및 다국어 타이포그래피 최적화 (우선순위 최상)
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;700&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Sarabun:wght@300;400;500;700&family=Roboto:wght@300;400;500;700&display=swap');

/* 1. 공통 기본 폰트 설정 (라틴 알파벳 기본) */
body { font-family: 'Inter', system-ui, -apple-system, sans-serif !important; }

/* 2. 국가별 폰트 패밀리 강제 할당 */
body.lang-ko, body.lang-ko h1, body.lang-ko h2, body.lang-ko h3, body.lang-ko p, body.lang-ko span { font-family: 'Noto Sans KR', sans-serif !important; }
body.lang-ja, body.lang-ja h1, body.lang-ja h2, body.lang-ja h3, body.lang-ja p, body.lang-ja span { font-family: 'Noto Sans JP', sans-serif !important; }
body.lang-cn, body.lang-cn h1, body.lang-cn h2, body.lang-cn h3, body.lang-cn p, body.lang-cn span { font-family: 'Noto Sans SC', sans-serif !important; }
body.lang-th, body.lang-th h1, body.lang-th h2, body.lang-th h3, body.lang-th p, body.lang-th span { font-family: 'Sarabun', sans-serif !important; }
body.lang-ru, body.lang-ru h1, body.lang-ru h2, body.lang-ru h3, body.lang-ru p, body.lang-ru span,
body.lang-mn, body.lang-mn h1, body.lang-mn h2, body.lang-mn h3, body.lang-mn p, body.lang-mn span { font-family: 'Roboto', sans-serif !important; }

/* ==========================================================
   3. 컴포넌트별 다국어 타이포그래피 미세 조정 (크기/자간/행간/줄바꿈)
   ========================================================== */

/* [기본 / 영문 / 베트남어 / 에스페란토 등 알파벳 공통] */
body .hero-copy h1 { font-size: clamp(22px, 2.5vw, 30px) !important; line-height: 1.2 !important; letter-spacing: -0.01em !important; word-break: keep-all !important; }
body .hero-copy .lead { font-size: 15.5px !important; line-height: 1.5 !important; word-break: keep-all !important; }
body .collection-card h2 { font-size: 16px !important; line-height: 1.3 !important; letter-spacing: -0.01em !important; word-break: keep-all !important; }
body .collection-card p { font-size: 13.5px !important; line-height: 1.6 !important; word-break: keep-all !important; }

/* [한국어 - KR] 제목 축소 및 행간 넉넉하게 확장 (요청사항 반영) */
body.lang-ko .hero-copy h1 { font-size: clamp(22px, 2.5vw, 30px) !important; line-height: 1.3 !important; letter-spacing: -0.03em !important; word-break: keep-all !important; }
body.lang-ko .hero-copy .lead { font-size: 16px !important; line-height: 1.65 !important; letter-spacing: -0.01em !important; word-break: keep-all !important; }
body.lang-ko .collection-card h2 { font-size: 17px !important; line-height: 1.35 !important; letter-spacing: -0.03em !important; word-break: keep-all !important; }
body.lang-ko .collection-card p { font-size: 14.5px !important; line-height: 1.75 !important; letter-spacing: -0.01em !important; word-break: keep-all !important; }

/* [일본어 - JP] 폰트 크기 미세 축소 및 띄어쓰기 없는 언어 특성 반영 */
body.lang-ja .hero-copy h1 { font-size: clamp(21px, 2.4vw, 28px) !important; line-height: 1.4 !important; letter-spacing: 0 !important; word-break: break-all !important; line-break: strict !important; }
body.lang-ja .hero-copy .lead { font-size: 15px !important; line-height: 1.7 !important; word-break: break-all !important; line-break: strict !important; }
body.lang-ja .collection-card h2 { font-size: 16px !important; line-height: 1.4 !important; letter-spacing: 0 !important; word-break: break-all !important; line-break: strict !important; }
body.lang-ja .collection-card p { font-size: 14px !important; line-height: 1.8 !important; word-break: break-all !important; line-break: strict !important; }

/* [중국어 - CN] 띄어쓰기 없는 언어 특성 반영 */
body.lang-cn .hero-copy h1 { font-size: clamp(22px, 2.5vw, 29px) !important; line-height: 1.35 !important; word-break: break-all !important; line-break: strict !important; }
body.lang-cn .hero-copy .lead { font-size: 15.5px !important; line-height: 1.7 !important; word-break: break-all !important; line-break: strict !important; }
body.lang-cn .collection-card h2 { font-size: 15px !important; line-height: 1.4 !important; word-break: break-all !important; line-break: strict !important; }
body.lang-cn .collection-card p { font-size: 14px !important; line-height: 1.75 !important; word-break: break-all !important; line-break: strict !important; }

/* [태국어 - TH] 상하 여백이 큰 폰트 구조 반영 (행간 대폭 증가) */
body.lang-th .hero-copy h1 { font-size: clamp(23px, 2.6vw, 31px) !important; line-height: 1.5 !important; word-break: normal !important; line-break: normal !important; }
body.lang-th .hero-copy .lead { font-size: 16px !important; line-height: 1.6 !important; word-break: normal !important; line-break: normal !important; }
body.lang-th .collection-card h2 { font-size: 19px !important; line-height: 1.5 !important; word-break: normal !important; line-break: normal !important; }
body.lang-th .collection-card p { font-size: 14.5px !important; line-height: 1.6 !important; word-break: normal !important; line-break: normal !important; }

/* [러시아어/몽골어 - RU, MN] */
body.lang-ru .hero-copy h1, body.lang-mn .hero-copy h1 { font-size: clamp(21px, 2.4vw, 28px) !important; line-height: 1.3 !important; word-break: keep-all !important; }
body.lang-ru .hero-copy .lead, body.lang-mn .hero-copy .lead { font-size: 15px !important; line-height: 1.55 !important; word-break: keep-all !important; }
body.lang-ru .collection-card h2, body.lang-mn .collection-card h2 { font-size: 19px !important; line-height: 1.35 !important; word-break: keep-all !important; }
body.lang-ru .collection-card p, body.lang-mn .collection-card p { font-size: 13.5px !important; line-height: 1.6 !important; word-break: keep-all !important; }