/* BFZ — Klaro consent banner premium overrides */
.klaro {
  font-family: 'Manrope', system-ui, sans-serif;
}

/* Banner (notice) */
.klaro .cookie-notice:not(.cookie-modal-notice) {
  background: #0a0a0a !important;
  color: #f5f3ee !important;
  border-top: 1px solid rgba(245, 243, 238, 0.18) !important;
  border-radius: 0 !important;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4) !important;
  font-family: 'Manrope', system-ui, sans-serif !important;
  padding: 28px 32px !important;
}
.klaro .cookie-notice .cn-body {
  margin: 0 !important;
  padding: 0 !important;
}
.klaro .cookie-notice .cn-body h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  letter-spacing: 0.01em !important;
  color: #f5f3ee !important;
  margin: 0 0 6px 0 !important;
}
.klaro .cookie-notice .cn-body p,
.klaro .cookie-notice .cn-body p.cn-changes {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: rgba(245, 243, 238, 0.65) !important;
  font-weight: 300 !important;
  margin: 0 !important;
}
.klaro .cookie-notice .cn-body p a,
.klaro .cookie-modal a {
  color: #f5f3ee !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Buttons in notice */
.klaro .cookie-notice .cn-ok {
  margin-top: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.klaro .cookie-notice .cn-buttons,
.klaro .cookie-modal .cm-footer-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.klaro button.cm-btn,
.klaro .cn-buttons button,
.klaro button {
  font-family: 'Manrope', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 14px 26px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(245, 243, 238, 0.4) !important;
  background: transparent !important;
  color: #f5f3ee !important;
  cursor: pointer !important;
  transition: background 0.4s cubic-bezier(0.22, 1, 0.36, 1), color 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.klaro button.cm-btn:hover,
.klaro .cn-buttons button:hover,
.klaro button:hover {
  background: #f5f3ee !important;
  color: #0a0a0a !important;
  border-color: #f5f3ee !important;
}
.klaro button.cm-btn-success,
.klaro .cn-buttons button.cm-btn-success {
  background: #f5f3ee !important;
  color: #0a0a0a !important;
  border-color: #f5f3ee !important;
}
.klaro button.cm-btn-success:hover,
.klaro .cn-buttons button.cm-btn-success:hover {
  background: transparent !important;
  color: #f5f3ee !important;
  border-color: #f5f3ee !important;
}

/* Full modal */
.klaro .cookie-modal .cm-modal {
  background: #0a0a0a !important;
  color: #f5f3ee !important;
  border-radius: 0 !important;
  border: 1px solid rgba(245, 243, 238, 0.18) !important;
  font-family: 'Manrope', system-ui, sans-serif !important;
}
.klaro .cookie-modal .cm-modal .cm-header h1,
.klaro .cookie-modal .cm-modal .cm-header h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  color: #f5f3ee !important;
}
.klaro .cookie-modal .cm-modal .cm-header p,
.klaro .cookie-modal .cm-modal .cm-body p {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: rgba(245, 243, 238, 0.65) !important;
  font-weight: 300 !important;
}
.klaro .cookie-modal .cm-modal .cm-services .cm-service {
  border-top: 1px solid rgba(245, 243, 238, 0.12) !important;
  padding: 18px 0 !important;
}
.klaro .cookie-modal .cm-modal .cm-services .cm-service .cm-content p {
  color: rgba(245, 243, 238, 0.55) !important;
  font-size: 12px !important;
}
.klaro .cookie-modal .cm-modal .cm-purpose,
.klaro .cookie-modal .cm-modal .cm-services .cm-service h2 {
  color: #f5f3ee !important;
  font-weight: 500 !important;
}
.klaro .cookie-modal .cm-modal .cm-purpose-summary p,
.klaro .cookie-modal .cm-modal .cm-list-description {
  color: rgba(245, 243, 238, 0.55) !important;
}
.klaro .cookie-modal .cm-modal .cm-close,
.klaro .cookie-notice .hide,
.klaro .cookie-notice button.hide {
  color: rgba(245, 243, 238, 0.55) !important;
}

/* Toggle switches */
.klaro .cookie-modal .cm-list-input + .cm-list-label .slider,
.klaro .cm-list-input + .cm-list-label .slider {
  background: rgba(245, 243, 238, 0.18) !important;
}
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .cm-list-input:checked + .cm-list-label .slider {
  background: #f5f3ee !important;
}
.klaro .cm-list-input:checked + .cm-list-label .slider::before {
  background: #0a0a0a !important;
}

/* Footer "powered by" — discreet */
.klaro .cookie-modal .cm-modal .cm-footer .cm-powered-by,
.klaro .cookie-notice .cn-powered-by {
  display: none !important;
}
