/* SHADOK cookie banner: scoped visual override, audited 2026-10-19.
 * Based on the supplied browser-preview design. No consent or visibility changes.
 * !important resolves the inventoried WCAG, critical and generated CMP rules.
 */
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin {
  --shadok-cookie-font-scale: 1;
  --shadok-cookie-accent: var(--shadok-red, #cf1535);
  --shadok-cookie-accent-hover: var(--shadok-red-dark, #a80e28);
  --shadok-cookie-on-accent: #fff;
  --shadok-cookie-surface: var(--shadok-paper, #fff);
  --shadok-cookie-ink: var(--shadok-text, #202228);
  --shadok-cookie-soft: var(--shadok-text-soft, #666a73);
  --shadok-cookie-line: var(--shadok-line, rgba(17, 18, 22, .14));
  --shadok-cookie-off: var(--shadok-text-soft, #666a73);
  --shadok-cookie-off-border: var(--shadok-text-soft, #666a73);
  --shadok-cookie-thumb: #fff;
  --shadok-cookie-thumb-on: #fff;
  box-sizing: border-box !important;
  position: fixed !important;
  inset: auto auto 24px 24px !important;
  width: min(540px, calc(100% - 48px)) !important;
  max-width: calc(100% - 48px) !important;
  height: auto !important;
  max-height: calc(100vh - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
  padding: 22px 24px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border: 1px solid var(--shadok-cookie-line) !important;
  border-top: 3px solid var(--shadok-cookie-accent) !important;
  border-radius: var(--shadok-radius, 2px) !important;
  background: var(--shadok-cookie-surface) !important;
  color: var(--shadok-cookie-ink) !important;
  box-shadow: 0 18px 48px rgba(10, 12, 17, .16) !important;
  font-family: "Fira Sans", sans-serif !important;
  font-size: calc(15px * var(--shadok-cookie-font-scale));
  line-height: 1.6 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(6, max-content) !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  row-gap: 0 !important;
  zoom: 1 !important;
}
/* The pre-existing preferences surface also paints a white ::before. */
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin::before { background: var(--shadok-cookie-surface) !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin > :where(.cmplz-header, .cmplz-divider, .cmplz-body, .cmplz-buttons, .shadok-cookie-more) {
  grid-column: 1 / -1 !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin :where(.cmplz-title, .cmplz-message, .cmplz-message p, .cmplz-category-title, .cmplz-description, .cmplz-description span, .cmplz-always-active, .cmplz-btn, .shadok-cookie-more, summary, a) {
  font-family: inherit !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-header {
  min-height: 40px !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 44px 0 0 !important;
  margin-bottom: 8px !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-title {
  display: block !important;
  margin: 0 !important;
  justify-self: start !important;
  color: var(--shadok-cookie-ink) !important;
  font-size: calc(22px * var(--shadok-cookie-font-scale)) !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-close {
  top: -8px !important;
  right: -10px !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid transparent !important;
  border-radius: 2px !important;
  background: var(--shadok-cookie-surface) !important;
  color: var(--shadok-cookie-ink) !important;
  box-shadow: none !important;
  zoom: 1 !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-close:hover {
  border-color: var(--shadok-cookie-line) !important;
  color: var(--shadok-cookie-accent) !important;
  outline: none !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-body {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-message,
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-message p {
  color: var(--shadok-cookie-soft) !important;
  font-size: calc(14px * var(--shadok-cookie-font-scale)) !important;
  line-height: 1.6 !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-message { width: auto !important; margin: 0 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-message p { margin: 0 0 16px !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-categories { margin: 0 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category {
  margin: 0 0 8px !important;
  border: 1px solid var(--shadok-cookie-line) !important;
  border-radius: 2px !important;
  background: var(--shadok-cookie-surface) !important;
  box-shadow: none !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category:last-child { margin-bottom: 0 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-header {
  grid-template-columns: minmax(0, 1fr) auto 44px !important;
  gap: 12px !important;
  min-height: 60px !important;
  height: auto !important;
  padding: 8px 12px !important;
  background: var(--shadok-cookie-surface) !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-title {
  min-width: 0 !important;
  color: var(--shadok-cookie-ink) !important;
  font-size: calc(14px * var(--shadok-cookie-font-scale)) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-always-active {
  grid-column: 2 !important;
  color: var(--shadok-cookie-soft) !important;
  font-size: calc(12px * var(--shadok-cookie-font-scale)) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
}
/* Necessary input is already non-interactive in CMP; hide its decoration only. */
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-functional .cmplz-banner-checkbox { display: none !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox {
  box-sizing: border-box !important;
  position: relative !important;
  width: 48px !important;
  height: 44px !important;
  flex: 0 0 48px !important;
  margin: 0 !important;
  padding: 0 !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox input.cmplz-consent-checkbox {
  position: absolute !important;
  inset: 0 !important;
  width: 48px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  z-index: 1 !important;
  cursor: pointer !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox .cmplz-label {
  box-sizing: border-box !important;
  position: relative !important;
  width: 44px !important;
  height: 24px !important;
  min-width: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--shadok-cookie-off) !important;
  box-shadow: inset 0 0 0 1px var(--shadok-cookie-off-border) !important;
  cursor: pointer !important;
}
/* Remove the original CMP track, then fully replace the WCAG tick geometry. */
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox .cmplz-label::before { content: none !important; display: none !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox .cmplz-label::after {
  box-sizing: border-box !important;
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 3px auto auto 3px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--shadok-cookie-thumb) !important;
  box-shadow: none !important;
  transform: translateX(0) !important;
  transition: transform 160ms ease;
  pointer-events: none !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox input:checked + .cmplz-label {
  border: 0 !important;
  background: var(--shadok-cookie-accent) !important;
  box-shadow: none !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox input:checked + .cmplz-label::after {
  inset: 3px auto auto 3px !important;
  width: 18px !important;
  height: 18px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--shadok-cookie-thumb-on) !important;
  transform: translateX(20px) !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox input:disabled,
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox input:disabled + .cmplz-label { cursor: not-allowed !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-toggle {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border: 1px solid var(--shadok-cookie-line) !important;
  border-radius: 2px !important;
  background: var(--shadok-cookie-surface) !important;
  color: var(--shadok-cookie-ink) !important;
  box-shadow: none !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-toggle:hover {
  border-color: var(--shadok-cookie-accent) !important;
  color: var(--shadok-cookie-accent) !important;
  background: var(--shadok-cookie-surface) !important;
  outline: none !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-description {
  padding: 0 12px 14px !important;
  color: var(--shadok-cookie-soft) !important;
  font-size: calc(13px * var(--shadok-cookie-font-scale)) !important;
  line-height: 1.6 !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-divider { margin: 0 !important; padding: 0 !important; border: 0 !important; height: 0 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; margin: 16px 0 0 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-btn {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 12px !important;
  border: 1px solid var(--shadok-cookie-accent) !important;
  border-radius: var(--shadok-radius, 2px) !important;
  background: var(--shadok-cookie-surface) !important;
  color: var(--shadok-cookie-accent) !important;
  box-shadow: none !important;
  font-size: calc(14px * var(--shadok-cookie-font-scale)) !important;
  font-weight: 750 !important;
  letter-spacing: .025em !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  transform: none !important;
  zoom: 1 !important;
}
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-btn:hover { background: var(--shadok-cookie-accent) !important; color: var(--shadok-cookie-on-accent) !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin :where(.cmplz-save-preferences, .cmplz-view-preferences) { grid-column: 1 / -1 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-save-preferences { background: var(--shadok-cookie-accent) !important; color: var(--shadok-cookie-on-accent) !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-save-preferences:hover { background: var(--shadok-cookie-accent-hover) !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .shadok-cookie-more { margin-top: 12px !important; color: var(--shadok-cookie-soft) !important; font-size: calc(13px * var(--shadok-cookie-font-scale)) !important; line-height: 1.6 !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .shadok-cookie-more summary { min-height: 44px !important; padding: 10px 0 !important; color: var(--shadok-cookie-ink) !important; cursor: pointer; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-link { color: var(--shadok-cookie-accent) !important; text-decoration: underline !important; text-underline-offset: 3px; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin :where(button, [role="button"], a, summary):focus-visible,
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-banner-checkbox input:focus-visible + .cmplz-label { outline: 3px solid var(--shadok-cookie-accent) !important; outline-offset: 3px !important; }
/* Existing toolbar contract: 10..200%, step 10, html attribute absent at 100. */
html[data-shadok-font-percent="10"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.1; }
html[data-shadok-font-percent="20"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.2; }
html[data-shadok-font-percent="30"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.3; }
html[data-shadok-font-percent="40"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.4; }
html[data-shadok-font-percent="50"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.5; }
html[data-shadok-font-percent="60"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.6; }
html[data-shadok-font-percent="70"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.7; }
html[data-shadok-font-percent="80"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.8; }
html[data-shadok-font-percent="90"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 0.9; }
html[data-shadok-font-percent="100"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1; }
html[data-shadok-font-percent="110"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.1; }
html[data-shadok-font-percent="120"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.2; }
html[data-shadok-font-percent="130"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.3; }
html[data-shadok-font-percent="140"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.4; }
html[data-shadok-font-percent="150"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.5; }
html[data-shadok-font-percent="160"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.6; }
html[data-shadok-font-percent="170"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.7; }
html[data-shadok-font-percent="180"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.8; }
html[data-shadok-font-percent="190"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 1.9; }
html[data-shadok-font-percent="200"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { --shadok-cookie-font-scale: 2; }
html[data-shadok-readable-font="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin { font-family: Arial, Verdana, Tahoma, sans-serif !important; }
#cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin :where(.cmplz-message p strong, .cmplz-message p em, .cmplz-message p a, .cmplz-message p span, .cmplz-description span, .cmplz-description p, .shadok-cookie-more li, .shadok-cookie-more a) { font-size: inherit !important; line-height: inherit !important; }
html[data-shadok-contrast="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin {
  --shadok-cookie-accent: #ff0;
  --shadok-cookie-accent-hover: #ff0;
  --shadok-cookie-on-accent: #000;
  --shadok-cookie-surface: #000;
  --shadok-cookie-ink: #fff;
  --shadok-cookie-soft: #fff;
  --shadok-cookie-line: #fff;
  --shadok-cookie-off: #000;
  --shadok-cookie-off-border: #fff;
  --shadok-cookie-thumb: #fff;
  --shadok-cookie-thumb-on: #000;
  box-shadow: none !important;
}
@media (max-width: 560px) {
  #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin {
    inset: auto auto calc(84px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
    width: calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)) !important;
    max-width: calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)) !important;
    max-height: calc(100vh - 96px) !important;
    max-height: calc(100dvh - 96px - env(safe-area-inset-bottom) - env(safe-area-inset-top)) !important;
    padding: 18px 16px !important;
  }
  #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-header { gap: 8px !important; padding-inline: 8px !important; }
}
@media (max-width: 480px) {
  #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-buttons { grid-template-columns: minmax(0, 1fr) !important; }
}
html[data-shadok-font-percent] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-buttons { grid-template-columns: minmax(0, 1fr) !important; }
html[data-shadok-font-percent] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-header { grid-template-columns: minmax(0, 1fr) 48px 44px !important; }
html[data-shadok-font-percent] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-category-title { grid-column: 1 / -1 !important; }
html[data-shadok-font-percent] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-always-active { grid-column: 1 / 3 !important; }
html[data-shadok-spacing="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin :where(p, li, label, input, button) { line-height: 1.75 !important; letter-spacing: .06em !important; word-spacing: .12em !important; }
html[data-shadok-spacing="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin :where(p, ul, ol) { margin-bottom: 1.25em !important; }
html[data-shadok-links="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-link { text-decoration: underline .12em !important; text-underline-offset: .18em !important; }
html[data-shadok-motion="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin *,
html[data-shadok-motion="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin *::before,
html[data-shadok-motion="true"] #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin *, #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin *::before, #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin {
    --shadok-cookie-accent: Highlight;
    --shadok-cookie-accent-hover: Highlight;
    --shadok-cookie-on-accent: HighlightText;
    --shadok-cookie-surface: Canvas;
    --shadok-cookie-ink: CanvasText;
    --shadok-cookie-soft: CanvasText;
    --shadok-cookie-line: CanvasText;
    --shadok-cookie-off: Canvas;
    --shadok-cookie-off-border: CanvasText;
    --shadok-cookie-thumb: CanvasText;
    --shadok-cookie-thumb-on: HighlightText;
  }
  #cmplz-cookiebanner-container #cmplz-cookiebanner-1-optin .cmplz-label { forced-color-adjust: none; outline: 1px solid CanvasText; }
}
