/* Cookie consent banner — Complianz.

   Colours, radii and font sizes are NOT set here: Complianz generates its own
   stylesheet from the banner record into uploads/complianz/css/, and injects it
   at runtime, so it would win on load order anyway. That palette is set from
   scripts/complianz (see docs/legal.md) and already matches our tokens.

   What is left is what the plugin's fields cannot express: our typefaces, and
   two pieces of markup it emits that need correcting. Everything is scoped to
   the banner's id so it outranks the generated file without !important. */

#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-manage-consent .cmplz-manage-consent {
  font-family: var(--ff-body);
  letter-spacing: var(--ls-body);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  font-family: var(--ff-heading);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-h6);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn,
#cmplz-manage-consent .cmplz-manage-consent {
  font-family: var(--ff-body);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-button);
}

/* Complianz emits plain <ul>s. Our reset only strips markers from
   ul[role="list"] (see base/reset.css), so without this the banner's link
   lists keep the browser's bullets and indent. */
#cmplz-cookiebanner-container .cmplz-cookiebanner ul,
#cmplz-cookiebanner-container .cmplz-cookiebanner ol {
  list-style: none;
  padding: 0;
}

/* A document link is rendered for every document type, including the ones set
   to "none" — the Imprint, here — and the JS empties the label rather than
   removing the item, leaving a stray bullet. Keyed on the empty anchor rather
   than on .impressum, so the link reappears by itself if a document is added
   later. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents li:has(> a:empty) {
  display: none;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-link {
  text-underline-offset: 0.25em;
}
