/*
 * Sitewide typeface: Poppins (self-hosted).
 *
 * HISTORY — why this file used to say "Times New Roman":
 * The original WordPress site's fonts.css referenced font files on
 * gold-dunlin-777465.hostingersite.com, an inaccessible staging domain, so
 * "General Sans" never actually loaded there — the browser fell back to its
 * default serif. During the migration we replicated that fallback exactly
 * (Times New Roman) to preserve pixel parity with the live site.
 *
 * 2026-08-06 — Bilal: "I don't think the site was supposed to be in Times New
 * Roman lool… use rens plz… nah sitewide i think we can give it a refresh."
 * The parity constraint is deliberately dropped: the original's serif was an
 * accident of a dead CDN, not a design decision. We now serve the intended
 * sans-serif, matching renschandrensch.com's body face.
 *
 * Self-hosted rather than pulled from Google Fonts — this build ships zero
 * external requests, and an external font dependency is the very thing that
 * broke on the original. Latin subset, 4 weights, ~32KB total.
 * font-display:swap so text paints immediately and swaps in without blocking.
 */

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/poppins/poppins-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/poppins/poppins-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/poppins/poppins-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/poppins/poppins-700.woff2') format('woff2');
}

:root {
  /*
   * The single control point: `body, button, input, select, textarea` in
   * generate-style.css resolves from this token, and 64 other rules reference
   * it directly.
   */
  --gp-font--general-sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /*
   * These two are referenced by css/gb-dui-lawyer-rockford.css but were never
   * defined anywhere, so those declarations were invalid at computed-value time
   * and the elements silently inherited the body font. Defining them preserves
   * that exact result while making the behaviour explicit rather than accidental.
   */
  --gp-font--instrument-sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --gp-font--zodiak: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/*
 * The Smart Slider hero hardcodes 'General Sans' / 'General' in
 * css/smartslider-n2-ss-6.css. Neither family is ever loaded, so the hero was
 * falling back to the browser's default serif. Those declarations are repointed
 * at the token in that file rather than aliased here, so the intent stays
 * greppable.
 */

/*
 * DIRECT CONSEQUENCE OF THE TYPEFACE CHANGE — do not remove with the font.
 *
 * Poppins is wider than the old Times New Roman fallback, so the comparison
 * table in /what-happens-after-a-dui-arrest-in-illinois/ grew from fitting a
 * 360px viewport to 366px. Because the site sets html{overflow-x:hidden}
 * (a previous QA fix), the extra width was not scrollable — it was silently
 * CLIPPED, making the last column unreachable on a phone.
 *
 * Let content tables scroll inside their own box instead of overflowing the
 * page. Scoped to .entry-content so plugin/layout tables are untouched.
 * Written generally rather than for the one post that has a table today.
 */
@media (max-width: 768px) {
  .entry-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/*
 * NOTE: the practice-area card alignment fix that this typeface change also
 * required lives in css/simple-css-output.css, next to the existing .practice
 * and .text-height rules that already govern those cards.
 */
