/* ErgoFlow — baner zgody na pliki cookie (ergoflow-zgoda.js). Na kazdej stronie, oba segmenty:
 * kolory wylacznie z tokenow motywu (Firm, JST, ciemne strony z importu), z bezpiecznym zapasem.
 * Selektory z .efz na poczatku — BeTheme stylizuje kazdy <button> i <input>, a baner ma wygladac
 * jak reszta serwisu. Kontrast: granat/tekst na panelu >= 11:1, opis --mut >= 6.7:1, akcent
 * linku >= 4.6:1, tor przelacznika #6B7790 na bialym 4.8:1 (element nietekstowy, prog 3:1).
 * Komentarze bez znakow szablonu. */
.efz{position:fixed;left:16px;bottom:16px;z-index:2147483000;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;
  background:var(--panel,#FFFFFF);color:var(--tx,#141A22);border:1px solid var(--line,#D5DBE3);border-radius:20px;
  box-shadow:0 24px 60px -24px rgba(18,53,90,.5);font-family:var(--font-body,'Inter',system-ui,sans-serif);
  opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;box-sizing:border-box}
.efz.is-on{opacity:1;transform:none}
.efz[hidden],.efz [hidden]{display:none!important}
.efz *{box-sizing:border-box}
.efz-in{padding:22px 22px 18px}
.efz .efz-t{margin:0 0 8px;font:800 19px/1.25 var(--font-display,inherit);letter-spacing:-.01em;color:var(--tx,#141A22);text-transform:none}
.efz .efz-t:focus{outline:none}
.efz .efz-p{margin:0;font-size:14.5px;line-height:1.55;color:var(--mut,#4B5563)}
.efz .efz-p a{color:var(--accent,#0C75A2);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.efz .efz-akcje{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;align-items:center}
.efz button.efz-b{flex:1 1 150px;min-height:46px;margin:0;padding:0 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  font:700 14.5px/1.2 var(--font-body,inherit);letter-spacing:normal;text-transform:none;box-shadow:none;text-shadow:none;background-image:none}
.efz button.efz-b1,.efz button.efz-b1:hover,.efz button.efz-b1:focus{background:var(--brand-grad,var(--accent,#0C75A2));color:var(--on-brand,#1B1F2B)}
.efz button.efz-b1:hover{filter:brightness(1.04)}
.efz button.efz-b2,.efz button.efz-b2:hover,.efz button.efz-b2:focus{background:transparent;color:var(--tx,#141A22);border-color:var(--line-strong,#6B7790)}
.efz button.efz-b2:hover{border-color:var(--tx,#141A22)}
.efz button.efz-l,.efz button.efz-l:hover,.efz button.efz-l:focus{flex:0 0 100%;min-height:44px;margin:0;padding:0 6px;border:0;background:none;box-shadow:none;cursor:pointer;
  color:var(--accent,#0C75A2);font:600 14px/1.2 var(--font-body,inherit);text-decoration:underline;text-underline-offset:3px;text-transform:none;letter-spacing:normal}
.efz button:focus-visible,.efz a:focus-visible,.efz input:focus-visible{outline:3px solid var(--accent,#0C75A2);outline-offset:2px}
.efz .efz-kat{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column}
.efz .efz-kat li{margin:0;padding:12px 0;border-top:1px solid var(--line,#D5DBE3);list-style:none}
.efz .efz-kat li::before{content:none}
.efz .efz-kat-g{display:flex;align-items:center;gap:10px}
.efz .efz-kat label{flex:1;margin:0;font-weight:700;font-size:15px;line-height:1.3;color:var(--tx,#141A22);cursor:pointer}
.efz .efz-zaw{font-size:12px;color:var(--dim,#5F6B7A)}
.efz .efz-kat p{margin:5px 0 0;font-size:13.5px;line-height:1.5;color:var(--mut,#4B5563)}
/* przelacznik: tor 44x26, kropka 20 px */
.efz input.efz-sw{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:44px;height:26px;margin:0;padding:0;border:0;border-radius:999px;
  background:var(--line-strong,#6B7790);cursor:pointer;transition:background .2s}
.efz input.efz-sw::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#FFFFFF;
  box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .2s}
.efz input.efz-sw:checked{background:var(--accent,#0C75A2)}
.efz input.efz-sw:checked::after{transform:translateX(18px)}
.efz input.efz-sw:disabled{opacity:.55;cursor:default}
/* link w stopce do zmiany decyzji: wyglada jak sasiednie linki */
button.efz-stopka,button.efz-stopka:hover,button.efz-stopka:focus{margin:0;padding:4px 0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;
  letter-spacing:inherit;text-transform:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:24px}
@media (max-width:560px){
  .efz{left:10px;right:10px;bottom:10px;width:auto;border-radius:18px}
  .efz-in{padding:18px 16px 14px}
  .efz button.efz-b{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){.efz,.efz input.efz-sw,.efz input.efz-sw::after{transition:none}}
:root[data-contrast="high"] .efz{border:2px solid currentColor;box-shadow:none}
@media print{.efz{display:none!important}}
