/**
 * Cookiebot dialog branding for WTapes V2.
 * Custom wt2-consent banner removed — Cookiebot is the only CMP UI.
 * Brand: --blue #1A4FBD / --blue-2 #0C3380 / Space Grotesk.
 */

.wt2-footer-privacy-button {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  cursor: pointer;
}

#CybotCookiebotDialog,
#CookiebotWidget {
  --wt-cb-blue: var(--blue, #1A4FBD);
  --wt-cb-blue-2: var(--blue-2, #0C3380);
  --wt-cb-blue-soft: var(--blue-soft, #E7EDFB);
  --wt-cb-blue-line: var(--blue-line, #BFD0EE);
  --wt-cb-ink: var(--ink, #111A2E);
  --wt-cb-ink-2: var(--ink-2, #3C475B);
  --wt-cb-ink-3: var(--ink-3, #6E7A8F);
  --wt-cb-paper: var(--paper, #FFFFFF);
  --wt-cb-paper-2: var(--paper-2, #F4F6FA);
  --wt-cb-edge: var(--paper-edge, #C7CFDB);
  --wt-cb-line: var(--paper-line, #E2E7EF);
  font-family: var(--font-body, "Space Grotesk", system-ui, sans-serif) !important;
}

#CybotCookiebotDialogBodyUnderlay {
  background: rgba(12, 51, 128, 0.42) !important;
}

#CybotCookiebotDialog {
  background: var(--wt-cb-paper) !important;
  color: var(--wt-cb-ink) !important;
  border: 1px solid var(--wt-cb-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 48px rgba(17, 26, 46, 0.18) !important;
  box-sizing: border-box !important;
  /*
   * Cookiebot centers with left:50% + transform:translate(-50%, -50%).
   * Keep that model; only constrain size so the centered box stays in-viewport.
   */
  width: min(640px, calc(100vw - 24px)) !important;
  max-width: min(640px, calc(100vw - 24px)) !important;
  max-height: min(92vh, calc(100dvh - 24px)) !important;
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Top brand strip */
#CybotCookiebotDialog::before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, var(--wt-cb-blue) 0%, var(--wt-cb-blue-2) 100%);
}

#CybotCookiebotDialogHeader,
#CybotCookiebotDialogBodyContentTitle,
#CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialogBodyLevelButtonsTable,
#CybotCookiebotDialogBodyEdgeDetails,
#CybotCookiebotDialogDetailBodyContentCookieContainerTypes,
#CybotCookiebotDialogDetailBodyContentCookieContainerTypes .CybotCookiebotDialogDetailBodyContentCookieTypeIntro {
  color: var(--wt-cb-ink) !important;
  font-family: inherit !important;
}

#CybotCookiebotDialogHeader {
  padding: 18px 22px 8px !important;
  background: var(--wt-cb-paper) !important;
  border-bottom: 0 !important;
}

#CybotCookiebotDialogBodyContentTitle {
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  letter-spacing: -0.02em !important;
  color: var(--wt-cb-ink) !important;
}

#CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialogBodyEdgeDetails,
#CybotCookiebotDialogDetailFooter {
  color: var(--wt-cb-ink-2) !important;
}

#CybotCookiebotDialogHeaderLogosWrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  min-height: 36px !important;
}

#CybotCookiebotDialogPoweredbyLink {
  display: flex !important;
  align-items: center !important;
}

#CybotCookiebotDialog.has-wt2-logo #CybotCookiebotDialogPoweredbyImage {
  display: none !important;
}

.wt2-cookiebot-logo {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  order: -1;
  flex: 0 1 auto;
  min-width: 0;
}

.wt2-cookiebot-logo img {
  display: block;
  height: 28px;
  width: auto;
  max-width: min(148px, 42vw);
  object-fit: contain;
}

/* CSS fallback when JS logo inject is late — uses --wt-cb-logo from consent.php */
#CybotCookiebotDialogHeaderLogosWrapper:not(:has(.wt2-cookiebot-logo))::before {
  content: "";
  display: block;
  order: -1;
  flex: 0 0 auto;
  width: min(148px, 42vw);
  height: 28px;
  margin: 0;
  background: var(--wt-cb-logo, none) left center / contain no-repeat;
}

/* Hide Cookiebot’s default empty/logo chrome noise when our mark is present */
#CybotCookiebotDialog.has-wt2-logo #CybotCookiebotDialogPoweredByLogo,
#CybotCookiebotDialog.has-wt2-logo a#CybotCookiebotDialogPoweredbyCybot {
  opacity: 0.55;
}

