/**
 * SWCZ theme overrides for Klaro consent manager.
 * Loaded after klaro.min.css — see MainLayout.astro
 */
#klaro.klaro,
.klaro {
  --green1: #005c7a;
  --green2: #007da5;
  --green3: #4a9bb8;
  --blue1: #005c7a;
  --blue2: #007da5;
  --dark1: #ffffff;
  --dark2: #ebeff1;
  --dark3: #546e7a;
  --light1: #263238;
  --light2: #ebeff1;
  --light3: #546e7a;
  --white2: #f1f1f1;
  --white3: #ebeff1;
  --button-text-color: #ffffff;
  --font-family: "Quicksand", system-ui, sans-serif;
  --font-size: 16px;
  --border-radius: 12px;
  --notice-max-width: min(calc(100vw - 2rem), 28rem);
}

/* Above fixed header (z-index 10050) */
.klaro .cookie-notice:not(.cookie-modal-notice) {
  z-index: 10060;
  border: 1px solid #ebeff1;
  box-shadow: 0 8px 32px rgba(38, 50, 56, 0.12);
}

.klaro .cookie-modal {
  z-index: 10070;
}

.klaro .cookie-modal .cm-bg {
  background: rgba(38, 50, 56, 0.45);
}

/* Banner */
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
  padding: 1.25rem 1.25rem 1rem;
  padding-top: 0.25rem;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
  color: #263238;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body a {
  color: #005c7a;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more a {
  text-decoration: underline;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
  gap: 0.5rem;
}

/* Buttons — match header contact CTA */
.klaro .cookie-modal .cm-btn,
.klaro .cookie-notice .cm-btn {
  font-family: inherit;
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.25;
  padding: 0.5rem 1.125rem;
  border-radius: 9999px;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success,
.klaro .cookie-modal .cm-btn.cm-btn-success-var,
.klaro .cookie-notice .cm-btn.cm-btn-success-var {
  background-color: #005c7a;
  color: #ffffff;
  border: 2px solid #005c7a;
  box-shadow: none;
}

.klaro .cookie-modal .cm-btn.cm-btn-success:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success:hover,
.klaro .cookie-modal .cm-btn.cm-btn-success-var:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success-var:hover {
  background-color: #007da5;
  border-color: #007da5;
  color: #ffffff;
}

.klaro .cookie-modal .cm-btn.cm-btn-success-var,
.klaro .cookie-notice .cm-btn.cm-btn-success-var {
  background-color: #007da5;
  border-color: #007da5;
  color: #ffffff;
}

.klaro .cookie-modal .cm-btn.cm-btn-success-var:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success-var:hover {
  background-color: #005c7a;
  border-color: #005c7a;
  color: #ffffff;
}

.klaro .cookie-modal .cm-footer .cm-btn.cm-btn-success,
.klaro .cookie-modal .cm-footer .cm-btn.cm-btn-success-var {
  color: #ffffff;
}

.klaro .cookie-modal .cm-btn:not(.cm-btn-success):not(.cm-btn-success-var):not(.cm-btn-info):not(.cm-btn-close),
.klaro .cookie-notice .cm-btn:not(.cm-btn-success):not(.cm-btn-success-var):not(.cm-btn-info):not(.cm-btn-close) {
  background-color: transparent;
  color: #005c7a;
  border: 2px solid #005c7a;
  box-shadow: none;
}

.klaro .cookie-modal .cm-btn:not(.cm-btn-success):not(.cm-btn-success-var):not(.cm-btn-info):not(.cm-btn-close):hover,
.klaro .cookie-notice .cm-btn:not(.cm-btn-success):not(.cm-btn-success-var):not(.cm-btn-info):not(.cm-btn-close):hover {
  background-color: #005c7a;
  color: #ffffff;
}

.klaro .cookie-modal .cm-btn.cm-btn-info,
.klaro .cookie-notice .cm-btn.cm-btn-info {
  background-color: transparent;
  color: #546e7a;
  border: 2px solid #546e7a;
  box-shadow: none;
}

.klaro .cookie-modal .cm-btn.cm-btn-info:hover,
.klaro .cookie-notice .cm-btn.cm-btn-info:hover {
  background-color: #546e7a;
  color: #ffffff;
}

/* Modal */
.klaro .cookie-modal .cm-modal.cm-klaro {
  background-color: #ffffff;
  color: #263238;
  border: 1px solid #ebeff1;
  box-shadow: 0 16px 48px rgba(38, 50, 56, 0.16);
  border-radius: 12px;
}

.klaro .cookie-modal .cm-modal .cm-header {
  border-bottom-color: #ebeff1;
  padding: 1.25rem 1.5rem;
}

.klaro .cookie-modal .cm-modal .cm-header h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #263238;
}

.klaro .cookie-modal .cm-modal .cm-body {
  padding: 1rem 1.5rem 1.25rem;
}

.klaro .cookie-modal .cm-modal .cm-body,
.klaro .cookie-modal .cm-modal .cm-body p,
.klaro .cookie-modal .cm-modal .cm-body li {
  color: #263238;
  line-height: 1.55;
}

.klaro .cookie-modal .cm-modal .cm-footer {
  border-top-color: #ebeff1;
  padding: 1rem 1.5rem 1.25rem;
}

.klaro .cookie-modal .cm-modal .hide svg {
  stroke: #546e7a;
}

.klaro .cookie-modal a,
.klaro .cookie-notice a {
  color: #005c7a;
  font-weight: 600;
}

.klaro .cookie-modal .cm-list-title {
  color: #263238;
  font-weight: 600;
}

.klaro .cookie-modal .cm-list-description {
  color: #546e7a;
}

.klaro .cookie-modal .cm-switch-container {
  border-bottom-color: #ebeff1;
}

/* Toggles */
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider {
  background-color: #005c7a;
}

.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.half-checked:checked + .cm-list-label .slider {
  background-color: #005c7a;
  opacity: 0.65;
}

.klaro .cookie-modal .cm-list-label .slider,
.klaro .cookie-notice .cm-list-label .slider {
  background-color: #ebeff1;
  box-shadow: none;
}

.klaro .cookie-modal .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-label .slider::before {
  background-color: #ffffff;
}

.klaro .cookie-modal .cm-footer .cm-powered-by {
  display: none;
}

@media (max-width: 1023px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    border-left: none;
    border-right: none;
    border-bottom: none;
  }

  .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons button.cm-btn {
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}
