/* ============================================================
   Klaro! Consent Manager — Planty-Theme
   Overrides the contrib Klaro default (gray/blue) with the
   Planty light palette. Loaded via global-styling after
   style.css; uses !important to win over Klaro's injected
   CSS variables. See css/style.css:--planty-mint for brand fill.
   ============================================================ */

.klaro .cookie-modal,
.klaro .context-notice,
.klaro .cookie-notice {
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background-color: #ffffff !important;
  color: #171d1b !important;
  border-radius: 16px !important;
}

.klaro .cookie-modal {
  max-width: min(640px, calc(100vw - 2rem)) !important;
  box-shadow: 0 8px 24px rgba(23, 29, 27, 0.16) !important;
  border: 1px solid #d2ddd8 !important;
}

.klaro .cookie-modal .cm-title,
.klaro .cookie-modal h1,
.klaro .cookie-modal h2 {
  color: #171d1b !important;
}

.klaro .cookie-modal p,
.klaro .cookie-modal .cm-list-description {
  color: #505c57 !important;
}

/* Links */
.klaro a,
.klaro .cm-link {
  color: #007a5a !important;
}

/* Buttons — base: pill radius, medium weight */
.klaro .cookie-modal .cm-btn,
.klaro .context-notice .cm-btn,
.klaro .cookie-notice .cm-btn {
  border-radius: 12px !important;
  font-weight: 600 !important;
  padding: 0.55rem 1rem !important;
  margin-right: 0.5rem !important;
  font-size: 0.9375rem !important;
}

/* Primary / accept-all */
.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .context-notice .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success {
  background-color: #007a5a !important;
  color: #ffffff !important;
  border-color: #007a5a !important;
}
.klaro .cookie-modal .cm-btn.cm-btn-success:hover,
.klaro .context-notice .cm-btn.cm-btn-success:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success:hover {
  background-color: #00684d !important;
}

/* Custom "accept selection" */
.klaro .cookie-modal .cm-btn.cm-btn-info,
.klaro .context-notice .cm-btn.cm-btn-info,
.klaro .cookie-notice .cm-btn.cm-btn-info {
  background-color: transparent !important;
  color: #007a5a !important;
  border: 1px solid #007a5a !important;
}
.klaro .cookie-modal .cm-btn.cm-btn-info:hover,
.klaro .context-notice .cm-btn.cm-btn-info:hover,
.klaro .cookie-notice .cm-btn.cm-btn-info:hover {
  background-color: #ccf0e1 !important;
}

/* Secondary variant */
.klaro .cookie-modal .cm-btn.cm-btn-success-var,
.klaro .context-notice .cm-btn.cm-btn-success-var,
.klaro .cookie-notice .cm-btn.cm-btn-success-var {
  background-color: #ccf0e1 !important;
  color: #003a2a !important;
}

/* Decline / default / close — ghost */
.klaro .cookie-modal .cm-btn,
.klaro .cookie-modal .cm-btn.cm-btn-close,
.klaro .context-notice .cm-btn.cm-btn-close,
.klaro .cookie-notice .cm-btn.cm-btn-close {
  background-color: transparent !important;
  color: #505c57 !important;
  border: 1px solid #d2ddd8 !important;
}
.klaro .cookie-modal .cm-btn:hover,
.klaro .cookie-modal .cm-btn.cm-btn-close:hover {
  background-color: #f0f5f2 !important;
  color: #171d1b !important;
}

/* Toggle slider — on state */
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider {
  background-color: #007a5a !important;
}

/* Focus rings */
.klaro .cookie-modal .cm-list-label input:focus + .slider {
  box-shadow: 0 0 0 3px rgba(0, 122, 90, 0.25) !important;
}
.klaro .cm-btn:focus-visible {
  outline: 2px solid #007a5a !important;
  outline-offset: 2px !important;
}

/* Buttons wrap instead of overflowing on small screens */
.klaro .cookie-modal .cm-buttons,
.klaro .cookie-modal .cm-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}
.klaro .cookie-modal .cm-buttons .cm-btn {
  margin-right: 0 !important;
}

@media (max-width: 480px) {
  .klaro .cookie-modal {
    padding: 1rem !important;
  }
  .klaro .cookie-modal .cm-btn {
    width: 100% !important;
  }
}
