/**
 * M&N Clean Service – Cookie-Banner Theme
 * Nur Marken-Tokens (--cb-*). Layout/Modal: Kit CSS.
 */

:root {
  --cb-bg: #ffffff;
  --cb-bg-soft: #EAF3FA;
  --cb-border: rgba(11, 47, 92, 0.14);
  --cb-text: #12263A;
  --cb-muted: #5B6E82;
  --cb-primary: #0B2F5C;
  --cb-primary-text: #ffffff;
  --cb-secondary-bg: transparent;
  --cb-secondary-border: rgba(11, 47, 92, 0.28);
  --cb-radius: 14px;
  --cb-shadow: 0 -12px 32px rgba(7, 31, 61, 0.16);
  --cb-fab-bg: #0B2F5C;
  --cb-fab-border: #0B2F5C;
  --cb-font: "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --cb-max: 920px;
}

.cb-fab {
  color: #ffffff !important;
}

.cb-fab svg {
  fill: currentColor;
  color: #ffffff;
}

.cb__kicker,
.cb__title,
.cb__panel-title,
.cb__cat-title,
.cb__btn {
  font-family: "Barlow Condensed", "Source Sans 3", "Segoe UI", sans-serif;
}

.cb__kicker,
.cb__panel-kicker {
  color: var(--blue, #2F6FA8);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cb__cat-title {
  font-weight: 700;
  color: var(--cb-primary);
}

.cb__cat {
  background: linear-gradient(165deg, #F4F8FC 0%, #EAF3FA 100%);
  border-color: rgba(47, 111, 168, 0.22);
  box-shadow: 0 8px 20px rgba(7, 31, 61, 0.06);
}

.cb__cat:nth-child(1) {
  background: linear-gradient(165deg, #EAF3FA 0%, #D6E8F5 100%);
  border-color: rgba(11, 47, 92, 0.2);
}

.cb__cat:nth-child(2) {
  background: linear-gradient(165deg, #F0F7FC 0%, #E3F0F9 100%);
  border-color: rgba(47, 111, 168, 0.28);
}

.cb__cat:nth-child(3) {
  background: linear-gradient(165deg, #F7FBFE 0%, #EAF4FB 100%);
  border-color: rgba(155, 196, 224, 0.7);
}

.cb__cat:nth-child(4),
.cb__cat:nth-child(5) {
  background: linear-gradient(165deg, #F8FBFD 0%, #EEF5FB 100%);
  border-color: rgba(11, 47, 92, 0.16);
}

.cb__tag {
  background: rgba(47, 111, 168, 0.12);
  color: #0B2F5C;
  border-color: rgba(47, 111, 168, 0.22);
  border-radius: 999px;
}

.cb__switch input:checked + .cb__slider {
  background: var(--cb-primary);
  border-color: var(--cb-primary);
}

.cb__switch input:checked + .cb__slider::after {
  background: #fff;
}

.cb__panel-close:hover {
  border-color: var(--cb-primary);
  background: rgba(11, 47, 92, 0.06);
}

.cb__panel-close:focus-visible {
  outline-color: var(--cb-primary);
}

.cb__btn--primary {
  background: var(--cb-primary);
  border-color: var(--cb-primary);
  color: #fff;
}

.cb__btn--secondary,
.cb__btn--ghost {
  color: var(--cb-primary);
  border-color: rgba(11, 47, 92, 0.28);
  background: rgba(234, 243, 250, 0.65);
}
