/* One local-only stack for site text. No @import, @font-face or font URL.
 * An installed Open Sans is used when available; otherwise the browser moves
 * directly to Arial, Helvetica and its sans-serif default.
 */
:root {
  --kw-site-font: "Open Sans", Arial, Helvetica, sans-serif;
  --bodyfontfamily: var(--kw-site-font) !important;
  --headingsfontfamily: var(--kw-site-font) !important;
  --nv-fallback-ff: var(--kw-site-font) !important;
  --ktr-sans: var(--kw-site-font) !important;
  --ktr-d-font: var(--kw-site-font) !important;
}
/* This is intentionally a site-wide text rule: it also catches newly inserted
 * products, mobile menus, forms, author boxes, captions and staff-only tools.
 * Only font-family changes; sizes, emphasis, weights and spacing remain owned
 * by their existing components. Icon glyphs and pseudo-elements are preserved.
 */
:root body.kw-local-fonts,
:root body.kw-local-fonts *:not(:where(
  .fa, .fas, .far, .fab, .fal, .fad, .fat, .fak,
  .fa-solid, .fa-regular, .fa-brands, .fa-light, .fa-thin, .fa-duotone,
  .dashicons, .ab-icon, [class^="eicon"], [class*=" eicon-"],
  [class^="vjs-icon-"], [class*=" vjs-icon-"],
  .vjs-play-progress, .vjs-volume-level,
  .material-icons, .material-symbols-outlined, .material-symbols-rounded,
  .material-symbols-sharp, .star-rating, .star-rating span,
  .abh_social a
)) {
  font-family: var(--kw-site-font) !important;
}
