/* Cairo Font Override - Apply Cairo font to text elements only */
/* Preserve icon fonts: FontAwesome, Ionicons, Glyphicons */

/* Base font for body */
html, body {
    font-family: 'Cairo', sans-serif !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Cairo', sans-serif !important;
}

/* Text elements - excluding icon elements */
p, span, a, li, td, th, label,
input, select, textarea, button {
    font-family: 'Cairo', sans-serif !important;
}

/* Bootstrap components */
.btn, .form-control, .dropdown-menu {
    font-family: 'Cairo', sans-serif !important;
}

/* Bold text */
.fontbold20, .bmedium, b, strong {
    font-family: 'Cairo', sans-serif !important;
    font-weight: 600;
}

/* Sidebar */
.sidebar-menu, .sidebar-menu .treeview-menu > li > a {
    font-family: 'Cairo', sans-serif !important;
}

/* Content header */
.content-header > h1 > small {
    font-family: 'Cairo', sans-serif !important;
    font-weight: 700;
}

/* Box components */
.box-header, .box-title, .nav-tabs-custom > .nav-tabs > li {
    font-family: 'Cairo', sans-serif !important;
}

/* Info boxes */
.small-box h3, .info-box-number, .info-box-text {
    font-family: 'Cairo', sans-serif !important;
    font-weight: 700;
}

/* DataTables */
.dataTables_wrapper {
    font-family: 'Cairo', sans-serif !important;
}

/* Modal */
.modal-content, .modal-header, .modal-body, .modal-footer {
    font-family: 'Cairo', sans-serif !important;
}

/* Select2 */
.select2-container {
    font-family: 'Cairo', sans-serif !important;
}

/* ============================================== */
/* ICON FONTS - MUST KEEP ORIGINAL FONT          */
/* These rules MUST come after text rules        */
/* ============================================== */

/* Font Awesome 4 */
.fa,
i.fa,
span.fa {
    font-family: 'FontAwesome' !important;
    font-style: normal !important;
}

/* Font Awesome 5 Solid */
.fas,
.fa-solid,
i.fas,
span.fas,
i.fa-solid,
span.fa-solid {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* Font Awesome 5 Regular */
.far,
.fa-regular,
i.far,
span.far,
i.fa-regular,
span.fa-regular {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

/* Font Awesome 5 Brands */
.fab,
.fa-brands,
i.fab,
span.fab,
i.fa-brands,
span.fa-brands {
    font-family: 'Font Awesome 5 Brands' !important;
    font-style: normal !important;
}

/* Font Awesome 5 Light */
.fal,
.fa-light,
i.fal,
span.fal {
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 300 !important;
    font-style: normal !important;
}

/* Glyphicons */
.glyphicon,
span.glyphicon {
    font-family: 'Glyphicons Halflings' !important;
}

/* Ionicons */
.ion,
.ionicons,
i.ion,
span.ion,
[class^="ion-"],
[class*=" ion-"] {
    font-family: 'Ionicons' !important;
}

/* Info box icons specifically */
.info-box-icon i,
.info-box-icon .fa,
.info-box-icon .fas,
.info-box-icon .far,
.info-box-icon .fab,
.info-box-icon .ion,
.info-box-icon [class^="ion-"],
.info-box-icon .glyphicon {
    font-family: inherit;
}

.info-box-icon .fas {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
}

/* Small box icons */
.small-box .icon i,
.small-box .icon .fa,
.small-box .icon .fas {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
}

/* Print styles */
@media print {
    body, p, span, td, th, h1, h2, h3, h4, h5, h6 {
        font-family: 'Cairo', sans-serif !important;
    }

    .fa, .fas, .far, .fab, .ion, .glyphicon {
        font-family: inherit;
    }
}
