.rd-consent-banner, .rd-consent-dialog {
	color: var(--rd-color-text, #17253d); background: var(--rd-color-surface, #fff);
	border: 1px solid var(--rd-color-border, #78869b); border-radius: .5rem;
	padding: 1.25rem; font: inherit; line-height: 1.55; box-sizing: border-box; overflow-wrap: anywhere;
}
.rd-consent-banner { position: fixed; z-index: 100; inset: auto 1rem 1rem; max-width: 44rem; max-height: 70vh; overflow: auto; box-shadow: 0 4px 24px #0002; }
.rd-consent-banner[hidden] { display: none; }
.rd-consent-banner h2 { padding-right: 2.5rem; }
.rd-consent-dismiss { position: absolute; top: .5rem; right: .5rem; width: 2.5rem; min-height: 2.5rem; padding: 0; font-size: 1.5rem; line-height: 1; }
.rd-consent-dialog { width: min(36rem, calc(100% - 2rem)); max-height: 85vh; overflow: auto; }
.rd-consent-dialog::backdrop { background: #0008; }
.rd-consent-banner h2, .rd-consent-dialog h2 { font-size: 1.25rem; margin: 0 0 .75rem; }
.rd-consent-banner p, .rd-consent-dialog p { margin: .75rem 0; }
.rd-consent-note { color: var(--rd-color-muted, #526078); font-size: .9375rem; }
.rd-consent-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.rd-consent-actions button { color: var(--rd-color-text, #17253d); background: var(--rd-color-canvas, #f7f8fa); border: 1px solid var(--rd-color-border, #78869b); border-radius: .25rem; padding: .65rem .85rem; min-height: 44px; font: inherit; cursor: pointer; }
.rd-consent-actions button:hover { text-decoration: underline; }
.rd-consent-actions button:focus-visible, .rd-consent-category input:focus-visible { outline: 3px solid var(--rd-color-primary, #234ac7); outline-offset: 3px; }
.rd-consent-category { display: flex; gap: .75rem; align-items: baseline; margin: 1rem 0; cursor: pointer; }
.rd-consent-category input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; accent-color: var(--rd-color-primary, #234ac7); }
.rd-consent-category span { min-width: 0; }
.rd-consent-actions button { max-width: 100%; }
