/* ZítraZačnu! — cookie lišta a nastavení */
:root{
  --zzc-dark:#0e1d06; --zzc-forest:#004f38; --zzc-salmon:#ff8876;
  --zzc-amber:#ffd46b; --zzc-lite:#f6ffa5; --zzc-cream:#f8f6f1;
}

#zz-cookie-bar,
#zz-cookie-modal{
  font-family:'Baloo Da 2', -apple-system, system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* ---------- lišta ---------- */
#zz-cookie-bar{
  position:fixed; z-index:9000; left:0; right:0; bottom:0;
  background:var(--zzc-dark); color:var(--zzc-cream);
  border-top:3px solid var(--zzc-amber);
  padding:22px clamp(16px,4vw,40px);
  box-shadow:0 -16px 40px -20px rgba(0,0,0,.7);
  transform:translateY(110%); transition:transform .45s cubic-bezier(.16,1,.3,1);
}
#zz-cookie-bar.zz-in{ transform:none; }
.zz-bar-inner{
  max-width:1150px; margin:0 auto;
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
}
.zz-bar-text{ flex:1 1 340px; min-width:0; font-size:15px; line-height:1.55; font-weight:500; }
.zz-bar-text b{ display:block; font-size:18px; font-weight:700; color:var(--zzc-lite); margin-bottom:5px; }
.zz-bar-text a{ color:var(--zzc-amber); }
.zz-bar-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

.zz-btn{
  font-family:inherit; font-weight:700; font-size:14.5px; line-height:1;
  padding:14px 24px; border-radius:99px; border:2px solid transparent;
  cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:transform .18s, background .18s, color .18s;
}
.zz-btn:hover{ transform:translateY(-2px); }
.zz-btn:focus-visible{ outline:3px solid var(--zzc-amber); outline-offset:3px; }
/* přijmout i odmítnout mají stejnou váhu (požadavek ÚOOÚ) */
.zz-btn--accept{ background:var(--zzc-amber); color:var(--zzc-dark); }
.zz-btn--reject{ background:var(--zzc-cream); color:var(--zzc-dark); }
.zz-btn--ghost{ background:transparent; color:var(--zzc-cream); border-color:rgba(248,246,241,.45); }
.zz-btn--ghost:hover{ border-color:var(--zzc-cream); }
.zz-btn--save{ background:var(--zzc-forest); color:var(--zzc-lite); }

@media (max-width:720px){
  .zz-bar-inner{ gap:16px; }
  .zz-bar-actions{ width:100%; }
  .zz-btn{ flex:1 1 140px; text-align:center; padding:15px 16px; }
}

/* ---------- modal ---------- */
#zz-cookie-modal{
  position:fixed; inset:0; z-index:9100; display:none;
  align-items:center; justify-content:center; padding:20px;
  background:rgba(14,29,6,.72);
}
#zz-cookie-modal.zz-open{ display:flex; }
.zz-modal-card{
  background:var(--zzc-cream); color:var(--zzc-dark);
  width:100%; max-width:640px; max-height:88vh; overflow-y:auto;
  border-radius:24px; padding:clamp(24px,4vw,36px);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.6);
}
.zz-modal-card h2{ font-size:clamp(24px,3.4vw,30px); font-weight:800; line-height:1.15; }
.zz-modal-card > p{ margin-top:12px; font-size:15px; line-height:1.6; font-weight:500; }
.zz-modal-card > p a{ color:var(--zzc-forest); font-weight:700; }

.zz-cat{
  margin-top:16px; border:2px solid var(--zzc-dark); border-radius:16px;
  padding:16px 18px; display:flex; gap:16px; align-items:flex-start;
}
.zz-cat h3{ font-size:17px; font-weight:700; }
.zz-cat p{ margin-top:4px; font-size:14px; line-height:1.5; opacity:.8; }
.zz-cat-body{ flex:1; min-width:0; }
.zz-locked{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--zzc-forest); white-space:nowrap; padding-top:3px; }

/* přepínač */
.zz-switch{ position:relative; flex-shrink:0; width:54px; height:31px; }
.zz-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.zz-slider{
  position:absolute; inset:0; border-radius:99px; background:#cdc8bf;
  transition:background .2s; pointer-events:none;
}
.zz-slider::before{
  content:''; position:absolute; top:3px; left:3px; width:25px; height:25px;
  border-radius:50%; background:#fff; transition:transform .2s;
  box-shadow:0 2px 5px rgba(0,0,0,.25);
}
.zz-switch input:checked + .zz-slider{ background:var(--zzc-forest); }
.zz-switch input:checked + .zz-slider::before{ transform:translateX(23px); }
.zz-switch input:focus-visible + .zz-slider{ outline:3px solid var(--zzc-forest); outline-offset:3px; }

.zz-modal-actions{ margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; }
.zz-modal-actions .zz-btn{ flex:1 1 auto; }
@media (max-width:560px){ .zz-modal-actions .zz-btn{ flex:1 1 100%; text-align:center; } }

@media (prefers-reduced-motion:reduce){
  #zz-cookie-bar{ transition:none; }
  .zz-btn:hover{ transform:none; }
}
