/**
 * Theme typography — must load after Bootstrap so org font choices win.
 */
:root {
    --bs-font-sans-serif: var(--theme-font-family);
    --bs-body-font-family: var(--theme-font-family);
}

html,
body,
.app-body,
.app-main,
.wrapper,
.content-wrapper,
.content,
#app-content,
#app-content-inner,
p,
span,
label,
li,
input,
select,
textarea,
button,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.modal-content,
.nav,
.table,
.dataTables_wrapper,
#theme-preview .preview-page,
#theme-preview .preview-btn,
#preview-soft-panel,
#preview-text,
#typography-sample-body,
.typography-sample-body {
    font-family: var(--theme-font-family) !important;
}

.app-sidebar,
.main-sidebar,
.app-sidebar .sidebar,
.main-sidebar .sidebar,
.app-sidebar .user-panel,
.main-sidebar .user-panel,
.app-sidebar .user-name,
.main-sidebar .user-name,
.app-sidebar .user-panel .org-info,
.main-sidebar .user-panel .org-info,
.app-sidebar .user-panel .org-info a,
.main-sidebar .user-panel .org-info a,
.app-sidebar .panel-switch,
.main-sidebar .panel-switch,
.nav-sidebar,
.nav-sidebar .nav-link,
.nav-sidebar .nav-link p,
.nav-sidebar .nav-treeview .nav-link,
.logout-wrapper,
.logout-link,
.theme-preview-sidebar,
#theme-preview .preview-sidebar,
#theme-preview .preview-nav-item,
#typography-sample-sidebar,
.typography-sample-sidebar {
    font-family: var(--theme-sidebar-font-family, var(--theme-font-family)) !important;
}

.ds-page__title,
.ds-page__eyebrow,
.ds-welcome-card__title,
.ds-qr-hub__title,
.ds-qr-hub__name,
.ds-qr-hub__pass-heading,
.literata_font,
#theme-preview .preview-heading-accent,
#typography-sample-heading,
.typography-sample-heading {
    font-family: var(--theme-heading-font-family, Georgia, serif) !important;
}

.ds-page__title {
    font-size: var(--ds-font-size-2xl);
}

.ds-page__subtitle {
    font-family: var(--theme-font-family) !important;
    font-size: var(--ds-font-size-md);
}

.ds-page__eyebrow {
    font-size: var(--ds-font-size-xs);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
