/**
 * Builder page ONLY.
 * Video = fixed 100vw × 100vh background.
 * Layout aims to fit the viewport; page scroll stays enabled.
 */

html body.rs-cfb-has-video-hero,
body.rs-cfb-has-video-hero {
	--rs-cfb-hero-poster: none;
	--rs-cfb-chrome: 72px;
	background: #0b0d12 !important;
}

body.rs-cfb-has-video-hero .page-title,
body.rs-cfb-has-video-hero .wd-page-title,
body.rs-cfb-has-video-hero .wd-title-wrapper,
body.rs-cfb-has-video-hero .title-size-default,
body.rs-cfb-has-video-hero .page-title-default {
	display: none !important;
}

/* Hide footer / sticky extras so the builder can fit without needing scroll */
body.rs-cfb-has-video-hero .wd-footer,
body.rs-cfb-has-video-hero footer.footer-container,
body.rs-cfb-has-video-hero .footer-container,
body.rs-cfb-has-video-hero .wd-prefooter,
body.rs-cfb-has-video-hero .wd-scroll-top {
	display: none !important;
}

/* Kill every opaque page chrome so video shows through */
body.rs-cfb-has-video-hero .website-wrapper,
body.rs-cfb-has-video-hero .main-page-wrapper,
body.rs-cfb-has-video-hero .main-page-wrapper > .container,
body.rs-cfb-has-video-hero .content-layout-wrapper,
body.rs-cfb-has-video-hero .site-content,
body.rs-cfb-has-video-hero .site-content > *,
body.rs-cfb-has-video-hero article.page,
body.rs-cfb-has-video-hero .entry-content,
body.rs-cfb-has-video-hero .entry-content > *,
body.rs-cfb-has-video-hero #main-content,
body.rs-cfb-has-video-hero .wd-page-content,
body.rs-cfb-has-video-hero .wrapper-full-width {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

body.rs-cfb-has-video-hero .website-wrapper,
body.rs-cfb-has-video-hero .main-page-wrapper,
body.rs-cfb-has-video-hero .content-layout-wrapper,
body.rs-cfb-has-video-hero .site-content,
body.rs-cfb-has-video-hero article.page,
body.rs-cfb-has-video-hero .entry-content {
	margin: 0 !important;
	padding-bottom: 0 !important;
}

body.rs-cfb-has-video-hero .main-page-wrapper {
	padding-top: 0 !important;
	position: relative;
	z-index: 1;
}

body.rs-cfb-has-video-hero .main-page-wrapper > .container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.rs-cfb-has-video-hero .whb-header,
body.rs-cfb-has-video-hero header.whb-header,
body.rs-cfb-has-video-hero .wd-header {
	position: relative;
	z-index: 20;
}

/* ========== FULL VIEWPORT VIDEO ========== */
.rs-cfb-video-bg {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	z-index: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	background-color: #0b0d12 !important;
	background-image: var(--rs-cfb-hero-poster);
	background-size: cover !important;
	background-position: center !important;
}

.rs-cfb-video-bg__video {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

.rs-cfb-video-bg__overlay {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.62) 45%, rgba(0, 0, 0, 0.78) 100%),
		radial-gradient(ellipse at center, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.55) 100%) !important;
}

