:root{
  --zf-cookie-purple:#7845ff;
  --zf-cookie-ink:#17141c;
  --zf-cookie-panel:#201c26;
  --zf-cookie-line:#3a3342;
  --zf-cookie-muted:#c5becb;
}
.zf-cookie-banner,.zf-cookie-modal,.zf-cookie-modal *,.zf-cookie-banner *{box-sizing:border-box}
.zf-cookie-banner{
  position:fixed;z-index:2147483000;left:auto;right:18px;bottom:18px;width:min(520px,calc(100vw - 36px));
  background:var(--zf-cookie-ink);color:#fff;border:1px solid #39313f;border-radius:20px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);padding:20px;display:none;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.zf-cookie-banner.is-visible{display:block}
.zf-cookie-kicker{
  display:flex;align-items:center;gap:8px;color:#bca8ff;font:700 8px "DM Mono",monospace;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:11px
}
.zf-cookie-kicker:before{content:"";width:8px;height:8px;border-radius:3px;background:var(--zf-cookie-purple)}
.zf-cookie-banner h2,.zf-cookie-modal h2{
  margin:0;font:900 28px/.96 "Titillium Web",Inter,sans-serif;letter-spacing:-.018em;text-transform:uppercase
}
.zf-cookie-banner p{
  margin:12px 0 0;color:#d2ccd6;font-size:11px;line-height:1.65;max-width:520px
}
.zf-cookie-banner p a{color:#fff;text-decoration:underline;text-decoration-color:#71687a;text-underline-offset:3px}
.zf-cookie-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:17px}
.zf-cookie-btn{
  min-height:42px;border-radius:10px;border:1px solid #4a414f;padding:0 13px;font:800 9px Inter,sans-serif;
  cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap
}
.zf-cookie-btn:hover{transform:translateY(-1px)}
.zf-cookie-btn.accept{background:var(--zf-cookie-purple);border-color:var(--zf-cookie-purple);color:#fff}
.zf-cookie-btn.reject{background:#fff;border-color:#fff;color:#17141c}
.zf-cookie-btn.manage{background:#27222d;color:#e8e2eb}
.zf-cookie-modal{
  position:fixed;z-index:2147483001;inset:0;background:rgba(14,11,17,.68);backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;padding:20px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.zf-cookie-modal.is-visible{display:flex}
.zf-cookie-dialog{
  width:min(610px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;background:#f7f7f4;color:#222128;
  border-radius:22px;border:1px solid #d8d4dc;box-shadow:0 30px 90px rgba(0,0,0,.28)
}
.zf-cookie-dialog-head{padding:22px 22px 18px;border-bottom:1px solid #dedadf;position:relative}
.zf-cookie-dialog-head .zf-cookie-kicker{color:#7045df}
.zf-cookie-dialog-head p{font-size:11px;line-height:1.6;color:#5c5962;margin:11px 38px 0 0}
.zf-cookie-close{
  position:absolute;right:17px;top:17px;width:34px;height:34px;border-radius:9px;border:1px solid #d8d4dc;
  background:#fff;color:#302d34;font-size:18px;line-height:1;cursor:pointer
}
.zf-cookie-groups{padding:10px 22px 4px}
.zf-cookie-group{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;
  padding:16px 0;border-bottom:1px solid #dfdbe0
}
.zf-cookie-group:last-child{border-bottom:0}
.zf-cookie-group small{
  display:block;color:#7845ff;font:700 7px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px
}
.zf-cookie-group b{display:block;font-size:12px;color:#27242b}
.zf-cookie-group p{font-size:9px;line-height:1.5;color:#646169;margin:5px 0 0;max-width:430px}
.zf-cookie-always{
  color:#3a8069;background:#e7f5ef;border:1px solid #c7e5d9;border-radius:999px;
  padding:6px 8px;font:800 6px "DM Mono",monospace;text-transform:uppercase;white-space:nowrap
}
.zf-cookie-toggle{position:relative;width:45px;height:26px;display:block}
.zf-cookie-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.zf-cookie-switch{
  position:absolute;inset:0;border-radius:999px;background:#d0ccd3;border:1px solid #bdb8c2;cursor:pointer;transition:.18s
}
.zf-cookie-switch:after{
  content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.18);transition:.18s
}
.zf-cookie-toggle input:checked + .zf-cookie-switch{background:#7845ff;border-color:#7845ff}
.zf-cookie-toggle input:checked + .zf-cookie-switch:after{transform:translateX(19px)}
.zf-cookie-toggle input:focus-visible + .zf-cookie-switch{outline:3px solid rgba(120,69,255,.25);outline-offset:2px}
.zf-cookie-dialog-foot{
  padding:16px 22px 22px;border-top:1px solid #dedadf;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px
}
.zf-cookie-dialog-foot .zf-cookie-btn.manage{background:#fff;color:#302d34;border-color:#cbc6ce}
.zf-cookie-dialog-note{padding:0 22px 18px;font-size:8px;line-height:1.5;color:#77737b}
.zf-cookie-dialog-note a{color:#5d3bb7;text-decoration:underline;text-underline-offset:2px}
html.zf-cookie-modal-open{overflow:hidden}
@media(max-width:620px){
  .zf-cookie-banner{left:10px;right:auto;bottom:10px;width:calc(100vw - 20px);padding:17px;border-radius:17px}
  .zf-cookie-banner h2,.zf-cookie-modal h2{font-size:24px}
  .zf-cookie-actions{grid-template-columns:1fr 1fr}
  .zf-cookie-btn.manage{grid-column:1/3}
  .zf-cookie-dialog{max-height:calc(100vh - 20px);border-radius:18px}
  .zf-cookie-dialog-head{padding:19px 17px 16px}.zf-cookie-groups{padding:8px 17px 2px}
  .zf-cookie-dialog-foot{padding:14px 17px 17px;grid-template-columns:1fr}
  .zf-cookie-group{gap:12px}.zf-cookie-group p{font-size:8.5px}
}
@media(max-width:360px){
  .zf-cookie-actions{grid-template-columns:1fr}.zf-cookie-btn.manage{grid-column:auto}
  .zf-cookie-banner p{font-size:10px}.zf-cookie-dialog-head p{font-size:10px}
}

.zf-footer-utility-line{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap}
.zf-cookie-utility{
  appearance:none;background:none;border:0;padding:0 0 0 8px;margin:0;
  border-left:1px solid #4a444f;color:#8f8996;font:500 9px/1.5 Inter,sans-serif;
  cursor:pointer;text-decoration:none
}
.zf-cookie-utility:hover{color:#cfc8d5}
.zf-cookie-utility:focus-visible{outline:2px solid #7845ff;outline-offset:3px;border-radius:2px}
