/* =========================================================
   MONTSERRAT – LATIN + LATIN-EXT
   (DE, EN, SK, RO, HU, CZ, DK, IT, etc.)
   ========================================================= */

/* Regular 400 */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url('montserrat/montserrat-v31-latin-ext-regular.woff2') format('woff2'),
    url('montserrat/montserrat-v31-latin-ext-regular.ttf') format('truetype');
  unicode-range:
    U+0000-00FF,   /* Basic Latin */
    U+0100-024F,   /* Latin Extended-A/B */
    U+1E00-1EFF;   /* Latin Extended Additional */
}

/* Medium 500 */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    url('montserrat/montserrat-v31-latin-ext-500.woff2') format('woff2'),
    url('montserrat/montserrat-v31-latin-ext-500.ttf') format('truetype');
  unicode-range:
    U+0000-00FF,
    U+0100-024F,
    U+1E00-1EFF;
}

/* SemiBold 600 */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:
    url('montserrat/montserrat-v31-latin-ext-600.woff2') format('woff2'),
    url('montserrat/montserrat-v31-latin-ext-600.ttf') format('truetype');
  unicode-range:
    U+0000-00FF,
    U+0100-024F,
    U+1E00-1EFF;
}

/* Bold / Headings 800 */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src:
    url('montserrat/montserrat-v31-latin-ext-800.woff2') format('woff2'),
    url('montserrat/montserrat-v31-latin-ext-800.ttf') format('truetype');
  unicode-range:
    U+0000-00FF,
    U+0100-024F,
    U+1E00-1EFF;
}

/* =========================================================
   NOTO SANS SC – SIMPLIFIED CHINESE (zh-CN)
   ========================================================= */

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url('noto/noto-sans-sc-v40-chinese-simplified-regular.woff2') format('woff2');
  unicode-range:
    U+4E00-9FFF,   /* CJK Unified Ideographs */
    U+3400-4DBF;   /* CJK Extension A */
}

/* =========================================================
   NOTO SANS TC – TRADITIONAL CHINESE (zh-TW)
   ========================================================= */

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url('noto/noto-sans-tc-v39-chinese-traditional-regular.woff2') format('woff2');
  unicode-range:
    U+4E00-9FFF,
    U+3400-4DBF;
}

/* =========================================================
   GLOBAL FONT STACK
   ========================================================= */

body {
  font-family:
    'Montserrat',
    'Noto Sans SC',
    'Noto Sans TC',
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Arial,
    sans-serif;
  font-weight: 400;
  font-size: 14px;
}

b, strong {
  font-weight: 600;
}

h1, .h1,
h2, .h2,
h3, .h3 {
  font-weight: 800;
  line-height: 1.1em;
}

h4, .h4,
h5, .h5,
h6, .h6 {
  font-weight: 600;
  line-height: 1.1em;
}

.form-label,
.bs-stepper-title {
  font-weight: 600;
}
