/* JK Cookie Consent – eigenstaendig, designkonform, ohne externe Abhaengigkeiten */
:root{
  --jkcc-green:#779C94; --jkcc-green-d:#5d827a; --jkcc-dark:#2f3b38;
  --jkcc-yellow:#F2C94C; --jkcc-text:#3a3a3a; --jkcc-bg:#ffffff; --jkcc-muted:#6b7b77;
}
#jkcc-root, #jkcc-root *{box-sizing:border-box;}
#jkcc-root{font-family:"Source Sans 3",-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.jkcc-hidden{display:none !important;}

/* Overlay */
#jkcc-overlay{position:fixed;inset:0;background:rgba(28,40,37,.55);z-index:2147483000;
  display:flex;align-items:center;justify-content:center;padding:20px;}

/* Banner (untere Leiste) */
#jkcc-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:2147483001;
  width:min(680px,calc(100% - 32px));background:var(--jkcc-bg);border-radius:16px;
  box-shadow:0 12px 40px rgba(0,0,0,.22);padding:22px 24px;}
#jkcc-banner h2{margin:0 0 8px;font-size:19px;color:var(--jkcc-dark);font-weight:800;}
#jkcc-banner p{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:var(--jkcc-text);}
#jkcc-banner a{color:var(--jkcc-green-d);text-decoration:underline;}
.jkcc-btns{display:flex;gap:10px;flex-wrap:wrap;}
.jkcc-btn{cursor:pointer;border:0;border-radius:999px;padding:12px 24px !important;font-size:15px !important;
  font-weight:700;font-family:inherit;transition:filter .15s,background .15s;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;line-height:1.1 !important;text-align:center !important;text-decoration:none;}
.jkcc-btn:focus-visible{outline:3px solid var(--jkcc-green);outline-offset:2px;}
.jkcc-btn--primary{background:var(--jkcc-yellow);color:var(--jkcc-dark);}
.jkcc-btn--primary:hover{filter:brightness(.95);}
.jkcc-btn--ghost{background:#eef2f1;color:var(--jkcc-dark);}
.jkcc-btn--ghost:hover{background:#e2e9e7;}
.jkcc-btn--link{background:transparent;color:var(--jkcc-green-d);text-decoration:underline;padding:12px 8px;}

/* Einstellungen-Modal */
#jkcc-modal{width:min(620px,100%);max-height:86vh;overflow:auto;background:var(--jkcc-bg);
  border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:26px 26px 22px;}
#jkcc-modal h2{margin:0 0 6px;font-size:21px;color:var(--jkcc-dark);font-weight:800;}
#jkcc-modal .jkcc-intro{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--jkcc-text);}
.jkcc-cat{border:1px solid #e6ecea;border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.jkcc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.jkcc-cat-head h3{margin:0;font-size:15.5px;color:var(--jkcc-dark);font-weight:700;}
.jkcc-cat p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--jkcc-muted);}
.jkcc-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.jkcc-fineprint{margin-top:14px;font-size:12px;color:var(--jkcc-muted);}
.jkcc-fineprint a{color:var(--jkcc-green-d);}

/* Toggle */
.jkcc-switch{position:relative;width:46px;height:26px;flex:0 0 auto;}
.jkcc-switch input{opacity:0;width:0;height:0;position:absolute;}
.jkcc-slider{position:absolute;inset:0;background:#c9d3d0;border-radius:999px;transition:.2s;cursor:pointer;}
.jkcc-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.jkcc-switch input:checked + .jkcc-slider{background:var(--jkcc-green);}
.jkcc-switch input:checked + .jkcc-slider:before{transform:translateX(20px);}
.jkcc-switch input:disabled + .jkcc-slider{background:var(--jkcc-green);opacity:.6;cursor:not-allowed;}

/* Reopen-Button */
#jkcc-reopen{position:fixed;left:16px;bottom:16px;z-index:2147482999;width:46px;height:46px;border-radius:50%;
  background:var(--jkcc-green);color:#fff;border:0;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);
  padding:0;display:flex;align-items:center;justify-content:center;}
#jkcc-reopen svg{display:block}
#jkcc-reopen:hover{background:var(--jkcc-green-d);}
#jkcc-reopen:focus-visible{outline:3px solid var(--jkcc-yellow);outline-offset:2px;}

@media (max-width:520px){
  #jkcc-banner{padding:18px;bottom:10px;}
  .jkcc-btn{flex:1 1 auto;text-align:center;}
}
