/* ==========================================================================
   Vincent Navigation surface — szklana, przezroczysta "pigulka" nawigacji
   jak w Vincencie (backdrop-filter: blur + saturate), zamiast plaskiego,
   prawie niewidocznego tla Hanoi (--color-background-secondary, bez blur).

   Wykorzystujemy WLASNY, juz istniejacy system tokenow Hanoi
   (--header-surface-bg/--header-surface-filter, patrz
   assets/sass/components/_header.scss -> header-page-surface() mixin)
   zamiast nadpisywac cokolwiek na sile — to jest dokladnie mechanizm,
   ktory Hanoi przewidzial do zmiany wygladu tej powierzchni.

   CELOWO NIE ruszamy: struktury DOM (logo zostaje osobno od pigulki
   nawigacji, tak jak w Hanoi — polaczenie ich w jedna wspolna pigulke,
   jak w Vincencie, wymagaloby przebudowy header.hbs).

   PROBOWALISMY plywajacego naglowka (position:sticky) — wycofane.
   Dzialalo niespojnie (tryb "overlay" na stronie glownej/podstronach
   z hero-obrazkiem ma wlasna regule position:absolute, ktora zawsze
   wygrywala, wiec sticky dzialalo tylko na zwyklych postach), a tam
   gdzie dzialalo, polprzezroczysty pasek z blur na calej szerokosci
   naglowka wygladal jak "obciety" prostokat nad trescia, nie jak
   plynnie unosząca sie pigulka. Zostaje natywne position Hanoi
   (relative, przewija sie ze strona). --- */

.c-header__controls {
  --header-surface-bg: color-mix(in srgb, var(--color-background) 70%, transparent);
  --header-surface-filter: blur(10px) saturate(180%);
}

/* --- Druga proba, tym razem precyzyjniej dopasowana do prosby:
   TYLKO prawa "pigulka" (.c-header__controls: linki nawigacji + Subscribe/
   Account + szukaj), BEZ logo, chowa sie przy przewijaniu w dol i wraca
   plynnie przy przewijaniu w gore — jak w Vincencie. Logo (.c-header__brand)
   zostaje w normalnym ukladzie, przewija sie ze strona bez zmian.

   Dlaczego to dziala teraz spojnie na kazdej podstronie (w tym stronie
   glownej i trybie "header-overlay"): position:fixed jest tu ustawiony
   na .c-header__controls, NIE na .c-header — tryb overlay ma wlasna
   regule tylko dla .c-header (position:absolute) i jej nie dotykamy,
   wiec obie reguly wspolistnieja bez konfliktu.

   Kierunek przewijania (w dol = chowaj, w gore = pokaz) wykrywa maly
   skrypt: assets/js/vincent-nav-reveal.js. Ten sam skrypt pilnuje, zeby
   pigulka NIE chowala sie, gdy szuflada mobilna jest otwarta
   (aria-expanded="true" na przycisku hamburgera) — inaczej daloby sie
   przypadkiem schowac przycisk zamykajacy menu w trakcie przewijania
   listy linkow wewnatrz szuflady.

   Dziala teraz na KAZDEJ szerokosci ekranu (desktop i mobile) — na
   mobile w tej samej "pigulce" jest tylko sam hamburger (link+konto+
   szukajka sa tu ukryte do desktopa przez _header.scss), wiec floating
   dotyczy po prostu malego okraglego przycisku menu. Sama szuflada
   (.c-navigation-mobile) ma wlasne, niezalezne position:fixed i wlasny,
   wyzszy z-index (--z-index-mobile-menu), wiec nie ma tu konfliktu. --- */
.c-header__controls {
  position: fixed;
  /* 28px = rozsadny fallback dopasowany do srodka logo NA DESKTOPIE,
     zanim JS zdazy policzyc dokladna wartosc (albo gdyby byl wylaczony).
     Logo ma plynna wysokosc (clamp() w _header.scss), wiec jego srodek
     przesuwa sie inaczej niz ta pigulka (stala wysokosc) na kazdej
     szerokosci ekranu — jedna sztywna liczba NIE wyrownuje ich
     poprawnie wszedzie naraz (zmierzone: na szerokim ekranie logo jest
     12px NIZEJ od tej wartosci, na waskim ~7px WYZEJ). Dlatego dokladne
     wyrownanie na kazdej szerokosci liczy na biezaco
     assets/js/vincent-header-align.js — mierzy realna pozycje logo i
     nadpisuje ten top inline, zeby srodki obu elementow zawsze sie
     pokrywaly. --- */
  top: 28px;
  right: max(var(--grid-margin), calc((100vw - var(--grid-width)) / 2));
  z-index: var(--z-index-header);
  transition:
    transform 0.35s cubic-bezier(.165, .84, .44, 1),
    opacity 0.35s cubic-bezier(.165, .84, .44, 1);
}

.c-header__controls.is-nav-hidden {
  transform: translateY(-130%);
  opacity: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .c-header__controls {
    transition: none;
  }
}

/* --- Link "Subskrybuj" w gornym menu (desktop + mobile) — celowo
   ukryty na wyrazna prosbe (2026-08-15), niezaleznie od tego czy
   Portal ma akurat problem z pokazywaniem takich linkow czy nie.
   WAZNE: to jest teraz JEDYNY mechanizm chowajacy ten link — wczesniej
   przypadkiem chowala go tez reguly w Code Injection (usunieta, bo
   byla zapomnianym reliktem powiazanym z innym, osobnym problemem).
   Box "tylko dla subskrybentow" (post-upgrade.hbs) ma WLASNY,
   niezalezny przycisk "Zapisz sie" i NIE jest tym dotkniety. --- */
.c-header__subscribe-link,
.c-navigation-mobile__subscribe-link {
  display: none !important;
}
