/* Event Pass uses the live scene as the free preview, including on a phone. */
.rs-pass-checking .tool-rail,.rs-pass-preview .tool-rail,
.rs-pass-checking #emptyStateOverlay,.rs-pass-preview #emptyStateOverlay,
.rs-pass-checking #btnToReview,.rs-pass-preview #btnToReview,
.rs-pass-checking #btnBackToRecommend,.rs-pass-preview #btnBackToRecommend,
.rs-pass-checking #btnUndo,.rs-pass-preview #btnUndo,
.rs-pass-checking #btnRedo,.rs-pass-preview #btnRedo,
.rs-pass-preview .inspector-panel { display:none!important; }
.event-pass-bar { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-top:1px solid #dce4df; background:#fff; color:#172536; }
.event-pass-bar[hidden] { display:none; }
.event-pass-bar strong,.event-pass-bar small { display:block; }
.event-pass-bar small { margin-top:4px; color:#526171; font-size:12px; }
.event-pass-bar button { min-height:44px; }
.event-pass-product { justify-content:center; padding:8px 14px; text-align:center; }
.event-pass-product > span > strong,.event-pass-product > [data-buy-pass] { display:none; }
.paywall-overlay { position:fixed; inset:0; z-index:2147483601; display:flex; align-items:center; justify-content:center; padding:16px; background:#132538a8; color:#172536; font-family:system-ui,-apple-system,sans-serif; }
.paywall-modal { position:relative; box-sizing:border-box; width:min(460px,100%); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; background:#fff; border-radius:22px; padding:28px; box-shadow:0 20px 70px #0004; }
.pass-close { position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:#edf2f5; border-radius:50%; color:#172536; font-size:26px; cursor:pointer; }
.pass-eyebrow { padding-right:32px; font-size:12px; font-weight:750; color:#2f7a3c; letter-spacing:.08em; text-transform:uppercase; }
.paywall-modal h2 { margin:12px 34px 14px 0; font-size:27px; line-height:1.15; }
.paywall-modal p { font-size:14px; line-height:1.5; }
.paywall-price { font-size:38px; font-weight:800; line-height:1.15; }
.paywall-price small { display:block; font-size:13px; color:#526171; font-weight:500; margin-top:4px; }
.pass-benefits { padding-left:20px; margin:16px 0; font-size:14px; line-height:1.5; }
.pass-benefits li { margin:7px 0; }
.paywall-label { display:block; font-size:14px; font-weight:650; margin-bottom:7px; }
.paywall-email,.pass-access-link { width:100%; box-sizing:border-box; font:inherit; font-size:16px; border:1px solid #bccbd4; border-radius:10px; padding:12px; background:#fff; color:#172536; }
.paywall-modal .btn-primary { box-sizing:border-box; display:block; width:100%; min-height:48px; padding:12px; margin-top:12px; border:0; border-radius:10px; background:#2f7a3c; color:#fff; text-align:center; font:700 15px system-ui; cursor:pointer; text-decoration:none; }
.paywall-modal [hidden] { display:none!important; }
.paywall-modal button:disabled { opacity:.65; cursor:wait; }
.paywall-error { color:#843b1b; overflow-wrap:anywhere; }
.paywall-modal .pass-fine { font-size:12px; color:#526171; }
.pass-back { width:100%; min-height:44px; border:0; background:none; text-decoration:underline; font:inherit; font-size:14px; color:#526171; cursor:pointer; }
.paywall-modal :focus-visible { outline:3px solid #1766b1; outline-offset:3px; }
@media(max-width:600px) { .event-pass-bar { flex-wrap:wrap; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); }.event-pass-bar > span { flex:1 1 100%; }.event-pass-bar button { flex:1 1 auto; }.paywall-modal { padding:23px 20px; border-radius:18px; }.paywall-modal h2 { font-size:24px; }.event-pass-product { padding:6px 12px; } }

.rs-pass-checking #drawer,.rs-pass-preview #drawer,
.rs-pass-checking #placementBar,.rs-pass-preview #placementBar,
.rs-pass-checking .inspector-panel { display:none!important; }
.event-preview-mark { position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:12;max-width:calc(100% - 32px);padding:7px 12px;border-radius:8px;border:1px solid #dce4df;background:#fffffff0;color:#40514a;box-shadow:0 2px 10px #0001;font:600 11px/1.4 system-ui;text-align:center;pointer-events:none; }
.event-preview-mark[hidden] { display:none; }
.pass-recover,.pass-legal { border:0;background:none;color:#1766b1;text-decoration:underline;font:inherit;cursor:pointer; }
.pass-recover { min-height:44px;font-size:13px;padding:8px; }
.pass-legal { padding:0; }
.preview-limit-screen { position:fixed; inset:0; z-index:2147483600; overflow:auto; display:grid; place-items:center; padding:20px; box-sizing:border-box; background:#f4f7f3; color:#19312a; font-family:system-ui,-apple-system,sans-serif; }
.preview-limit-card { width:min(420px,100%); box-sizing:border-box; padding:28px; background:#fff; border:1px solid #dce4df; border-radius:20px; }
.preview-limit-card h2 { font-size:clamp(24px,5vw,30px); line-height:1.15; margin:14px 0; }
.preview-limit-card h2:focus { outline:none; }
.preview-limit-card :is(button,a):focus-visible { outline:3px solid #1766b1; outline-offset:3px; }
.preview-limit-card p { font-size:15px; line-height:1.5; }
.preview-limit-card .pass-fine { font-size:12px; color:#526171; }
.preview-limit-card .btn-primary,.preview-limit-card .btn-secondary { display:block; width:100%; box-sizing:border-box; text-align:center; white-space:normal; min-height:48px; padding:13px; font:600 14px/1.4 system-ui; margin:12px 0; }
.preview-limit-card [hidden] { display:none!important; }
.rs-preview-expired #designerApp { visibility:hidden; }
@media(max-width:380px) { .preview-limit-screen { padding:14px; }.preview-limit-card { padding:22px 18px; } }
@media(max-width:600px) {
  .event-pass-product { gap:0 8px; }
  .event-pass-product > .pass-recover { flex:0 1 auto; display:inline-flex; align-items:center; justify-content:center; padding:4px 0; font-size:12px; }
  body.tent-preview .event-preview-mark { bottom:8px; width:max-content; max-width:calc(100% - 20px); padding:5px 8px; font-size:10px; }
}
@media print { .rs-pass-preview #step-review,.rs-pass-checking #step-review { display:none!important; }.rs-pass-preview .event-preview-mark,.rs-pass-checking .event-preview-mark { display:block!important;position:fixed;bottom:20px; }.paywall-overlay,.rs-help,.event-pass-bar { display:none!important; } }

/* Mobile access: fixed header, independently scrollable offer, usable keyboard viewport. */
.paywall-overlay { box-sizing:border-box; bottom:auto; height:100dvh; padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
.paywall-modal { display:flex; flex-direction:column; min-height:0; max-height:100%; overflow:hidden; padding:0; }
.paywall-header { position:relative; flex:0 0 auto; padding:22px 24px 12px; border-bottom:1px solid #e4ebe6; background:#fff; z-index:2; }
.paywall-header h2 { margin:10px 30px 0 0; }
.paywall-header h2:focus { outline:none; }
.paywall-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:14px 24px 24px; scroll-padding-block:18px; }
.paywall-content>:first-child { margin-top:0; }
.paywall-content :is(input,button,a) { scroll-margin-block:18px; }
.paywall-content .pass-recover { display:inline-flex; align-items:center; }
.paywall-content .pass-fine { line-height:1.55; }
.paywall-content .paywall-submit { white-space:normal; }
@media(max-width:380px), (max-height:420px) {
  .paywall-header { padding:16px 18px 10px; }
  .paywall-header h2 { font-size:21px; }
  .paywall-content { padding:12px 18px 20px; }
}
