/*!
 * Global Prompt Font Configuration
 * Thai-optimized typography for the entire application
 */

/* Import Prompt font */
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap');

/* Global font-family reset with Prompt as primary */
*, *::before, *::after {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Body and main elements */
body, html {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.02em;
}

/* Typography improvements for Thai text */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

/* Form elements */
input, textarea, select, button {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 400;
}

/* Navigation and menus */
.nav, .navbar, .menu, .nav-link {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 500;
}

/* Cards and content areas */
.card, .neumorphic-card, .content {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Buttons */
.btn, button, .action-btn {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 500;
    letter-spacing: 0.01em;
}

/* Special elements */
.badge, .label, .tag {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 500;
}

/* Tables */
table, th, td {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Lists */
ul, ol, li {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Links */
a, .link {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Form control improvements */
.form-control, .form-select, .form-input {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 400;
}

/* Modal and popups */
.modal, .popup, .swal2-popup {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Tooltips and alerts */
.tooltip, .alert, .notification {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Grid and layout components */
.container, .row, .col {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
}

/* Specific weight classes */
.font-light { font-weight: 300 !important; }
.font-normal { font-weight: 400 !important; }
.font-medium { font-weight: 500 !important; }
.font-semibold { font-weight: 600 !important; }
.font-bold { font-weight: 700 !important; }

/* Thai text optimization */
.thai-text {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', system-ui, sans-serif !important;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.02em;
}

/* English text optimization */
.english-text {
    font-family: 'Prompt', 'Inter', 'SF Pro Display', system-ui, sans-serif !important;
    letter-spacing: 0.01em;
}

/* Numbers and currency */
.number, .currency, .amount {
    font-family: 'Prompt', 'SF Pro Display', monospace, system-ui, sans-serif !important;
    font-weight: 600;
    letter-spacing: 0.05em;
}

/* Override any conflicting font declarations */
.fa, .fas, .far, .fab, .fal, .fad {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 6 Brands" !important;
}

/* Ensure consistent font rendering */
* {
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

/* Improve font display for better loading */
@font-face {
    font-family: 'Prompt';
    font-display: swap;
}