/* =========================================================================
   OmniflonexAi — Mobile polish (B7 legibility / B8 tap targets)
   Loaded last, phone widths only. Does not touch desktop or tablet layout.
   ========================================================================= */
@media (max-width: 600px) {

  /* ---- B7: minimum readable text (Google / WCAG: 12px floor) ---- */
  td, th, h5, small,
  .nav-link-btn, .pkg-trust-badge, .home-ref-step-num, .section-badge,
  .ai-level-badge, .about-card-tag, .poster-benefit-desc, .poster-step-num,
  .poster-calc-tag, .sp-timeline-step-sub, .sp-eyebrow, .sp-flow-node-label,
  .flow-pill-num, .cat-badge, .cat-wl-badge, .cat-wholesale-lbl,
  .legal-card-tag, .step-footer-tag, .prog-order-tag, .footer-note,
  .omn-tag, .omn-sec,
  .dot, .ft, .ey, .tld, .v, .best, .sv, .tap {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* children inherit the corrected size instead of their own smaller one */
  td span, th span, .section-badge span, .pkg-trust-badge span,
  .ai-level-badge span, .about-card-tag span, .sp-eyebrow span,
  .legal-card-tag span, .cat-badge span, .omn-tag span {
    font-size: inherit !important;
  }


  /* broad sweep: small decorative text (badges, pills, tags, captions) */
  [class*="-badge"], [class*="-badge"] span,
  [class*="-tag"], [class*="-tag"] span,
  [class*="-pill"], [class*="-pill"] span,
  [class*="-label"], [class*="-chip"],
  [class*="-item-text"] span, [class*="-sub"] strong,
  [class*="-eyebrow"], [class*="-caption"], [class*="-note"],
  .announcement-item, .announcement-item span,
  .top-announcement-bar, .top-announcement-bar span {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* ---- B8: 44x44 minimum tap targets ---- */
  .omni-foot-social,
  .legal-pdf-btn,
  .footer-email-link,
  .sp-newsletter-btn,
  .pb-cta,
  .nav-auth-btn-unified,
  .nav-quote-cta-btn,
  .hamburger-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .omni-foot-social {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
  }

  footer a,
  .footer-links a,
  .legal-links a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* ---- long headings must wrap instead of being clipped ---- */
  h1, h2, h3 {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
  }

  /* ---- no sideways scrolling ---- */
  html, body { overflow-x: hidden; max-width: 100%; }
  img, video, iframe, table, pre { max-width: 100%; }
}
