/* SPARO / Cookiebot native dialog — compact consent strip + full preferences. */
#CybotCookiebotDialog {
  --sparo-ink: #f2f0ec;
  --sparo-muted: #b7b5b0;
  --sparo-surface: #191a19;
  --sparo-line: #383a38;
  --sparo-accent: #fff;
  box-sizing: border-box !important;
  position: fixed !important;
  z-index: 2147483000 !important;
  top: auto !important;
  right: auto !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(1000px, calc(100% - 36px)) !important;
  max-width: 1000px !important;
  max-height: min(78dvh, calc(100dvh - 36px)) !important;
  overflow: auto !important;
  color: var(--sparo-ink) !important;
  background: var(--sparo-surface) !important;
  border: 1px solid #292b29 !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 36px rgb(0 0 0 / 27%) !important;
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

#CybotCookiebotDialog *,
#CybotCookiebotDialog *::before,
#CybotCookiebotDialog *::after {
  box-sizing: border-box !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogHeader {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#CybotCookiebotDialogHeader h2,
#CybotCookiebotDialogHeader button,
#CybotCookiebotDialogHeader .CybotCookiebotDialogCloseButton {
  display: none !important;
}

#CybotCookiebotDialogHeader img:not([src="data:,"]) {
  max-width: 82px !important;
  max-height: 15px !important;
  opacity: .62 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBody {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContent,
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--sparo-ink) !important;
  background: transparent !important;
  font: 14px/1.5 "Inter Tight", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContent h2,
#CybotCookiebotDialog #CybotCookiebotDialogBodyContent h3 {
  display: none !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText p,
#CybotCookiebotDialog .sparo-cookie-summary {
  display: block !important;
  margin: 0 !important;
  color: var(--sparo-ink) !important;
  font: 14px/1.5 "Inter Tight", Arial, sans-serif !important;
}

#CybotCookiebotDialog #CybotCookiebotDialogFooter {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtons,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper,
#CybotCookiebotDialogFooter .CybotCookiebotScrollArea {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-flow: row nowrap !important;
  gap: 8px !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonDecline,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonDetails,
#CybotCookiebotDialogFooter .sparo-cookie-settings {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 40px !important;
  width: auto !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border: 1px solid #414341 !important;
  border-radius: 6px !important;
  color: var(--sparo-ink) !important;
  background: #303230 !important;
  box-shadow: none !important;
  font: 600 13px/1.2 "Inter Tight", Arial, sans-serif !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton[data-cookieconsent="accept"],
#CybotCookiebotDialogFooter .sparo-cookie-accept {
  color: #171913 !important;
  background: #f2f0ec !important;
  border-color: #f2f0ec !important;
}

#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton:hover,
#CybotCookiebotDialogFooter .sparo-cookie-settings:hover {
  background: #454745 !important;
  border-color: #666966 !important;
}

#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept:hover {
  color: #171913 !important;
  background: var(--sparo-accent) !important;
  border-color: var(--sparo-accent) !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyContent a,
#CybotCookiebotDialog a {
  color: var(--sparo-ink) !important;
  text-decoration: underline !important;
  text-decoration-color: #777a75 !important;
  text-underline-offset: 2px !important;
}

#CybotCookiebotDialog :focus-visible {
  outline: 2px solid var(--sparo-accent) !important;
  outline-offset: 3px !important;
}

