.cbb-appearance--theme-light {
  --cbb-surface: #fff;
  --cbb-foreground: #1f2937;
  --cbb-muted-border: #6b7280;
  --cbb-subtle-surface: #f3f4f6;
  --cbb-shadow: rgb(0 0 0 / 22%);
}

.cbb-appearance--theme-dark {
  --cbb-surface: #171a21;
  --cbb-foreground: #f9fafb;
  --cbb-muted-border: #d1d5db;
  --cbb-subtle-surface: #272b35;
  --cbb-shadow: rgb(0 0 0 / 55%);
}

.cbb-appearance--accent-blue { --cbb-accent: #0759b6; --cbb-focus: #0b6fd3; }
.cbb-appearance--accent-teal { --cbb-accent: #006b64; --cbb-focus: #007e75; }
.cbb-appearance--accent-purple { --cbb-accent: #6941a5; --cbb-focus: #7a4dbd; }
.cbb-appearance--theme-dark.cbb-appearance--accent-blue { --cbb-accent: #8bc1ff; --cbb-focus: #8bc1ff; }
.cbb-appearance--theme-dark.cbb-appearance--accent-teal { --cbb-accent: #76ded4; --cbb-focus: #76ded4; }
.cbb-appearance--theme-dark.cbb-appearance--accent-purple { --cbb-accent: #d0adff; --cbb-focus: #d0adff; }

.cbb-appearance--density-comfortable { --cbb-space-unit: 1rem; --cbb-control-block: 2.75rem; }
.cbb-appearance--density-compact { --cbb-space-unit: 0.75rem; --cbb-control-block: 2.75rem; }

.cbb-banner[class*="cbb-appearance--"],
.cbb-preferences[class*="cbb-appearance--"],
.cbb-revisit[class*="cbb-appearance--"] {
  background: var(--cbb-surface);
  color: var(--cbb-foreground);
  border-color: var(--cbb-foreground);
}

.cbb-banner[class*="cbb-appearance--"] .cbb-banner__action-wrap,
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__actions {
  background: var(--cbb-surface);
}

.cbb-banner[class*="cbb-appearance--"] .cbb-banner__privacy,
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__privacy { color: var(--cbb-accent); }

.cbb-banner[class*="cbb-appearance--"] .cbb-banner__button,
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__button,
.cbb-revisit[class*="cbb-appearance--"],
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__always {
  border-color: var(--cbb-foreground);
}

.cbb-banner[class*="cbb-appearance--"] .cbb-banner__button--choice,
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__button--choice {
  background: var(--cbb-foreground);
  color: var(--cbb-surface);
}

.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__header,
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__category,
.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__actions {
  border-color: var(--cbb-muted-border);
}

.cbb-preferences[class*="cbb-appearance--"] .cbb-preferences__choice input {
  accent-color: var(--cbb-focus);
}

.cbb-banner[class*="cbb-appearance--"] :focus-visible,
.cbb-preferences[class*="cbb-appearance--"] :focus-visible,
.cbb-revisit[class*="cbb-appearance--"]:focus-visible { outline-color: var(--cbb-focus); }

.cbb-banner.cbb-appearance--density-compact .cbb-banner__inner { gap: 0.75rem 1rem; padding-block: 0.75rem; }
.cbb-banner.cbb-appearance--density-compact .cbb-banner__actions { gap: 0.5rem; }
.cbb-preferences.cbb-appearance--density-compact .cbb-preferences__header { padding: 0.875rem 1rem 0.625rem; }
.cbb-preferences.cbb-appearance--density-compact .cbb-preferences__content { padding: 0.75rem 1rem; }
.cbb-preferences.cbb-appearance--density-compact .cbb-preferences__category { margin-block-end: 0.75rem; padding: 0.75rem; }
.cbb-preferences.cbb-appearance--density-compact .cbb-preferences__actions { gap: 0.5rem; padding: 0.75rem 1rem; }

.cbb-revisit.cbb-appearance--revisit-bottom-start {
  inset-inline-start: max(1rem, env(safe-area-inset-left, 0px));
  inset-inline-end: auto;
}
.cbb-revisit.cbb-appearance--revisit-bottom-start:dir(rtl) {
  inset-inline-start: max(1rem, env(safe-area-inset-right, 0px));
}
.cbb-revisit.cbb-appearance--revisit-bottom-end {
  inset-inline-start: auto;
  inset-inline-end: max(1rem, env(safe-area-inset-right, 0px));
}
.cbb-revisit.cbb-appearance--revisit-bottom-end:dir(rtl) {
  inset-inline-end: max(1rem, env(safe-area-inset-left, 0px));
}

@media (forced-colors: active) {
  .cbb-banner[class*="cbb-appearance--"],
  .cbb-preferences[class*="cbb-appearance--"],
  .cbb-revisit[class*="cbb-appearance--"] {
    --cbb-surface: Canvas;
    --cbb-foreground: CanvasText;
    --cbb-accent: LinkText;
    --cbb-focus: Highlight;
    forced-color-adjust: auto;
  }
}
.cbb-service-disclosure[hidden] { display: none !important; }
.cbb-service-disclosure { border-block-start: 1px solid currentColor; margin-block: 1rem; padding-block: 0.75rem; overflow-wrap: anywhere; }
.cbb-service-disclosure h3, .cbb-service-disclosure h4 { font: inherit; font-weight: 700; margin-block: 0.5rem; }
.cbb-service-disclosure p, .cbb-service-disclosure li { margin-block: 0.35rem; }
.cbb-service-disclosure ul { padding-inline-start: 1.5rem; margin-block: 0.5rem; }
.cbb-service-disclosure a { color: LinkText; text-decoration: underline; }
