:root {
  --sg-cookie-brand: #103232;
  --sg-cookie-brand-dark: #0b2525;
  --sg-cookie-accent: #c5a574;
  --sg-cookie-bg: #ffffff;
  --sg-cookie-bg-soft: #f3f6f4;
  --sg-cookie-text: #2d4646;
  --sg-cookie-muted: #617070;
  --sg-cookie-border: #d9e2dd;
  --sg-cookie-font: 'Plus Jakarta Sans', sans-serif;
  --sg-cookie-display: 'Sora', sans-serif;
}

.klaro .cookie-notice:not(.cookie-modal-notice) {
  width: min(760px, calc(100vw - 32px)) !important;
  right: 16px !important;
  left: auto !important;
  bottom: 16px !important;
  background: var(--sg-cookie-bg) !important;
  color: var(--sg-cookie-text) !important;
  border: 1px solid var(--sg-cookie-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 48px rgba(16, 50, 50, 0.16) !important;
  font-family: var(--font, var(--sg-cookie-font)) !important;
}

.klaro .cookie-notice .cn-body,
.klaro .cookie-modal .cm-modal {
  box-sizing: border-box !important;
  font-family: var(--font, var(--sg-cookie-font)) !important;
}

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

.klaro .cookie-notice .cn-body p,
.klaro .cookie-modal .cm-modal p,
.klaro .cookie-modal .cm-modal li {
  color: var(--sg-cookie-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.klaro .cookie-notice .cn-body strong,
.klaro .cookie-modal .cm-header .title,
.klaro .cookie-modal .cm-modal .title {
  font-family: var(--font-display, var(--sg-cookie-display)) !important;
  color: var(--sg-cookie-brand) !important;
  letter-spacing: 0 !important;
}

.klaro .cookie-notice .cn-buttons,
.klaro .cookie-modal .cm-footer-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.klaro .cookie-notice .cn-ok {
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 1.45fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.klaro .cookie-notice .cn-ok .cn-learn-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--sg-cookie-border) !important;
  border-radius: 8px !important;
  background: var(--sg-cookie-bg-soft) !important;
  color: var(--sg-cookie-text) !important;
  text-align: center !important;
}

.klaro .cookie-notice .cn-ok .cn-buttons {
  margin-top: 0 !important;
}

.klaro .cm-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  min-width: 150px !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--sg-cookie-brand) !important;
  font-family: var(--font, var(--sg-cookie-font)) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  box-shadow: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.klaro .cookie-notice .cn-buttons .cm-btn {
  flex: 1 1 190px !important;
}

.klaro .cookie-modal .cm-footer-buttons .cm-btn {
  flex: 1 1 170px !important;
}

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

.klaro .cm-btn-success,
.klaro .cm-btn.cm-btn-success {
  background: var(--sg-cookie-brand) !important;
  border-color: var(--sg-cookie-brand) !important;
  color: #ffffff !important;
}

.klaro .cm-btn-success:hover,
.klaro .cm-btn.cm-btn-success:hover {
  background: var(--sg-cookie-brand-dark) !important;
  border-color: var(--sg-cookie-brand-dark) !important;
}

.klaro .cm-btn-info,
.klaro .cm-btn.cm-btn-info {
  background: var(--sg-cookie-bg) !important;
  border-color: var(--sg-cookie-brand) !important;
  color: var(--sg-cookie-brand) !important;
}

.klaro .cm-btn-danger,
.klaro .cm-btn.cm-btn-danger {
  background: var(--sg-cookie-bg-soft) !important;
  border-color: var(--sg-cookie-border) !important;
  color: var(--sg-cookie-text) !important;
}

.klaro .cookie-modal {
  background: rgba(11, 37, 37, 0.42) !important;
}

.klaro .cookie-modal .cm-modal {
  background: var(--sg-cookie-bg) !important;
  color: var(--sg-cookie-text) !important;
  border: 1px solid var(--sg-cookie-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 80px rgba(11, 37, 37, 0.24) !important;
}

.klaro .cookie-modal .cm-header,
.klaro .cookie-modal .cm-footer {
  border-color: var(--sg-cookie-border) !important;
}

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

.klaro .cookie-modal .cm-body {
  background: var(--sg-cookie-bg) !important;
}

.klaro .cookie-modal .cm-service,
.klaro .cookie-modal .cm-purpose {
  border-color: var(--sg-cookie-border) !important;
}

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

.klaro .cm-list-label .slider {
  background: #cfdad5 !important;
  box-shadow: none !important;
}

.klaro .cm-list-label .slider::before {
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(16, 50, 50, 0.18) !important;
}

.klaro a {
  color: var(--sg-cookie-brand) !important;
  font-weight: 700 !important;
}

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

body.mobile-menu-open .klaro .cookie-notice:not(.cookie-modal-notice) {
  display: none !important;
}

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

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

  .klaro .cookie-notice .cn-body p {
    margin: 0 !important;
  }

  .klaro .cookie-notice .cn-ok {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 14px !important;
  }

  .klaro .cookie-notice .cn-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  .klaro .cookie-modal .cm-footer-buttons {
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  .klaro .cm-btn {
    min-width: 0 !important;
    padding: 13px 16px !important;
    width: 100% !important;
  }

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