/* Compact state: two balanced columns inside Cookiebot's native wrapper. */
#CybotCookiebotDialog.sparo-cookie-compact {
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact .CybotCookiebotDialogContentWrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
  margin: 0 !important;
  background: transparent !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogTabContent {
  grid-column: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBody {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyContent,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyContentText {
  width: 100% !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBody .CybotCookiebotScrollContainer {
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter {
  grid-column: 2 !important;
  align-self: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyButtonsWrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-flow: row nowrap !important;
  gap: 8px !important;
  width: auto !important;
}

#CybotCookiebotDialog.sparo-cookie-compact .sparo-cookie-settings {
  order: -1 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyButtonDecline {
  order: 0 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
#CybotCookiebotDialog.sparo-cookie-compact .sparo-cookie-accept {
  order: 1 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogHeader {
  position: absolute !important;
  right: 18px !important;
  bottom: 2px !important;
  height: 10px !important;
  padding: 0 !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogPoweredbyImage {
  display: none !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogPoweredbyCybot {
  display: block !important;
  width: 50px !important;
  height: 10px !important;
  padding: 0 !important;
  opacity: .7 !important;
}

#CybotCookiebotDialogPoweredbyCybot svg {
  width: 100% !important;
  height: 100% !important;
  fill: #fff !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogNav,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogDetail,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyLevelButtonsSelectPane,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyLevelDetails,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyContentText h2,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyContentTitle,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyEdgeMoreDetails,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyLevelWrapper,
#CybotCookiebotDialog.sparo-cookie-compact .CybotCookiebotDialogBodyBottomWrapper,
#CybotCookiebotDialog.sparo-cookie-compact .CybotCookiebotDialogBodyLevelButtonWrapper,
#CybotCookiebotDialog.sparo-cookie-compact .CybotCookiebotDialogBodyLevelButtonSliderWrapper {
  display: none !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
#CybotCookiebotDialog:not(.sparo-cookie-compact) .sparo-cookie-settings {
  display: none !important;
}

#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyUnderlay,
#CybotCookiebotDialog.sparo-cookie-compact + #CybotCookiebotDialogBodyUnderlay,
body.sparo-cookie-compact #CybotCookiebotDialogBodyUnderlay {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#CybotCookiebotDialog.sparo-cookie-compact .CybotCookiebotDialogHide,
#CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter .CybotCookiebotDialogHide,
#CybotCookiebotDialogFooter .CybotCookiebotDialogHide {
  display: none !important;
}

/* Expanded native preferences keep their tabs, category controls and save action. */
#CybotCookiebotDialog:not(.sparo-cookie-compact) {
  width: min(920px, calc(100% - 32px)) !important;
  bottom: 18px !important;
  overflow-y: auto !important;
  border-radius: 10px !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogNav,
#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBodyLevelButtonsSelectPane {
  display: flex !important;
  color: var(--sparo-ink) !important;
  background: var(--sparo-surface) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogDetail {
  display: block !important;
  color: var(--sparo-ink) !important;
  background: var(--sparo-surface) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogContentWrapper {
  padding: 0 !important;
  background: var(--sparo-surface) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBody {
  padding: 12px 20px !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBodyContent {
  padding: 8px 0 14px !important;
  color: var(--sparo-muted) !important;
  font-size: 13px !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogFooter {
  padding: 12px 20px 16px !important;
  border-top: 1px solid var(--sparo-line) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBodyLevelButtonsSelectPane {
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 8px 0 !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) .CybotCookiebotDialogBodyLevelButtonWrapper {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--sparo-line) !important;
  border-radius: 6px !important;
  background: #222422 !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink {
  padding: 10px 13px !important;
  color: var(--sparo-ink) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover,
#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogNavItemLinkActive {
  color: var(--sparo-accent) !important;
  border-color: var(--sparo-accent) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogDetail,
#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBodyLevelButtonsSelectPane,
#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBody,
#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogFooter,
#CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogDetailContent,
#CybotCookiebotDialog:not(.sparo-cookie-compact) .CybotCookiebotDialogBodyLevelButtonDescription {
  color: var(--sparo-ink) !important;
  background-color: var(--sparo-surface) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) h2,
#CybotCookiebotDialog:not(.sparo-cookie-compact) h3,
#CybotCookiebotDialog:not(.sparo-cookie-compact) p,
#CybotCookiebotDialog:not(.sparo-cookie-compact) label,
#CybotCookiebotDialog:not(.sparo-cookie-compact) span {
  color: inherit !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) input,
#CybotCookiebotDialog:not(.sparo-cookie-compact) .CybotCookiebotDialogBodyLevelButtonSlider {
  accent-color: var(--sparo-accent) !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) .CybotCookiebotDialogBodyLevelButtonWrapper.CybotCookiebotDialogHide {
  display: none !important;
}

#CybotCookiebotDialog:not(.sparo-cookie-compact) .sparo-cookie-settings {
  display: none !important;
}

#CybotCookiebotDialogBodyButtonsWrapper button,
#CybotCookiebotDialogBodyButtonsWrapper a {
  border-radius: 6px !important;
}

@media (max-width: 700px) {
  #CybotCookiebotDialog {
    bottom: 10px !important;
    width: calc(100% - 20px) !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact .CybotCookiebotDialogContentWrapper {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogTabContent,
  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter {
    grid-column: 1 !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter {
    padding: 0 !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyButtonsWrapper {
    justify-content: stretch !important;
    gap: 6px !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter .sparo-cookie-settings {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 9px 8px !important;
    font-size: 13px !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogHeader {
    right: 14px !important;
  }

  #CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogBody {
    padding: 10px 14px !important;
  }

  #CybotCookiebotDialog:not(.sparo-cookie-compact) #CybotCookiebotDialogFooter {
    padding: 10px 14px 14px !important;
  }
}

@media (max-width: 360px) {
  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogBodyButtonsWrapper {
    flex-wrap: wrap !important;
  }

  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
  #CybotCookiebotDialog.sparo-cookie-compact #CybotCookiebotDialogFooter .sparo-cookie-settings {
    min-width: calc(50% - 3px) !important;
  }
}

.sparo-cookie-preferences {
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sparo-cookie-preferences:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.sparo-cookie-status {
  font-size: 12px;
}

.sparo-cookie-status:empty {
  display: none;
}
