/*
 * Coming-soon front page: full-viewport, centered, non-scroll on desktop.
 * Scoped to body.byr-coming-soon so nothing leaks to the shop. The countdown is also
 * removed from the Elementor data on deploy; this hides any residue defensively.
 * Selectors are refined against the live DOM during deploy verification.
 */

.byr-coming-soon .elementor-widget-countdown {
	display: none !important;
}

/* Dark base. This stylesheet only loads on the coming-soon front page, so setting it on
   html + body is safe; it stops the theme's light wrappers showing behind the (now
   transparent) Elementor container. */
html,
body.byr-coming-soon {
	background-color: #111110;
}

/* Keep all Elementor content above the ambient background layer. */
.byr-coming-soon [data-elementor-type="wp-page"] {
	position: relative;
	z-index: 1;
}

/* Desktop: lock the viewport so the splash never scrolls. Mobile keeps natural flow. */
@media (min-width: 1025px) {
	html,
	body.byr-coming-soon {
		height: 100%;
		overflow: hidden;
	}
}

/*
 * Ambient animated background: a few heavily blurred gradient blobs that drift slowly
 * behind the content. Subtle, warm-neutral, on-brand. Injected as .byr-bg on wp_footer.
 * The .byr-bg layer paints the dark base itself, so it does not rely on wrapper bg.
 */

.byr-bg {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	/* dark base painted here so the effect is self-contained and does not depend on
	   the theme's body/wrapper background (which is light by default) */
	background-color: #111110;
}
.byr-bg span {
	position: absolute;
	display: block;
	border-radius: 50%;
	filter: blur(110px);
	will-change: transform, opacity;
}
.byr-bg span:nth-child(1) {
	width: 52vw;
	height: 52vw;
	left: -12vw;
	top: -10vw;
	background: radial-gradient(circle, rgba(124, 98, 72, 0.22), rgba(17, 17, 16, 0) 72%);
	animation: byr-blob-a 22s ease-in-out infinite alternate;
}
.byr-bg span:nth-child(2) {
	width: 48vw;
	height: 48vw;
	right: -14vw;
	top: 16vh;
	background: radial-gradient(circle, rgba(92, 90, 116, 0.18), rgba(17, 17, 16, 0) 72%);
	animation: byr-blob-b 27s ease-in-out infinite alternate;
}
.byr-bg span:nth-child(3) {
	width: 46vw;
	height: 46vw;
	left: 20vw;
	bottom: -20vw;
	background: radial-gradient(circle, rgba(150, 142, 128, 0.12), rgba(17, 17, 16, 0) 74%);
	animation: byr-blob-c 19s ease-in-out infinite alternate;
}
@keyframes byr-blob-a {
	from { transform: translate(-3vw, -2vh) scale(1); opacity: 0.7; }
	to { transform: translate(12vw, 9vh) scale(1.28); opacity: 1; }
}
@keyframes byr-blob-b {
	from { transform: translate(3vw, 2vh) scale(1); opacity: 1; }
	to { transform: translate(-10vw, -8vh) scale(1.22); opacity: 0.6; }
}
@keyframes byr-blob-c {
	from { transform: translate(0, 0) scale(0.9); opacity: 0.55; }
	to { transform: translate(8vw, -10vh) scale(1.32); opacity: 0.95; }
}
@media (prefers-reduced-motion: reduce) {
	.byr-bg span { animation: none; }
}
