/* Applied when the block is on the page — makes background visible through header/footer */
html.has-fixed-scene,
html.has-fixed-scene body {
	background: transparent !important;
}

/* Ensure header and footer sit above the fixed background */
html.has-fixed-scene header.site-header,
html.has-fixed-scene footer.site-footer {
	position: relative;
	z-index: 2;
}

/* Fixed background — sits behind everything */
.fhs-fixed-bg {
	position: fixed;
	inset: 0;
	z-index: -1;
}

.fhs-fixed-bg__image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.fhs-fixed-bg__video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

.fhs-fixed-bg__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* Scrollable content sits above the fixed background */
.full-height-scene {
	position: relative;
	z-index: 1;
}

/* Navigation dots */
.fhs-dots {
	position: fixed;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 100;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fhs-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fhs-dot-color, #ffffff);
	border: none;
	padding: 0;
	cursor: pointer;
	transition: transform 0.3s ease;
}

.fhs-dot--active {
	transform: scale(1.4);
}

/* Each direct child block is one section, content centred vertically */
.full-height-scene > * {
	min-height: 100vh;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
