.cookie-modal-open{overflow:hidden}
.cookie-banner[hidden],.cookie-modal[hidden]{display:none!important}

/* Menšia, priateľskejšia cookie karta */
.cookie-banner{
  position:fixed;
  z-index:1100;
  left:clamp(10px,1.6vw,20px);
  bottom:clamp(10px,1.6vw,20px);
  width:min(344px,calc(100vw - 20px));
  overflow:hidden;
  border:1px solid rgba(21,91,145,.12);
  border-radius:22px;
  background:rgba(255,255,255,.95);
  box-shadow:0 18px 44px rgba(11,47,80,.14),0 2px 8px rgba(11,47,80,.06);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  animation:cookie-card-in .36s cubic-bezier(.22,1,.36,1) both;
}
.cookie-banner::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,#155b91 0%,#0d7580 55%,#f27b34 100%);
}
.cookie-banner__content{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:15px;
}
.cookie-banner__eyebrow{
  display:flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  background:#eef6fb;
  color:#155b91;
  font:800 11px/1 Manrope,"Nunito Sans",sans-serif;
  letter-spacing:.02em;
}
.cookie-banner__intro{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:start;
  gap:10px;
}
.cookie-banner__icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:12px;
  background:linear-gradient(145deg,#fff7ef,#eef8fb);
  box-shadow:inset 0 0 0 1px rgba(21,91,145,.08);
}
.cookie-banner__icon svg{width:26px;height:26px;display:block}
.cookie-banner__copy strong{
  display:block;
  margin:2px 0 4px;
  color:#0b2f50;
  font:800 15.5px/1.22 Manrope,"Nunito Sans",sans-serif;
  letter-spacing:-.015em;
}
.cookie-banner__copy p{
  margin:0;
  color:#5d7185;
  font-size:12.8px;
  line-height:1.46;
}
.cookie-banner__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.cookie-button{
  min-height:39px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:12px;
  font:800 12.8px/1.2 "Nunito Sans",sans-serif;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.cookie-button:hover{transform:translateY(-1px)}
.cookie-button:active{transform:translateY(0)}
.cookie-button:focus-visible,
.cookie-modal__close:focus-visible,
.cookie-switch input:focus-visible+span,
.cookie-banner__meta button:focus-visible,
.cookie-banner__meta a:focus-visible{
  outline:3px solid rgba(29,110,174,.22);
  outline-offset:3px;
}
.cookie-button--primary{
  background:linear-gradient(135deg,#155b91,#0d7580);
  color:#fff;
  box-shadow:0 8px 16px rgba(21,91,145,.18);
}
.cookie-button--secondary{
  border-color:#d6e2ea;
  background:#f8fbfd;
  color:#12486f;
}
.cookie-button--link{
  padding-inline:4px;
  background:transparent;
  color:#155b91;
  text-decoration:underline;
  text-underline-offset:3px;
}
.cookie-banner__meta{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  color:#94a4b2;
  font-size:12px;
}
.cookie-banner__meta button,
.cookie-banner__meta a{
  padding:0;
  border:0;
  background:transparent;
  color:#566f87;
  font:800 12px/1.3 "Nunito Sans",sans-serif;
  text-decoration:none;
  cursor:pointer;
}
.cookie-banner__meta button:hover,
.cookie-banner__meta a:hover{
  color:#155b91;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Modal ostáva detailnejší */
.cookie-modal{
  position:fixed;
  z-index:1200;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
}
.cookie-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,31,52,.46);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.cookie-modal__dialog{
  position:relative;
  z-index:1;
  width:min(540px,100%);
  max-height:min(700px,calc(100vh - 36px));
  overflow:auto;
  padding:28px;
  border:1px solid rgba(21,91,145,.12);
  border-radius:25px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.24);
  animation:cookie-dialog-in .28s cubic-bezier(.22,1,.36,1) both;
}
.cookie-modal__close{
  position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#eef4f8;color:#12486f;font-size:25px;line-height:1;cursor:pointer;
}
.cookie-modal__close:hover{background:#e2edf4}
.cookie-modal__kicker{margin:0 0 7px;color:#0d7580;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cookie-modal h2{margin:0 46px 9px 0;color:#0b2f50;font:800 clamp(27px,5vw,36px)/1.1 Manrope,"Nunito Sans",sans-serif;letter-spacing:-.025em}
.cookie-modal__dialog>p:not(.cookie-modal__kicker){margin:0 0 19px;color:#5c6f82;font-size:14px;line-height:1.55}
.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;padding:16px;border:1px solid #dfe8f0;border-radius:17px;background:#f9fbfd}
.cookie-category strong{display:block;color:#17253b;font-size:14.5px}
.cookie-category p{margin:4px 0 0;color:#667386;font-size:13px;line-height:1.45}
.cookie-category__status{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#e7f6f5;color:#09636c;font-size:11.5px;font-weight:900}
.cookie-category--toggle{cursor:pointer}
.cookie-switch{position:relative;flex:0 0 auto;width:50px;height:28px}
.cookie-switch input{position:absolute;opacity:0;pointer-events:none}
.cookie-switch span{position:absolute;inset:0;border-radius:999px;background:#c7d3dd;transition:.2s}
.cookie-switch span::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.2);transition:.2s}
.cookie-switch input:checked+span{background:#0d7580}
.cookie-switch input:checked+span::after{transform:translateX(22px)}
.cookie-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
@keyframes cookie-card-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cookie-dialog-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.cookie-banner,.cookie-modal__dialog{animation:none}.cookie-button,.cookie-switch span,.cookie-switch span::after{transition:none}}
@media(max-width:600px){
  .cookie-banner{left:8px;right:8px;bottom:8px;width:auto;border-radius:18px}
  .cookie-banner__content{padding:13px;gap:10px}
  .cookie-banner__eyebrow{padding:5px 9px;font-size:10.5px}
  .cookie-banner__intro{grid-template-columns:34px minmax(0,1fr);gap:9px}
  .cookie-banner__icon{width:34px;height:34px;border-radius:11px}
  .cookie-banner__copy strong{font-size:15px}
  .cookie-banner__copy p{font-size:12.5px}
  .cookie-banner__actions{grid-template-columns:1fr}
  .cookie-button{width:100%;min-height:40px}
  .cookie-modal{padding:9px}
  .cookie-modal__dialog{max-height:calc(100vh - 18px);padding:24px 17px;border-radius:21px}
  .cookie-category{align-items:flex-start}
  .cookie-modal__actions{grid-template-columns:1fr}
}
