.uncan-video-modal { 
	position: fixed; 
	inset: 0; 
	z-index: 9999 !important; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	opacity: 0; 
	visibility: hidden; 
	transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1);
	pointer-events: none;
}
.uncan-video-modal.is-active { 
	opacity: 1; 
	visibility: visible; 
	pointer-events: auto;
}

body.modal-open {
	overflow: hidden !important;
	height: 100vh !important;
}

/* Pointer events fix for header/footer */
body.modal-open header, 
body.modal-open footer, 
body.modal-open .elementor-location-header, 
body.modal-open .elementor-location-footer {
	pointer-events: none !important;
	opacity: 0;
}

/* DARK PURPLE BLURRED OVERLAY */
.modal-overlay { 
	position: fixed; 
	inset: 0; 
	background: rgba(30, 10, 50, 0.85);
	backdrop-filter: blur(15px);
	z-index: 1; 
}

.modal-content { 
	position: relative; 
	width: 92%; 
	max-width: 1100px; 
	background: #000; 
	border-radius: 16px; 
	overflow: hidden; 
	aspect-ratio: 16/9; 
	z-index: 10; 
	box-shadow: 0 25px 60px rgba(0,0,0,0.6);
}

/* Filter & Buttons */
.elementor-section.section-filterable .elementor-container { transition: opacity 0.25s ease-in-out; will-change: opacity; }
.uncan-filter-wrapper { width: 100%; padding: 15px 0; background: rgba(253, 252, 248, 0.01); backdrop-filter: blur(15px); border-bottom: 1px solid rgba(122, 57, 196, 0.05); z-index: 100; }
.uncan-filter-container { display: flex; gap: 16px; justify-content: center; max-width: 1200px; margin: 0 auto; }
.filter-btn { padding: 10px 24px; border-radius: 12px; border: 1px solid rgba(122, 57, 196, 0.15); background: #fff; font-family: var(--font-heading); font-size: 14px; font-weight: 700; color: var(--uncan-purple); cursor: pointer; transition: 0.3s; flex-shrink: 0; }
.filter-btn.active, .filter-btn:hover { background: var(--uncan-purple); color: white; }

.modal-loader { position: absolute; inset: 0; background: #000; display: flex; align-items: center; justify-content: center; z-index: 5; }
.spinner { width: 40px; height: 40px; border: 4px solid rgba(255,255,255,0.1); border-top-color: var(--uncan-purple); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.modal-close { position: absolute; top: 20px; right: 20px; color: white; font-size: 45px; background: none; border: none; cursor: pointer; z-index: 20; line-height: 1; font-weight: 200; transition: transform 0.2s; }
.modal-close:hover { transform: scale(1.1); }

.video-wrapper, .video-wrapper iframe, .video-wrapper video { width: 100%; height: 100%; border: none; }

@media (max-width: 1024px) {
	.uncan-filter-container { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; padding: 5px 20px 15px 20px; scrollbar-width: none; }
	.uncan-filter-container::-webkit-scrollbar { display: none; }
}