/* Arkusz na tablicę korkową.
 *
 * Ctrl+P na stronie klubu ma dać kartkę do powieszenia w szatni: nazwa, lista
 * rozgrywek, nic więcej. Wszystko, co jest zaproszeniem do kliknięcia, na
 * papierze jest szumem — i kosztuje toner.
 *
 * Ładowany bezwarunkowo z `media="print"`, więc na ekranie nie robi nic. Klasy
 * i atrybuty poniżej są te same, których używa kiosk.css: `data-hide-in-kiosk`
 * siedzi na CTA, pasku układu i menu „Tryb TV".
 */
@media print {
  /* Ciemne i kolorowe tła zjadają kartridż, a na wydruku wychodzą szaro. */
  :root,
  body {
    background: #fff !important;
    color: #000 !important;
  }

  [data-hide-in-kiosk],
  .cta,
  .layout-bar,
  .tv-menu,
  nav,
  footer {
    display: none !important;
  }

  /* Animacje wejścia zostawiają na papierze elementy w stanie „przed" —
     przezroczyste albo przesunięte. Drukarka nie doczeka się końca animacji. */
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  a {
    text-decoration: none !important;
    color: #000 !important;
  }

  /* Karta ma być ramką, nie kolorowym prostokątem. */
  .competition-group a,
  .card {
    border: 1px solid #d1d5db !important;
    background: #fff !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .competition-group h2 {
    color: #000 !important;
    break-after: avoid;
  }

  /* Plakietki „Liga" / „Turniej" zostają czytelne bez wypełnienia — na papierze
     niesie je sam tekst. */
  .kind {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid #9ca3af !important;
  }

  /* Nagłówek rozgrywki to zielony gradient z BIAŁYM tekstem, a Chrome domyślnie
     nie drukuje teł. Bez tej reguły gradient znika, biały tekst zostaje biały
     i na kartce nie ma nazwy ligi — czyli jedynej rzeczy, po którą ktoś tę
     stronę drukuje. Dotyczy całego poddrzewa, bo biel siedzi nie tylko na
     <h1>: plakietka stanu, „Organizator", kontakt i chipy mają własne
     deklaracje `color: #fff` / `rgba(255,255,255,…)`. */
  .hero-banner,
  .hero-banner * {
    background: transparent !important;
    background-image: none !important;
    color: #000 !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }

  /* Linie kortu to biały obrys przy 14% krycia — na papierze nie ma ich czym
     narysować, a są czystą dekoracją. */
  .hero-court {
    display: none !important;
  }

  /* Plakietka stanu („W trakcie", „Zapisy") niesie treść, więc zostaje — ale
     jako obwódka, nie jako wypełnienie, tak samo jak `.kind` wyżej. Reguła jest
     globalna, bo `.badge` siedzi nie tylko w nagłówku: trzy z czterech
     wariantów mają biały tekst na kolorze, a na kafelkach katalogu i w wynikach
     wyszukiwania nie obejmuje ich nic. */
  .badge {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid #9ca3af !important;
  }

  /* Kropka przy „W trakcie" jest białym kółkiem, które dodatkowo pulsuje. */
  .badge .dot {
    background: #000 !important;
    animation: none !important;
  }

  /* Chipy nagłówka (miejsce, terminy, liczba kolejek) są półprzezroczystą
     bielą na zieleni — bez wypełnienia potrzebują obwódki, żeby nie zlały się
     w jeden ciąg tekstu. Poza nagłówkiem chipy są szare i radzą sobie same. */
  .hero-banner .chip {
    border: 1px solid #9ca3af !important;
  }

  /* Cały rząd przycisków nagłówka — powrót, „Udostępnij", „Tryb TV" — to same
     zaproszenia do kliknięcia. Na kartce zostałyby po nich puste ramki. */
  .hero-actions {
    display: none !important;
  }

  /* Siatka grup schodzi do JEDNEJ kolumny. Wybór „2 / 3 / 4 kolumny" z paska
     układu siedzi na <body data-cols> i przeżywa wejście w druk, a dwie tabele
     obok siebie nie mieszczą się w 182 mm treści — kolumna PKT wychodzi za
     krawędź kartki. Jawne `1fr` nie zależy od tego, czy próg 721px wypadnie
     po stronie druku. */
  .standings-grid {
    grid-template-columns: 1fr !important;
  }

  /* Na ekranie tabela ma własne przewijanie w poziomie. Drukarka nie ma czym
     przewinąć, więc wszystko za krawędzią kontenera po prostu nie wychodzi. */
  .table-scroll {
    overflow: visible !important;
  }

  /* Punkty lidera i medale pierwszej trójki to ta sama pułapka, co nagłówek:
     biały tekst na kolorowym tle, które się nie drukuje. Wynik lidera i miejsce
     na podium muszą zostać na kartce. */
  tbody tr[data-leader="1"] .points,
  .medal {
    background: transparent !important;
    color: #000 !important;
    text-shadow: none !important;
  }

  /* Na jednej stronie ligi bywa ponad sto awatarów, prawie wszystkie pobierane
     zdalnie — najdroższy element całego wydruku, a nazwisko stoi obok. */
  .avatar {
    display: none !important;
  }


  /* Ta sama pułapka co w nagłówku rozgrywki, tylko na profilu gracza: „W"
     jest białe na zielonym kółku, a „P" ciemne na szarym. Bez tej reguły
     z wydrukowanej listy meczów znikają wyłącznie zwycięstwa — czyli połowa,
     której ktoś szuka na kartce. */
  .player-match-badge {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid #9ca3af !important;
  }

  /* Kropki legendy niosą WYŁĄCZNIE kolor, a kolorowych teł drukarka nie
     stawia. Obwódka daje im kształt na papierze; samo przekolorowanie
     zrobiłoby z trzech różnych oznaczeń trzy identyczne kwadraty. */
  .legend-dot {
    background: transparent !important;
    border: 1px solid #000 !important;
  }

  .legend-dot.legend-mid {
    border-style: dashed !important;
  }

  .legend-dot.legend-down {
    border-style: dotted !important;
  }

  /* Pole wyszukiwania na kartce jest pudełkiem, w które nie da się nic wpisać,
     a jego przycisk ma biały napis na zieleni, czyli drukuje się pusty. */
  .search-field,
  .hero-search,
  .list-toolbar {
    display: none !important;
  }

  @page {
    size: A4 portrait;
    margin: 14mm;
  }
}
