/* SuplerMed — CELE DOTYKOWE i brak przewijania w bok na stronach statycznych. Jeden plik dla wszystkich stron,
   które ładują `kroj.css` (strony interakcji, polityki, „O nas", raport, dla-*).

   🔴 PO CO OSOBNY PLIK, a nie dopisek do `kroj.css`: tamten ma kontrakt „żadnych reguł układu",
   bo trafia na strony o 16 niezależnych rodzinach stylu. Ten plik reguły układu MA, ale wyłącznie
   pod `pointer: coarse` (palec: telefon i tablet) i wyłącznie podnoszące — `min-height`,
   `min-width`, pionowy padding. Na myszy nie robi nic.

   DWA PROGI (decyzja WK 02.10, rejestr `2026-10-02-kanon-jedna-reka-ma-dwa-progi-celu-dotykowego-ko`):
   kontrolka (nawigacja, nagłówek, stopka, chipy, rozwijanie) ≥44 px; link w liście treści ≥24 px
   (WCAG 2.5.8). Pomiar przed: nawigacja 24–26 px, `summary` 26–32, linki list i tabel 17–20.
   Strażnik: `e2e/cele-dotykowe-smoke.spec.js` (projekty `mobile` i `tablet`). */
@media (pointer: coarse), (max-width: 640px) {
  /* Link w liście treści: ≥24 px */
  :where(li, td, dd) > a { display: inline-flex; align-items: center; min-height: 24px; min-width: 24px;
    max-width: 100%; overflow-wrap: anywhere; }   /* długi adres bez spacji nie rozpycha strony */
  :where(p, h2, h3, strong, em, span, small) > a { padding: 5px 1px; }
  /* Kontrolki: ≥44 px */
  nav a, header a, footer a, a.logo, a.brand, a.back,
  a[class*="chip"], a[class*="btn"], a[class*="badge"] {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px !important; min-width: 44px !important;
    /* 🔴 `flex-shrink:0` KONIECZNE: `min-width:44px` zastępuje domyślne `min-width:auto` elementu
       flex, więc link w pasku nawigacji kurczył się do 44 px, a jego tekst nachodził na logo
       (zrzut 02.10, /polityka-prywatnosci.html na telefonie). */
    flex-shrink: 0;
  }
  /* `!important` tylko na progach minimalnych: wklejone `<style>` stron stoją PO tym arkuszu
     i wygrywają kaskadę (zmierzone 02.10: `summary{min-height:32px}` na stronach interakcji).
     Podniesienie minimum niczego nie psuje, więc wygrana tutaj jest bezpieczna. */
  summary { min-height: 44px !important; box-sizing: border-box; }
  button, input:not([type=checkbox]):not([type=radio]), select { min-height: 44px !important; }
  /* Tabela nie rozpycha strony: zmierzone 02.10 — /polityka-prywatnosci.html 516 px na ekranie 393. */
  table { max-width: 100%; }
  th, td { overflow-wrap: anywhere; }
  body { overflow-wrap: break-word; }   /* długi adres w tekście nie rozpycha strony */
}
