/* ============================================================================
   slides.css — szkielet slajdu: .slides-viewport/.slides-track/.slide + reveal-blur
   Część rozbitego css/style.css — kolejność wczytywania (ta sama na każdej
   podstronie) trzyma kaskadę identyczną jak w jednym pliku.
   ========================================================================== */

/* SLAJDY — strona główna to 4 slajdy na pełen ekran (hero / dyskografia / faq /
   sociale) ułożone POZIOMO, przełączane WYŁĄCZNIE nawigacją bezpośrednią:
   klawiatura (←/→ sąsiednia sekcja, 1–4 konkretna) i menu w prawym górnym
   rogu. Scroll kółkiem, swipe po sekcjach, spacja i strzałki na krawędziach
   ekranu — USUNIĘTE na życzenie (patrz setupSlides/setupKeyboardNav w
   main.js). Pozycję trzyma custom property --slide-index na .slides-track. */
/* overflow:clip (nie hidden) — KLUCZOWE: hidden tworzy kontener przewijalny, który
   przeglądarka potrafi PRZEWINĄĆ, gdy fokus wskoczy na element częściowo poza kadrem
   (np. boczna okładka-link albo strzałka po zmianie slajdu) — "scroll into view"
   przesuwał wtedy slidesViewport o kilkaset px i CAŁY układ slajdów zjeżdżał w
   górę/dół na stałe (okładka lądowała pod górną krawędzią). clip przycina tak samo
   wizualnie, ale NIE jest przewijalny (ani fokusem, ani z JS), więc układ nie może
   już zostać zbity. hidden zostaje jako fallback dla starych przeglądarek. */
.slides-viewport{width:100%;height:100%;overflow:hidden;overflow:clip;position:relative}
.slides-track{
  display:flex;flex-direction:row;width:100%;height:100%;
  /* Przejazd POZIOMY: przesunięcie w % WŁASNEJ szerokości toru (= szerokość
     viewportu — overflow dzieci jej nie zmienia), więc -100% to zawsze
     dokładnie jeden ekran, bez żonglowania vw/dvw jak dawniej z vh/dvh.
     translate3d (nie translateX) — WYMUSZA warstwę GPU / akcelerację sprzętową
     także tam, gdzie sam will-change bywa ignorowany (Chrome/Edge na Windows
     potrafiły animować 2D translate na CPU i klatkowały przy blur w tle). */
  transform:translate3d(calc(var(--slide-index, 0) * -100%), 0, 0);
  /* .4s + agresywniejsza krzywa (szybki środek, miękkie dobicie) — dynamiczny,
     nie flegmatyczny przejazd. Czas MUSI zgadzać się ze SLIDE_ANIM_MS w
     main.js (lock nawigacji = dokładnie czas tej animacji + timer-bezpiecznik
     blura). */
  transition:transform .4s cubic-bezier(.76,0,.2,1);
  will-change:transform;
}
.slide{
  width:100%;height:100vh;height:100dvh;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:safe center;
  position:relative;
  overflow:hidden;
}
/* .main-wrap w slajdzie: to ON się ewentualnie przewija w środku (nie .slide),
   nawet gdyby treść na małym ekranie była wyższa niż 100dvh.
   position:relative;z-index:1 — zostawione z czasów tła wideo na hero (treść
   musiała malować się NAD absolutnie pozycjonowanym wideo); dziś nieszkodliwe,
   a chroni treść przed każdą przyszłą absolutnie pozycjonowaną warstwą tła. */
.slide .main-wrap{flex:none;width:100%;max-height:100%;padding:64px clamp(14px,2.4vw,30px);position:relative;z-index:1}

/* (Strzałki góra/dół na krawędziach ekranu — .slide-arrow — USUNIĘTE w całości
   razem z markupem w index.html i obsługą w main.js: sekcje przełącza
   wyłącznie klawiatura ←/→ i 1–4 oraz menu w prawym górnym rogu.) */

/* Odsłanianie treści w slajdach — steruje nim aktywny slajd (.slide-active), nie
   scroll (nie ma go już na tej stronie). Gate pod JS-em, tak samo jak reveal-scroll
   wyżej: gdyby setupSlides() z jakiegoś powodu nie wystartował, treść zostaje
   widoczna zamiast zniknąć na stałe. */
.slides-active-js .slide .reveal-blur{
  opacity:0;transform:translateY(30px);filter:blur(10px);
  transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform,filter;
}
.slides-active-js .slide.slide-active .reveal-blur{opacity:1;transform:none;filter:blur(0)}
/* (Wyjątek .social-btn.reveal-blur — USUNIĘTY razem z ikonkami socialów.) */

/* (SOCIALE — ikonki z dołu strony głównej ORAZ copyright w stopce hero
   USUNIĘTE w całości na życzenie razem ze stylami .socials-grid/.social-btn/
   .socials-copyright. Finał sekcji WHY to teraz trzy tracklisty, patrz
   .why-finale wyżej.) */