#CybotCookiebotDialogBodyLevelButtonTabWrapper,
#CybotCookiebotDialogDetailBodyContentCookieContainerTypes,
#CybotCookiebotDialogBodyLevelButtonsSelectPane {
  background: var(--wt-cb-paper-2) !important;
  border: 1px solid var(--wt-cb-line) !important;
  border-radius: 8px !important;
}

/* Cookiebot packs 4 category columns into ~320px — labels collide. Use 2×2. */
#CybotCookiebotDialogBodyLevelButtonsSelectPane {
  padding: 12px 14px !important;
}

#CybotCookiebotDialogBodyFieldsetInnerContainer {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 16px !important;
  width: 100% !important;
}

#CybotCookiebotDialogBodyFieldsetInnerContainer .CybotCookiebotDialogBodyLevelButtonWrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  gap: 6px !important;
}

#CybotCookiebotDialogBodyFieldsetInnerContainer .CybotCookiebotDialogBodyLevelButtonLabel {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  line-height: 1.25 !important;
}

#CybotCookiebotDialogBodyLevelButtonsSelectPane .CybotCookiebotDialogBodyLevelButtonSliderWrapper,
#CybotCookiebotDialogBodyLevelButtonsTable .CybotCookiebotDialogBodyLevelButtonSliderWrapper {
  border-color: var(--wt-cb-edge) !important;
  flex: 0 0 auto !important;
}

/* Toggle track / thumb — brand blue when on */
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: var(--wt-cb-edge) !important;
}

#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider[aria-checked="true"],
#CybotCookiebotDialog input[type="checkbox"]:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: var(--wt-cb-blue) !important;
}

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider::before {
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(17, 26, 46, 0.25) !important;
}

/* Category tabs / selected states */
#CybotCookiebotDialogDetailBodyContent-tabs button[aria-selected="true"],
#CybotCookiebotDialogDetailBodyContent-tabs .CybotCookiebotDialogDetailBodyContent-tab[aria-selected="true"],
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerType.selected,
#CybotCookiebotDialogDetailBodyContentCookieContainerTypes .CybotCookiebotDialogDetailBodyContentCookieContainerTypeActive {
  color: var(--wt-cb-blue) !important;
  border-color: var(--wt-cb-blue) !important;
  background: var(--wt-cb-blue-soft) !important;
}

/* Primary accept — Cookiebot multilevel uses LevelOptinAllowAll (capital A) */
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowall,
#CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialogBodyLevelButtonAccept,
#CybotCookiebotDialogBodyButtonAcceptAll,
button#CybotCookiebotDialogBodyButtonAccept {
  background: var(--wt-cb-blue) !important;
  border: 1px solid var(--wt-cb-blue) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowall:hover,
#CybotCookiebotDialogBodyButtonAccept:hover,
#CybotCookiebotDialogBodyButtonAcceptAll:hover {
  background: var(--wt-cb-blue-2) !important;
  border-color: var(--wt-cb-blue-2) !important;
}

/* Secondary / decline / customize */
#CybotCookiebotDialogBodyButtonDecline,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
#CybotCookiebotDialogBodyLevelButtonCustomize,
#CybotCookiebotDialogBodyButtonDetails,
#CybotCookiebotDialogBodyLevelButtonNecessary,
#CybotCookiebotDialogBodyButtonDeclineMandatory {
  background: var(--wt-cb-paper) !important;
  border: 1px solid var(--wt-cb-edge) !important;
  color: var(--wt-cb-ink) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}

#CybotCookiebotDialogBodyButtonDecline:hover,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:hover,
#CybotCookiebotDialogBodyLevelButtonCustomize:hover,
#CybotCookiebotDialogBodyButtonDetails:hover {
  border-color: var(--wt-cb-blue) !important;
  color: var(--wt-cb-blue) !important;
  background: var(--wt-cb-blue-soft) !important;
}

#CybotCookiebotDialog a {
  color: var(--wt-cb-blue) !important;
}

#CybotCookiebotDialogFooter {
  border-top: 1px solid var(--wt-cb-line) !important;
  background: var(--wt-cb-paper) !important;
}

/* Floating renew widget — keep Cookiebot mark (black “co”) without brand square */
#CookiebotWidget .CookiebotWidget-body,
#CookiebotWidget .CookiebotWidget-content {
  border-radius: 10px !important;
  border-color: var(--wt-cb-line) !important;
}

