/* Recovery presentation; WooCommerce owns tokens, email and password changes. */
.rove-lost-password-intro {
	max-width: 48rem;
	margin: 0 auto 3rem;
	text-align: center;
}

.rove-lost-password-intro h1 {
	margin-block: 1rem 1.5rem;
	font-size: clamp(3.5rem, 7vw, 6rem);
	font-weight: 400;
	line-height: 1.03;
	letter-spacing: -0.025em;
}

.rove-lost-password-intro > p:last-child {
	color: var(--wp--preset--color--muted);
}

/* The intro identifies this endpoint without coupling to translated URL slugs. */
.rove-account:has(.rove-lost-password-intro) .rove-account-content .woocommerce {
	max-width: 46rem;
	margin-inline: auto;
}

.rove-account:has(.rove-lost-password-intro) .woocommerce form.lost_reset_password {
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--wp--preset--color--divider);
	background: var(--wp--preset--color--ivory);
}

.rove-account:has(.rove-lost-password-intro) .lost_reset_password .form-row {
	float: none;
	width: 100%;
}

.rove-account:has(.rove-lost-password-intro) .lost_reset_password button[type="submit"] {
	width: 100%;
	min-height: 3.5rem;
	font-size: var(--wp--preset--font-size--body);
}

.rove-account:has(.rove-lost-password-intro) :is(input, button, a):focus-visible {
	outline: 2px solid var(--wp--preset--color--burgundy);
	outline-offset: 4px;
}

.rove-lost-password-help {
	margin-top: 1.5rem;
	padding: clamp(1.5rem, 4vw, 3rem);
	background: var(--wp--preset--color--blush);
}

.rove-lost-password-help h2 {
	margin-top: 0;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1.1;
}

.rove-lost-password-help p {
	margin-block: 1rem 1.5rem;
}

.rove-account:has(.rove-lost-password-intro) .woocommerce :is(.woocommerce-notices-wrapper, .woocommerce-error, .woocommerce-message, .wc-block-components-notice-banner) {
	overflow-wrap: anywhere;
}

/* Verified reset form; native strength meter and visibility controls remain. */
.rove-reset-password-heading {
	padding: clamp(1.5rem, 4vw, 3rem);
	padding-bottom: 0;
	border: 1px solid var(--wp--preset--color--divider);
	border-bottom: 0;
}

.rove-reset-password-heading h2 {
	margin-block: 1rem 0;
	font-size: clamp(2.25rem, 4vw, 3rem);
}

.rove-account:has(.rove-reset-password-heading) .woocommerce form.lost_reset_password {
	border-top: 0;
	padding-top: 1.5rem;
}

.rove-account:has(.rove-reset-password-heading) .lost_reset_password .form-row label {
	font-size: var(--wp--preset--font-size--body);
}

.rove-account:has(.rove-reset-password-heading) .woocommerce-password-strength {
	padding: 0.75rem 1rem;
	margin-top: 0.75rem;
	border-radius: 0;
	font-size: calc(var(--wp--preset--font-size--body) * 0.9375);
}

.rove-account:has(.rove-reset-password-heading) .woocommerce-password-hint {
	display: block;
	margin-top: 0.75rem;
	font-size: calc(var(--wp--preset--font-size--body) * 0.9375);
	line-height: 1.6;
}

.rove-account:has(.rove-reset-password-heading) .lost_reset_password button[type="submit"]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
