/* RWS Consent CMP (Samurai) – v1.1 */
:root{
  --rc-bg: rgba(15,17,20,.94);
  --rc-fg: #e9eef5;
  --rc-bd: rgba(255,255,255,.08);
  --rc-gold:#f2d675; --rc-gold2:#c9a227; --rc-gold3:#7a5c12;
  --rc-radius:14px;
}
#rws-consent-root{
  position:fixed; inset:0; z-index:10000;
  display:grid; place-items:center; padding:18px;
}
#rws-consent-root[hidden]{ display:none!important; }

/* Container mit internem Scroll – Buttons bleiben sichtbar */
.rws-cmp{
  width:min(900px,calc(100vw - 24px));
  max-height: min(88vh, 860px);
  overflow:auto;
  background:var(--rc-bg); color:var(--rc-fg);
  border:1px solid var(--rc-bd); border-radius:var(--rc-radius);
  backdrop-filter: blur(6px); box-shadow:0 18px 60px rgba(0,0,0,.48);
  transform: translateY(10px); opacity:0; transition: transform .2s ease, opacity .2s ease;
}
.rws-cmp.show{ transform:none; opacity:1; }

.rws-cmp .hd{ padding:16px; border-bottom:1px solid var(--rc-bd); }
.rws-cmp .ttl{ margin:0; font: 1000 20px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--rc-gold); text-shadow:0 1px 0 rgba(0,0,0,.65); }

.rws-cmp .tx{ padding:12px 16px 6px; line-height:1.55; }
.rws-cmp .cats{ padding:8px 16px 14px; display:grid; gap:8px; }
.rws-cmp .cat{
  display:grid; grid-template-columns: auto 1fr auto; gap:10px; align-items:start;
  padding:10px; border:1px solid var(--rc-bd); border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
}
.rws-cmp .cat .nm{ font-weight:900; letter-spacing:.2px; }
.rws-cmp .cat .ds{ opacity:.9; }

.rws-cmp .switch{ appearance:none; width:52px; height:30px;
  border:2px solid var(--rc-bd); border-radius:999px; position:relative; cursor:pointer; background:#14161a; }
.rws-cmp .switch::after{ content:""; position:absolute; top:2px; left:2px; width:24px; height:24px; border-radius:50%; background:#2b2f36; transition:left .15s ease, background .15s ease; }
.rws-cmp .switch:checked{ border-color:#2c7a2c; background:#153015; }
.rws-cmp .switch:checked::after{ left:24px; background:#38a238; }
.rws-cmp .switch[disabled]{ opacity:.55; cursor:not-allowed; }

/* Sticky-Footer, identische Buttons */
.rws-cmp .ft{
  position: sticky; bottom: 0; z-index: 1;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end;
  padding:12px; border-top:1px solid var(--rc-bd);
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.28));
  border-bottom-left-radius: var(--rc-radius);
  border-bottom-right-radius: var(--rc-radius);
}
.rws-cmp .btn{
  min-width: 180px; height: 44px; padding: 0 14px;
  display:inline-grid; place-items:center;
  border-radius:10px; font-weight:900; border:2px solid var(--rc-gold3); cursor:pointer;
  box-shadow: 0 0 0 1px rgba(201,162,39,.14) inset, 0 6px 20px rgba(0,0,0,.22);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.rws-cmp .btn:hover{ transform: translateY(-1px); }
.rws-cmp .btn-acc{ background:linear-gradient(135deg,var(--rc-gold),var(--rc-gold2)); color:#1a1402; }
.rws-cmp .btn-rej, .rws-cmp .btn-sav{ background:linear-gradient(145deg,#0f1012,#1c1f22); color:var(--rc-fg); }

@media (max-width:520px){
  .rws-cmp{ width: calc(100vw - 16px); }
  .rws-cmp .btn{ min-width: unset; flex:1 1 46%; }
}
