/* Menu główne w górnej belce (launch/menu.py, zachowanie menu.js; decyzje właściciela 12.10.2026 „2a” i „3a”).
   Komputer (od 961 px): logo | pozycje na środku | CTA; grupa otwiera panel pod belką (wejście 200-220 ms, zamknięcie
   150 ms). Do 960 px: przycisk „Menu” otwiera panel na całą wysokość pod belką, grupy jako akordeon; do 600 px CTA
   przechodzi z belki do panelu (w belce nie mieści się razem z „Menu”). Bieżący dział na niebiesko.
   Kolory z warstwy bazowej tokens.css (--color-*), bo brandbook nadpisuje nazwy ról (--line, --muted). */
.ps-naglowek .ps-naglowek__wnetrze{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.ps-naglowek .ps-marka{justify-self:start}
/* Biały prostokąt pod całym logo (znak + napis), prośba właściciela 12.10.2026: ten sam styl co dawny kwadrat pod
   samym znakiem (biel, bez zaokrągleń), znak zostaje z dopełnieniem 6 px, napis dostaje odstęp z prawej. */
.ps-naglowek .ps-marka{height:44px;padding-right:12px;background:var(--color-white)}
.ps-naglowek .ps-marka:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:600px){.ps-naglowek .ps-marka{padding-right:10px}}
.ps-naglowek .ps-naglowek__wnetrze>.ps-naglowek__akcje{justify-self:end;display:flex;align-items:center;gap:8px}
/* „Zaloguj się” obok „Chcę porozmawiać” (13.10.2026) */
.ps-naglowek__zaloguj{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border-radius:var(--radius-1);color:var(--color-graphite);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;transition:color 160ms ease}
.ps-naglowek__zaloguj:hover{color:var(--action)}
.ps-naglowek__zaloguj:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.ps-naglowek__zaloguj>.ps-menu__svg{width:18px;height:18px}
.ps-menu__tel-zaloguj{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:24px;padding:12px 20px;border:1px solid var(--color-line);border-radius:var(--radius-1);color:var(--color-graphite);font-weight:600;text-decoration:none}
.ps-menu__tel-zaloguj:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.ps-menu__tel-zaloguj .ps-menu__svg{width:20px;height:20px}
.ps-menu__tel-zaloguj+.ps-menu__tel-cta{margin-top:12px}
@media(min-width:601px){.ps-menu__tel-zaloguj{display:none}}
@media(prefers-reduced-motion:reduce){.ps-naglowek__zaloguj{transition:none}}
.ps-naglowek__cta>.ps-menu__svg{width:20px;height:20px}

.ps-menu{position:relative;display:flex;align-items:center;gap:4px;height:100%;margin:0;padding:0}
.ps-menu__link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:0;border-radius:var(--radius-1);background:transparent;color:var(--color-graphite);font:500 15px/1.2 var(--font-inter);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease}
.ps-menu__link:hover,.ps-menu__link[aria-expanded="true"]{background:rgb(22 22 22 / 6%)}
.ps-menu__link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ps-menu__link--biezacy{color:var(--action)}
.ps-menu__link .ps-menu__svg{width:16px;height:16px;transition:transform var(--menu-close) ease}
.ps-menu__link[aria-expanded="true"] .ps-menu__svg{transform:rotate(180deg)}

/* Wspólne okno wszystkich grup: stała szerokość, wysokość dopasowana do treści, przesuwanie między grupami. */
.ps-menu__okno{position:absolute;z-index:1;top:calc(100% + var(--menu-gap));left:50%;width:min(var(--menu-width),calc(100vw - 2 * var(--page-gutter)));transform:translateX(-50%);pointer-events:none;visibility:hidden;transition:visibility 0s linear var(--menu-fade-out)}
.ps-menu__okno[data-otwarte="true"]{pointer-events:auto;visibility:visible;transition:none}
/* Przezroczysty most nad oknem: kursor przechodzi z przycisku do panelu bez zamykania. */
.ps-menu__okno::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:calc(var(--menu-gap) + (var(--header-height) - 44px) / 2 + 4px)}
.ps-menu__widok{overflow:hidden;border:1px solid var(--color-line);border-radius:var(--menu-radius);background:var(--color-white);box-shadow:var(--elevation-menu);opacity:0;transform:translateY(-6px) scale(.985);transform-origin:50% 0;transition:opacity var(--menu-fade-out) ease-out,transform var(--menu-close) ease-out,height var(--motion-base) var(--ease-out)}
.ps-menu__okno[data-otwarte="true"] .ps-menu__widok{opacity:1;transform:none;transition-duration:var(--menu-fade-in),var(--menu-open),var(--motion-base)}
.ps-menu__tor{display:flex;align-items:flex-start;transition:transform var(--motion-base) var(--ease-out)}
.ps-menu__panel{flex:0 0 100%;min-width:0;padding:12px}
.ps-menu__panel:not([data-aktywny]){visibility:hidden}
.ps-menu__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}
.ps-menu[data-ruch="natychmiast"] .ps-menu__okno,.ps-menu[data-ruch="natychmiast"] .ps-menu__tor,.ps-menu[data-ruch="natychmiast"] .ps-menu__widok,.ps-menu[data-ruch="natychmiast"] .ps-menu__link .ps-menu__svg{transition:none}

