/* Vimmera Sticky Presentation – Vimmera Sticky System 0.12.1 */

.wp-block-vimmera-sticky.vstp {
	--vstp-header-gap: 16px;
	--vstp-stage-height: 75vh;
	--vstp-ratio: 16 / 9;
	--vstp-radius: 16px;
	--vstp-step-distance: 50vh;
	--vstp-outer-hold: 0vh;
	--vstp-frame-max-width: 9999px;
	--vstp-control-bg: rgba(4, 4, 24, .72);
	--vstp-control-fg: #fff;
	position: relative;
	width: 100%;
	min-width: 0;
	clear: both !important;
	display: flow-root !important;
	height: var(--vstp-scroll-block-height, auto);
}

.wp-block-vimmera-sticky.vstp .vstp__sticky {
	position: sticky;
	top: var(--vstp-sticky-top, 0px);
	z-index: 20;
	width: 100%;
	min-width: 0;
}

.wp-block-vimmera-sticky.vstp .vstp__frame-shell {
	position: relative;
	width: min(100%, var(--vstp-frame-max-width, 9999px));
	aspect-ratio: var(--vstp-ratio, 16 / 9);
	margin-inline: auto;
	overflow: hidden;
	border-radius: var(--vstp-radius, 16px);
	background: #02021d;
	box-shadow: 0 12px 34px rgba(0,0,0,.16), 0 30px 72px rgba(0,0,0,.10);
	isolation: isolate;
}

.wp-block-vimmera-sticky.vstp .vstp__iframe {
	position: absolute;
	left: 50%;
	top: 50%;
	display: block;
	width: var(--vstp-design-width, 1280px);
	height: var(--vstp-design-height, 720px);
	max-width: none !important;
	max-height: none !important;
	border: 0;
	background: #02021d;
	transform: translate(-50%, -50%) scale(var(--vstp-frame-scale, 1));
	transform-origin: 50% 50%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.wp-block-vimmera-sticky.vstp .vstp__empty {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 2rem;
	box-sizing: border-box;
	background: #111;
	color: #fff;
	font: 600 15px/1.45 system-ui, sans-serif;
	text-align: center;
}

.wp-block-vimmera-sticky.vstp .vstp__controls {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 5px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	background: var(--vstp-control-bg);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.wp-block-vimmera-sticky.vstp .vstp__button,
.wp-block-vimmera-sticky.vstp .vstp__close {
	appearance: none;
	-webkit-appearance: none;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--vstp-control-fg);
	font: 600 20px/1 system-ui, sans-serif;
	cursor: pointer;
}

.wp-block-vimmera-sticky.vstp .vstp__button:hover,
.wp-block-vimmera-sticky.vstp .vstp__button:focus-visible,
.wp-block-vimmera-sticky.vstp .vstp__close:hover,
.wp-block-vimmera-sticky.vstp .vstp__close:focus-visible {
	background: rgba(255,255,255,.16);
	outline: 2px solid rgba(255,255,255,.85);
	outline-offset: 2px;
}

.wp-block-vimmera-sticky.vstp .vstp__counter {
	position: absolute;
	left: 14px;
	bottom: 16px;
	z-index: 38;
	min-width: 54px;
	padding: 7px 10px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	background: var(--vstp-control-bg);
	color: #fff;
	font: 600 12px/1 system-ui, sans-serif;
	font-variant-numeric: tabular-nums;
	text-align: center;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.wp-block-vimmera-sticky.vstp .vstp__progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 36;
	height: 4px;
	background: rgba(255,255,255,.18);
	pointer-events: none;
}

.wp-block-vimmera-sticky.vstp .vstp__progress-bar {
	display: block;
	width: 0;
	height: 100%;
	background: rgba(255,255,255,.92);
	transform-origin: left center;
	transition: width 100ms linear;
}

.wp-block-vimmera-sticky.vstp .vstp__close {
	position: absolute;
	top: max(14px, env(safe-area-inset-top));
	right: max(14px, env(safe-area-inset-right));
	z-index: 60;
	display: none;
	width: 44px;
	height: 44px;
	background: rgba(0,0,0,.62);
	font-size: 28px;
}

.wp-block-vimmera-sticky.vstp.vstp--hide-navigation .vstp__prev,
.wp-block-vimmera-sticky.vstp.vstp--hide-navigation .vstp__next,
.wp-block-vimmera-sticky.vstp.vstp--hide-counter .vstp__counter,
.wp-block-vimmera-sticky.vstp.vstp--hide-progress .vstp__progress,
.wp-block-vimmera-sticky.vstp.vstp--no-fullscreen .vstp__fullscreen {
	display: none !important;
}

.wp-block-vimmera-sticky.vstp.vstp--width-wide {
	position: relative;
	left: 50%;
	width: min(var(--vstp-wide-max, 1440px), calc(100vw - 32px));
	max-width: none !important;
	transform: translateX(-50%);
}

.wp-block-vimmera-sticky.vstp.vstp--width-full {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none !important;
	margin-left: -50vw;
	padding-inline: var(--vstp-full-padding, 32px);
	box-sizing: border-box;
}

.wp-block-vimmera-sticky.vstp .vstp__frame-shell:fullscreen,
.wp-block-vimmera-sticky.vstp .vstp__frame-shell:-webkit-full-screen {
	width: 100vw !important;
	height: 100vh !important;
	max-width: none !important;
	aspect-ratio: auto !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #000;
}

.wp-block-vimmera-sticky.vstp .vstp__frame-shell:fullscreen .vstp__close,
.wp-block-vimmera-sticky.vstp .vstp__frame-shell:-webkit-full-screen .vstp__close {
	display: grid;
}

@media (max-width: 600px) {
	.wp-block-vimmera-sticky.vstp.vstp--width-wide,
	.wp-block-vimmera-sticky.vstp.vstp--width-full {
		position: static;
		left: auto;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		padding-inline: 0;
		transform: none;
	}
	.wp-block-vimmera-sticky.vstp .vstp__controls {
		right: 8px;
		bottom: 8px;
	}
	.wp-block-vimmera-sticky.vstp .vstp__counter {
		left: 8px;
		bottom: 10px;
	}
	.wp-block-vimmera-sticky.vstp .vstp__button {
		width: 34px;
		height: 34px;
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-vimmera-sticky.vstp .vstp__progress-bar {
		transition: none;
	}
}

.wp-block-vimmera-sticky.vstp.vstp--hide-navigation.vstp--no-fullscreen .vstp__controls { display: none; }
