/* KOPIA – nie edytuj tutaj. Źródło: Desktop/Claude/_shared/cookies/consent.css, aktualizacja: python _shared/cookies/sync.py */
/* Wspólny moduł zgody na pliki cookies – wygląd.
   ŹRÓDŁO: Desktop/Claude/_shared/cookies/consent.css (kopie w stronach wgrywa sync.py – nie edytuj kopii).
   Kolory i kroje każda strona ustawia zmiennymi --cc-* we WŁASNYM pliku CSS (np. :root{--cc-bg:…}). */
:where(html){ /* zero specificity: the site's own :root{--cc-…} always wins, whatever the file order */
  --cc-z:900;
  --cc-font:inherit;            /* tekst */
  --cc-serif:inherit;           /* nagłówki */
  --cc-bg:rgba(28,28,26,.96);   /* baner */
  --cc-fg:#fff;
  --cc-fg-soft:rgba(255,255,255,.82);
  --cc-btn-bg:#fff;             /* przyciski na banerze */
  --cc-btn-fg:#1c1c1a;
  --cc-btn-bg-h:#e9e3d7;
  --cc-panel-bg:#fff;           /* okno ustawień */
  --cc-panel-fg:#1c1c1a;
  --cc-muted:#5f5d58;
  --cc-line:rgba(0,0,0,.12);
  --cc-accent:#1c1c1a;          /* przyciski w oknie, włączony przełącznik */
  --cc-accent-fg:#fff;
  --cc-accent-h:#3a3a36;
  --cc-gate-bg:linear-gradient(135deg,#e9ece6,#dfe4db); /* zaślepka mapy */
  --cc-gate-fg:#1c1c1a;
  --cc-gate-muted:#5f5d58;
  --cc-icon:currentColor;
  --cc-radius:0;
  --cc-btn-radius:0;
  --cc-btn-case:uppercase;
  --cc-bottom:clamp(12px,2vw,28px); /* odstęp od dołu (np. nad dolnym paskiem na telefonie) */
}
.cc,.cc-modal,.cc-gate{font-family:var(--cc-font);-webkit-font-smoothing:antialiased}
.cc *,.cc-modal *,.cc-gate *{box-sizing:border-box}
.cc{position:fixed;left:clamp(12px,2vw,28px);bottom:var(--cc-bottom);z-index:var(--cc-z);width:min(520px,calc(100% - 24px));display:grid;gap:12px;padding:22px 24px;
  background:var(--cc-bg);color:var(--cc-fg);border-radius:var(--cc-radius);box-shadow:0 30px 60px -24px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:ccIn .6s cubic-bezier(.22,1,.36,1) both}
@keyframes ccIn{from{opacity:0;transform:translateY(20px)}}
.cc .cc-t{margin:0;font-family:var(--cc-serif);font-weight:400;font-size:22px;line-height:1.2;color:var(--cc-fg)}
.cc p{margin:0;font-size:13.5px;line-height:1.6;color:var(--cc-fg-soft)}
.cc p b{color:var(--cc-fg);font-weight:600}
.cc p a{color:var(--cc-fg);text-decoration:underline;text-underline-offset:3px}
.cc-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.cc-b{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--cc-btn-radius);
  font-family:var(--cc-font);font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.12em;text-transform:var(--cc-btn-case);text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.cc .cc-b{background:var(--cc-btn-bg);color:var(--cc-btn-fg)}
.cc .cc-b:hover{background:var(--cc-btn-bg-h)}
.cc .cc-all,.cc .cc-none{flex:1 1 150px}
.cc .cc-b--line{background:transparent;color:var(--cc-fg);border-color:color-mix(in srgb,var(--cc-fg) 50%,transparent)}
.cc .cc-b--line:hover{background:var(--cc-fg);color:var(--cc-btn-fg);border-color:var(--cc-fg)}
.cc-b:focus-visible,.cc-x:focus-visible,.cc-sw:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.cc-modal{position:fixed;inset:0;z-index:var(--cc-z-modal,calc(var(--cc-z) + 1));display:grid;place-items:center;padding:16px;background:rgba(14,14,14,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cc-modal[hidden]{display:none}
.cc-panel{position:relative;width:min(640px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(24px,3vw,40px);background:var(--cc-panel-bg);color:var(--cc-panel-fg);border-radius:var(--cc-radius);box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.cc-panel h2{margin:0 0 12px;padding-right:40px;font-family:var(--cc-serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.15;color:var(--cc-panel-fg)}
.cc-panel>p{margin:0 0 20px;font-size:14px;line-height:1.6;color:var(--cc-muted)}
.cc-panel a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cc-x{position:absolute;top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;color:var(--cc-panel-fg)}
.cc-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.cc-cat{padding:16px 0;border-top:1px solid var(--cc-line)}
.cc-cat label{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.cc-cat label span{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.cc-cat b{font-weight:600;font-size:15px}
.cc-cat small{font-size:12px;color:var(--cc-muted)}
.cc-cat p{margin:6px 60px 0 0;font-size:13px;line-height:1.55;color:var(--cc-muted)}
.cc-sw{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:44px;height:24px;margin:0;border-radius:999px;background:#cfcac3;cursor:pointer;transition:background .25s}
.cc-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.cc-sw:checked{background:var(--cc-accent)}
.cc-sw:checked::after{transform:translateX(20px)}
.cc-sw:disabled{opacity:.5;cursor:default}
.cc-note{margin:0;padding:14px 0;border-top:1px solid var(--cc-line);font-size:13px;line-height:1.55;color:var(--cc-muted)}
.cc-panel .cc-btns{margin:0;padding-top:20px;border-top:1px solid var(--cc-line)}
.cc-panel .cc-b{flex:1 1 160px;background:var(--cc-accent);color:var(--cc-accent-fg)}
.cc-panel .cc-b:hover{background:var(--cc-accent-h)}
.cc-panel .cc-b--line{background:transparent;color:var(--cc-panel-fg);border-color:var(--cc-panel-fg)}
.cc-panel .cc-b--line:hover{background:var(--cc-panel-fg);color:var(--cc-panel-bg)}

/* zaślepka treści zewnętrznej (mapa) do czasu zgody */
.cc-host{position:relative}
.cc-gate{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center;background:var(--cc-gate-bg);color:var(--cc-gate-fg);border-radius:inherit}
.cc-gate svg{width:34px;height:34px;fill:none;stroke:var(--cc-icon);stroke-width:1.5}
.cc-gate p{margin:0;max-width:34ch;font-size:13.5px;line-height:1.55;color:var(--cc-gate-muted)}
.cc-gate p b{display:block;margin-bottom:4px;font-family:var(--cc-serif);font-weight:500;font-size:22px;color:var(--cc-gate-fg)}
.cc-gate-btns{display:grid;justify-items:center;gap:10px}
.cc-gate .cc-b{background:var(--cc-accent);color:var(--cc-accent-fg)}
.cc-gate .cc-b:hover{background:var(--cc-accent-h)}
.cc-gate-ext{font-size:12.5px;color:inherit;text-decoration:underline;text-underline-offset:3px}

/* zawsze widoczny przycisk „Ustawienia cookies” (po decyzji) */
.cc-fab{position:fixed;left:var(--cc-fab-left,clamp(12px,1.6vw,24px));bottom:var(--cc-fab-bottom,var(--cc-bottom));z-index:var(--cc-z);width:44px;height:44px;display:grid;place-items:center;padding:0;
  border:1px solid color-mix(in srgb,var(--cc-fg) 22%,transparent);border-radius:50%;background:var(--cc-bg);color:var(--cc-fg);cursor:pointer;box-shadow:0 12px 30px -12px rgba(0,0,0,.5);
  transition:transform .3s cubic-bezier(.22,1,.36,1),background .25s;animation:ccIn .6s cubic-bezier(.22,1,.36,1) both}
.cc-fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cc-fab svg circle{fill:currentColor;stroke:none}
.cc-fab:hover{transform:translateY(-2px) rotate(-12deg)}
.cc-fab:focus-visible{outline:2px solid var(--cc-accent);outline-offset:3px}
@media (max-width:560px){
  .cc-fab{width:40px;height:40px}
  .cc{left:12px;right:12px;width:auto;padding:18px}
  .cc-t{font-size:19px}
  .cc p{font-size:12.5px}
  .cc-cat p{margin-right:0}
}
@media print{.cc,.cc-modal,.cc-fab{display:none!important}}
