/*
 * ============================================================
 * FONTS.CSS  —  Global Font Configuration
 * Montserrat: offline woff2 (primary) + Google CDN (fallback)
 * ============================================================
 *
 * Cara kerja:
 *  - Browser pertama coba load dari /assets/fonts/ (offline)
 *  - Kalau file lokal tidak tersedia, otomatis fallback ke Google CDN
 *  - Set font-family global di body sehingga semua halaman ikut
 *
 * Untuk ganti font di masa depan: cukup ubah file ini saja.
 * ============================================================
 */

/* ===== OFFLINE @font-face (Latin subset) ===== */
/* weight 400 — normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url('../assets/fonts/montserrat-latin-regular.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.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;
}

/* weight 500 — medium (same file as 400, browser interpolates) */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    url('../assets/fonts/montserrat-latin-regular.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.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;
}

/* weight 600 — semibold */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:
    url('../assets/fonts/montserrat-latin-regular.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.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;
}

/* weight 700 — bold */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    url('../assets/fonts/montserrat-latin-regular.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.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;
}

/* italic 400 */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src:
    url('../assets/fonts/montserrat-latin-italic.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRyS7m.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;
}

/* italic 700 */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src:
    url('../assets/fonts/montserrat-latin-italic.woff2') format('woff2'),
    url('https://fonts.gstatic.com/s/montserrat/v31/JTUQjIg1_i6t8kCHKm459WxRyS7m.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;
}

/* ===== GLOBAL FONT RESET ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: 'Montserrat', 'Inter', system-ui, -apple-system, sans-serif;
}

body {
  font-family: 'Montserrat', 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Pastikan form element juga ikut Montserrat (browser default override) */
input,
textarea,
select,
button {
  font-family: inherit;
}