/* ========== BUILDER UI ON TOP OF VIDEO ========== */
body.rs-cfb-has-video-hero .rs-cfb {
	--rs-cfb-ink: #ffffff;
	--rs-cfb-muted: rgba(255, 255, 255, 0.72);
	--rs-cfb-line: rgba(255, 255, 255, 0.16);
	--rs-cfb-card: rgba(255, 255, 255, 0.96);
	position: relative !important;
	z-index: 2 !important;
	isolation: auto !important;
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 0.55rem 1rem 1.25rem !important;
	color: #fff !important;
	background: transparent !important;
	background-color: transparent !important;
	box-sizing: border-box !important;
	min-height: calc(100dvh - var(--rs-cfb-chrome, 72px)) !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

body.rs-cfb-has-video-hero .rs-cfb__kicker {
	color: rgba(255, 255, 255, 0.62) !important;
}

body.rs-cfb-has-video-hero .rs-cfb__title {
	color: #fff !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45) !important;
}

body.rs-cfb-has-video-hero .rs-cfb__progress-rail {
	background: rgba(255, 255, 255, 0.16) !important;
}

body.rs-cfb-has-video-hero .rs-cfb__progress-btn {
	color: rgba(255, 255, 255, 0.55) !important;
}

body.rs-cfb-has-video-hero .rs-cfb__progress-item.is-active .rs-cfb__progress-label,
body.rs-cfb-has-video-hero .rs-cfb__progress-item.is-done .rs-cfb__progress-label {
	color: #fff !important;
}

body.rs-cfb-has-video-hero .rs-cfb__progress-dot {
	background: rgba(255, 255, 255, 0.28) !important;
}

body.rs-cfb-has-video-hero .rs-cfb__progress-item.is-done .rs-cfb__progress-dot,
body.rs-cfb-has-video-hero .rs-cfb__progress-item.is-active .rs-cfb__progress-dot {
	background: #0abab5 !important;
}

body.rs-cfb-has-video-hero .rs-cfb__hero-image {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.rs-cfb-has-video-hero .rs-cfb__hero-image img {
	background: transparent !important;
	filter: invert(1) contrast(1.08) !important;
	mix-blend-mode: screen !important;
}

body.rs-cfb-has-video-hero .rs-cfb__panel {
	background: rgba(12, 14, 18, 0.42) !important;
	border-color: rgba(255, 255, 255, 0.14) !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28) !important;
}

body.rs-cfb-has-video-hero .rs-cfb-step h2 {
	color: #fff !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35) !important;
}

body.rs-cfb-has-video-hero .rs-cfb-step__help {
	color: rgba(255, 255, 255, 0.78) !important;
}

body.rs-cfb-has-video-hero .rs-cfb-card {
	background: rgba(255, 255, 255, 0.96) !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
	color: #222 !important;
}

body.rs-cfb-has-video-hero .rs-cfb-card.is-selected,
body.rs-cfb-has-video-hero .rs-cfb-card:has(input:checked) {
	border-color: #0abab5 !important;
	box-shadow: 0 0 0 2.5px #0abab5, 0 12px 32px rgba(0, 0, 0, 0.22) !important;
}

body.rs-cfb-has-video-hero .rs-cfb-card__label {
	color: #222 !important;
}

body.rs-cfb-has-video-hero .rs-cfb-card__media img {
	filter: none !important;
	mix-blend-mode: normal !important;
}

body.rs-cfb-has-video-hero .rs-cfb-btn--continue {
	background: #0abab5 !important;
	border-color: #0abab5 !important;
	color: #fff !important;
}

body.rs-cfb-has-video-hero .rs-cfb-btn--continue:hover,
body.rs-cfb-has-video-hero .rs-cfb-btn--continue:focus {
	background: #09a8a3 !important;
	border-color: #09a8a3 !important;
	color: #fff !important;
	filter: brightness(1.05);
}

body.rs-cfb-has-video-hero .rs-cfb-btn-backlink {
	color: rgba(255, 255, 255, 0.72) !important;
}

body.rs-cfb-has-video-hero .rs-cfb-btn-backlink:hover {
	color: #fff !important;
}

body.rs-cfb-has-video-hero .rs-cfb__price {
	color: #fff !important;
}

body.rs-cfb-has-video-hero .rs-cfb__price--was {
	color: rgba(255, 255, 255, 0.48) !important;
}

body.rs-cfb-has-video-hero .rs-cfb-review-lead {
	color: #fff !important;
	text-shadow: none !important;
}

body.rs-cfb-has-video-hero .rs-cfb-review-chip {
	background: rgba(0, 0, 0, 0.28) !important;
	color: rgba(255, 255, 255, 0.92) !important;
	box-shadow: none !important;
}

body.rs-cfb-has-video-hero .rs-cfb.is-review .rs-cfb__panel {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.rs-cfb-has-video-hero .rs-cfb-btn--review-atc,
body.rs-cfb-has-video-hero button.rs-cfb-btn--review-atc.single_add_to_cart_button {
	background: #0abab5 !important;
	background-image: none !important;
	border-color: #0abab5 !important;
	color: #fff !important;
	box-shadow: none !important;
	border-radius: 6px !important;
}

body.rs-cfb-has-video-hero .rs-cfb-btn--review-atc:hover,
body.rs-cfb-has-video-hero button.rs-cfb-btn--review-atc.single_add_to_cart_button:hover {
	background: #078f8a !important;
	border-color: #067a76 !important;
}

body.rs-cfb-has-video-hero .rs-cfb__disclaimer,
body.rs-cfb-has-video-hero .rs-cfb__mobile-bar {
	display: none !important;
}

@media (max-width: 899px) {
	body.rs-cfb-has-video-hero {
		--rs-cfb-chrome: 64px;
	}

	body.rs-cfb-has-video-hero .rs-cfb {
		padding: 0.4rem 0.7rem 0.55rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rs-cfb-video-bg__video {
		display: none !important;
	}
}
