:root{--zp-bg:#130d17;--zp-card:#211724;--zp-line:rgba(255,255,255,.13);--zp-text:#fff;--zp-muted:#c2b8c5;--zp-pink:#ff3d78;--zp-coral:#ff626c;--zp-mint:#6de0c2}.z-privacy-open{overflow:hidden}.z-privacy-banner,.z-privacy-modal{font-family:Inter,Manrope,system-ui,sans-serif;color:var(--zp-text);box-sizing:border-box}.z-privacy-banner *,.z-privacy-modal *{box-sizing:border-box}.z-privacy-banner{position:fixed;z-index:2147483000;left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:min(calc(100% - 36px),980px);margin:auto;padding:23px;border:1px solid var(--zp-line);border-radius:25px;background:radial-gradient(circle at 92% 10%,rgba(255,61,120,.2),transparent 32%),rgba(19,13,23,.97);box-shadow:0 25px 80px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.1);backdrop-filter:blur(24px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:center}.z-privacy-banner[hidden]{display:none}.z-privacy-banner span,.z-privacy-modal header span{color:#ff82a8;font-size:10px;font-weight:850;letter-spacing:1.6px}.z-privacy-banner h2,.z-privacy-modal h2{margin:7px 0 8px;font-size:25px;line-height:1.05;letter-spacing:-.8px}.z-privacy-banner p,.z-privacy-modal>p{max-width:650px;margin:0;color:var(--zp-muted);font-size:13px;line-height:1.55}.z-privacy-banner a,.z-privacy-modal a{display:inline-block;margin-top:10px;color:#8de9d0;font-size:11px;font-weight:750;text-decoration:none}.z-privacy-banner-actions{width:280px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.z-privacy-banner button,.z-privacy-modal button{min-height:46px;padding:0 14px;border:1px solid var(--zp-line);border-radius:14px;background:rgba(255,255,255,.07);color:#fff;font:800 12px Inter,system-ui,sans-serif;cursor:pointer}.z-privacy-banner [data-privacy-accept],.z-privacy-modal button.primary{border-color:transparent;background:linear-gradient(135deg,var(--zp-pink),var(--zp-coral));box-shadow:0 12px 25px rgba(255,61,120,.24)}.z-privacy-banner .z-privacy-manage{grid-column:1/-1;min-height:34px;border:0;background:transparent;color:#bdb3c0}.z-privacy-layer{position:fixed;z-index:2147483001;inset:0;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;transition:.2s}.z-privacy-layer.open{visibility:visible;opacity:1}.z-privacy-backdrop{position:absolute!important;inset:0!important;width:100%;height:100%;border:0!important;border-radius:0!important;background:rgba(5,3,7,.78)!important;backdrop-filter:blur(10px)}.z-privacy-modal{position:relative;width:min(100%,640px);max-height:min(88vh,760px);overflow:auto;padding:25px;border:1px solid var(--zp-line);border-radius:27px;background:radial-gradient(circle at 90% 5%,rgba(255,61,120,.16),transparent 30%),var(--zp-bg);box-shadow:0 35px 100px rgba(0,0,0,.65)}.z-privacy-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.z-privacy-modal header button{width:44px;min-width:44px;padding:0;font-size:24px}.z-privacy-options{display:grid;gap:9px;margin:22px 0}.z-privacy-options label{min-height:72px;padding:14px 15px;border:1px solid var(--zp-line);border-radius:17px;background:rgba(255,255,255,.045);display:flex;align-items:center;justify-content:space-between;gap:18px}.z-privacy-options strong,.z-privacy-options small{display:block}.z-privacy-options strong{font-size:13px}.z-privacy-options small{margin-top:4px;color:#a99eac;font-size:11px;line-height:1.35}.z-privacy-options em{color:var(--zp-mint);font-style:normal;font-size:10px;font-weight:800;white-space:nowrap}.z-privacy-options input{width:22px;height:22px;accent-color:var(--zp-pink);flex:0 0 auto}.z-privacy-modal footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.z-privacy-modal footer>div{display:flex;gap:9px}.z-privacy-modal footer a{margin:0}@media(max-width:680px){.z-privacy-banner{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 20px);padding:19px;grid-template-columns:1fr;gap:16px;border-radius:22px}.z-privacy-banner h2{font-size:22px}.z-privacy-banner-actions{width:100%}.z-privacy-modal{padding:20px;border-radius:23px}.z-privacy-modal h2{font-size:24px}.z-privacy-modal footer{align-items:stretch;flex-direction:column}.z-privacy-modal footer>div{display:grid;grid-template-columns:1fr 1fr}.z-privacy-modal footer button{width:100%}}
.z-privacy-banner .z-privacy-error,.z-privacy-modal .z-privacy-error{grid-column:1/-1;color:#ffd4df;font-size:14px;line-height:1.5;padding:12px;border:1px solid #ff829866;border-radius:12px;background:#5c1d2b55;margin:8px 0}.z-privacy-error[hidden]{display:none!important}

/* Compact consent banner: shorter copy and spacing, full-size touch controls. */
#zPrivacyRoot .z-privacy-banner {
  width:min(calc(100% - 24px),800px);
  left:12px; right:12px;
  bottom:max(12px,env(safe-area-inset-bottom));
  padding:14px 16px; border-radius:18px; gap:16px;
  max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));
  overflow:auto; overscroll-behavior:contain;
}
#zPrivacyRoot .z-privacy-banner[hidden] { display:none!important; }
#zPrivacyRoot .z-privacy-banner h2 {
  margin:0 0 6px; font-size:1.125rem; line-height:1.2; letter-spacing:-.3px;
}
#zPrivacyRoot .z-privacy-banner p {
  font-size:1rem; line-height:1.4; color:#d0c5d3;
}
#zPrivacyRoot .z-privacy-banner-actions {
  width:290px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px;
}
#zPrivacyRoot .z-privacy-banner button {
  min-height:44px; height:auto; padding:8px 10px; border-radius:11px;
  font-size:.875rem; line-height:1.25; white-space:normal;
}
#zPrivacyRoot .z-privacy-banner .z-privacy-manage {
  grid-column:auto; min-height:44px; padding:6px 2px; color:#d0c5d3;
}
#zPrivacyRoot .z-privacy-banner .z-privacy-policy {
  display:flex; align-items:center; justify-content:center;
  min-height:44px; margin:0; padding:6px 2px; text-align:center;
  font-size:.875rem; line-height:1.25;
}
#zPrivacyRoot .z-privacy-banner button:focus-visible,
#zPrivacyRoot .z-privacy-banner a:focus-visible {
  outline:2px solid #8de9d0; outline-offset:2px;
}
@media(max-width:680px) {
  #zPrivacyRoot .z-privacy-banner {
    width:calc(100% - 20px); left:10px; right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    padding:12px 14px; border-radius:16px; gap:10px; grid-template-columns:1fr;
  }
  #zPrivacyRoot .z-privacy-banner-actions { width:100%; }
}
