/* Skrinz kiosk player — minimal full-viewport wrapper around UYD's iLightbox.
   The actual slideshow is rendered by UYD's gallery template; we only own
   the page chrome (black bg, hidden cursor, orientation rotation, blank
   overlay for off-hours). */

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
	height: 100%;
	width: 100%;
	background: #000;
	overflow: hidden !important;          /* defeat theme overrides leaked in via wp_head() */
	cursor: none;
	user-select: none;
	-webkit-user-select: none;
	scrollbar-width: none;                /* Firefox */
	-ms-overflow-style: none;             /* legacy Edge / IE */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.bskz-stage::-webkit-scrollbar,
.bskz-kiosk-stage::-webkit-scrollbar {
	display: none;                        /* Chrome / Safari / Edge */
	width: 0;
	height: 0;
}

/* Belt-and-suspenders: any element on the kiosk page is explicitly
   non-scrollable. Iframes on the bskz-mixed player (Canva / BannerBoo) keep
   their own internal scrolling; this rule only kills the OUTER document. */
html, body, .bskz-stage, .bskz-kiosk-stage, .bskz-player {
	overscroll-behavior: none;
}

.bskz-kiosk-body {
	color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.bskz-kiosk-stage {
	position: fixed;
	inset: 0;
	background: #000;
}

/* Orientation rotations applied to the body. The portrait variants swap
   width/height + rotate; UYD's iLightbox respects the rotated viewport. */

.bskz-kiosk-body[data-orientation="upside_down"]      { transform: rotate(180deg); transform-origin: center; }
.bskz-kiosk-body[data-orientation="portrait"],
.bskz-kiosk-body[data-orientation="reverse_portrait"] {
	width: 100vh;
	height: 100vw;
	transform-origin: top left;
}
.bskz-kiosk-body[data-orientation="portrait"]         { transform: rotate(90deg)  translateY(-100%); }
.bskz-kiosk-body[data-orientation="reverse_portrait"] { transform: rotate(-90deg) translateX(-100%); }

/* 1.0.4: invisible fullscreen toggle — top-left corner. Hidden by default
   (opacity 0). A faint tint appears on hover so it's discoverable but
   doesn't visually clutter the kiosk display. */
.bskz-kiosk-fullscreen-toggle {
	position: fixed;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	z-index: 1000000; /* above the blank overlay */
	opacity: 0;
	transition: opacity 200ms ease;
}

/* Fully transparent on hover/focus too — the corner is invisible by
   design. `outline: none` is preserved so the focus ring doesn't reveal
   the otherwise-hidden button when it picks up keyboard focus. */
.bskz-kiosk-fullscreen-toggle:hover,
.bskz-kiosk-fullscreen-toggle:focus-visible {
	opacity: 0;
	outline: none;
}

/* Off-hours blank overlay --------------------------------------------- */

.bskz-kiosk-blank {
	position: fixed;
	inset: 0;
	background: #000;
	z-index: 999999;
}

/* Error / empty-state ------------------------------------------------- */

.bskz-kiosk-error {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #aaa;
	font-size: 14px;
	padding: 32px;
	text-align: center;
}

/* iLightbox / UYD overrides for kiosk context ------------------------- */

/* Force iLightbox to fill the viewport — its default styles assume it sits
   over a normal page, but on our minimal kiosk page there's nothing else. */
.bskz-kiosk-body .ilightbox-overlay { background: #000 !important; }