/* Pozycja grupy (wspólna dla panelu i telefonu): ikona, nazwa, jedno zdanie opisu. */
.ps-menu__pozycja{display:flex;align-items:flex-start;gap:12px;min-height:68px;padding:12px;border-radius:var(--radius-2);color:var(--color-graphite);text-decoration:none;transition:background-color var(--motion-fast) ease}
.ps-menu__pozycja:hover{background:var(--color-surface)}
.ps-menu__pozycja:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.ps-menu__ikona{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:var(--radius-2);background:rgb(0 118 253 / 8%);color:var(--action)}
.ps-menu__ikona .ps-menu__svg{width:20px;height:20px}
.ps-menu__opis{min-width:0}
.ps-menu__opis b{display:block;font-size:15px;font-weight:600;line-height:1.35}
.ps-menu__opis small{display:block;margin-top:3px;color:var(--color-muted);font-size:13px;line-height:1.45}
.ps-menu__pozycja--biezaca .ps-menu__opis b{color:var(--action)}
.ps-menu__pozycja--biezaca .ps-menu__ikona{background:var(--action);color:var(--color-white)}

/* Telefon i tablet. Panel stoi w nagłówku (absolutnie pod belką), bo belka ma transform i fixed liczyłby się od niej. */
.ps-menu__przelacznik{display:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--color-line);border-radius:var(--radius-1);background:var(--color-white);color:var(--color-graphite);font:600 15px/1 var(--font-inter);cursor:pointer}
.ps-menu__przelacznik:hover{background:var(--color-surface)}
.ps-menu__przelacznik:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ps-menu__przelacznik .ps-menu__svg{width:20px;height:20px}
.ps-menu__przelacznik .ps-menu__zamknij,.ps-menu__przelacznik[aria-expanded="true"] .ps-menu__otworz{display:none}
.ps-menu__przelacznik[aria-expanded="true"] .ps-menu__zamknij{display:block}
.ps-menu__telefon{display:none}
@media(max-width:960px){
  .ps-naglowek .ps-naglowek__wnetrze{display:flex;justify-content:flex-start;gap:8px}
  .ps-naglowek .ps-marka{margin-right:auto}
  .ps-menu{display:none}
  .ps-menu__przelacznik{display:inline-flex}
  .ps-menu__telefon{display:block;position:absolute;top:100%;left:0;right:0;height:calc(100dvh - var(--header-height) - var(--header-glass-lift));overflow-y:auto;overscroll-behavior:contain;padding:8px var(--page-gutter) calc(32px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-white);pointer-events:auto;animation:ps-menu-wejscie var(--menu-open) var(--ease-out)}
  .ps-menu__telefon[hidden]{display:none}
}
@media(max-width:600px){.ps-naglowek .ps-naglowek__wnetrze>.ps-naglowek__akcje{display:none}}
@keyframes ps-menu-wejscie{from{opacity:0;transform:translateY(-8px)}}
.ps-menu__tel-lista,.ps-menu__tel-podlista{margin:0;padding:0;list-style:none}
.ps-menu__tel-lista>li{border-bottom:1px solid var(--color-line)}
.ps-menu__tel-link,.ps-menu__tel-grupa{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:12px 4px;border:0;background:none;color:var(--color-graphite);font:600 18px/1.3 var(--font-inter);letter-spacing:-.01em;text-align:left;text-decoration:none;cursor:pointer}
.ps-menu__tel-link:focus-visible,.ps-menu__tel-grupa:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.ps-menu__tel-link--biezacy,.ps-menu__tel-grupa--biezaca{color:var(--action)}
.ps-menu__tel-grupa .ps-menu__svg{width:20px;height:20px}
.ps-menu__tel-grupa[aria-expanded="true"] .ps-menu__svg{transform:rotate(180deg)}
.ps-menu__tel-podlista{padding-bottom:12px}
.ps-menu__tel-podlista[hidden]{display:none}
.ps-menu__tel-podlista .ps-menu__pozycja{min-height:60px;padding:10px 4px}
.ps-menu__tel-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;margin-top:24px;padding:12px 20px;border-radius:var(--radius-1);background:var(--action);color:var(--color-white);font:600 16px/1.2 var(--font-inter);text-decoration:none}
.ps-menu__tel-cta:hover{background:var(--action-hover)}
.ps-menu__tel-cta:active{background:var(--action-active)}
.ps-menu__tel-cta:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.ps-menu__tel-cta .ps-menu__svg{width:20px;height:20px}
@media(min-width:601px){.ps-menu__tel-cta{display:none}}
/* Otwarte menu na telefonie: strona pod spodem się nie przewija. */
html.ps-menu-otwarte,html.ps-menu-otwarte body{overflow:hidden}

/* Bez JavaScriptu: panel grupy otwiera się na najechanie i fokus; przycisk „Menu” nie działa, więc go nie ma
   (wszystkie strony są też w mapie strony w stopce). */
@media(scripting:none){
  .ps-menu:focus-within .ps-menu__okno,.ps-menu__link[data-menu-grupa]:hover~.ps-menu__okno,.ps-menu__okno:hover{pointer-events:auto;visibility:visible}
  .ps-menu:focus-within .ps-menu__widok,.ps-menu__link[data-menu-grupa]:hover~.ps-menu__okno .ps-menu__widok,.ps-menu__okno:hover .ps-menu__widok{opacity:1;transform:none}
  .ps-menu__tor{flex-direction:column}
  .ps-menu__panel{visibility:visible!important}
  .ps-menu__przelacznik{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .ps-menu__link,.ps-menu__link .ps-menu__svg,.ps-menu__okno,.ps-menu__widok,.ps-menu__okno[data-otwarte="true"] .ps-menu__widok,.ps-menu__tor,.ps-menu__pozycja{transition:none}
  .ps-menu__telefon{animation:none}
}
@media print{.ps-menu,.ps-menu__przelacznik,.ps-menu__telefon{display:none!important}}
