.klaro {
  --font-family: var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --font-size: 14px;
}

.klaro .cookie-notice:not(.cookie-modal-notice) {
  bottom: 20px !important;
  left: 20px !important;
  right: 20px !important;
  width: auto !important;
  max-width: 560px !important;
  z-index: 100 !important;
}

.klaro .cookie-notice .cn-body,
.klaro .cookie-modal .cm-modal {
  border: 1px solid rgb(var(--border)) !important;
  border-radius: 24px !important;
  background: rgb(var(--card)) !important;
  box-shadow: 0 24px 60px -36px rgba(21, 25, 28, 0.35) !important;
  color: rgb(var(--foreground)) !important;
}

.klaro .cookie-notice .cn-body {
  padding: 22px !important;
}

.klaro .cookie-modal {
  background: rgba(21, 25, 28, 0.55) !important;
}

.klaro .cookie-modal .cm-modal {
  max-width: 720px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.klaro .cookie-modal .cm-header,
.klaro .cookie-modal .cm-body,
.klaro .cookie-modal .cm-footer {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.klaro .cookie-modal .cm-header,
.klaro .cookie-modal .cm-footer {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.klaro .cookie-modal .cm-body {
  padding-top: 0 !important;
  padding-bottom: 12px !important;
}

.klaro .cookie-notice .cn-body p,
.klaro .cookie-modal .cm-modal p,
.klaro .cookie-modal .cm-modal li {
  color: rgb(var(--muted-foreground)) !important;
  line-height: 1.7 !important;
}

.klaro .cookie-notice strong,
.klaro .cookie-modal .cm-header .title,
.klaro .cookie-modal .cm-modal .title,
.klaro .cookie-modal .cm-list-title {
  color: rgb(var(--foreground)) !important;
  font-family: var(--font-heading, inherit) !important;
  letter-spacing: -0.02em !important;
}

.klaro .cookie-notice .cn-body strong {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 1.05rem !important;
}

.klaro .cn-buttons,
.klaro .cm-footer-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.klaro .cm-btn {
  min-height: 46px !important;
  border-radius: 18px !important;
  border: 1px solid rgb(var(--border)) !important;
  background: rgb(var(--card)) !important;
  color: rgb(var(--foreground)) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.klaro .cm-btn-success,
.klaro .cm-btn.cm-btn-success {
  border-color: rgb(var(--primary)) !important;
  background: rgb(var(--primary)) !important;
  color: rgb(var(--primary-foreground)) !important;
}

.klaro .cm-btn-info,
.klaro .cm-btn.cm-btn-info {
  background: rgb(var(--muted)) !important;
}

.klaro .cm-btn-danger,
.klaro .cm-btn.cm-btn-danger {
  background: transparent !important;
}

.klaro .cm-btn:hover {
  transform: translateY(-1px);
}

.klaro .cm-services,
.klaro .cm-purposes {
  margin-top: 0 !important;
}

.klaro .cm-service,
.klaro .cm-purpose {
  border-color: rgb(var(--border)) !important;
  background: rgb(var(--card)) !important;
}

.klaro .cm-list-label .slider {
  background: rgb(var(--muted)) !important;
  box-shadow: inset 0 0 0 1px rgba(21, 25, 28, 0.05) !important;
}

.klaro .cm-list-input:checked + .cm-list-label .slider,
.klaro .cm-list-input.only-required + .cm-list-label .slider {
  background: rgb(var(--primary)) !important;
}

.klaro .cm-list-label .slider::before {
  background: #fff !important;
}

.klaro a {
  color: rgb(var(--primary)) !important;
}

.klaro .powered-by,
.klaro .cm-powered-by {
  display: none !important;
}

@media (max-width: 640px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: none !important;
  }

  .klaro .cookie-modal .cm-modal {
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
  }

  .klaro .cookie-modal .cm-header,
  .klaro .cookie-modal .cm-body,
  .klaro .cookie-modal .cm-footer,
  .klaro .cookie-notice .cn-body {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .klaro .cm-btn {
    width: 100% !important;
  }
}
