/* Local Fonts - Self-hosted */

/* 기본 폰트 적용 */
html, body {
  font-family: "Inter", "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", system-ui, sans-serif;
}

/* 폰트 로딩 완료 전까지 숨김 */
html:not(.fonts-loaded) body {
  visibility: hidden;
}

html.fonts-loaded body {
  visibility: visible;
}

/* Inter - Latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/inter-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url('/fonts/inter-latin-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url('/fonts/inter-latin-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/inter-latin-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Noto Sans KR - Korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/noto-sans-kr-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url('/fonts/noto-sans-kr-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url('/fonts/noto-sans-kr-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/noto-sans-kr-700.woff2') format('woff2');
}

/* Noto Sans JP - Japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/noto-sans-jp-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url('/fonts/noto-sans-jp-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url('/fonts/noto-sans-jp-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/noto-sans-jp-700.woff2') format('woff2');
}

/* Noto Sans SC - Simplified Chinese */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/noto-sans-sc-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url('/fonts/noto-sans-sc-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url('/fonts/noto-sans-sc-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/noto-sans-sc-700.woff2') format('woff2');
}

/* ===== Calligraphy Fonts for Slogan (Self-hosted) ===== */
/* 3가지 스타일을 랜덤으로 적용 */

/* ===== 영어 (English) ===== */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/caveat-slogan.woff2') format('woff2');
}

@font-face {
  font-family: 'Pacifico';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/pacifico-slogan.woff2') format('woff2');
}

@font-face {
  font-family: 'Indie Flower';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/indie-flower-slogan.woff2') format('woff2');
}

/* ===== 한글 (Korean) ===== */
@font-face {
  font-family: 'Nanum Pen Script';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/nanum-pen-script-slogan.woff2') format('woff2');
}

@font-face {
  font-family: 'Nanum Myeongjo';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/nanum-myeongjo-slogan.woff2') format('woff2');
}

@font-face {
  font-family: 'Nanum Myeongjo';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/nanum-myeongjo-bold-slogan.woff2') format('woff2');
}

/* ===== 일본어 (Japanese) ===== */
@font-face {
  font-family: 'Zen Kurenaido';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/zen-kurenaido-slogan.woff2') format('woff2');
}

@font-face {
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/zen-maru-gothic-slogan.woff2') format('woff2');
}

/* ===== 중국어 (Chinese) ===== */
@font-face {
  font-family: 'ZCOOL XiaoWei';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/zcool-xiaowei-slogan.woff2') format('woff2');
}

@font-face {
  font-family: 'ZCOOL QingKe HuangYou';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/zcool-qingke-huangyou-slogan.woff2') format('woff2');
}

/* ===== Slogan utility classes - 3가지 스타일 ===== */
/* 영어 */
:lang(en) .font-slogan-1 {
  font-family: 'Caveat', cursive !important;
}

:lang(en) .font-slogan-2 {
  font-family: 'Pacifico', cursive !important;
}

:lang(en) .font-slogan-3 {
  font-family: 'Indie Flower', cursive !important;
}

/* 한국어 (기본값) */
.font-slogan-1 {
  font-family: 'Noto Sans KR', 'Caveat', sans-serif !important;
}

.font-slogan-2 {
  font-family: 'Nanum Myeongjo', 'Pacifico', serif !important;
}

.font-slogan-3 {
  font-family: 'Nanum Pen Script', 'Indie Flower', cursive !important;
}

/* 일본어 */
:lang(ja) .font-slogan-1 {
  font-family: 'Noto Sans JP', 'Caveat', sans-serif !important;
}

:lang(ja) .font-slogan-2 {
  font-family: 'Zen Maru Gothic', 'Pacifico', sans-serif !important;
}

:lang(ja) .font-slogan-3 {
  font-family: 'Zen Kurenaido', 'Indie Flower', sans-serif !important;
}

/* 중국어 */
:lang(zh) .font-slogan-1 {
  font-family: 'Noto Sans SC', 'Caveat', sans-serif !important;
}

:lang(zh) .font-slogan-2 {
  font-family: 'ZCOOL XiaoWei', 'Pacifico', sans-serif !important;
}

:lang(zh) .font-slogan-3 {
  font-family: 'ZCOOL QingKe HuangYou', 'Indie Flower', sans-serif !important;
}
