/* ============================================
   AdFinder Typography (Mobile Readability)
   CSS-only, layout-safe typography adjustments.
   ============================================ */

html {
  font-size: 16px;
}

@media (max-width: 768px) {
  body {
    font-size: var(--font-body);
    line-height: var(--lh-normal);
  }

  h1 {
    font-size: var(--font-h1);
    line-height: var(--lh-tight);
  }

  h2 {
    font-size: var(--font-h2);
    line-height: var(--lh-tight);
  }

  h3 {
    font-size: var(--font-h3);
    line-height: var(--lh-tight);
  }

  p {
    font-size: var(--font-body);
    line-height: var(--lh-loose);
  }

  .form-text,
  small,
  .small,
  .helper-text,
  .card-text,
  .legal-text,
  .policy-text,
  .small-text {
    font-size: var(--font-helper);
    line-height: var(--lh-loose);
  }

  .meta,
  .meta-row,
  .time-ago,
  .location,
  .listing-meta,
  .listing-views,
  .listing-location,
  .listing-stats,
  .listing-stat {
    font-size: var(--font-meta);
    line-height: var(--lh-normal);
    opacity: 0.9;
  }

  .meta,
  .listing-meta {
    font-size: calc(var(--font-meta) + 0.025rem);
  }

  label {
    font-size: var(--font-helper);
    font-weight: 600;
    line-height: var(--lh-normal);
  }

  .form-floating > label {
    font-size: var(--font-body);
    font-weight: 500;
    line-height: var(--lh-normal);
  }

  input,
  textarea,
  select {
    font-size: var(--font-body);
    line-height: var(--lh-normal);
  }

  input::placeholder,
  textarea::placeholder {
    font-size: var(--font-helper);
    opacity: 0.75;
  }

  nav.navbar .nav-link,
  nav.navbar .dropdown-menu .dropdown-item,
  .hamburger-links a {
    font-size: var(--font-body);
    line-height: 1.4;
  }

  .bottom-nav-item span {
    font-size: calc(var(--font-meta) * 0.9);
    line-height: 1.2;
    opacity: 0.95;
  }

  button,
  .btn {
    line-height: 1.2;
  }

  .btn:not(.btn-sm):not(.btn-lg) {
    font-size: var(--font-body);
  }
}
