/* Ekran „Dzisiaj" — style, które MUSZĄ być globalne (TODAY-9).
   Klasy z tego pliku lądują na elementach renderowanych przez MudBlazor (sekcja `.mud-carousel`
   i jej `.mud-carousel-item`), a nie na własnym markupie komponentu, więc scoped CSS
   (`.razor.css`) ich nie dosięga — dokładnie ten sam powód, dla którego globalny jest
   `price-list-editor.css:1-5`. Link w `Components/App.razor`. */

/* ── Guard gestu ──
   Karuzela nasłuchuje swipe'a poziomego (MudSwipeArea wewnątrz MudCarousel). Bez `touch-action`
   przeglądarka na telefonie sama interpretuje ruch palca i albo przewija stronę zamiast slajdów,
   albo gubi część zdarzeń w trakcie scrolla. `pan-y` oddaje przeglądarce PION (strona nadal
   przewija się normalnie), a poziom zostawia komponentowi.
   To jest realny guard tego problemu — `overflow-x: hidden` z `MainLayout` nim NIE jest:
   ono tnie przepełnienie układu, a nie routing zdarzeń dotykowych. */
.today-schedule {
    touch-action: pan-y;
}

/* ── Stała wysokość slajdu ──
   MudCarousel pozycjonuje slajdy absolutnie i NIE rośnie z treścią: bez jawnej wysokości sekcja
   ma 0 px i kafelek nie jest widoczny. Wysokość musi zmieścić najdłuższy realny kafelek
   (data+godzina, nazwa w dwóch liniach, zespół/grupy, lokalizacja, chip typu, licznik obecności),
   stąd 200 px na telefonie. Od sm (MudBlazor Breakpoint.Sm = 600px) wiersze są węższe pionowo,
   bo nazwa i lokalizacja rzadziej się zawijają — 176 px wystarcza. */
.today-schedule-carousel {
    height: 200px;
}

@media (min-width: 600px) {
    .today-schedule-carousel {
        height: 176px;
    }
}

/* Slajd wypełnia sekcję, a jego treść nie wylewa się poza stałą wysokość. */
.today-schedule-carousel .mud-carousel-item {
    overflow: hidden;
}

/* ── Przycinanie tekstu ──
   Konsekwencja stałej wysokości: długa nazwa wydarzenia albo lokalizacji nie może rozepchać
   kafelka, bo karuzela i tak jej nie pokaże — lepiej uciąć jawnie wielokropkiem po dwóch liniach
   niż pozwolić treści zniknąć pod krawędzią. `-webkit-line-clamp` ma prefiks, bo standardowe
   `line-clamp` wymaga wciąż `display: -webkit-box` we wszystkich silnikach; obie własności podane
   razem, żeby plik nie wymagał poprawki, gdy prefiks zniknie. */
.today-tile-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
}

/* Pasek sąsiada jest jednolinijkowy — tam nawet dwie linie rozbiłyby rytm rzędu trzech pozycji. */
.today-tile-peek .today-tile-clamp {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}
