/* Keepframe — consent UI shared by the main site and standalone legal pages. */
.kf-consent[hidden],
.kf-consent-settings[hidden] { display: none !important; }

.kf-consent {
  position: fixed;
  z-index: 10000;
  left: 20px;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 920px;
  margin: 0 auto;
  padding: 18px 20px;
  color: #181226;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid #d8cff0;
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(24, 18, 38, 0.2);
  font: 14px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.kf-consent__copy { max-width: 610px; }
.kf-consent__copy strong { display: block; margin-bottom: 3px; font-size: 15px; }
.kf-consent__copy p { margin: 0 0 4px; color: #4b4261; }
.kf-consent__copy a { color: #6d28d9; font-weight: 650; }
.kf-consent__actions { display: flex; flex: 0 0 auto; gap: 10px; }

.kf-consent button,
.kf-consent-settings {
  border: 1px solid #7c3aed;
  border-radius: 999px;
  padding: 10px 16px;
  font: 650 13px/1 system-ui, -apple-system, "Segoe UI", sans-serif;
  cursor: pointer;
}

.kf-consent__accept { color: #fff; background: #6d28d9; }
.kf-consent__reject { color: #5b21b6; background: transparent; }
.kf-consent button:focus-visible,
.kf-consent-settings:focus-visible { outline: 3px solid #c4b5fd; outline-offset: 2px; }

.kf-consent-settings {
  position: fixed;
  z-index: 9999;
  left: 14px;
  bottom: 14px;
  padding: 8px 12px;
  color: #5b21b6;
  background: rgba(255, 255, 255, 0.94);
  border-color: #c4b5fd;
  box-shadow: 0 8px 26px rgba(24, 18, 38, 0.14);
}

[data-theme="dark"] .kf-consent,
[data-theme="dark"] .kf-consent-settings {
  color: #f2eefb;
  background: rgba(22, 18, 31, 0.98);
  border-color: #4c3d6b;
}
[data-theme="dark"] .kf-consent__copy p { color: #cfc8e0; }
[data-theme="dark"] .kf-consent__copy a,
[data-theme="dark"] .kf-consent-settings { color: #d8b4fe; }
[data-theme="dark"] .kf-consent__reject { color: #d8b4fe; }

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) .kf-consent,
  html:not([data-theme]) .kf-consent-settings {
    color: #f2eefb;
    background: rgba(22, 18, 31, 0.98);
    border-color: #4c3d6b;
  }
  html:not([data-theme]) .kf-consent__copy p { color: #cfc8e0; }
  html:not([data-theme]) .kf-consent__copy a,
  html:not([data-theme]) .kf-consent-settings,
  html:not([data-theme]) .kf-consent__reject { color: #d8b4fe; }
}

@media (max-width: 700px) {
  .kf-consent { align-items: stretch; flex-direction: column; gap: 14px; }
  .kf-consent__actions { width: 100%; }
  .kf-consent__actions button { flex: 1 1 50%; }
}
