/**
 * i18n.css — ระบบ 3 ภาษา
 *  1) ฟอนต์พม่า (Noto Sans Myanmar, ใบอนุญาต SIL OFL — public/fonts/NOTO-SANS-MYANMAR-OFL-LICENSE.txt)
 *     ลงทะเบียนด้วยชื่อฟอนต์เดียวกับที่ระบบใช้อยู่ (K2D/Inter/Outfit/Sarabun/Tahoma) เฉพาะช่วงอักขระพม่า (unicode-range)
 *     ตัวอักษรไทย/ละตินยังใช้ฟอนต์เดิม จึงไม่ต้องแก้ font-family ที่ประกาศ !important ไว้ทั่วระบบ
 *     เบราว์เซอร์โหลดไฟล์ฟอนต์เฉพาะเมื่อหน้านั้นมีอักขระพม่าจริง (ภาษาไทย/อังกฤษไม่โหลด)
 *  2) ตัวสลับภาษาในแถบบน + แถบสลับภาษาของหน้าที่ไม่มีเลย์เอาต์ (เข้าสู่ระบบ ฯลฯ)
 */
/* K2D (พม่า): ต้องประกาศช่วงน้ำหนักให้ตรงกับ vendor/gfonts/k2d.css เป๊ะ (100 400 / 500 / 600 900) — ถ้าไม่ตรง เบราว์เซอร์จะเลือกหน้าฟอนต์พม่าอย่างเดียวสำหรับน้ำหนักนั้น แล้วไทย/อังกฤษตกไปใช้ Tahoma/Arial (บั๊กที่เกิดหลังรวมน้ำหนัก 2026-10-14) */
@font-face{font-family:'K2D';font-style:normal;font-weight:100 400;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'K2D';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'K2D';font-style:normal;font-weight:600 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-600.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 500;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/noto-sans-myanmar-600.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-700.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300 500;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/noto-sans-myanmar-600.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-700.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:300 500;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/noto-sans-myanmar-600.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:700 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-700.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Tahoma';font-style:normal;font-weight:300 500;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Tahoma';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/noto-sans-myanmar-600.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Tahoma';font-style:normal;font-weight:700 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-700.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Noto Sans Myanmar';font-style:normal;font-weight:300 500;font-display:swap;src:url('../fonts/noto-sans-myanmar-400.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Noto Sans Myanmar';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/noto-sans-myanmar-600.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}
@font-face{font-family:'Noto Sans Myanmar';font-style:normal;font-weight:700 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-700.woff2') format('woff2');unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F,U+200C-200D,U+25CC;}

/* ป้ายชื่อภาษา "မြန်မာ" ในตัวสลับภาษา (หน้า Login/ยืนยัน 2 ขั้น ฯลฯ ที่เห็นป้ายนี้ตลอด) — ใช้ฟอนต์ย่อ 1.5 KB ที่มีเฉพาะ 5 ตัวอักษรของคำนี้
   (ตัดจาก Noto Sans Myanmar 600 ด้วย HarfBuzz เก็บ layout feature ไว้ครบ) แทนการดึงฟอนต์เต็ม 49 KB ทั้งที่หน้าเป็นภาษาไทย/อังกฤษ
   หน้าที่เนื้อหาเป็นภาษาพม่าจริง (lang=my) ยังโหลดฟอนต์เต็มตามปกติ */
@font-face{font-family:'MM Label';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/noto-sans-myanmar-label.woff2') format('woff2');unicode-range:U+1014,U+1019,U+102C,U+103A,U+103C;}
html body [data-i18n-switch="my"] { font-family: 'MM Label', 'K2D', sans-serif !important; }

/* พม่า: ตัวอักษรสูงกว่าไทย/ละติน — เพิ่มระยะบรรทัดให้สระบน-ล่างไม่ชนกัน */
html[lang="my"] body { line-height: 1.7; }
html[lang="my"] .btn, html[lang="my"] .badge, html[lang="my"] .nav-link, html[lang="my"] .form-label { line-height: 1.6; }

/* ตัวสลับภาษาในแถบบน */
.i18n-switch-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 10px; border-radius: 10px;
    color: #475569; text-decoration: none; font-size: 13px; font-weight: 600;
    background: rgba(16, 185, 129, .08); border: 1px solid rgba(16, 185, 129, .18);
    white-space: nowrap;
}
.i18n-switch-btn:hover { background: rgba(16, 185, 129, .16); color: #337962; }
.i18n-switch-btn .bi { font-size: 16px; }
.i18n-switch-menu { min-width: 150px; border-radius: 12px; margin-top: 10px; }
.i18n-switch-menu .dropdown-item { border-radius: 8px; font-weight: 500; }
.i18n-switch-menu .dropdown-item.active { background: #10b981; color: #fff; }
html[data-theme="dark"] .i18n-switch-btn { color: #e2e8f0; background: rgba(148, 163, 184, .12); border-color: rgba(148, 163, 184, .25); }

/* แถบสลับภาษาลอยมุมขวาบน (หน้าที่ไม่ผ่าน layout) */
.i18n-bar {
    position: fixed; top: 12px; right: 12px; z-index: 2147483000;
    display: flex; gap: 2px; padding: 3px;
    background: rgba(255, 255, 255, .92); border: 1px solid rgba(100, 116, 139, .25);
    border-radius: 999px; box-shadow: 0 2px 10px rgba(15, 23, 42, .12);
    font-family: 'K2D', 'Inter', sans-serif; font-size: 13px;
}
.i18n-bar a {
    padding: 5px 12px; border-radius: 999px; color: #475569; text-decoration: none; font-weight: 600; line-height: 1.4;
}
.i18n-bar a:hover { background: rgba(16, 185, 129, .1); }
.i18n-bar a.active { background: #059669; color: #fff; }
@media print { .i18n-bar, .i18n-switch { display: none !important; } }

/* แถบภาษาของหน้าที่ไม่ผ่าน layout (Login ฯลฯ): หลบรอยบาก/Dynamic Island/แถบ Home ด้านข้างตอน iPhone แนวนอน */
.i18n-bar {
    top: max(12px, calc(env(safe-area-inset-top, 0px) + 8px));
    right: max(12px, calc(env(safe-area-inset-right, 0px) + 8px));
}
html[data-theme="dark"] .i18n-bar { background: rgba(10, 36, 29, .92); border-color: rgba(148, 163, 184, .28); }
html[data-theme="dark"] .i18n-bar a { color: #cbd5e1; }
html[data-theme="dark"] .i18n-bar a:hover { background: rgba(52, 211, 153, .14); }
html[data-theme="dark"] .i18n-bar a.active { color: #fff; }
