/**
 * Font Override CSS
 * 
 * This stylesheet ensures Source Code Pro is used consistently
 * throughout the application, overriding any theme-specific fonts.
 * 
 * THIS FILE MUST BE LOADED LAST IN base.html
 */

/* Import Source Code Pro with all necessary weights */
@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap');

/* Root variables */
:root {
  --font-family-sans-serif: "Source Code Pro", monospace !important;
  --font-family-monospace: "Source Code Pro", monospace !important;
  --bs-font-sans-serif: "Source Code Pro", monospace !important;
  --bs-font-monospace: "Source Code Pro", monospace !important;
  --bs-body-font-family: "Source Code Pro", monospace !important;
}

/* Maximum specificity global override */
html body,
html *,
* {
  font-family: "Source Code Pro", monospace !important;
}

/* Override any other monospace fonts that might be used */
code, pre, kbd, samp, tt,
.monospace, [class*="monospace"],
.font-monospace, [class*="font-monospace"],
[style*="font-family"],
input, textarea, select, button {
  font-family: "Source Code Pro", monospace !important;
}

/* Price containers and numeric values - specifically targeted */
.price-container,
.quote-amount,
[class*="price"],
[class*="amount"],
[style*="clamp"],
input[type="number"],
input[type="date"] {
  font-family: "Source Code Pro", monospace !important;
}

/* Theme-specific overrides */
html[data-theme="light"] *,
html[data-theme="dark"] *,
html[data-theme="dark"][data-dark-style="modern"] *,
html[data-theme="dark"][data-dark-style="retro"] * {
  font-family: "Source Code Pro", monospace !important;
}

/* Bootstrap component overrides */
.btn, .card, .navbar, .modal, .form-control, .dropdown-menu,
.alert, .badge, .toast, .tooltip, .popover, .breadcrumb,
.nav, .pagination, .list-group, .accordion, .carousel {
  font-family: "Source Code Pro", monospace !important;
}

/* Apply to all elements - catch-all */
* > * {
  font-family: "Source Code Pro", monospace !important;
}

/* Force !important on inline styles - attempts to override even after DOM manipulation */
[style] {
  font-family: "Source Code Pro", monospace !important;
} 