/* Cookiebot's Swift banner uses its own stylesheet. Scoped overrides keep the
   vendor's accessible controls/layout and reuse Fabletopia's light/night tokens. */
#CybotCookiebotDialog {
  background: var(--surface-raised) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-radius: 1.5rem !important;
  box-shadow: 0 1rem 4rem #0003 !important;
  font-family: var(--font-body) !important;
}
#CybotCookiebotDialog :is(div, span, p, a, button, label, input) {
  font-family: inherit !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogPoweredbyCybot svg {
  fill: var(--ink) !important;
}
#CybotCookiebotDialog .CybotCookiebotFader {
  background-image: linear-gradient(to top, var(--surface-raised), transparent) !important;
}
#CybotCookiebotDialog .CybotCookiebotFaderLeft {
  background-image: linear-gradient(to right, var(--surface-raised), transparent) !important;
}
#CybotCookiebotDialog .CybotCookiebotFaderRight {
  background-image: linear-gradient(to left, var(--surface-raised), transparent) !important;
}
#CybotCookiebotDialog :is(h2, #CybotCookiebotDialogBodyContentTitle) {
  color: var(--ink) !important;
  font-family: var(--font-display) !important;
  font-weight: var(--font-heading-weight) !important;
}
#CybotCookiebotDialog :is(#CybotCookiebotDialogHeader, #CybotCookiebotDialogFooter,
  #CybotCookiebotDialogBody, #CybotCookiebotDialogBodyEdgeMoreDetails,
  .CybotCookiebotDialogBodyBottomWrapper, .CybotCookiebotDialogDetailBodyContentCookieContainerTypes) {
  background: var(--surface-raised) !important;
  color: var(--ink) !important;
}
#CybotCookiebotDialog :is(div, ul, li, a, td, th) {
  border-color: var(--line) !important;
}
#CybotCookiebotDialog :is(a, .CybotCookiebotDialogDetailBodyContentCookieContainerButton) {
  color: var(--purple-brand) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink {
  color: var(--ink-2) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
  color: var(--purple-brand) !important;
  border-bottom-color: var(--purple-brand) !important;
}
/* Equal treatment for reject, selection and accept; no visual nudge to accept. */
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyButton {
  min-height: 2.75rem;
  border: 1px solid var(--button-fill) !important;
  border-radius: 2rem !important;
  background: var(--button-fill) !important;
  color: var(--ink-on-light) !important;
  font-weight: 500 !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyButton:hover {
  border-color: var(--moonlight-hover) !important;
  background: var(--moonlight-hover) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider {
  background: var(--ink-3) !important;
  box-shadow: none !important;
}
#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
  background: var(--purple-brand) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider::before {
  background: var(--cream) !important;
}
#CybotCookiebotDialog :is(button, a, input, [tabindex]):focus-visible {
  outline: 3px solid var(--purple-brand) !important;
  outline-offset: 3px !important;
}
#CybotCookiebotDialog input:focus-visible + .CybotCookiebotDialogBodyLevelButtonSlider {
  outline: 3px solid var(--purple-brand) !important;
  outline-offset: 3px !important;
}
@media (prefers-reduced-motion: no-preference) {
  #CybotCookiebotDialog,
  #CybotCookiebotDialog :is(a, button, .CybotCookiebotDialogBodyLevelButtonSlider) {
    transition: background-color .3s ease, color .3s ease, border-color .3s ease !important;
  }
}
@media (max-width: 40em) {
  #CybotCookiebotDialog { border-radius: 1rem !important; }
}
