/* DesignMeter 1.1 — 44×44px minimum touch targets (coarse / touch pointers only) */

@media (pointer: coarse) {
  /* ── Buttons & form controls ─────────────────────────────────────────── */
  button:not(.fstar):not(.fstar-radio),
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  select,
  .btn,
  .filter-toggle,
  .page-btn,
  .page-num,
  .explore-load-more,
  .scroll-top,
  .theme-toggle,
  .modal-close,
  .hero-search-clear,
  .newsletter-inline-submit,
  .newsletter-slidein-submit,
  .article-feedback-submit,
  .feedback-submit,
  .code-copy-btn,
  .mz-btn,
  .tls-page-btn,
  .err-btn,
  .land-nav-cta,
  .land-cta-primary,
  .land-cta-secondary {
    min-height: 44px;
    min-width: 44px;
  }

  .theme-toggle,
  .scroll-top,
  .modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .theme-toggle {
    width: 44px;
    height: 44px;
  }

  .scroll-top {
    width: 44px;
    height: 44px;
  }

  /* ── Navbar ────────────────────────────────────────────────────────────── */
  .site-nav-link,
  .site-nav-staff {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }

  .site-nav-link::after,
  .site-nav-staff::after {
    content: '';
    position: absolute;
    inset: -6px -8px;
  }

  .site-nav-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }

  .site-nav-logo::after {
    content: '';
    position: absolute;
    inset: -4px -10px;
  }

  /* ── TOC (article) ───────────────────────────────────────────────────── */
  .article-toc-link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .article-toc-mobile-summary {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  /* ── Share rail ──────────────────────────────────────────────────────── */
  .article-share-btn,
  .share-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* ── Explore filter chips ────────────────────────────────────────────── */
  .fchip {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .filter-toggle {
    min-height: 44px;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }

  /* ── Pagination ──────────────────────────────────────────────────────── */
  .page-btn {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }

  .page-num {
    min-width: 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* ── Card “Read full story” row ──────────────────────────────────────── */
  .card-footer-row {
    min-height: 44px;
  }

  .case-card-link {
    /* Whole card is tappable; ensure footer CTA row meets minimum */
    min-height: 0;
  }

  /* ── Star rating ─────────────────────────────────────────────────────── */
  label.fstar,
  .feedback-stars .fstar,
  .article-feedback-stars .fstar {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Hidden radios — label provides the touch target */
  .fstar-radio {
    min-height: 0;
    min-width: 0;
  }

  /* ── Footer ──────────────────────────────────────────────────────────── */
  .tls-footer-links a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .tls-footer-links a::after {
    content: '';
    position: absolute;
    inset: -2px -10px;
  }

  .tls-footer-icon-link {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  .tls-footer-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .tls-footer-logo::after {
    content: '';
    position: absolute;
    inset: -4px -10px;
  }
}
