.wz-cookie-banner,
.wz-cookie-dialog,
.wz-cookie-manage {
  --wzc-ink: #101114;
  --wzc-paper: #fff;
  --wzc-muted: #62666f;
  --wzc-line: #d9dcdf;
  --wzc-coral: #b24130;
  --wzc-blue: #37509d;
  --wzc-yellow: #f5c54f;
  color: var(--wzc-ink);
  font-family: Geist, "Helvetica Neue", Arial, sans-serif;
}

.wz-cookie-banner[hidden] { display: none !important; }
.wz-cookie-banner {
  position: fixed;
  z-index: 99990;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  width: min(47rem, calc(100vw - 2.5rem));
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--wzc-line);
  border-top: 3px solid var(--wzc-coral);
  border-radius: 1.1rem;
  background: var(--wzc-paper);
  box-shadow: 0 20px 70px rgb(12 18 35 / 18%);
  animation: wz-cookie-arrive .42s cubic-bezier(.2,.8,.2,1) both;
}
.wz-cookie-banner__eyebrow { margin: 0 0 .25rem; color: var(--wzc-coral); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.wz-cookie-banner__copy h2,
.wz-cookie-dialog h2 { margin: 0 0 .32rem; font-family: Comfortaa, Geist, Arial, sans-serif; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.2; }
.wz-cookie-banner__copy > p:last-child { margin: 0; color: var(--wzc-muted); font-size: .88rem; line-height: 1.45; }
.wz-cookie-banner a,
.wz-cookie-dialog a { color: var(--wzc-blue); text-underline-offset: .18em; }
.wz-cookie-banner__actions { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: .45rem; min-width: 13.5rem; }
.wz-cookie-banner--necessary-only .wz-cookie-banner__actions { grid-template-columns: 1fr; }
.wz-cookie-button { min-height: 2.75rem; padding: .65rem .9rem; border: 1px solid var(--wzc-blue); border-radius: 999px; font-family: inherit; font-size: .82rem; font-weight: 700; line-height: 1.2; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.wz-cookie-button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgb(12 18 35 / 12%); }
.wz-cookie-button:focus-visible,
.wz-cookie-text-button:focus-visible,
.wz-cookie-manage:focus-visible,
.wz-cookie-switch input:focus-visible + span { outline: 3px solid var(--wzc-yellow); outline-offset: 3px; }
.wz-cookie-button--quiet { color: var(--wzc-blue); background: var(--wzc-paper); }
.wz-cookie-button--accept { color: #fff; border-color: var(--wzc-coral); background: var(--wzc-coral); }
.wz-cookie-text-button { grid-column: 1 / -1; justify-self: center; padding: .25rem .5rem; border: 0; color: var(--wzc-blue); background: transparent; font-family: inherit; font-size: .8rem; font-weight: 600; line-height: 1.3; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }

.wz-cookie-dialog { width: min(39rem, calc(100vw - 2rem)); max-width: none; max-height: min(88vh, 48rem); padding: 0; border: 1px solid var(--wzc-line); border-radius: 1.35rem; background: var(--wzc-paper); box-shadow: 0 30px 100px rgb(12 18 35 / 28%); }
.wz-cookie-dialog::backdrop { background: rgb(10 16 34 / 45%); backdrop-filter: blur(3px); }
.wz-cookie-dialog[open] { animation: wz-cookie-arrive .25s ease-out both; }
.wz-cookie-dialog__head { padding: 1.6rem 1.6rem 1rem; }
.wz-cookie-dialog__head > p:last-child { margin: 0; color: var(--wzc-muted); line-height: 1.55; }
.wz-cookie-option { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center; margin: 0 1rem; padding: 1.05rem .6rem; border-top: 1px solid var(--wzc-line); }
.wz-cookie-option strong { display: block; font-size: .98rem; }
.wz-cookie-option p { max-width: 33rem; margin: .28rem 0 0; color: var(--wzc-muted); font-size: .88rem; line-height: 1.48; }
.wz-cookie-locked { color: var(--wzc-blue); font-size: .8rem; font-weight: 700; text-align: right; }
.wz-cookie-switch { position: relative; display: inline-flex; width: 3.1rem; height: 1.8rem; cursor: pointer; }
.wz-cookie-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.wz-cookie-switch span { position: absolute; inset: 0; border: 1px solid #888d95; border-radius: 99px; background: #e5e6e8; transition: background .2s ease; }
.wz-cookie-switch span::after { position: absolute; top: .19rem; left: .2rem; width: 1.28rem; height: 1.28rem; border-radius: 50%; background: white; box-shadow: 0 1px 4px rgb(0 0 0 / 22%); content: ""; transition: transform .2s ease; }
.wz-cookie-switch input:checked + span { border-color: var(--wzc-blue); background: var(--wzc-blue); }
.wz-cookie-switch input:checked + span::after { transform: translateX(1.28rem); }
.wz-cookie-dialog__legal { margin: .5rem 1.6rem 1rem; font-size: .82rem; }
.wz-cookie-dialog__actions { display: grid; grid-template-columns: 1fr 1.15fr; gap: .6rem; padding: 1rem 1.6rem 1.45rem; border-top: 1px solid var(--wzc-line); }
.wz-cookie-dialog__actions .wz-cookie-text-button { grid-column: 1 / -1; }
.wz-cookie-manage-holder { width: min(1180px, calc(100% - 2rem)); margin: .25rem auto 1rem; text-align: right; }
.wz-cookie-manage { position: static; display: inline-block; margin: 1rem max(1rem, calc((100% - 1180px) / 2)) 1rem auto; padding: .45rem .75rem; border: 1px solid var(--wzc-line); border-radius: 999px; color: var(--wzc-muted); background: var(--wzc-paper); font-size: .72rem; cursor: pointer; }
.wz-cookie-manage-holder .wz-cookie-manage { margin: 0; }

@media (prefers-color-scheme: dark) {
  body:not([data-theme="light"]) .wz-cookie-banner,
  body:not([data-theme="light"]) .wz-cookie-dialog,
  body:not([data-theme="light"]) .wz-cookie-manage,
  [data-theme="dark"] .wz-cookie-banner,
  [data-theme="dark"] .wz-cookie-dialog,
  [data-theme="dark"] .wz-cookie-manage {
    --wzc-ink: #f6f7f8;
    --wzc-paper: #191b20;
    --wzc-muted: #c2c6ce;
    --wzc-line: #454a54;
  }
}
html[data-theme="dark"] .wz-cookie-banner,
html[data-theme="dark"] .wz-cookie-dialog,
html[data-theme="dark"] .wz-cookie-manage,
body.wz-dark .wz-cookie-banner,
body.wz-dark .wz-cookie-dialog,
body.wz-dark .wz-cookie-manage,
body.dark-mode .wz-cookie-banner,
body.dark-mode .wz-cookie-dialog,
body.dark-mode .wz-cookie-manage {
  --wzc-ink: #f6f7f8;
  --wzc-paper: #191b20;
  --wzc-muted: #c2c6ce;
  --wzc-line: #454a54;
}
html[data-theme="light"] .wz-cookie-banner,
html[data-theme="light"] .wz-cookie-dialog,
html[data-theme="light"] .wz-cookie-manage,
body.wz-light .wz-cookie-banner,
body.wz-light .wz-cookie-dialog,
body.wz-light .wz-cookie-manage {
  --wzc-ink: #101114;
  --wzc-paper: #fff;
  --wzc-muted: #62666f;
  --wzc-line: #d9dcdf;
}
@media (max-width: 760px) {
  .wz-cookie-banner { right: .65rem; bottom: max(5.7rem, calc(env(safe-area-inset-bottom) + 5rem)); left: .65rem; grid-template-columns: minmax(0,1fr); gap: .7rem; width: auto; padding: .95rem; border-radius: 1rem; }
  .wz-cookie-banner__actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; min-width: 0; }
  .wz-cookie-button { min-height: 2.9rem; padding: .65rem .55rem; font-size: .8rem; }
  .wz-cookie-manage { right: .75rem; bottom: max(5.25rem, calc(env(safe-area-inset-bottom) + 4.55rem)); }
  .wz-cookie-manage-holder { text-align: left; }
  .wz-cookie-dialog__head { padding: 1.25rem 1.15rem .85rem; }
  .wz-cookie-option { margin-inline: .65rem; padding: .9rem .25rem; }
  .wz-cookie-dialog__legal { margin-inline: 1.15rem; }
  .wz-cookie-dialog__actions { padding: .85rem 1rem 1.1rem; }
}
@media (max-width: 370px) {
  .wz-cookie-banner { grid-template-columns: 1fr; }
  .wz-cookie-banner__actions { grid-column: 1; }
  .wz-cookie-dialog__actions { grid-template-columns: 1fr; }
  .wz-cookie-dialog__actions .wz-cookie-text-button { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .wz-cookie-banner, .wz-cookie-dialog[open], .wz-cookie-button, .wz-cookie-switch span, .wz-cookie-switch span::after { animation: none !important; transition: none !important; }
}
@keyframes wz-cookie-arrive { from { opacity: 0; transform: translateY(.65rem); } to { opacity: 1; transform: translateY(0); } }
