/* Project overrides for the Klaro consent notice. Keep vendor CSS untouched. */
.klaro .cookie-notice:not(.cookie-modal-notice) {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  right: 0 !important;
  left: 0 !important;
  bottom: 24px !important;
  margin: 0 auto !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px 24px !important;
  align-items: center !important;
  padding: 18px 20px !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
  margin: 0 !important;
  max-width: 760px !important;
  line-height: 1.55 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
  display: flex !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin: 0 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok a,
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok div {
  margin: 0 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons button.cm-btn {
  margin: 0 !important;
  white-space: nowrap !important;
}

.klaro .cookie-modal .cm-modal .cm-footer {
  padding: 14px 16px !important;
}

.klaro .cookie-modal .cm-modal .cm-footer-buttons {
  display: flex !important;
  flex-flow: row wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

.klaro .cookie-modal .cm-modal .cm-footer-buttons .cm-btn {
  margin: 0 !important;
  white-space: nowrap !important;
}

.klaro .cookie-modal .cm-modal .cm-footer-buttons .cm-btn-decline {
  margin-right: auto !important;
}

.klaro .cookie-modal .cm-modal .cm-footer .cm-powered-by {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    width: 100% !important;
    max-width: none !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    border-radius: 0 !important;
  }

  .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 16px !important;
  }

  .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons button.cm-btn {
    flex: 1 1 0 !important;
  }

  .klaro .cookie-modal .cm-modal .cm-footer-buttons {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
  }

  .klaro .cookie-modal .cm-modal .cm-footer-buttons .cm-btn-decline {
    margin-right: 0 !important;
  }
}
