:root{--rr-red:#ff0000;--rr-black:#0a0b0b;--rr-white:#fff;--rr-muted:#656b74}
.rrvpp-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(3,5,7,.72);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.rrvpp-overlay.is-open{opacity:1;visibility:visible}
.rrvpp-dialog{position:relative;width:min(760px,94vw);max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.45);transform:translateY(18px) scale(.985);transition:transform .25s ease}
.rrvpp-overlay.is-open .rrvpp-dialog{transform:translateY(0) scale(1)}
.rrvpp-close{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(10,11,11,.82);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.rrvpp-media-wrap{background:#000;aspect-ratio:16/9;overflow:hidden;border-radius:18px 18px 0 0}
.rrvpp-video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.rrvpp-content{padding:24px 26px 26px;text-align:center;border-top:3px solid var(--rr-red)}
.rrvpp-content h2{margin:0 0 8px;color:var(--rr-black);font-size:clamp(24px,3vw,34px);line-height:1.15}
.rrvpp-content p{margin:0 auto 18px;max-width:620px;color:var(--rr-muted);font-size:16px;line-height:1.55}
.rrvpp-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.rrvpp-cta,.rrvpp-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:9px;font-weight:700;text-decoration:none;cursor:pointer;transition:.2s ease}
.rrvpp-cta{background:var(--rr-red);color:#fff;border:1px solid var(--rr-red)}
.rrvpp-cta:hover{background:var(--rr-black);border-color:var(--rr-black);color:#fff}
.rrvpp-secondary{background:#fff;color:var(--rr-black);border:1px solid #d8dbe0}
.rrvpp-secondary:hover{border-color:var(--rr-black)}
.rrvpp-never{display:block;margin-top:14px;color:#666;font-size:13px}
body.rrvpp-lock-scroll{overflow:hidden}
@media(max-width:600px){.rrvpp-overlay{align-items:flex-end;padding:10px}.rrvpp-dialog{width:100%;max-height:92vh;border-radius:16px}.rrvpp-media-wrap{border-radius:16px 16px 0 0}.rrvpp-content{padding:18px 16px 20px}.rrvpp-actions{flex-direction:column}.rrvpp-cta,.rrvpp-secondary{width:100%}}
