/* ================================================
   GEIST FONT FAMILY - EXCLUSIVE
   Created by Vercel - Open Source Sans-Serif
   CDN: jsDelivr
   ================================================ */

/* Regular (400) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Medium (500) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* SemiBold (600) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Bold (700) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Light (300) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Thin (100) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* UltraLight (200) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-UltraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* Black (900) */
@font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Geist Mono for code/monospace */
@font-face {
    font-family: 'Geist Mono';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist Mono';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist Mono';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ================================================
   GLOBAL FONT APPLICATION - NO FALLBACKS
   Geist is the exclusive typeface
   ================================================ */

/* Universal selector */
* {
    font-family: 'Geist' !important;
}

/* Root elements */
body,
html {
    font-family: 'Geist' !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* All text elements */
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
div,
a,
button,
input,
textarea,
select,
label,
li,
td,
th,
.btn,
.card,
.modal,
.toast,
.navbar,
.sidenav,
.dropdown-content,
.collection,
.chip,
.badge,
.alert,
.form-control,
.input-field {
    font-family: 'Geist' !important;
}

/* Override any Inter, Roboto, System UI references */
[style*="Inter"],
[style*="Roboto"],
[style*="system-ui"],
[style*="apple-system"],
[style*="Segoe UI"],
[style*="Helvetica"],
[style*="Arial"],
[style*="Nunito"] {
    font-family: 'Geist' !important;
}

/* ================================================
   MONOSPACE - Use Geist Mono
   ================================================ */

code,
pre,
kbd,
samp,
.monospace,
.code,
[style*="monospace"],
[style*="Courier"] {
    font-family: 'Geist Mono' !important;
}

/* Timer displays */
.status-timer {
    font-family: 'Geist Mono' !important;
}

/* ================================================
   ICON FONT EXCEPTIONS
   ================================================ */

/* Material Icons - must use icon font */
.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp,
.material-icons-two-tone,
i.material-icons {
    font-family: 'Material Icons' !important;
}

/* Flag Icons - sprite-based */
.flag-icon {
    font-family: inherit !important;
}

/* ================================================
   TYPOGRAPHY SCALE
   ================================================ */

h1 {
    font-weight: 700;
}

h2 {
    font-weight: 600;
}

h3 {
    font-weight: 600;
}

h4 {
    font-weight: 500;
}

h5 {
    font-weight: 500;
}

h6 {
    font-weight: 500;
}

body {
    font-weight: 400;
    line-height: 1.5;
}

button,
.btn {
    font-weight: 500;
}

label {
    font-weight: 500;
}