.rgpd-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,0.35);backdrop-filter:blur(4px);z-index:99998;opacity:0;transition:opacity .4s ease}
.rgpd-overlay.active{display:block;opacity:1}
.rgpd-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99999;padding:20px;pointer-events:none}
.rgpd-banner.active{display:block;animation:rgpdSlideUp .5s cubic-bezier(.16,1,.3,1) forwards}
.rgpd-inner{pointer-events:auto;max-width:720px;margin:0 auto;background:var(--white,#fff);border:1px solid var(--slate-200,#e2e8f0);border-radius:20px;padding:28px 28px 24px;box-shadow:0 -4px 40px rgba(15,23,42,.10),0 0 0 1px rgba(15,23,42,.03)}
.rgpd-content{display:flex;align-items:flex-start;gap:16px}
.rgpd-icon{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:var(--orange-ultra-light,#fff7ed);color:var(--orange,#f97316);display:flex;align-items:center;justify-content:center}
.rgpd-text{flex:1;min-width:0}
.rgpd-title{font-family:var(--font-display,'Outfit',sans-serif);font-weight:700;font-size:1rem;color:var(--slate-900,#0f172a);margin-bottom:6px;line-height:1.3}
.rgpd-desc{font-family:var(--font-body,'DM Sans',sans-serif);font-size:.85rem;color:var(--slate-600,#475569);line-height:1.6}
.rgpd-desc a{color:var(--orange,#f97316);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.rgpd-desc a:hover{color:var(--orange-dark,#ea580c)}
.rgpd-details{display:none;margin-top:20px;padding-top:20px;border-top:1px solid var(--slate-200,#e2e8f0);flex-direction:column;gap:14px}
.rgpd-details.open{display:flex}
.rgpd-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:12px;background:var(--slate-50,#f8fafc)}
.rgpd-option-info{flex:1;min-width:0}
.rgpd-option-label{display:block;font-family:var(--font-display,'Outfit',sans-serif);font-weight:600;font-size:.88rem;color:var(--slate-900,#0f172a)}
.rgpd-option-desc{display:block;font-size:.78rem;color:var(--slate-500,#64748b);margin-top:2px;line-height:1.5}
.rgpd-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.rgpd-toggle input{opacity:0;width:0;height:0;position:absolute}
.rgpd-toggle label{position:absolute;inset:0;cursor:pointer;background:var(--slate-300,#cbd5e1);border-radius:24px;transition:background .3s ease}
.rgpd-toggle label::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.rgpd-toggle input:checked+label{background:var(--orange,#f97316)}
.rgpd-toggle input:checked+label::after{transform:translateX(20px)}
.rgpd-toggle--locked label{cursor:not-allowed;opacity:.6}
.rgpd-toggle--locked input:checked+label{background:var(--slate-400,#94a3b8)}
.rgpd-actions{display:flex;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}
.rgpd-btn{font-family:var(--font-display,'Outfit',sans-serif);font-weight:600;font-size:.85rem;padding:11px 22px;border-radius:50px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);white-space:nowrap}
.rgpd-btn--settings{background:none;color:var(--slate-600,#475569);padding:11px 16px;margin-right:auto}
.rgpd-btn--settings:hover{color:var(--orange,#f97316)}
.rgpd-btn--refuse{background:var(--slate-100,#f1f5f9);color:var(--slate-700,#334155);border:1px solid var(--slate-200,#e2e8f0)}
.rgpd-btn--refuse:hover{background:var(--slate-200,#e2e8f0);transform:translateY(-1px)}
.rgpd-btn--accept{background:var(--orange,#f97316);color:#fff;box-shadow:0 2px 8px rgba(249,115,22,.25)}
.rgpd-btn--accept:hover{background:var(--orange-dark,#ea580c);transform:translateY(-1px);box-shadow:0 4px 16px rgba(249,115,22,.3)}
@keyframes rgpdSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
  .rgpd-inner{padding:20px 18px 18px;border-radius:16px}
  .rgpd-content{flex-direction:column;gap:10px}
  .rgpd-icon{width:40px;height:40px;border-radius:10px}
  .rgpd-actions{flex-direction:column;gap:8px}
  .rgpd-btn{width:100%;text-align:center}
  .rgpd-btn--settings{margin-right:0;order:3}
}
