/* ===================== Zgoda na pliki cookie (consent.js): baner i ustawienia =====================
   Barwy marki (te same wartości co site.css i --brand-* w aplikacji), żeby baner wyglądał tak samo na stronie i w aplikacji.
   „Akceptuję wszystkie” i „Odrzucam wszystkie” mają identyczny wygląd i wielkość (bez wyróżniania jednej opcji). */
.cmp{--cmp-bg:#0d0b12;--cmp-card:#16131d;--cmp-paper:#f2eef8;--cmp-mute:#9c94ad;--cmp-rule:#3a3346;--cmp-acc:#ff7a3d;
  color-scheme:dark;color:var(--cmp-paper);font:400 15px/1.5 "Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:left;letter-spacing:0;text-transform:none}
.cmp *,.cmp *::before,.cmp *::after{box-sizing:border-box}
.cmp h2{font:700 20px/1.2 "Barlow Condensed","Geist",system-ui,sans-serif;letter-spacing:.01em;text-transform:uppercase;margin:0 0 8px;color:var(--cmp-paper)}
.cmp p{margin:0 0 8px;max-width:72ch}
.cmp a{color:var(--cmp-paper);text-decoration:underline;text-underline-offset:2px}
.cmp a:hover{color:var(--cmp-acc)}
.cmp-small{font-size:13.5px;color:var(--cmp-mute)}
.cmp :focus-visible{outline:3px solid var(--cmp-acc);outline-offset:2px}
.cmp-vh,.cmp-live{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}

/* baner: przyklejony na dole, bez przyciemnienia strony (polityka prywatności i treść zostają dostępne) */
.cmp-banner{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:var(--cmp-bg);border-top:1px solid var(--cmp-rule);box-shadow:0 -12px 32px rgba(0,0,0,.35);
  max-height:min(70vh,560px);overflow-y:auto;padding:16px max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.cmp-banner .cmp-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:8px 32px;align-items:end}
.cmp-banner h2{grid-column:1/-1}

.cmp-btns{display:flex;flex-wrap:wrap;gap:8px}
.cmp-banner .cmp-btns{flex-direction:column;min-width:240px}
.cmp-btn{appearance:none;min-height:44px;padding:10px 18px;border-radius:999px;font:600 15px/1.2 "Geist",system-ui,sans-serif;cursor:pointer;border:2px solid var(--cmp-paper);text-align:center}
.cmp-main{background:var(--cmp-paper);color:var(--cmp-bg)}
.cmp-main:hover{background:var(--cmp-acc);border-color:var(--cmp-acc)}
.cmp-alt{background:transparent;color:var(--cmp-paper)}
.cmp-alt:hover{border-color:var(--cmp-acc);color:var(--cmp-acc)}
.cmp-panel .cmp-btns .cmp-btn{flex:1 1 180px}

/* ustawienia: okno (dialog) z przełącznikami */
.cmp-panel{border:1px solid var(--cmp-rule);border-radius:16px;background:var(--cmp-bg);padding:0;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}
.cmp-panel::backdrop{background:rgba(5,4,8,.72)}
.cmp-panel .cmp-in{padding:20px}
.cmp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cmp-x{appearance:none;min-width:44px;min-height:44px;border:1px solid var(--cmp-rule);border-radius:999px;background:transparent;color:var(--cmp-paper);font:400 24px/1 system-ui,sans-serif;cursor:pointer}
.cmp-x:hover{border-color:var(--cmp-acc)}
.cmp-cat{border:0;border-top:1px solid var(--cmp-rule);margin:12px 0 0;padding:12px 0 0;min-width:0}
.cmp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.cmp-row label{flex:1;cursor:pointer;font-size:16px}
.cmp-always{font-size:13.5px;color:var(--cmp-mute)}
.cmp-cat p{color:var(--cmp-mute);font-size:14px}
/* przełącznik: natywny checkbox (klawiatura i czytniki ekranu bez dodatkowego kodu), domyślnie wyłączony */
.cmp input[type=checkbox]{appearance:none;flex:none;width:52px;height:30px;border-radius:999px;background:var(--cmp-card);border:2px solid var(--cmp-mute);position:relative;cursor:pointer;margin:7px 0;transition:background .15s}
.cmp input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--cmp-mute);transition:transform .15s}
.cmp input[type=checkbox]:checked{background:var(--cmp-acc);border-color:var(--cmp-acc)}
.cmp input[type=checkbox]:checked::after{transform:translateX(22px);background:var(--cmp-bg)}
.cmp input[type=checkbox]:disabled{cursor:not-allowed;opacity:.75}
.cmp details{margin:4px 0 0}
.cmp summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;font-size:14px}
.cmp-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--cmp-rule);border-radius:8px}
.cmp table{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}
.cmp th,.cmp td{padding:8px 10px;border-bottom:1px solid var(--cmp-rule);vertical-align:top;text-align:left}
.cmp th{color:var(--cmp-mute);font-weight:600}
.cmp code{font:400 12.5px/1.4 ui-monospace,"Geist Mono",monospace;word-break:break-all}
.cmp-panel .cmp-small{margin-top:16px}

/* treść zewnętrzna zablokowana do czasu zgody (ramka z data-consent-src) */
.cmp-ph{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border:1px dashed currentColor;border-radius:12px}
.cmp-ph .cmp-btn{background:transparent;color:inherit;border-color:currentColor}

/* link „Ustawienia cookies” w treści stron (wygląd jak zwykły link) */
button[data-cookie-settings]{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

@media (max-width:760px){
  .cmp-banner .cmp-in{grid-template-columns:1fr}
  .cmp-banner .cmp-btns{min-width:0}
  .cmp-banner p{font-size:14px;margin-bottom:6px}
  .cmp-banner h2{font-size:18px;margin-bottom:6px}
  .cmp-banner{padding-top:12px}
  .cmp-banner .cmp-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cmp-banner .cmp-btns .cmp-alt{grid-column:1/-1;min-height:44px}
  .cmp-banner .cmp-btn{padding:10px 8px;font-size:14.5px}
  .cmp-panel{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
  .cmp-panel .cmp-in{padding:16px max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
}
@media (prefers-reduced-motion:reduce){.cmp input[type=checkbox],.cmp input[type=checkbox]::after{transition:none}}
@media print{.cmp-banner{display:none}}
