:root{
  --mz-bg:#563e34;            /* hlavní barva lišty */
  --mz-bg-strong:#463229;     /* tmavší odstín pro hover */
  --mz-text:#ffffff;          /* barva textu */
  --mz-ghost:#fff3;           /* jemné orámování/ghost */
  --mz-outline:#ffffff;       /* pro outline tlačítka */
  --mz-focus:#ffdca8;         /* focus ring kontrastní */
}

.mz-cookie[hidden]{ display:none !important; }

.mz-cookie{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999999;
  font-family:inherit;
}

.mz-cookie__bar{
  background:var(--mz-bg);
  color:var(--mz-text);
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  box-shadow:0 -6px 24px rgba(0,0,0,.18);
}

.mz-cookie__text{ max-width:960px; }
.mz-cookie__text p{ margin:.35rem 0 0; line-height:1.5; }
.mz-cookie__policy{ margin:.25rem 0 0; }
.mz-cookie__policy-link{
  color:var(--mz-text);
  text-decoration:underline;
  text-underline-offset:2px;
}
.mz-cookie__policy-link:hover{ opacity:.9; }

.mz-cookie__actions{
  display:flex; gap:10px; flex-wrap:wrap;
}

/* Buttons */
.mz-btn{
  appearance:none; border:0; cursor:pointer;
  padding:10px 14px; font-size:14px; border-radius:999px;
  line-height:1; transition:transform .06s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.mz-btn:focus-visible{
  outline:2px solid var(--mz-focus);
  outline-offset:2px;
}

.mz-btn--primary{
  background:var(--mz-text);
  color:var(--mz-bg);
  font-weight:600;
}
.mz-btn--primary:hover{ transform:translateY(-1px); }

.mz-btn--outline{
  background:transparent;
  box-shadow:inset 0 0 0 2px var(--mz-outline);
  color:var(--mz-text);
}
.mz-btn--outline:hover{ background:var(--mz-bg-strong); }

.mz-btn--ghost{
  background:transparent;
  box-shadow:inset 0 0 0 1px var(--mz-ghost);
  color:var(--mz-text);
}
.mz-btn--ghost:hover{ background:var(--mz-bg-strong); }

.mz-btn--icon{
  background:transparent; color:var(--mz-text); font-size:28px; line-height:1;
}
.mz-btn--icon:hover{ opacity:.8; }

/* Panel nastavení (slide-up) */
.mz-cookie__panel{
  position:fixed; left:0; right:0; bottom:0;
  display:block;
}
.mz-cookie__panel[hidden]{ display:none !important; }

.mz-cookie__panel-inner{
  margin:0 auto;
  max-width:760px;
  background:var(--mz-bg);
  color:var(--mz-text);
  border-top-left-radius:16px;
  border-top-right-radius:16px;
  padding:18px 18px 16px;
  box-shadow:0 -12px 36px rgba(0,0,0,.28);
  animation:mzSlideUp .24s ease;
}
@keyframes mzSlideUp{
  from{ transform:translateY(12px); opacity:0; }
  to{ transform:translateY(0); opacity:1; }
}

.mz-cookie__panel-header{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:6px;
}
.mz-cookie__group{ padding:10px 2px; }
.mz-cookie__panel-actions{
  display:flex; gap:10px; justify-content:flex-end; padding-top:8px;
}

/* Switch */
.mz-switch{
  display:flex; align-items:center; gap:12px; cursor:pointer;
  user-select:none;
}
.mz-switch input{ display:none; }
.mz-switch__control{
  width:46px; height:26px; flex:0 0 46px; border-radius:999px;
  background:#ffffff22; position:relative; box-shadow:inset 0 0 0 2px #ffffff33;
}
.mz-switch__control::after{
  content:""; position:absolute; top:3px; left:3px; width:20px; height:20px;
  border-radius:50%; background:#fff; transition:left .18s ease;
}
.mz-switch input:checked + .mz-switch__control{ background:#ffffff55; }
.mz-switch input:checked + .mz-switch__control::after{ left:23px; }
.mz-switch__label{ color:var(--mz-text); }

/* Responsivita */
@media (max-width: 980px){
  .mz-cookie__bar{ flex-direction:column; align-items:flex-start; }
  .mz-cookie__actions{ width:100%; justify-content:flex-start; }
}
@media (prefers-reduced-motion: reduce){
  .mz-btn, .mz-cookie__panel-inner{ transition:none; animation:none; }
}
