:root {
  --consent-text: var(--carpa-text);
  --consent-muted: var(--carpa-muted);
  --consent-border: var(--carpa-border);
  --consent-surface: var(--carpa-surface);
  --consent-primary: var(--carpa-button);
  --consent-primary-text: var(--carpa-button-text);
  --consent-secondary: var(--carpa-surface-alternate);
  --consent-secondary-text: var(--carpa-heading);
  --consent-success: var(--carpa-heading);
  --consent-focus: var(--carpa-heading);
  --consent-radius: var(--carpa-radius-panel);
  --consent-font: var(--carpa-font-family);
}
.cm-consent-banner {
  inset-inline: var(--carpa-page-gutter);
  width: min(var(--carpa-content-width), calc(100% - 2 * var(--carpa-page-gutter)));
  padding: var(--carpa-space-panel);
  gap: var(--carpa-grid-gap);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
}
body.site-current .cm-consent-banner-title {
  font-size: 22px;
  line-height: 1.3;
  font-weight: 500;
  margin: 0 0 8px;
}
.cm-consent-button {
  min-height: var(--carpa-button-height, 48px);
  border-radius: var(--carpa-radius-button);
}
.cm-consent-button--quiet, .cm-consent-button--secondary {
  color: var(--carpa-heading);
  border-color: var(--carpa-border);
}
.cm-consent-button--quiet:hover, .cm-consent-button--secondary:hover { background: var(--carpa-surface-alternate); }
.cm-consent-button--primary:hover { background: var(--carpa-button-hover); }
.cm-consent-always-on { color: var(--carpa-heading); }
.cm-consent-modal-header, .cm-consent-modal-footer { padding: var(--carpa-space-compact); }
.cm-consent-modal-body { padding-inline: var(--carpa-space-compact); }
.cm-consent-modal-close { min-height: 40px; }
/* Preferences remain available through the shared footer link. */
.cm-consent-settings-button { display: none; }
@media (max-width: 1100px) {
  .cm-consent-banner { grid-template-columns: 1fr; }
  .cm-consent-actions { justify-content: flex-start; }
}
