/* Always behind the element content */
.rbv-has-video{ position:relative; z-index:0; overflow:hidden; }
.rbv-bg-wrapper{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.rbv-bg-video.rbv-layer{ position:absolute; width:100%; height:100%; inset:0; opacity:1; }
.rbv-bg-overlay{ position:absolute; inset:0; background: var(--rbv-overlay, rgba(0,0,0,0.25)); }
/* Preloader */
.rbv-preloader{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:1; pointer-events:none; opacity:0; }
.rbv-preloader--spinner{ background: rgba(0,0,0,0.15); }
.rbv-preloader--spinner .rbv-spinner{ width:42px; height:42px; border-radius:50%; border:3px solid rgba(255,255,255,0.35); border-top-color:#fff; animation: rbv-spin 0.9s linear infinite; }
@keyframes rbv-spin{ to { transform: rotate(360deg); } }
.rbv-preloader--blur{ backdrop-filter: blur(8px); background: rgba(0,0,0,0.12); }
/* Editor fix - promote z-index to ensure visibility over backgrounds */
.elementor-editor-active .rbv-bg-wrapper{ z-index: 1; }
.elementor-editor-active .rbv-bg-video { opacity: 1 !important; visibility: visible !important; }
