/* =====================================================
   consent.css - cookie lišta a okno Nastavenia cookies (js/consent.js)
   Svetlá karta v štýle webu. Pohyb iba prelínaním a jemnou mierkou,
   nikdy zdola nahor. Prijať všetky a Odmietnuť vyzerajú rovnako
   (odmietnuť musí byť rovnako jednoduché ako prijať).
   Vrstvy: nad obsahom, hlavičkou a mobilnou lištou (90-100),
   pod zásuvkou objednávky (200+), formulárom (300) a Kinom (320).
   ===================================================== */
.ck{
  position:fixed; z-index:150; left:16px; bottom:calc(16px + env(safe-area-inset-bottom));
  width:min(430px, calc(100% - 32px)); padding:1.35rem 1.35rem 1.2rem;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  box-shadow:0 26px 60px -26px rgba(29,31,29,.38);
  opacity:0; transform:scale(.985); transform-origin:0 100%;
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.ck.is-on{ opacity:1; transform:none; }
.ck[hidden]{ display:none; }
.ck__title{ font-family:var(--display); font-size:1.75rem; line-height:1; letter-spacing:.03em; text-transform:uppercase; margin-bottom:.55rem; }
.ck__text{ font-size:.85rem; line-height:1.55; color:var(--muted); }
.ck__text a{ color:var(--green-ink); border-bottom:1px solid rgba(37,115,42,.35); }
.ck__actions{ display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:1.1rem; }
.ck__actions .btn{ width:100%; padding-inline:.9rem; }
.ck__actions .ck__wide{ grid-column:1 / -1; }
@media (max-width:560px){
  .ck{ left:12px; right:12px; width:auto; bottom:calc(12px + env(safe-area-inset-bottom)); padding:1.15rem 1.1rem 1rem; }
  .ck__title{ font-size:1.55rem; }
  .ck__text{ font-size:.82rem; }
  .ck__actions .btn{ min-height:44px; }
}

/* ---------- okno Nastavenia cookies (natívny <dialog>, zámok fokusu a Esc rieši prehliadač) ---------- */
.ckd{
  position:fixed; inset:0; z-index:360; margin:auto; padding:0; border:0; background:transparent; color:var(--ink);
  width:min(560px, calc(100% - 24px)); max-width:none; max-height:calc(100vh - 24px); max-height:calc(100svh - 24px); overflow:visible;
}
/* prehliadače bez <dialog> (Safari/iOS pod 15.4): zatvorené okno skryť samy (inak ho skryje prehliadač) */
.ckd:not([open]){ display:none; }
.ckd::backdrop{ background:rgba(29,31,29,.45); }
.ckd[open]{ animation:ckdIn .3s var(--ease); }
.ckd[open]::backdrop{ animation:ckdFade .3s var(--ease); }
@keyframes ckdIn{ from{ opacity:0; transform:scale(.98); } to{ opacity:1; transform:none; } }
@keyframes ckdFade{ from{ opacity:0; } to{ opacity:1; } }
.ckd__card{
  position:relative; max-height:calc(100vh - 24px); max-height:calc(100svh - 24px); overflow:auto; overscroll-behavior:contain;
  background:#fff; border-radius:var(--r); box-shadow:0 30px 80px -30px rgba(29,31,29,.45);
  padding:clamp(1.3rem, 3vw, 1.9rem);
}
.ckd__close{
  position:absolute; top:.7rem; right:.7rem; width:44px; height:44px; border-radius:999px;
  display:flex; align-items:center; justify-content:center; color:var(--ink); transition:background .25s var(--ease);
}
.ckd__close svg{ width:14px; height:14px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; fill:none; }
.ckd__close:focus-visible{ background:var(--bg-2); outline:2px solid var(--green); outline-offset:2px; }
.ckd h2{ font-size:clamp(1.9rem, 4vw, 2.4rem); line-height:1; margin:0 2.6rem .5rem 0; }
.ckd__lead{ font-size:.87rem; color:var(--muted); margin-bottom:1.1rem; }
.ckd__cat{ display:block; background:var(--bg-2); border-radius:var(--r-s); padding:.95rem 1.05rem; margin-bottom:.55rem; }
label.ckd__cat{ cursor:pointer; }
.ckd__row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.ckd__row b{ font-weight:600; font-size:.95rem; }
.ckd__desc{ display:block; font-size:.82rem; line-height:1.5; color:var(--muted); margin-top:.3rem; }
.ckd__always{ font-size:.78rem; font-weight:500; color:var(--green-ink); white-space:nowrap; }
/* prepínač: skutočný checkbox (role=switch) - klávesnica aj čítačka ho poznajú */
.ckd__sw{
  appearance:none; -webkit-appearance:none; flex:none; position:relative; width:44px; height:26px; margin:0;
  border-radius:999px; background:#cfd1cc; cursor:pointer; transition:background .25s var(--ease);
}
.ckd__sw::before{
  content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff;
  box-shadow:0 1px 3px rgba(29,31,29,.25); transition:transform .25s var(--ease);
}
.ckd__sw:checked{ background:var(--green); }
.ckd__sw:checked::before{ transform:translateX(18px); }
.ckd__sw:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }
.ckd__actions{ display:grid; grid-template-columns:repeat(3, 1fr); gap:.5rem; margin-top:1.1rem; }
.ckd__actions .btn{ width:100%; padding-inline:.8rem; }
.ckd__more{ display:inline-block; margin-top:1rem; font-size:.82rem; color:var(--green-ink); border-bottom:1px solid rgba(37,115,42,.35); }
@media (max-width:560px){
  .ckd__actions{ grid-template-columns:1fr; }
  .ckd__actions .btn{ min-height:44px; }
}
@media (hover:hover) and (pointer:fine){
  .ckd__close:hover{ background:var(--bg-2); }
  .ck__text a:hover, .ckd__more:hover{ border-bottom-color:currentColor; }
}
@media (prefers-reduced-motion: reduce){
  .ck{ transition:none; transform:none; }
  .ckd[open], .ckd[open]::backdrop{ animation:none; }
}
