/* Overlay */
.klaro .cookie-modal .cm-bg {
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(4px);
}

/* Modal container */
.klaro .cookie-modal .cm-modal.cm-klaro {
  background: #ffffff !important;
  border-radius: 20px !important;
  max-width: 620px !important;
  padding: 28px !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid #ececf2 !important;
  font-family: Inter, system-ui, -apple-system, sans-serif !important;
  color: #1f1f2e !important;
}

/* Force all text inside modal to be dark (except success buttons) */
.klaro .cookie-modal .cm-modal.cm-klaro *:not(.cm-btn-success) {
  color: #1f1f2e !important;
}

/* Cookie notice (bottom bar) */
.klaro .cookie-notice {
  background: #ffffff !important;
  border-radius: 20px !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid #ececf2 !important;
  font-family: Inter, system-ui, -apple-system, sans-serif !important;
  padding: 20px 28px !important;
  color: #1f1f2e !important;
}

/* Force all text inside notice to be dark (except success buttons) */
.klaro .cookie-notice *:not(.cm-btn-success) {
  color: #1f1f2e !important;
}

.klaro .cookie-notice .cn-body {
  color: #5b5b6b !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Header */
.klaro .cookie-modal .cm-modal h1,
.klaro .cookie-modal .cm-modal .cm-header h1 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1f1f2e !important;
}

/* Description text */
.klaro .cookie-modal .cm-body,
.klaro .cookie-modal .cm-body p,
.klaro .cookie-modal .cm-modal p,
.klaro .cookie-modal .cm-header p {
  color: #5b5b6b !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Purpose titles (Essential, Functional) */
.klaro .cookie-modal .cm-purpose .cm-purpose-title,
.klaro .cookie-modal .cm-purpose span,
.klaro .cookie-modal .cm-purpose .cm-title {
  color: #1f1f2e !important;
  font-weight: 600 !important;
}

/* Purpose description text */
.klaro .cookie-modal .cm-purpose .cm-purpose-description,
.klaro .cookie-modal .cm-purpose p {
  color: #5b5b6b !important;
}

/* Service names and descriptions */
.klaro .cookie-modal .cm-service .cm-service-title,
.klaro .cookie-modal .cm-service span {
  color: #1f1f2e !important;
}

.klaro .cookie-modal .cm-service .cm-service-description,
.klaro .cookie-modal .cm-service p {
  color: #5b5b6b !important;
}

/* "always required" label */
.klaro .cookie-modal .cm-required {
  color: #7c3aed !important;
  font-size: 12px !important;
}

/* "x services" links */
.klaro .cookie-modal .cm-services a,
.klaro .cookie-modal .cm-caret a,
.klaro .cookie-modal .cm-purpose a {
  color: #7c3aed !important;
}

/* Cookie service items */
.klaro .cookie-modal .cm-list-description {
  background: #f8f7fc !important;
  border: 1px solid #ebe9f5 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
  transition: all 0.2s ease !important;
}

.klaro .cookie-modal .cm-list-description:hover {
  background: #f3f1fb !important;
}

/* Purpose items */
.klaro .cookie-modal .cm-purpose {
  border-bottom-color: #ebe9f5 !important;
}

/* Toggle switches */
.klaro .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-modal .cm-toggle-all input:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-toggle input:checked + .cm-list-label .slider {
  background-color: #7c3aed !important;
}

.klaro .cm-list-input.required:checked + .cm-list-label .slider,
.klaro .cookie-modal input.required:checked + .cm-list-label .slider {
  background-color: #7c3aed !important;
  opacity: 0.8 !important;
}

/* Footer */
.klaro .cookie-modal .cm-footer,
.klaro .cookie-notice .cn-buttons {
  margin-top: 24px !important;
  display: flex !important;
  gap: 12px !important;
}

/* Buttons base */
.klaro .cm-btn {
  border-radius: 12px !important;
  font-weight: 500 !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  transition: all 0.2s ease !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
}

/* Primary button (Accept all) */
.klaro .cm-btn.cm-btn-success,
.klaro .cm-btn.cm-btn-success * {
  background: #7c3aed !important;
  color: #ffffff !important;
}

.klaro .cm-btn.cm-btn-success:hover,
.klaro .cm-btn.cm-btn-success:hover * {
  background: #6d28d9 !important;
  color: #ffffff !important;
}

/* Hide powered by Klaro */
.klaro .cm-powered-by,
.klaro .cookie-notice .cm-powered-by,
.klaro .cookie-modal .cm-powered-by {
  display: none !important;
}

/* Secondary button (Accept Selected / Save) */
.klaro .cm-btn.cm-btn-info {
  background: #f3f1fb !important;
  color: #5b3cc4 !important;
  border: 1px solid #e5e1f5 !important;
}

.klaro .cm-btn.cm-btn-info:hover {
  background: #ebe7fa !important;
}

/* Decline button */
.klaro .cm-btn.cm-btn-danger {
  background: transparent !important;
  color: #6b6b7b !important;
}

.klaro .cm-btn.cm-btn-danger:hover {
  background: #f3f1fb !important;
}

/* Links */
.klaro .cookie-modal a,
.klaro .cookie-notice a {
  color: #7c3aed !important;
}

.klaro .cookie-modal a:hover,
.klaro .cookie-notice a:hover {
  color: #6d28d9 !important;
}

/* Close button */
.klaro .cookie-modal .cm-modal .hide {
  color: #6b6b7b !important;
}

.klaro .cookie-modal .cm-modal .hide:hover {
  color: #1f1f2e !important;
}

/* "Realized with Klaro" text */
.klaro .cookie-modal .cm-footer-links,
.klaro .cookie-notice .cn-ok .cm-powered-by,
.klaro .cm-powered-by,
.klaro .cm-powered-by a {
  color: #9b9bab !important;
  font-size: 11px !important;
}
