/*
  Cookiebot banner restyle — reshapes Cookiebot's default (multilevel) dialog
  into a compact card pinned to the BOTTOM-RIGHT of the viewport, like the
  small "We use cookies" cards used by Uber et al.

  IMPORTANT — specificity: Cookiebot injects its OWN stylesheet at runtime
  (from uc.js), appended to <head> AFTER this file, using single-id selectors
  with !important. A single-id !important rule here would tie on specificity and
  LOSE on cascade order. So every selector below repeats the id
  (#CybotCookiebotDialog#CybotCookiebotDialog ...) to raise specificity above
  Cookiebot's own rules. Do not "simplify" the doubled ids — that reintroduces
  the centering bug. Loaded via <link> in index.html.
*/

:root {
  --stc-cookie-bg: #ffffff;
  --stc-cookie-fg: #111418;
  --stc-cookie-muted: #4b5563;
  --stc-cookie-link: #214289; /* brand blue */
  --stc-cookie-accent: #111418; /* Accept / Allow all */
  --stc-cookie-accent-2: #214289; /* Allow selection (brand blue) */
  --stc-cookie-border: #e5e7eb;
  --stc-cookie-radius: 16px;
}

/* Remove the full-screen dimming overlay so it reads as a corner card. */
#CybotCookiebotDialogBodyUnderlay#CybotCookiebotDialogBodyUnderlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
}

/* ---- The card: pinned bottom-right --------------------------------------- */
#CybotCookiebotDialog#CybotCookiebotDialog {
  position: fixed !important;
  left: auto !important;
  right: 24px !important;
  bottom: 24px !important;
  top: auto !important;
  margin: 0 !important;
  transform: none !important;
  inset: auto 24px 24px auto !important;

  width: min(410px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: min(410px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 48px) !important;

  background: var(--stc-cookie-bg) !important;
  color: var(--stc-cookie-fg) !important;
  border: 1px solid var(--stc-cookie-border) !important;
  border-radius: var(--stc-cookie-radius) !important;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22) !important;

  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  overflow: hidden auto !important;
}

/* Neutralise Cookiebot's own width/centering on inner wrappers. */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBody,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyContent,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogTabContent,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogDetailBody,
#CybotCookiebotDialog#CybotCookiebotDialog .CybotCookiebotScrollContainer {
  background: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Hide Cookiebot's logo / "powered by" strip for a cleaner look. */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogHeader,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogPoweredbyImage,
#CybotCookiebotDialog#CybotCookiebotDialog .CybotCookiebotDialogPoweredByCybot,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogPoweredbyCybot,
#CybotCookiebotDialog#CybotCookiebotDialog .CybotCookiebotDialogPoweredbyLink {
  display: none !important;
}

/* ---- Tab nav (Consent / Details / About) --------------------------------- */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogNav,
#CybotCookiebotDialog#CybotCookiebotDialog .CybotCookiebotDialogNav {
  border-bottom: 1px solid var(--stc-cookie-border) !important;
  padding: 0 18px !important;
  margin: 0 !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--stc-cookie-muted) !important;
  padding: 12px 4px !important;
  margin-right: 18px !important;
  border-bottom: 2px solid transparent !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog
  .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
  color: var(--stc-cookie-link) !important;
  border-bottom-color: var(--stc-cookie-link) !important;
}

/* ---- Body content -------------------------------------------------------- */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyContent {
  padding: 16px 18px 4px !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--stc-cookie-fg) !important;
  margin: 0 0 8px !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--stc-cookie-muted) !important;
  margin: 0 0 4px !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a {
  color: var(--stc-cookie-link) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* ---- Category toggles (Necessary / Preferences / Statistics / Marketing) -- */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelWrapper,
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonsSelectPane {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
  justify-content: flex-start !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  border-top: 1px solid var(--stc-cookie-border) !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog
  .CybotCookiebotDialogBodyLevelButtonWrapper {
  border-top: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog
  .CybotCookiebotDialogBodyLevelButtonDescription,
#CybotCookiebotDialog#CybotCookiebotDialog
  .CybotCookiebotDialogBodyLevelButtonLevelOptinLabel {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--stc-cookie-fg) !important;
}

/* ---- Button row (Deny / Allow selection / Allow all) --------------------- */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtons,
#CybotCookiebotDialog#CybotCookiebotDialog .CybotCookiebotDialogBodyButtonsWrapper,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 8px !important;
  padding: 12px 18px 18px !important;
  margin: 0 !important;
  border-top: 1px solid var(--stc-cookie-border) !important;
}

/* Base pill for every button in the row. */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline,
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
  flex: 1 1 100px !important;
  min-width: 90px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

/* "Deny" — soft grey secondary. */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline {
  background: #f3f4f6 !important;
  color: var(--stc-cookie-fg) !important;
  border: 1px solid var(--stc-cookie-border) !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyButtonDecline:hover {
  background: #e5e7eb !important;
}

/* "Allow selection" — brand blue. */
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
  background: var(--stc-cookie-accent-2) !important;
  color: #ffffff !important;
  border-color: var(--stc-cookie-accent-2) !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:hover {
  background: #1b366e !important;
  border-color: #1b366e !important;
}

/* "Allow all" / Accept — solid dark primary. */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
  background: var(--stc-cookie-accent) !important;
  color: #ffffff !important;
  border-color: var(--stc-cookie-accent) !important;
}
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyButtonAccept:hover,
#CybotCookiebotDialog#CybotCookiebotDialog
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover {
  background: #000000 !important;
  border-color: #000000 !important;
}

/* Details / settings tables — keep readable if the user opens them. */
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogDetailBody,
#CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogTabContent {
  padding: 0 18px 12px !important;
}

/* ---- Mobile -------------------------------------------------------------- */
@media (max-width: 600px) {
  #CybotCookiebotDialog#CybotCookiebotDialog {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    inset: auto 12px 12px 12px !important;
    width: auto !important;
    max-width: none !important;
  }
  #CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline,
  #CybotCookiebotDialog#CybotCookiebotDialog
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
  #CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonAccept,
  #CybotCookiebotDialog#CybotCookiebotDialog
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    flex: 1 1 100% !important;
  }
}

/* ---- Dark mode ----------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root {
    --stc-cookie-bg: #16181d;
    --stc-cookie-fg: #f5f6f7;
    --stc-cookie-muted: #a1a7b3;
    --stc-cookie-link: #7ea2ff;
    --stc-cookie-accent: #ffffff;
    --stc-cookie-border: #2a2e37;
  }
  #CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonAccept,
  #CybotCookiebotDialog#CybotCookiebotDialog
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    color: #111418 !important;
  }
  #CybotCookiebotDialog#CybotCookiebotDialog
    #CybotCookiebotDialogBodyButtonAccept:hover,
  #CybotCookiebotDialog#CybotCookiebotDialog
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover {
    background: #e5e7eb !important;
    border-color: #e5e7eb !important;
  }
  #CybotCookiebotDialog#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline {
    background: #23262d !important;
    border-color: #2a2e37 !important;
    color: var(--stc-cookie-fg) !important;
  }
  #CybotCookiebotDialog#CybotCookiebotDialog
    #CybotCookiebotDialogBodyButtonDecline:hover {
    background: #2a2e37 !important;
  }
}
