/* TicketSure — shared type scale for every inner page.
   Loaded last so one scale wins everywhere:
     section title (h2) ......... --fs-h2
     kicker ..................... --fs-kicker   (0.8125rem)
     intro paragraph ............ --fs-lead     (1.125rem, 1rem on phones)
     feature panel title ........ --fs-feature  (up to 2rem)
     large card title ........... --fs-card-lg  (1.5rem)
     card title ................. --fs-card     (1.25rem)
     body text / content lists .. --fs-body     (1rem)
     meta / small print ......... --fs-small    (0.875rem)
     badges & pills ............. --fs-badge    (0.75rem)                                        */

:root {
  --fs-feature: clamp(1.6rem, 2.3vw, 2rem);
  --fs-card-lg: 1.5rem;
  --fs-card: 1.25rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;
}

/* ---------- Kickers ---------- */
main :is(.ag-kicker, .ct-kicker, .ab-kicker, .earn-x-kicker, .mp-claim-kicker) {
  font-size: var(--fs-kicker, 0.8125rem);
  letter-spacing: 0.12em;
}

/* ---------- Intro paragraphs under a section title ---------- */
main :is(.ag-lead, .ct-lead, .ab-lead, .bx-lead) {
  font-size: var(--fs-lead, 1.125rem);
  line-height: 1.65;
}

/* ---------- Feature panel titles (one big card or answer panel) ---------- */
main :is(.ab-mv-half h2, .ct-form-head h2, .ct-brief-card h3, .mp-faq-copy h3, .mp-claim h3) {
  font-size: var(--fs-feature);
  line-height: 1.15;
  letter-spacing: -0.03em;
}

/* ---------- Large card titles ---------- */
main :is(.ab-path h3, .mp-level h3, .sv-card h3) {
  font-size: var(--fs-card-lg);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

/* ---------- Card titles ---------- */
main :is(.bx-tile h3, .bx-eq-card h3, .rw-steps h3, .sv-stop h3, .sv-q h3, .ab-how h3) {
  font-size: var(--fs-card);
  line-height: 1.25;
  letter-spacing: -0.02em;
}

/* ---------- Body text inside cards ---------- */
main :is(.bx-tile p, .bx-eq-card p, .rw-steps p, .sv-stop p, .sv-q p, .mp-level-body > p:not(.mp-level-tag),
  .ct-form-head p:not(.ct-kicker), .ab-mv-half > p:last-child, .ab-path p, .mp-faq-ans, .rw-q p, .sv-notes span) {
  font-size: var(--fs-body);
  line-height: 1.6;
}

/* ---------- Content lists ---------- */
main :is(.mp-level li, .bx-need li, .bx-steps p, .ab-path li) {
  font-size: var(--fs-body);
}

/* ---------- Badges & pills ---------- */
main :is(.ct-pass-chip, .mp-level-tag, .rw-live, .sv-nights, .sv-verified) {
  font-size: var(--fs-badge, 0.75rem);
}

@media (max-width: 640px) {
  :root {
    --fs-card-lg: 1.35rem;
    --fs-card: 1.15rem;
  }
}
