.rgpd-hidden{display:none}
/* Banner: compact, centered, floating card to avoid covering full width content */
.rgpd-banner{
  position:fixed;left:50%;bottom:12px;transform:translateX(-50%);
  z-index:9999;
  background:rgba(11,16,32,.92);
  color:#fff;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  width:min(1100px,calc(100% - 32px));
  backdrop-filter:saturate(140%) blur(6px);
  opacity:0;
  transition:opacity .2s ease;
}
.rgpd-banner.rgpd-show{opacity:1}
.rgpd-banner .rgpd-inner{
  display:flex;gap:12px;align-items:center;justify-content:space-between;
  padding-bottom:calc(2px + env(safe-area-inset-bottom));
}
.rgpd-banner p{margin:0;font-size:.95rem;line-height:1.45;color:#e5e7eb}
.rgpd-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rgpd-actions #rgpd-deny{grid-column:1}
.rgpd-actions #rgpd-accept{grid-column:2}
.rgpd-actions #rgpd-manage{grid-column:1 / -1}
.rgpd-btn{appearance:none;border:0;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;transition:filter .15s ease, background-color .15s ease}
.rgpd-btn:hover{filter:brightness(1.05)}
.rgpd-btn.primary{background:#7ee081;color:#0b1020}
.rgpd-btn.secondary{background:#1f2942;color:#fff}
.rgpd-btn.ghost{background:transparent;color:#cbd5e1;text-decoration:underline}

.rgpd-manage{margin:32px auto 48px;text-align:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.rgpd-manage-link{color:#94a3b8;text-decoration:underline;font-size:.9rem}
.rgpd-manage-link:hover{color:#e2e8f0}

.rgpd-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998}
.rgpd-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10000;background:#fff;color:#0b1020;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);width:min(680px,92%);max-height:80vh;overflow:auto}
.rgpd-panel header{padding:16px 18px;border-bottom:1px solid #e5e7eb;font-weight:700}
.rgpd-panel .rgpd-body{padding:16px 18px}
.rgpd-panel .rgpd-group{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1f5f9;gap:12px;cursor:pointer}
.rgpd-panel .rgpd-group:last-child{border-bottom:0}
.rgpd-panel .rgpd-group.is-disabled{opacity:.6;cursor:not-allowed}
.rgpd-toggle{appearance:none;-webkit-appearance:none;width:44px;height:26px;background:#e5e7eb;border-radius:999px;position:relative;border:1px solid #e5e7eb;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.rgpd-toggle::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;background:#ffffff;border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.12);transition:left .2s ease}
.rgpd-toggle:checked{background:#10b981;border-color:#10b981}
.rgpd-toggle:checked::after{left:20px}
.rgpd-toggle:disabled{opacity:.5;cursor:not-allowed}
.rgpd-panel footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 18px;border-top:1px solid #e5e7eb}

@media (max-width:600px){
  .rgpd-banner{bottom:8px;width:calc(100% - 16px)}
  .rgpd-banner .rgpd-inner{flex-direction:column;align-items:stretch}
  .rgpd-actions{grid-template-columns:1fr}
  .rgpd-btn{width:100%}
}
