/* 
 * Niramit Font Configuration
 * Comprehensive font setup for beautiful Thai typography
 */

/* Import Niramit font from Google Fonts with all weights */
@import url('https://fonts.googleapis.com/css2?family=Niramit:wght@300;400;500;600;700&display=swap');

/* Global font family application */
* {
    font-family: 'Niramit', sans-serif !important;
}

/* Base elements */
body, 
html {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}

/* Typography hierarchy */
h1 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1.2;
}

h2 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 600;
    font-size: 2rem;
    line-height: 1.3;
}

h3 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 600;
    font-size: 1.75rem;
    line-height: 1.3;
}

h4 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.4;
}

h5 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.4;
}

h6 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.4;
}

/* Form elements */
input, 
textarea, 
select {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

.form-control,
.form-select {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

.form-label {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
}

/* Buttons */
button,
.btn {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
}

.btn-lg {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
    font-size: 1.125rem;
}

.btn-sm {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
    font-size: 0.875rem;
}

/* Navigation */
.navbar,
.navbar-brand {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 600;
}

.navbar-nav .nav-link {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Cards and containers */
.card,
.card-title,
.card-body {
    font-family: 'Niramit', sans-serif !important;
}

.card-title {
    font-weight: 600;
}

/* Alerts */
.alert {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

.alert h4,
.alert h5,
.alert h6 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 600;
}

/* Tables */
.table,
.table th,
.table td {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

.table th {
    font-weight: 500;
}

/* Badges */
.badge {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
}

/* Progress bars */
.progress-bar {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 500;
}

/* Modals */
.modal,
.modal-title,
.modal-body,
.modal-footer {
    font-family: 'Niramit', sans-serif !important;
}

.modal-title {
    font-weight: 600;
}

/* Dropdowns */
.dropdown-menu,
.dropdown-item {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Breadcrumbs */
.breadcrumb {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Pagination */
.pagination {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Tooltips */
.tooltip {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Popovers */
.popover {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Special sections */
.hero-section {
    font-family: 'Niramit', sans-serif !important;
}

.hero-section h1 {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 700;
}

.hero-section p {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Form validation */
.form-control:focus {
    font-family: 'Niramit', sans-serif !important;
}

.invalid-feedback {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

.valid-feedback {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Small text */
small,
.text-muted {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Lead text */
.lead {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Blockquotes */
blockquote {
    font-family: 'Niramit', sans-serif !important;
    font-weight: 400;
}

/* Code elements (keep monospace for code) */
code,
pre,
kbd,
samp {
    font-family: 'Courier New', monospace !important;
}

/* Ensure proper Thai character spacing */
.thai-text {
    font-family: 'Niramit', sans-serif !important;
    letter-spacing: 0.025em;
    word-spacing: 0.1em;
}

/* Responsive font sizes */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.75rem;
    }
    
    h3 {
        font-size: 1.5rem;
    }
}

/* Print styles */
@media print {
    body,
    h1, h2, h3, h4, h5, h6,
    .card,
    .table {
        font-family: 'Niramit', sans-serif !important;
    }
}
