/*
 * Brawus typography lock.
 * Loaded after every route stylesheet so legacy and dynamically injected
 * components cannot replace the brand typeface with Tilda Sans or system UI.
 */

html.brawus-v2-html body#body.brawus-v2,
html.brawus-v2-html body#body.brawus-v2 :where(
  *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.flaticon)
) {
  font-family: "Mont", Arial, sans-serif !important;
}

html.brawus-v2-html body#body.brawus-v2 :where(input, textarea, select, button, option, optgroup),
html.brawus-v2-html body#body.brawus-v2 :where(input, textarea)::placeholder {
  font-family: "Mont", Arial, sans-serif !important;
}

/* Keep icon glyphs bound to their own font files. */
html.brawus-v2-html body#body.brawus-v2 :where(.fa, .fas, .fa-solid) {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
}

html.brawus-v2-html body#body.brawus-v2 :where(.far, .fa-regular) {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400;
}

html.brawus-v2-html body#body.brawus-v2 :where(.fab, .fa-brands) {
  font-family: "Font Awesome 5 Brands" !important;
}

html.brawus-v2-html body#body.brawus-v2 :where(.flaticon, [class^="flaticon-"], [class*=" flaticon-"]) {
  font-family: "Flaticon" !important;
}

/* Serif is reserved for light italic emphasis in case narratives. Route CSS
   may choose Iowan/Baskerville for <em>, but must never expose its upright or
   semibold cut. */
html.brawus-v2-html body#body.brawus-v2.is-case-page :is(
  .servicedesk-case,
  .krasivo-case,
  .parla-case,
  .voiceover-case
) em {
  font-weight: 400 !important;
  font-style: italic !important;
  font-synthesis: none;
}
