.lonsyn-signup {
	max-width: 34rem;
	margin: 2.5rem auto 0;
	text-align: center;
}

.lonsyn-signup__row {
	display: flex;
}

.lonsyn-signup__email,
.lonsyn-signup__button {
	font: inherit;
	font-size: 1rem;
	line-height: 1.2;
	padding: 1rem 1.25rem;
	border: 0;
	border-radius: 0;
}

.lonsyn-signup__email {
	flex: 1 1 auto;
	min-width: 0;
	background: #fff;
	color: #1d2327;
}

.lonsyn-signup__button {
	flex: 0 0 auto;
	background: #e2a72e;
	color: #1b1b1b;
	font-weight: 700;
	cursor: pointer;
}

.lonsyn-signup__button:hover {
	background: #f0bb4a;
}

.lonsyn-signup__email:focus-visible,
.lonsyn-signup__button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.lonsyn-signup__message {
	margin: 1.25rem 0 0;
	font-weight: 700;
}

.lonsyn-signup__consent {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	opacity: 0.85;
}

.lonsyn-signup__consent a {
	color: inherit;
	text-decoration: underline;
}

.lonsyn-signup__hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

@media (max-width: 480px) {
	.lonsyn-signup__row {
		flex-direction: column;
		gap: 0.5rem;
	}
}

.lonsyn-prelaunch a {
	color: inherit;
	text-decoration: underline;
}

/*
 * Pre-launch front page as one surface: the cover fills the screen and the theme's header and footer float
 * on top of it in white. Scoped with :has() to pages that contain the pre-launch cover; browsers without
 * :has() simply keep the theme's normal layout.
 */
body:has(.lonsyn-prelaunch) {
	background: #0f3d2e;
}

body:has(.lonsyn-prelaunch) .wp-site-blocks {
	position: relative;
}

body:has(.lonsyn-prelaunch) .wp-site-blocks > header.wp-block-template-part,
body:has(.lonsyn-prelaunch) .wp-site-blocks > footer.wp-block-template-part {
	position: absolute;
	right: 0;
	left: 0;
	z-index: 2;
	color: #fff;
}

body:has(.lonsyn-prelaunch) .wp-site-blocks > header.wp-block-template-part {
	top: 0;
}

body:has(.lonsyn-prelaunch) .wp-site-blocks > footer.wp-block-template-part {
	bottom: 0;
	color: rgba(255, 255, 255, 0.7);
}

body:has(.lonsyn-prelaunch) .wp-site-blocks > header.wp-block-template-part a:where(:not(.wp-element-button)),
body:has(.lonsyn-prelaunch) .wp-site-blocks > footer.wp-block-template-part a:where(:not(.wp-element-button)) {
	color: inherit;
}

/* The open mobile menu keeps the theme's own light overlay. */
body:has(.lonsyn-prelaunch) header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
	color: var(--wp--preset--color--foreground, #0b0620);
}

body:has(.lonsyn-prelaunch) main:has(> .lonsyn-prelaunch) {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.wp-block-cover.lonsyn-prelaunch {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)) !important;
	min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px)) !important;
	padding-top: 7rem !important;
	padding-bottom: 6rem !important;
}
