/* === Latin (always loaded) === */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSans-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSans-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSans-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSans-Bold.ttf') format('truetype');
}

/* === Simplified Chinese (lazy — only when CJK chars appear) === */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansSC-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansSC-Regular.ttf') format('truetype');
  unicode-range: U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F, U+F900-FAFF, U+2F800-2FA1F, U+3000-303F, U+FF00-FFEF;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansSC-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansSC-Bold.ttf') format('truetype');
  unicode-range: U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F, U+F900-FAFF, U+2F800-2FA1F, U+3000-303F, U+FF00-FFEF;
}

/* === Traditional Chinese (lazy) === */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansTC-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansTC-Regular.ttf') format('truetype');
  unicode-range: U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2E80-2EFF, U+3000-303F, U+31C0-31EF, U+FE30-FE4F;
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansTC-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansTC-Bold.ttf') format('truetype');
  unicode-range: U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2E80-2EFF, U+3000-303F, U+31C0-31EF, U+FE30-FE4F;
}

/* === Japanese (lazy) === */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansJP-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansJP-Regular.ttf') format('truetype');
  unicode-range: U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+FF65-FF9F, U+4E00-9FFF, U+3000-303F;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansJP-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansJP-Bold.ttf') format('truetype');
  unicode-range: U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+FF65-FF9F, U+4E00-9FFF, U+3000-303F;
}

/* === Korean (lazy) === */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansKR-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansKR-Regular.ttf') format('truetype');
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
}
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansKR-Bold.ttf') format('truetype');
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
}

/* === Arabic (lazy) === */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansArabic-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansArabic-Regular.ttf') format('truetype');
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansArabic-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansArabic-Bold.ttf') format('truetype');
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

/* === Hebrew (lazy) === */
@font-face {
  font-family: 'Noto Sans Hebrew';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansHebrew-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansHebrew-Regular.ttf') format('truetype');
  unicode-range: U+0590-05FF, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Noto Sans Hebrew';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansHebrew-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansHebrew-Bold.ttf') format('truetype');
  unicode-range: U+0590-05FF, U+FB1D-FB4F;
}

/* === Devanagari (lazy) === */
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansDevanagari-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansDevanagari-Regular.ttf') format('truetype');
  unicode-range: U+0900-097F, U+A8E0-A8FF, U+1CD0-1CFF;
}
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansDevanagari-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansDevanagari-Bold.ttf') format('truetype');
  unicode-range: U+0900-097F, U+A8E0-A8FF, U+1CD0-1CFF;
}

/* === Thai (lazy) === */
@font-face {
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/NotoSansThai-Regular.woff2') format('woff2'),
       url('/assets/fonts/NotoSansThai-Regular.ttf') format('truetype');
  unicode-range: U+0E00-0E7F;
}
@font-face {
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/NotoSansThai-Bold.woff2') format('woff2'),
       url('/assets/fonts/NotoSansThai-Bold.ttf') format('truetype');
  unicode-range: U+0E00-0E7F;
}
