/* ==========================================================================
   Krub (self-host) — บังคับ metrics ให้เท่า "Noto Sans Thai Looped" ตัวเดิม

   ทำไมต้องทำ: เลย์เอาต์ทั้งเว็บถูกจูนด้วย metrics ของ Noto Sans Thai Looped
   (ascent 1250 / descent 350 / upem 1000 → line-height: normal = 1.60em)
   ส่วน Krub ของจริงคือ ascent 1007 / descent 293 → normal = 1.30em
   พอสลับฟอนต์เฉยๆ ข้อความทั้งหน้าจะยกขึ้น 0.093em–0.243em แล้วเลย์เอาต์เพี้ยนหมด

   *-override ด้านล่างสั่งให้เบราว์เซอร์คิดระยะของ Krub ด้วยตัวเลขชุดเดิม
   ผลคือทุกกล่องข้อความสูงเท่าเดิม baseline อยู่ที่เดิมเป๊ะ ไม่ต้องตามแก้ CSS อีก 97 จุด

   ไฟล์ woff2 ดึงมาจาก Google Fonts (Krub v11) แยก subset ตาม unicode-range เดิม
   เบราว์เซอร์จะโหลดเฉพาะชุดที่หน้านั้นใช้จริง — ไทยอ่าน krub-*-thai.woff2 ชุดเดียว ~11KB
   เลิกใช้ลิงก์ Krub จาก fonts.googleapis.com แล้ว (ลิงก์นั้นใส่ override ไม่ได้)
   ถ้าจะอัปเดตฟอนต์: โหลด woff2 ชุดใหม่มาทับ แล้วคง *-override ไว้
   ========================================================================== */
/* thai — น้ำหนัก 300 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('krub-300-thai.woff2') format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin-ext — น้ำหนัก 300 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('krub-300-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin — น้ำหนัก 300 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('krub-300-latin.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;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* thai — น้ำหนัก 400 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('krub-400-thai.woff2') format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin-ext — น้ำหนัก 400 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('krub-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin — น้ำหนัก 400 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('krub-400-latin.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;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* thai — น้ำหนัก 500 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('krub-500-thai.woff2') format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin-ext — น้ำหนัก 500 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('krub-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin — น้ำหนัก 500 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('krub-500-latin.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;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* thai — น้ำหนัก 600 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('krub-600-thai.woff2') format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin-ext — น้ำหนัก 600 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('krub-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin — น้ำหนัก 600 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('krub-600-latin.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;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* thai — น้ำหนัก 700 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('krub-700-thai.woff2') format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin-ext — น้ำหนัก 700 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('krub-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

/* latin — น้ำหนัก 700 */
@font-face {
  font-family: 'Krub';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('krub-700-latin.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;
  ascent-override: 125%;
  descent-override: 35%;
  line-gap-override: 0%;
}

