/*
 * Mobile accessibility fixes — applied at <=768px.
 *
 * Targets the actual element classes used by DeedFlex landing/auth/dashboard.
 * Inline-style font sizes (font-size:13px on trust-badge spans) require
 * !important to override.
 */
@media (max-width: 768px) {
  /* === Tap targets — minimum 44px height per Apple HIG === */
  /* Site nav (.ds-nav containers found in landing.html) */
  .ds-nav-logo,
  .ds-nav-links a,
  .ds-nav-links button,
  nav.ds-nav a,
  nav.ds-nav button,
  a.btn-ghost,
  a.brand,
  .auth-nav a,
  .auth-nav button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
  }

  /* FAQ accordion */
  button.ds-faq-q,
  .ds-faq-q,
  details summary {
    min-height: 48px;
    padding: 0.75rem 1rem;
  }

  /* State-page breadcrumbs, county tags, cross-state links, listing-card chips */
  .sp-breadcrumb a,
  a.sp-county-tag, .sp-county-tag,
  a.sp-state-link, .sp-state-link,
  .card-county a, .card-county,
  .sp-state-links a,
  .sp-county-list a, .sp-counties a,
  .sp-listing-card a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
  }

  /* Footer + about-page contact links */
  footer a, .site-footer a, .ds-footer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0;
  }

  /* === Font sizes — minimum 14px === */
  /* Override every inline-styled font-size below 14px (testimonial badges,
     trust marks, pricing fine print, contact emails, etc). */
  [style*="font-size:11px"], [style*="font-size: 11px"],
  [style*="font-size:12px"], [style*="font-size: 12px"],
  [style*="font-size:13px"], [style*="font-size: 13px"],
  [style*="font-size:13.5px"], [style*="font-size: 13.5px"] {
    font-size: 14px !important;
  }

  /* All <a> mailto/tel links + secondary text links */
  a[href^="mailto:"], a[href^="tel:"], a.text-link, a.muted {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 4px 0;
  }

  /* Submit buttons that report 0 height (full-width primary buttons in forms) */
  button[type="submit"], input[type="submit"], .btn-primary, .signup-form button {
    min-height: 48px !important;
    padding: 12px 16px;
  }

  /* Generic small-text classes */
  .badge, .help-text, .small, .text-muted, .eyebrow,
  .pricing-period, .pricing-savings, .form-help,
  .billing-cycle, .trust-item, .ds-eyebrow,
  .pricing-badge, .ds-badge,
  .ds-section-label, .ds-pricing-period, .ds-pricing-savings,
  .ds-form-help, .ds-fineprint, .auth-fineprint,
  .ds-price-card-annual, .ds-price-card-annual span,
  .ds-testimonial-role, .ds-footer-brand p,
  .auth-terms, p.auth-terms,
  p.fineprint, p.terms-line, .signup-terms {
    font-size: 14px !important;
    line-height: 1.4;
  }

  /* Inline form-link buttons (Terms/Privacy/Sign in inside a paragraph) */
  .signup-form a, .auth-form a, p a {
    min-height: 44px;
    display: inline-block;
    padding: 4px 0;
  }

  /* Form labels — auth.css ships them at 13.5px */
  form label, .auth-form label, .signup-form label {
    font-size: 14px !important;
    line-height: 1.4;
  }

  /* Catch-all minimum: any element styled below 14px gets nudged */
  body, p, label, input, textarea, select, button, a, li {
    font-size: max(14px, 1em);
  }
}
