.rk-compliance-banner {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 999999;
    background: var(--rk-bg, #1f2328);
    color: var(--rk-text, #fff);
    padding: 16px;
    box-shadow: 0 0 20px rgba(0,0,0,.3);
    font-size: 14px;
    line-height: 1.5;
}
.rk-compliance-bottom { bottom: 0; }
.rk-compliance-top { top: 0; }

.rk-compliance-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
}
.rk-compliance-text { flex: 1 1 320px; margin: 0; }
.rk-compliance-text a { color: inherit; text-decoration: underline; }

.rk-compliance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* !important: Host-Themes (z.B. Elementor Global Kit) definieren oft eigene
   button{}-Stile mit hoeherer Spezifitaet als eine einzelne Klasse -- der
   Consent-Banner muss trotzdem immer lesbar bleiben, unabhaengig vom Theme. */
.rk-compliance-btn {
    border: 1px solid rgba(128,128,128,.45) !important;
    background: transparent !important;
    color: inherit !important;
    padding: 10px 18px !important;
    border-radius: var(--rk-radius, 4px) !important;
    cursor: pointer;
    font-size: 14px !important;
    font-family: inherit !important;
    box-shadow: none !important;
    text-transform: none !important;
}
.rk-compliance-btn-primary {
    background: var(--rk-accent, #4a8f3c) !important;
    border-color: var(--rk-accent, #4a8f3c) !important;
    color: var(--rk-accent-text, #fff) !important;
    font-weight: 600 !important;
}

.rk-compliance-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    background: rgba(0,0,0,.5);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.rk-compliance-modal-inner {
    background: #fff;
    color: #1f2328;
    max-width: 560px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    border-radius: 8px;
    padding: 24px;
}
.rk-compliance-modal-inner h2 { margin-top: 0; }
.rk-compliance-category {
    border-top: 1px solid #e2e2e2;
    padding: 14px 0;
}
.rk-compliance-category:first-of-type { border-top: none; }
.rk-compliance-category-head label { font-weight: 600; display: flex; align-items: center; gap: 8px; }
.rk-compliance-category-head input[type="checkbox"] { accent-color: var(--rk-accent, #4a8f3c); width: 17px; height: 17px; }
.rk-compliance-category p { margin: 6px 0 0; color: #555; font-size: 13px; }
.rk-compliance-modal .rk-compliance-btn { color: #1f2328 !important; border-color: #ccc !important; }
.rk-compliance-modal .rk-compliance-btn-primary { color: var(--rk-accent-text, #fff) !important; }

.rk-compliance-reopen {
    background: none !important;
    border: none !important;
    text-decoration: underline;
    cursor: pointer;
    padding: 0 !important;
    color: var(--rk-accent, #178ca4) !important;
    font: inherit;
    box-shadow: none !important;
}

[hidden] { display: none !important; }

.rk-compliance-decl-intro p,
.rk-compliance-decl-outro p { margin: 0 0 14px; line-height: 1.6; }
.rk-compliance-decl-heading { margin: 24px 0 8px; }
.rk-compliance-decl-table { width: 100%; border-collapse: collapse; margin-bottom: 16px; font-size: 14px; }
.rk-compliance-decl-table th,
.rk-compliance-decl-table td { border: 1px solid #e2e2e2; padding: 8px 10px; text-align: left; }
.rk-compliance-decl-table th { background: #f6f7f7; }
