/* ==========================================================================
   BỘ FONT CHỮ THỐNG NHẤT HỆ THỐNG: FS PFBeauSansPro
   Đồng bộ toàn diện cho Cổng Thông Tin Nhân Đạo & Bản Đồ Số Cứu Trợ
   ========================================================================== */

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-Regular.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-Regular.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Regular.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-SemiBold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-SemiBold.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-SemiBold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-Bold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-Bold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Bold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS PFBeauSansPro';
    src: url('FS PFBeauSansPro-Bold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Bold.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Bí danh (Alias) PFBeauSansPro */
@font-face {
    font-family: 'PFBeauSansPro';
    src: url('FS PFBeauSansPro-Regular.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PFBeauSansPro';
    src: url('FS PFBeauSansPro-SemiBold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PFBeauSansPro';
    src: url('FS PFBeauSansPro-Bold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PFBeauSansPro';
    src: url('FS PFBeauSansPro-Bold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Bold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PFBeauSansPro';
    src: url('FS PFBeauSansPro-Bold.ttf') format('truetype'),
         url('PFBeauSansPro/FS-PFBeauSansPro-Bold.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-sans: 'FS PFBeauSansPro', 'PFBeauSansPro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Áp dụng thống nhất cho toàn bộ hệ thống */
html, body, button, input, select, textarea, h1, h2, h3, h4, h5, h6, p, span, a, label, table, td, th, div, li, ul, ol {
    font-family: 'FS PFBeauSansPro', 'PFBeauSansPro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Bảo toàn icon FontAwesome */
.fa, .fa-solid, .fa-regular, .fa-brands, [class*="fa-"], [class^="fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}
