/* Klaro consent banner — minimal CSS that loads same-origin, no inline styles.
   Aligned with the GitHub-markdown chrome from style.css (var-driven colors).
   No external font/icon dependencies. Banner is keyboard-navigable. */

.klaro-banner {
  position: fixed;
  inset-inline: 1rem;
  bottom: 1rem;
  max-width: 32rem;
  margin-inline: auto;
  background: #ffffff;
  color: #1f2328;
  border: 1px solid #d1d9e0;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(31, 35, 40, 0.16);
  padding: 1rem 1.25rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
    sans-serif;
  z-index: 9999;
}

/* Strict variant for EU visitors / mustConsent=true. The banner stays
   in its same bottom-anchored position but gets a heavier shadow and a
   full-viewport overlay behind it to discourage click-through interaction
   with the rest of the page until a consent decision is made. The CSS
   does NOT block pointer-events on the page beneath (that would break
   accessibility for keyboard users); the overlay is visual reinforcement.
   The Decline button always remains the right move for any visitor who
   wants to refuse — no dark patterns. */
.klaro-banner--strict {
  border: 1px solid #1f2328;
  box-shadow:
    0 0 0 100vmax rgba(31, 35, 40, 0.4),
    0 12px 32px rgba(31, 35, 40, 0.32);
}

.klaro-banner__title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 600;
}

.klaro-banner__desc {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #59636e;
}

.klaro-banner__link {
  color: #0969da;
  text-decoration: underline;
  white-space: nowrap;
}

.klaro-banner__link:hover {
  text-decoration: none;
}

.klaro-banner__link:focus-visible {
  outline: 2px solid #0969da;
  outline-offset: 2px;
}

.klaro-banner__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.klaro-btn {
  appearance: none;
  border: 1px solid #d1d9e0;
  background: #f6f8fa;
  color: #1f2328;
  font: inherit;
  font-size: 0.875rem;
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s ease;
}

.klaro-btn:hover {
  background: #eaeef2;
}

.klaro-btn:focus-visible {
  outline: 2px solid #0969da;
  outline-offset: 2px;
}

.klaro-btn--accept {
  background: #1f883d;
  border-color: #1f883d;
  color: #ffffff;
}

.klaro-btn--accept:hover {
  background: #1a7332;
}

.klaro-btn--decline {
  background: transparent;
}

.klaro-btn a {
  color: inherit;
  text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
  .klaro-banner {
    background: #0d1117;
    color: #f0f6fc;
    border-color: #30363d;
  }
  .klaro-banner__desc {
    color: #8d96a0;
  }
  .klaro-btn {
    background: #21262d;
    border-color: #30363d;
    color: #f0f6fc;
  }
  .klaro-btn:hover {
    background: #30363d;
  }
}
