.elementor-widget-vbb_bunny_video {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.blbw-video {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	aspect-ratio: var(--blbw-aspect-ratio, 9 / 16);
	overflow: hidden;
	background: #111;
	box-sizing: border-box;
}

.blbw-video__iframe,
.blbw-video__poster-button,
.blbw-video__poster,
.blbw-video__placeholder {
	width: 100%;
	height: 100%;
}

.blbw-video__iframe {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	max-width: 100%;
	border: 0;
}

.blbw-video__poster-button {
	position: absolute;
	z-index: 4;
	inset: 0;
	display: block;
	padding: 0;
	margin: 0;
	border: 0;
	outline: 0;
	background: transparent;
	cursor: pointer;
	overflow: hidden;
}

.blbw-video__poster {
	display: block;
	max-width: 100%;
	object-fit: cover;
}

.blbw-video__placeholder {
	display: block;
	background: #111;
}

.blbw-video__play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 64px;
	height: 64px;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.blbw-video__play svg {
	display: block;
	width: 100%;
	height: 100%;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

.blbw-video__play circle {
	fill: #20A9B1;
	stroke: none;
	stroke-width: 0;
}

.blbw-video__play path {
	fill: #fff;
}

.blbw-video__poster-button:focus-visible {
	outline: 2px solid #20A9B1;
	outline-offset: 2px;
}

.blbw-video__editor-message {
	padding: 12px;
	border: 1px dashed #bbb;
	font-size: 13px;
	line-height: 1.4;
}


/*
 * Tap-to-toggle layer.
 * Covers the main video area while leaving Bunny's bottom control bar accessible.
 */
.blbw-video__tap-layer {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	bottom: 58px;
	left: 0;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	outline: 0;
	background: transparent;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.blbw-video__tap-layer:focus {
	outline: 0;
}


.blbw-video__tap-layer:disabled {
	pointer-events: none;
}


/*
 * Touch-first mode:
 * Bunny's own player is the direct interaction surface.
 * This avoids a parent-page overlay consuming the first mobile tap.
 */

@media (hover: none) and (pointer: coarse) {
	/*
	 * Normal manual mode:
	 * keep the Elementor poster visible but let the first touch pass directly
	 * through to Bunny's already-prewarmed iframe.
	 */
	.blbw-video--native-touch:not(.blbw-video--autoplay-enabled) .blbw-video__poster-button {
		z-index: 6;
		pointer-events: none !important;
	}

	.blbw-video--native-touch:not(.blbw-video--autoplay-enabled) .blbw-video__poster-button * {
		pointer-events: none !important;
	}

	/*
	 * Autoplay mode:
	 * poster remains clickable. If muted native autoplay is blocked, the user
	 * can tap once and our manual handler will unmute + play.
	 */
	.blbw-video--native-touch.blbw-video--autoplay-enabled .blbw-video__poster-button {
		z-index: 6;
		pointer-events: auto !important;
	}

	.blbw-video--native-touch .blbw-video__tap-layer {
		display: block;
		z-index: 7;
		pointer-events: auto;
	}

	.blbw-video--native-touch .blbw-video__iframe {
		z-index: 5;
		pointer-events: auto;
	}
}
