/* Cookie consent shares the live site's categories, using the prototype's Regel tokens. */
.prototype-cookie-banner,
.prototype-cookie-dialog {
  color: var(--text-primary);
  background: var(--surface-raised, var(--bg-base));
  border: 1px solid var(--border-default);
  border-radius: var(--regel-card-radius, 8px);
  box-shadow: var(--regel-shadow-md);
}
.prototype-cookie-banner {
  position: fixed;
  z-index: 80;
  right: 24px;
  bottom: 24px;
  width: min(437px, calc(100vw - 32px));
  padding: 24px;
}
.prototype-cookie-banner p {
  margin: 0 0 24px;
  color: var(--text-secondary);
  font-size: var(--regel-label-md-size);
  line-height: var(--regel-label-md-line);
  font-weight: var(--regel-type-label-weight);
  letter-spacing: var(--regel-label-md-tracking);
}
.prototype-cookie-banner a { color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px; }
.prototype-cookie-dialog {
  position: fixed;
  inset: 0;
  width: min(667px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 32px;
  overflow-y: auto;
}
.prototype-cookie-dialog::backdrop { background: color-mix(in srgb, var(--bg-inverse) 25%, transparent); backdrop-filter: blur(1px); }
.prototype-cookie-dialog header { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.prototype-cookie-dialog h2 { margin: 0; flex: 1; }
.prototype-cookie-close { color: var(--text-secondary); background: transparent; border: 0; padding: 0; min-width: 24px; font: inherit; font-size: 24px; line-height: 24px; cursor: pointer; }
.prototype-cookie-category { display: flex; align-items: flex-start; gap: 12px; padding: 20px 0; border-top: 1px solid var(--border-default); cursor: pointer; }
.prototype-cookie-category:last-child { border-bottom: 1px solid var(--border-default); }
.prototype-cookie-category > span { display: grid; gap: 4px; }
.prototype-cookie-category input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--text-primary); cursor: pointer; }
.prototype-cookie-category:has(input:disabled) { cursor: default; }
.prototype-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.prototype-cookie-dialog .prototype-cookie-actions { margin-top: 24px; }
.prototype-cookie-dialog [data-cookie-status]:empty { display: none; }
.prototype-cookie-dialog [data-cookie-status] { margin-top: 16px; }
[data-cookie-consent] [hidden] { display: none !important; }
.prototype-cookie-close:focus-visible,
.prototype-cookie-category input:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 4px; }
@media (max-width: 599px) {
  .prototype-cookie-banner { right: 16px; bottom: 16px; padding: 20px; }
  .prototype-cookie-dialog { padding: 24px; }
  .prototype-cookie-dialog .prototype-cookie-actions { flex-direction: column; }
  .prototype-cookie-dialog .prototype-cookie-actions > button { width: 100%; }
}
