/* ==========================================================================
   KD :: Cookie lista (GDPR)
   Vlastni promenne, aby lista fungovala i na podstrankach, kde se global.css
   nenacita.
   ========================================================================== */
#kd-cc{--cc-cream:#FAF8F3;--cc-card:#FFFFFF;--cc-sand:#E7E0D4;--cc-ink:#151514;
  --cc-text:#575148;--cc-purple:#6C5CE7;--cc-purple-dark:#5A4BD4;
  --cc-head:'Plus Jakarta Sans',system-ui,sans-serif;--cc-body:'Manrope',system-ui,sans-serif;}

#kd-cc{position:fixed;inset:auto 0 0 0;z-index:2147483000;display:none;
  padding:16px;font-family:var(--cc-body);}
#kd-cc.is-open{display:block;}
#kd-cc[hidden]{display:none!important;}

#kd-cc .cc-veil{position:fixed;inset:0;background:rgba(21,21,20,.45);
  opacity:0;transition:opacity .25s ease;pointer-events:none;}
#kd-cc.is-panel .cc-veil{opacity:1;pointer-events:auto;}

#kd-cc .cc-box{position:relative;max-width:1080px;margin:0 auto;background:var(--cc-cream);
  border:1px solid var(--cc-sand);border-radius:20px;padding:22px 24px;
  box-shadow:0 24px 60px rgba(21,21,20,.22);
  transform:translateY(16px);opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s ease;}
#kd-cc.is-open .cc-box{transform:none;opacity:1;}

#kd-cc h2{font-family:var(--cc-head);font-size:19px;font-weight:700;letter-spacing:-.02em;
  color:var(--cc-ink);margin:0 0 6px;line-height:1.25;}
#kd-cc p{font-size:14.5px;line-height:1.6;color:var(--cc-text);margin:0;}
#kd-cc a{color:var(--cc-purple);text-decoration:underline;text-underline-offset:2px;}

#kd-cc .cc-row{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
#kd-cc .cc-copy{flex:1 1 380px;min-width:0;}
#kd-cc .cc-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

#kd-cc button{font-family:var(--cc-body);font-size:14.5px;font-weight:600;
  border-radius:13px;padding:12px 20px;cursor:pointer;border:1px solid transparent;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease;
  white-space:nowrap;}
#kd-cc button:active{transform:translateY(1px);}
#kd-cc .cc-accept{background:var(--cc-purple);color:#fff;}
#kd-cc .cc-accept:hover{background:var(--cc-purple-dark);}
/* Odmitnuti musi byt stejne dostupne jako souhlas - stejna velikost i vaha. */
#kd-cc .cc-reject{background:var(--cc-card);color:var(--cc-ink);border-color:var(--cc-sand);}
#kd-cc .cc-reject:hover{border-color:#cfc5b4;}
#kd-cc .cc-more{background:transparent;color:var(--cc-text);padding:12px 12px;text-decoration:underline;}
#kd-cc .cc-more:hover{color:var(--cc-ink);}

/* ---------- detailni nastaveni ---------- */
#kd-cc .cc-panel{display:none;margin-top:18px;border-top:1px solid var(--cc-sand);padding-top:16px;}
#kd-cc.is-panel .cc-panel{display:block;}
#kd-cc.is-panel .cc-box{max-width:640px;max-height:calc(100dvh - 32px);overflow-y:auto;}

#kd-cc .cc-cat{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--cc-sand);}
#kd-cc .cc-cat:last-of-type{border-bottom:0;}
#kd-cc .cc-cat h3{font-family:var(--cc-head);font-size:15px;font-weight:700;color:var(--cc-ink);margin:0 0 3px;}
#kd-cc .cc-cat p{font-size:13.5px;}
#kd-cc .cc-cat-txt{flex:1 1 auto;min-width:0;}

#kd-cc .cc-sw{position:relative;flex:0 0 auto;width:46px;height:27px;margin-top:2px;}
#kd-cc .cc-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;}
#kd-cc .cc-sw span{position:absolute;inset:0;background:#D8D0C2;border-radius:999px;
  transition:background .2s ease;pointer-events:none;}
#kd-cc .cc-sw span::after{content:'';position:absolute;top:3px;left:3px;width:21px;height:21px;
  background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.2);}
#kd-cc .cc-sw input:checked + span{background:var(--cc-purple);}
#kd-cc .cc-sw input:checked + span::after{transform:translateX(19px);}
#kd-cc .cc-sw input:focus-visible + span{outline:2px solid var(--cc-purple);outline-offset:2px;}
#kd-cc .cc-sw input:disabled{cursor:not-allowed;}
#kd-cc .cc-sw input:disabled + span{background:#BFD4C2;opacity:.75;}

#kd-cc .cc-panel-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
#kd-cc .cc-save{background:var(--cc-purple);color:#fff;}
#kd-cc .cc-save:hover{background:var(--cc-purple-dark);}

/* ---------- mobil ---------- */
@media (max-width:820px){
  #kd-cc{padding:10px;}
  #kd-cc .cc-box{padding:18px 18px 20px;border-radius:18px;max-height:calc(100dvh - 20px);overflow-y:auto;}
  #kd-cc .cc-row{gap:16px;}
  #kd-cc .cc-acts{width:100%;}
  #kd-cc .cc-acts button{flex:1 1 100%;text-align:center;}
  #kd-cc .cc-more{order:3;}
  #kd-cc h2{font-size:17px;}
}

@media (prefers-reduced-motion:reduce){
  #kd-cc .cc-box,#kd-cc .cc-veil,#kd-cc .cc-sw span,#kd-cc .cc-sw span::after{transition:none;}
}

/* odkaz na znovuotevreni nastaveni */
.kd-cc-reopen{background:none;border:0;padding:0;font:inherit;color:inherit;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px;}