html.orwp-scroll-lock { overflow: hidden !important; overscroll-behavior: none; }
@supports selector(html:has(body)) { html:has(body.orwp-covered:not(.orwp-desktop-direct)) { overflow: hidden !important; overscroll-behavior: none; } }
body.orwp-covered:not(.orwp-desktop-direct) { overflow: hidden !important; background: #000 !important; }
body.orwp-covered:not(.orwp-desktop-direct) > * { visibility: hidden; }
body.orwp-covered:not(.orwp-desktop-direct) .orwp-presentation, body.orwp-covered:not(.orwp-desktop-direct) .orwp-presentation * { visibility: visible; }
@media (pointer: coarse), (pointer: none) {
  @supports selector(html:has(body)) { html:has(body.orwp-covered.orwp-desktop-direct) { overflow: hidden !important; overscroll-behavior: none; } }
  body.orwp-covered.orwp-desktop-direct { overflow: hidden !important; background: #000 !important; }
  body.orwp-covered.orwp-desktop-direct > * { visibility: hidden; }
  body.orwp-covered.orwp-desktop-direct .orwp-presentation, body.orwp-covered.orwp-desktop-direct .orwp-presentation * { visibility: visible; }
}
.orwp-presentation { position: fixed !important; inset: 0 !important; z-index: 2147483647 !important; width: 100% !important; height: 100vh !important; height: 100dvh !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left) !important; background: #000 !important; }
.orwp-presentation .orwp-video { display: block; width: min(100%, var(--orwp-video-width, 1200px)); height: auto; max-width: 100%; max-height: min(100%, var(--orwp-video-height, 1200px)); object-fit: contain; margin: auto; }
.orwp-presentation.orwp-auto .orwp-video { width: min(100%, var(--orwp-video-width, 1200px)); max-width: 100%; max-height: min(100%, var(--orwp-video-height, 1200px)); }
.orwp-presentation .orwp-image { display: block; pointer-events: none; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; margin: auto; }
.orwp-image-container { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-width: 0; min-height: 0; }
.orwp-action { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; max-height: 100%; }
.orwp-action .orwp-image { max-height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
.orwp-presentation [hidden] { display: none !important; }
.orwp-reveal { animation: orwp-appear .35s ease-in; }
@keyframes orwp-appear { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .orwp-reveal { animation: none; } }
@media (pointer: coarse), (pointer: none) { .orwp-presentation .orwp-video, .orwp-presentation.orwp-auto .orwp-video { max-width: min(100%, var(--orwp-video-scale, 100%)); max-height: min(100%, var(--orwp-video-scale, 100%)); } }
@media (pointer: fine) { body.orwp-desktop-direct .orwp-presentation { display: none !important; } }

.orwp-presentation .orwp-action { position: relative; z-index: 1; pointer-events: none; visibility: visible; }
.orwp-presentation .orwp-action .orwp-image { pointer-events: none; }
.orwp-presentation, .orwp-image-container { pointer-events: none !important; }
.orwp-presentation .orwp-video, .orwp-presentation .orwp-recovery { pointer-events: auto; }

.orwp-recovery { color: white; text-align: center; padding: 1.5rem; } .orwp-recovery a { color: white; text-decoration: underline; } .orwp-recovery button { cursor: pointer; }

.orwp-presentation .orwp-extra-link { position: absolute; left: 50%; bottom: max(24px, env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 2; pointer-events: auto !important; background: #fff; color: #111; font-weight: 600; font-size: 1rem; padding: .75rem 1.75rem; border-radius: 999px; text-decoration: none; box-shadow: 0 4px 16px rgba(0,0,0,.35); white-space: nowrap; }


/* Image/GIF stage: black screen stays; site is invisible (opacity 0) but still receives the clicks that pass through the image. */
body.orwp-covered.orwp-passthrough > *:not(.orwp-presentation):not(.orwp-holder) { visibility: visible !important; opacity: 0 !important; }
body.orwp-covered.orwp-passthrough .orwp-presentation, body.orwp-covered.orwp-passthrough .orwp-presentation * { pointer-events: none !important; }

/* Always fit the viewport, preserving the video aspect ratio. */
.orwp-presentation.orwp-auto .orwp-video { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