/* Cookiebot paints a brand-blue focus ring (rgb(16,50,207)) on the floating logo. */
#CookiebotWidget,
#CookiebotWidget:not(.CookiebotWidget-open),
#CookiebotWidget:not(.CookiebotWidget-open):hover {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

#CookiebotWidget button.CookiebotWidget-logo,
#CookiebotWidget .CookiebotWidget-logo,
#CookiebotWidget .Cookiebotwidget-logo,
#CookiebotWidget .CookiebotWidget-open-icon-container,
#CookiebotWidget .CookiebotWidget-logo-container,
#CookiebotWidget button[aria-label*="cookie" i],
#CookiebotWidget button[aria-label*="Cookie"],
#CookiebotWidget > button {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  padding: 0 !important;
  color: #111111 !important;
  -webkit-tap-highlight-color: transparent !important;
}

#CookiebotWidget :focus-visible,
#CookiebotWidget:not(.CookiebotWidget-open) .CookiebotWidget-logo,
#CookiebotWidget:not(.CookiebotWidget-open) .Cookiebotwidget-logo,
#CookiebotWidget button.CookiebotWidget-logo:focus,
#CookiebotWidget button.CookiebotWidget-logo:focus-visible,
#CookiebotWidget button.CookiebotWidget-logo:active,
#CookiebotWidget button.CookiebotWidget-logo:hover {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  outline-offset: 0 !important;
}

#CookiebotWidget button.CookiebotWidget-logo::before,
#CookiebotWidget button.CookiebotWidget-logo::after,
#CookiebotWidget .CookiebotWidget-open-icon-container::before,
#CookiebotWidget .CookiebotWidget-open-icon-container::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

#CookiebotWidget button.CookiebotWidget-logo svg,
#CookiebotWidget .CookiebotWidget-open-icon-container svg,
#CookiebotWidget .CookiebotWidget-logo-container svg {
  display: block;
  overflow: visible;
}

#CookiebotWidget button.CookiebotWidget-logo svg circle {
  fill: #111111 !important;
  stroke: none !important;
}

#CookiebotWidget button.CookiebotWidget-logo svg path {
  fill: #ffffff !important;
  stroke: none !important;
}

/*
 * Mobile: Cookiebot floating icon (left/bottom:10px) overlaps .wt2-mobile-lead-dock
 * “Zadzwoń” (~65px incl. safe-area padding). Lift icon above the dock.
 * Breakpoint matches theme.css mobile-lead-dock (@media max-width: 720px).
 */
@media (max-width: 720px) {
  body:not(.wt2-product-page):not(.wt2-is-cart):not(.wt2-is-checkout):not(.wt2-is-order-received) #CookiebotWidget {
    left: 12px !important;
    right: auto !important;
    bottom: calc(65px + 16px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Dialog internals + buttons — responsive, no left/right insets that fight Cookiebot transform */
@media (max-width: 640px) {
  #CybotCookiebotDialog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  #CybotCookiebotDialogHeader {
    padding: 14px 14px 6px !important;
  }

  #CybotCookiebotDialogBodyContentTitle {
    font-size: 1.05rem !important;
  }

  .wt2-cookiebot-logo img {
    height: 24px;
    max-width: min(128px, 40vw);
  }

  #CybotCookiebotDialogFooter,
  #CybotCookiebotDialogBodyButtons,
  #CybotCookiebotDialogBodyLevelButtonWrapper {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowall,
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
  #CybotCookiebotDialogBodyButtonDecline,
  #CybotCookiebotDialogBodyButtonAccept,
  #CybotCookiebotDialogBodyButtonAcceptAll {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }

  #CybotCookiebotDialogBodyFieldsetInnerContainer {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 10px !important;
  }
}

@media (max-width: 360px) {
  #CybotCookiebotDialogBodyFieldsetInnerContainer {
    grid-template-columns: 1fr !important;
  }
}

/* Isolate Cookiebot from theme-wide button/min-height rules where needed */
#CybotCookiebotDialog button,
#CookiebotWidget button {
  max-width: 100%;
  box-sizing: border-box;
}

/* Cookie Declaration block on privacy page */
#CookieDeclaration,
.wt2-cookie-declaration {
  margin-top: 1.25rem;
  padding: 1rem 0;
  color: var(--ink, #111A2E);
}

#CookieDeclaration .CookieDeclarationType,
#CookieDeclaration table {
  border-color: var(--paper-line, #E2E7EF) !important;
}

#CookieDeclaration a {
  color: var(--blue, #1A4FBD) !important;
}
