/* CardReactor public typography contract.
 * Everything except semantic headings is Arial/Helvetica, exactly 17px,
 * normal weight. This file is intentionally loaded LAST on every public page.
 */

body.crf-document,
body.crf-document * {
  font-family: Arial, Helvetica, sans-serif !important;
}

body.crf-document :where(:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)) {
  font-size: 17px !important;
  font-weight: 400 !important;
}

/* Text-bearing pseudo-elements follow the same non-heading contract. */
body.crf-document *::before,
body.crf-document *::after {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

/* Heading elements and their entire subtree keep heading sizing + bold. */
body.crf-document h1,
body.crf-document h2,
body.crf-document h3,
body.crf-document h4,
body.crf-document h5,
body.crf-document h6 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

body.crf-document h1 *,
body.crf-document h2 *,
body.crf-document h3 *,
body.crf-document h4 *,
body.crf-document h5 *,
body.crf-document h6 * {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

body.crf-document h1::before,
body.crf-document h1::after,
body.crf-document h2::before,
body.crf-document h2::after,
body.crf-document h3::before,
body.crf-document h3::after,
body.crf-document h4::before,
body.crf-document h4::after,
body.crf-document h5::before,
body.crf-document h5::after,
body.crf-document h6::before,
body.crf-document h6::after {
  font-size: inherit !important;
  font-weight: inherit !important;
}
