/* ==== BANNER COOKIES — warstwa 1 (banner) + warstwa 2 (panel ustawien) ====
   Komponent nakladkowy, wspolny dla index/directors/polityka/regulamin.
   Korzysta wylacznie z tokenow z :root kazdej ze stron — zero nowych kolorow,
   zero nowych stopni typograficznych, kanty proste jak w reszcie serwisu.
   Markup wstrzykuje assets/cookies.js. */

/* ---- warstwa 1: banner startowy ---- */
.cc-banner{position:fixed;inset-inline:0;bottom:0;z-index:9000;background:var(--white);border-top:2px solid var(--navy);box-shadow:var(--shadow);max-height:90dvh;display:flex;flex-direction:column}
.cc-banner[hidden]{display:none}
.cc-inner{max-width:72rem;width:100%;margin-inline:auto;padding:var(--s4) clamp(20px,4.5vw,48px);display:grid;gap:var(--s4);min-height:0}
/* Na waskim ekranie przewija sie SAMA tresc, nie caly baner: trzy przyciski
   zostaja widoczne bez przewijania, bo od nich zalezy wyjscie z banera.
   Zanik u dolu pokazuje, ze tresc jest dluzsza — bez niego akapit urywa sie
   w polowie zdania i wyglada na uciety, a nie na przewijalny. */
.cc-scroll{position:relative;min-height:0}
.cc-scroll::after{content:"";position:absolute;inset-inline:0;bottom:0;height:var(--s6);background:linear-gradient(to top,var(--white),rgba(255,255,255,0));pointer-events:none;opacity:0;transition:opacity .2s var(--ease)}
.cc-scroll.is-more::after{opacity:1}
.cc-copy{max-height:32dvh;overflow-y:auto;min-height:0}
.cc-title{font-size:var(--fs-lead);line-height:var(--lh-title);letter-spacing:var(--tr-tight);color:var(--navy);margin-bottom:var(--s2)}
.cc-text{font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--ink)}
.cc-text a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}

/* trzy przyciski: "Akceptuj" i "Odrzuc" maja IDENTYCZNA wage wizualna (wymog
   rownowaznosci wyboru). Czerwien jest zarezerwowana dla CTA sprzedazowego —
   uzycie jej tutaj byloby popychaniem do zgody. */
.cc-actions{display:grid;gap:var(--s3)}
.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;font-family:var(--sans);font-size:var(--fs-card);font-weight:700;line-height:1.2;text-align:center;text-decoration:none;border:1px solid transparent;border-radius:0;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}
.cc-btn--navy{background:var(--navy);color:#fff}
.cc-btn--navy:hover{background:var(--navy-90)}
.cc-btn--ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.cc-btn--ghost:hover{background:var(--navy);color:#fff}

@media (min-width:560px){
  .cc-inner{padding-block:var(--s5)}
  .cc-copy{max-height:42dvh}
  .cc-actions{grid-auto-flow:column;grid-auto-columns:1fr}
}
@media (min-width:960px){
  /* Tresc na pelnej szerokosci kontenera (4 wiersze zamiast 8), przyciski pod nia
     do prawej. Uklad dwukolumnowy scisnal akapit do polowy szerokosci i winda
     banera do 40% ekranu. */
  .cc-inner{gap:var(--s4);padding-block:var(--s4)}
  .cc-copy{max-height:none;overflow:visible}
  .cc-scroll::after{content:none}
  .cc-actions{grid-auto-flow:column;grid-auto-columns:auto;justify-content:end}
  .cc-btn{white-space:nowrap}
}

/* ---- warstwa 2: panel ustawien ---- */
.cc-overlay{position:fixed;inset:0;z-index:9001;background:rgba(18,22,53,.6);display:flex;align-items:flex-end;justify-content:center}
.cc-overlay[hidden]{display:none}
.cc-modal{background:var(--white);width:100%;max-width:44rem;max-height:92dvh;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.cc-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s5) var(--s4);border-bottom:1px solid var(--rule)}
.cc-modal-head h2{font-size:var(--fs-h3);line-height:var(--lh-title);letter-spacing:var(--tr-tight);color:var(--navy)}
.cc-close{flex:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--rule);color:var(--navy);font-family:var(--sans);font-size:22px;line-height:1;cursor:pointer;transition:background .2s var(--ease)}
.cc-close:hover{background:var(--surface)}
.cc-modal-body{padding:var(--s5);overflow-y:auto}
.cc-intro{font-size:var(--fs-card);color:var(--ink);margin-bottom:var(--s5)}
.cc-modal-foot{display:grid;gap:var(--s3);padding:var(--s5);border-top:1px solid var(--rule)}

/* kategorie */
.cc-cats{list-style:none;display:grid;gap:var(--s4)}
.cc-cat{border:1px solid var(--rule);padding:var(--s4)}
.cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s2)}
.cc-cat-head h3{font-size:var(--fs-card);line-height:var(--lh-title);color:var(--navy)}
.cc-cat p{font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--ink-muted)}
.cc-always{display:block;margin-top:var(--s2);font-size:var(--fs-micro);font-weight:700;color:var(--navy-70)}

/* przelacznik: kwadratowy, zgodnie z kantami reszty serwisu (border-radius:0) */
.cc-switch{position:relative;flex:none;display:inline-flex;align-items:center}
.cc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cc-switch span{display:block;width:48px;height:26px;background:var(--rule);border:1px solid var(--rule);transition:background .2s var(--ease),border-color .2s var(--ease)}
.cc-switch span::after{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;background:var(--white);transition:transform .2s var(--ease)}
.cc-switch input:checked+span{background:var(--navy);border-color:var(--navy)}
.cc-switch input:checked+span::after{transform:translateX(22px)}
.cc-switch input:disabled{cursor:default}
.cc-switch input:disabled+span{background:var(--navy-70);border-color:var(--navy-70)}
.cc-switch input:focus-visible+span{outline:2px solid var(--navy);outline-offset:3px}

@media (min-width:560px){.cc-modal-foot{grid-auto-flow:column;grid-auto-columns:1fr}}
@media (min-width:720px){.cc-overlay{align-items:center;padding:var(--s5)}}

/* blokada przewijania tla przy otwartym panelu */
.cc-lock{overflow:hidden}

/* stale wejscie w stopce — wyglada jak sasiadujace linki, ale jest przyciskiem */
.cc-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
