/* ================================================================
   GLOBAL APP FONT — Geist
   Loaded LAST in every layout <head> (after the theme and module CSS) so it
   wins by source order, without !important.

   - Text elements and the theme selectors that set their own font-family
     (NobleUI style.min.css, club.css, main.css, AI page, login) are covered here.
   - Icon fonts are NOT affected: Font Awesome, Material Icons, Bootstrap Icons,
     iconkit, fcicons etc. set font-family on their own classes, which beat these rules.
   - Monospace (code, pre, kbd, samp) is intentionally left alone.
================================================================ */

:root {
    --app-font: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    /* Bootstrap 5 pages read the font from these variables */
    --bs-font-sans-serif: var(--app-font);
    --bs-body-font-family: var(--app-font);
}

html,
body,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
input, button, select, optgroup, textarea,
.btn,
.form-control,
.custom-select,
.input-group-text,
.dropdown-menu,
.dropdown-item,
.nav-link,
.navbar,
.sidebar,
.link-title,
.footer,
.card,
.card-title,
.list-group-item,
.list-group-item .btn,
.modal,
.table,
.badge,
.alert,
.breadcrumb,
.page-link,
.tooltip,
.popover,
.select2-container,
.select2-results,
.select2-search__field,
.dataTables_wrapper,
.datepicker,
.bootstrap-datetimepicker-widget,
.fc,
.growl-item,
.swal2-popup,
.stat-number,
.ai-page,
.property-status span {
    font-family: var(--app-font);
}

/* Same specificity as the NobleUI rule it replaces */
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.dow {
    font-family: var(--app-font);
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
