.wbbConsentBanner, .wbbConsentDialog {
    background: var(--wcfContentBackground, #fff);
    color: var(--wcfContentText, #222);
    border: 1px solid var(--wcfContentBorder, #ccc);
    padding: 20px;
    text-align: start;
    line-height: 1.5;
}
.wbbConsentBanner[hidden], #wbbConsentRoot [hidden] { display: none !important; }
.wbbConsentBanner {
    position: fixed;
    inset: auto 0 0;
    z-index: 500;
    max-height: 65vh;
    overflow: auto;
    box-shadow: 0 -4px 16px #0002;
}
.wbbConsentBannerInner { max-width: 1200px; margin: auto; }
.wbbConsentBanner h2 { font-size: 1.2rem; font-weight: 600; margin: 0 0 8px; }
.wbbConsentActions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; align-items: center; }
.wbbConsentActions .button { min-height: 44px; min-width: 150px; flex: 1; white-space: normal; }
.wbbConsentDialog { box-sizing: border-box; width: min(700px, calc(100vw - 32px)); max-height: 85vh; overflow: auto; border-radius: 6px; }
.wbbConsentDialog[open] { display: flex; flex-direction: column; }
#wbbConsentServices { min-height: 0; overflow: auto; }
.wbbConsentDialog > h2, .wbbConsentDialog > a, .wbbConsentDialog > p, .wbbConsentDialog > .wbbConsentActions { flex-shrink: 0; }
.wbbConsentDialog a, .wbbConsentBanner a { color: var(--wcfContentLink, #2863ae); }
.wbbConsentDialog::backdrop { background: #0008; }
.wbbConsentDialog h2 { font-size: 1.3rem; font-weight: 600; margin-bottom: 16px; }
.wbbConsentCategory { border: 1px solid var(--wcfContentBorder, #ccc); margin: 16px 0; padding: 12px; }
.wbbConsentCategory legend { padding: 0 6px; font-weight: 600; }
.wbbConsentService { padding: 12px 0; overflow-wrap: anywhere; }
.wbbConsentService + .wbbConsentService { border-top: 1px solid var(--wcfContentBorder, #ccc); }
.wbbConsentService label { font-weight: 600; }
.wbbConsentService p { margin: 5px 0; }
.wbbConsentCategory input { margin-inline-end: 6px; accent-color: var(--wcfButtonPrimaryBackground, #3566a0); }
.wbbConsentCategory label { cursor: pointer; }
.wbbConsentNotice:not(:empty) { padding: 10px; margin-block: 12px; border: 1px solid currentColor; }
.wbbConsentFooter { padding: 16px; text-align: center; }
.wbbConsentReceipt { font-size: .85rem; margin-top: 16px; overflow-wrap: anywhere; }
.wbbConsentPlaceholder { border: 1px solid var(--wcfContentBorder, #ccc); background: var(--wcfContentBackground, #fff); color: var(--wcfContentText, #222); padding: 20px; text-align: center; }
.wbbConsentPlaceholder .button { margin: 10px 5px 0; white-space: normal; }
.wbbConsentScreenReader { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) {
    .wbbConsentBanner, .wbbConsentDialog { padding: 16px; }
    .wbbConsentActions { flex-direction: column; align-items: stretch; }
    .wbbConsentActions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .wbbConsentDialog, .wbbConsentBanner { scroll-behavior: auto; } }
