/* Alive4Health login/register — scoped to this template */
.alive4health-woo-login {
	--green-deep: #1a3d28;
	--green-mid: #2d6e44;
	--green-bright: #3d9458;
	--green-light: #5cbf7a;
	--green-accent: #7edb9c;
	--green-pale: #eaf5ee;
	--green-xpale: #f3faf5;
	--gold: #c8943a;
	--gold-light: #f5c842;
	--cream: #f7fbf8;
	--white: #ffffff;
	--text-dark: #152618;
	--text-mid: #3a5a44;
	--text-soft: #6b8f76;
	--text-muted: #9abba5;
	--border: #d0e8d8;
	--border-light: #e5f2e9;
	--font-heading: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
	--font-body: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
	--radius: 16px;
	--radius-sm: 10px;
	--shadow: 0 4px 24px rgba(26, 61, 40, 0.09);
	--shadow-md: 0 8px 40px rgba(26, 61, 40, 0.14);
	--trans: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
	font-family: var(--font-body);
	color: var(--text-dark);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.alive4health-woo-login .page-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: calc(100vh - 120px);
	width: 100%;
}

.alive4health-woo-login .left-panel {
	background: linear-gradient(160deg, var(--green-deep) 0%, #224f32 55%, var(--green-mid) 100%);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 4rem 3.5rem;
}

.alive4health-woo-login .left-panel::before {
	content: '';
	position: absolute;
	top: -120px;
	right: -120px;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle, rgba(94, 191, 122, 0.2) 0%, transparent 68%);
	border-radius: 50%;
	pointer-events: none;
}

.alive4health-woo-login .left-panel::after {
	content: '';
	position: absolute;
	bottom: -100px;
	left: -80px;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, rgba(126, 219, 156, 0.12) 0%, transparent 68%);
	border-radius: 50%;
	pointer-events: none;
}

.alive4health-woo-login .deco-ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.07);
	pointer-events: none;
}

.alive4health-woo-login .ring-1 {
	width: 320px;
	height: 320px;
	top: 8%;
	right: -130px;
}

.alive4health-woo-login .ring-2 {
	width: 190px;
	height: 190px;
	bottom: 18%;
	right: 6%;
}

.alive4health-woo-login .ring-3 {
	width: 130px;
	height: 130px;
	top: 52%;
	left: 8%;
}

.alive4health-woo-login .left-content {
	position: relative;
	z-index: 1;
}

.alive4health-woo-login .panel-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--green-accent);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 6px 15px;
	border-radius: 100px;
	margin-bottom: 1.25rem;
}

.alive4health-woo-login .panel-heading {
	font-family: var(--font-heading);
	font-size: clamp(1.9rem, 2.8vw, 2.8rem);
	font-weight: 700;
	color: var(--white);
	line-height: 1.15;
	margin-bottom: 0.9rem;
}

.alive4health-woo-login .panel-heading em {
	font-style: italic;
	color: var(--green-accent);
}

.alive4health-woo-login .panel-sub {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.62);
	line-height: 1.6;
	max-width: 340px;
	margin-bottom: 1.5rem;
}

.alive4health-woo-login .benefits-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.alive4health-woo-login .benefits-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.82rem;
	line-height: 1.45;
}

.alive4health-woo-login .benefit-icon {
	width: 28px;
	height: 28px;
	min-width: 28px;
	background: rgba(126, 219, 156, 0.15);
	border: 1px solid rgba(126, 219, 156, 0.3);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--green-accent);
}

.alive4health-woo-login .benefits-list strong {
	font-weight: 600;
	color: rgba(255, 255, 255, 0.95);
}

.alive4health-woo-login .right-panel {
	background: var(--white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 3rem 2.5rem;
	position: relative;
}

.alive4health-woo-login .form-container {
	width: 100%;
	max-width: 440px;
	position: relative;
	z-index: 1;
}

/* Social login buttons — match image */
.alive4health-woo-login .social-btns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 1.25rem;
}

.alive4health-woo-login .social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 14px;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--white);
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--text-dark);
	cursor: pointer;
	transition: var(--trans);
	text-decoration: none;
}

.alive4health-woo-login .social-btn:hover {
	border-color: var(--green-light);
	background: var(--green-pale);
	transform: translateY(-1px);
	box-shadow: var(--shadow);
}

.alive4health-woo-login .social-btn svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

/* Easy Social Login plugin — match our HTML button design */
.alive4health-woo-login .social-login-plugin {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-bottom: 0;
	min-height: auto;
}

.alive4health-woo-login .social-login-plugin .social-buttons,
.alive4health-woo-login .social-login-plugin .eslp-google-social-login,
.alive4health-woo-login .social-login-plugin .eslp-facebook-social-login,
.alive4health-woo-login .social-login-plugin>div {
	margin: 0;
}

.alive4health-woo-login .social-login-plugin .social-buttons a,
.alive4health-woo-login .social-login-plugin .eslp-google-social-login a,
.alive4health-woo-login .social-login-plugin .eslp-facebook-social-login a,
.alive4health-woo-login .social-login-plugin a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 14px;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--white);
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--text-dark) !important;
	text-decoration: none !important;
	transition: var(--trans);
	box-sizing: border-box;
	margin: 0 !important;
}

.alive4health-woo-login .social-login-plugin a:hover {
	border-color: var(--green-light);
	background: var(--green-pale);
	color: var(--text-dark) !important;
	transform: translateY(-1px);
	box-shadow: var(--shadow);
}

.alive4health-woo-login .social-login-plugin .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
	line-height: 1;
	margin: 0;
}

.alive4health-woo-login .social-login-plugin .dashicons-google {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

.alive4health-woo-login .social-login-plugin .dashicons-google::before {
	content: none !important;
}

.alive4health-woo-login .social-login-plugin .dashicons-facebook {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231877F2' d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

.alive4health-woo-login .social-login-plugin .dashicons-facebook::before {
	content: none !important;
}

@media (max-width: 768px) {
	.alive4health-woo-login .social-login-plugin {
		grid-template-columns: 1fr;
	}
}

.alive4health-woo-login .tabs {
	display: flex;
	background: var(--green-xpale);
	border: 1px solid var(--border-light);
	border-radius: var(--radius);
	padding: 4px;
	gap: 4px;
	margin-bottom: 1.5rem;
}

.alive4health-woo-login .tab-btn {
	flex: 1;
	padding: 10px 14px;
	border: none;
	background: transparent;
	border-radius: 12px;
	font-family: var(--font-body);
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--text-soft);
	cursor: pointer;
	transition: var(--trans);
}

.alive4health-woo-login .tab-btn.active {
	background: var(--white);
	color: var(--green-deep);
	font-weight: 700;
	box-shadow: 0 2px 10px rgba(26, 61, 40, 0.1);
}

.alive4health-woo-login .tab-btn .badge {
	font-size: 0.58rem;
	background: var(--gold);
	color: #fff;
	padding: 1px 6px;
	border-radius: 100px;
	margin-left: 5px;
	font-weight: 700;
	vertical-align: middle;
}

.alive4health-woo-login .form-panel {
	display: none;
}

.alive4health-woo-login .form-panel.active {
	display: block;
}

.alive4health-woo-login .form-header {
	margin-bottom: 1.25rem;
}

.alive4health-woo-login .form-header h2 {
	font-family: var(--font-heading);
	font-size: 1.65rem;
	font-weight: 600;
	color: #333333 !important;
	margin: 0 0 4px 0;
}

.alive4health-woo-login .form-header p {
	font-size: 0.85rem;
	color: var(--text-soft);
	line-height: 1.5;
	margin: 0;
}

.alive4health-woo-login .divider {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 1rem;
}

.alive4health-woo-login .divider::before,
.alive4health-woo-login .divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--border-light);
}

.alive4health-woo-login .divider span {
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 1.2px;
}

.alive4health-woo-login .field {
	margin-bottom: 1rem;
}

.alive4health-woo-login .field label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--text-dark);
	margin-bottom: 6px;
}

.alive4health-woo-login .input-wrap {
	position: relative;
	display: grid;
	align-items: center;
}

.alive4health-woo-login .input-icon {
	position: absolute;
	left: 13px;
	display: flex;
	align-items: center;
	color: var(--text-muted);
	pointer-events: none;
	z-index: 1;
}

.alive4health-woo-login .input-wrap input {
	width: 100%;
	padding: 11px 13px 11px 38px;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--green-xpale);
	font-family: var(--font-body);
	font-size: 0.9rem;
	color: var(--text-dark);
	outline: none;
	transition: var(--trans);
	box-sizing: border-box;
}

.alive4health-woo-login .input-wrap input:focus {
	border-color: var(--green-bright);
	background: var(--white);
	box-shadow: 0 0 0 3px rgba(61, 148, 88, 0.12);
}

.alive4health-woo-login .show-pass {
	position: absolute;
	right: 11px;
	background: none;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	cursor: pointer;
	padding: 4px;
	line-height: 1;
}

.alive4health-woo-login .show-pass:hover {
	color: var(--green-mid);
}

.alive4health-woo-login .field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.alive4health-woo-login .strength-bar {
	display: flex;
	gap: 4px;
	margin-top: 6px;
}

.alive4health-woo-login .strength-bar span {
	flex: 1;
	height: 3px;
	border-radius: 2px;
	background: var(--border-light);
	transition: background 0.3s;
}

.alive4health-woo-login .strength-bar span.lvl-1 {
	background: #e05252;
}

.alive4health-woo-login .strength-bar span.lvl-2 {
	background: var(--gold);
}

.alive4health-woo-login .strength-bar span.lvl-3 {
	background: var(--green-light);
}

.alive4health-woo-login .strength-bar span.lvl-4 {
	background: var(--green-mid);
}

.alive4health-woo-login .strength-label {
	font-size: 0.68rem;
	color: var(--text-soft);
	margin-top: 3px;
}

.alive4health-woo-login .form-options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	font-size: 0.8rem;
}

.alive4health-woo-login .checkbox-label {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--text-mid);
	cursor: pointer;
}

.alive4health-woo-login .checkbox-label input {
	accent-color: var(--green-mid);
	width: 15px;
	height: 15px;
	cursor: pointer;
}

.alive4health-woo-login .forgot-link {
	color: var(--green-mid);
	font-weight: 600;
	transition: var(--trans);
}

.alive4health-woo-login .forgot-link:hover {
	color: var(--green-deep);
	text-decoration: underline;
}

.alive4health-woo-login .cta-btn {
	width: 100%;
	padding: 13px;
	background: linear-gradient(135deg, var(--green-mid), var(--green-deep)) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	transition: var(--trans);
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.alive4health-woo-login .cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(26, 61, 40, 0.32);
	background: linear-gradient(135deg, var(--green-bright), var(--green-mid)) !important;
	color: var(--white) !important;
}

.alive4health-woo-login .cta-btn .arrow {
	font-size: 1rem;
	transition: transform 0.22s;
}

.alive4health-woo-login .cta-btn:hover .arrow {
	transform: translateX(4px);
}

.alive4health-woo-login .cta-btn.cta-gold {
	background: linear-gradient(135deg, var(--gold), #a97520) !important;
}

.alive4health-woo-login .switch-text {
	text-align: center;
	font-size: 0.8rem;
	color: var(--text-soft);
	margin-bottom: 1rem;
}

.alive4health-woo-login .switch-text a {
	color: var(--green-mid);
	font-weight: 700;
	cursor: pointer;
}

.alive4health-woo-login .switch-text a:hover {
	color: var(--green-deep);
	text-decoration: underline;
}

.alive4health-woo-login .form-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
	padding-top: 0.9rem;
	border-top: 1px solid var(--border-light);
}

.alive4health-woo-login .trust-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--text-muted);
}

.alive4health-woo-login .terms-note {
	font-size: 0.72rem;
	color: var(--text-soft);
	text-align: center;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.alive4health-woo-login .terms-note a {
	color: var(--green-mid);
}

/* Ensure reCAPTCHA (and other plugins) output at woocommerce_login_form is visible */
.alive4health-woo-login .woocommerce-login-form-extra {
	display: block !important;
	visibility: visible !important;
	overflow: visible !important;
}

.alive4health-woo-login .woocommerce-login-form-extra .g-recaptcha,
.alive4health-woo-login .woocommerce-login-form-extra iframe {
	display: block !important;
	visibility: visible !important;
	max-width: 100%;
}

/* FAQ section — from HTML */
.alive4health-woo-login .faq-section {
	background: var(--white);
	border-top: 1px solid var(--border-light);
	padding: 3.5rem 2rem;
}

.alive4health-woo-login .faq-inner {
	max-width: 860px;
	margin: 0 auto;
}

.alive4health-woo-login .faq-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--green-pale);
	border: 1px solid var(--border);
	color: var(--green-mid);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 100px;
	margin-bottom: 1rem;
}

.alive4health-woo-login .faq-eyebrow::before {
	content: '';
	width: 6px;
	height: 6px;
	background: var(--green-bright);
	border-radius: 50%;
}

.alive4health-woo-login .faq-title {
	font-family: var(--font-heading);
	font-size: clamp(1.6rem, 2.5vw, 2.4rem);
	font-weight: 600;
	color: #333333!important;
	letter-spacing: -0.3px;
	margin: 0 0 0.5rem 0;
	line-height: 1.2;
}

.alive4health-woo-login .faq-subtitle {
	font-size: 0.95rem;
	color: var(--text-soft);
	margin-bottom: 2.5rem;
	line-height: 1.6;
}

.alive4health-woo-login .faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.alive4health-woo-login .faq-item {
	border: 1.5px solid var(--border-light);
	border-radius: var(--radius);
	overflow: hidden;
	transition: var(--trans);
}

.alive4health-woo-login .faq-item:hover {
	border-color: var(--border);
}

.alive4health-woo-login .faq-item.open {
	border-color: var(--green-light);
}

.alive4health-woo-login .faq-q {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.35rem;
	background: none;
	border: none;
	text-align: left;
	cursor: pointer;
	transition: var(--trans);
	font-family: var(--font-body);
}

.alive4health-woo-login .faq-q:hover {
	background: var(--green-xpale);
}

.alive4health-woo-login .faq-item.open .faq-q {
	background: var(--green-pale);
}

.alive4health-woo-login .faq-q-text {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--text-dark);
	line-height: 1.4;
	flex: 1;
}

.alive4health-woo-login .faq-item.open .faq-q-text {
	color: var(--green-deep);
}

.alive4health-woo-login .faq-icon {
	width: 28px;
	height: 28px;
	min-width: 28px;
	border-radius: 50%;
	background: var(--green-xpale);
	border: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--green-mid);
	transition: var(--trans);
	flex-shrink: 0;
}

.alive4health-woo-login .faq-item.open .faq-icon {
	background: var(--green-mid);
	border-color: var(--green-mid);
	color: var(--white);
	transform: rotate(45deg);
}

.alive4health-woo-login .faq-a {
	display: none;
	padding: 0 1.35rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--text-mid);
	line-height: 1.7;
	border-top: 1px solid var(--border-light);
}

.alive4health-woo-login .faq-item.open .faq-a {
	display: block;
}

.alive4health-woo-login .faq-a a {
	color: var(--green-mid);
}

.alive4health-woo-login .faq-a a:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.alive4health-woo-login .faq-section {
		padding: 2.5rem 1rem;
	}
}

@media (max-width: 1024px) {
	.alive4health-woo-login .page-split {
		grid-template-columns: 1fr;
		min-height: auto;
		display: flex;
		flex-direction: column;
	}

	.alive4health-woo-login .right-panel {
		order: -1;
	}

	.alive4health-woo-login .left-panel {
		order: 0;
		padding: 2.5rem 2rem;
	}
}

@media (max-width: 768px) {
	.alive4health-woo-login .field-row {
		grid-template-columns: 1fr;
	}

	.alive4health-woo-login .right-panel {
		padding: 2rem 1rem;
	}

	.alive4health-woo-login .social-btns {
		grid-template-columns: 1fr;
	}
}



/* lost password */
.alive4health-lost-password {
	--brand-dark: #1a3a24;
	--brand-mid: #2d6a3f;
	--brand-green: #3d8f54;
	--brand-light: #5ab573;
	--brand-pale: #e8f4eb;
	--brand-gold: #c8973a;
	--white: #ffffff;
	--off-white: #f4f8f5;
	--gray-100: #f0f4f1;
	--gray-200: #dde8e0;
	--gray-400: #9ab5a0;
	--text: #1a2e1e;
	--text-mid: #3d5a44;
	--text-soft: #6b8f72;
	--radius: 14px;
	--radius-sm: 8px;
	--shadow: 0 4px 20px rgba(26, 58, 36, .10);
	--shadow-md: 0 8px 32px rgba(26, 58, 36, .15);
	--trans: all .22s cubic-bezier(.4, 0, .2, 1);
	font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
	color: var(--text);
}

.alive4health-lost-password .lost-pw-body {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1.5rem;
	background: radial-gradient(ellipse 55% 45% at 10% 15%, rgba(61, 143, 84, .05) 0%, transparent 65%), radial-gradient(ellipse 45% 35% at 90% 85%, rgba(45, 106, 63, .04) 0%, transparent 65%), var(--off-white);
	min-height: 50vh;
}

.alive4health-lost-password .form-card {
	width: 100%;
	max-width: 460px;
	background: var(--white);
	border: 1px solid var(--gray-200);
	border-radius: 20px;
	padding: 2rem 2.5rem;
	box-shadow: var(--shadow-md);
	position: relative;
	overflow: hidden;
}

.alive4health-lost-password .form-card::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-mid), var(--brand-light), #8ad4a0);
	border-radius: 20px 20px 0 0;
}

.alive4health-lost-password .form-card::before {
	content: '';
	position: absolute;
	top: -60px;
	right: -60px;
	width: 200px;
	height: 200px;
	background: radial-gradient(circle, rgba(90, 181, 115, .06) 0%, transparent 70%);
	border-radius: 50%;
	pointer-events: none;
}

.alive4health-lost-password .back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--gray-400);
	padding: 0;
	margin-bottom: 1.1rem;
	transition: var(--trans);
	text-decoration: none;
}

.alive4health-lost-password .back-link:hover {
	color: var(--brand-mid);
}

.alive4health-lost-password .back-link:hover svg {
	transform: translateX(-3px);
}

.alive4health-lost-password .back-link svg {
	transition: transform .2s;
	flex-shrink: 0;
}

.alive4health-lost-password .form-icon {
	width: 52px;
	height: 52px;
	background: var(--brand-pale);
	border: 1.5px solid var(--gray-200);
	border-radius: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--brand-mid);
	margin-bottom: .85rem;
}

.alive4health-lost-password .form-header {
	margin-bottom: 1.25rem;
}

.alive4health-lost-password .form-header h1 {
	font-family: var(--font-heading);
	font-size: 1.85rem;
	font-weight: 600;
	color: #333333;
	letter-spacing: -.2px;
	margin: 0 0 7px 0;
	line-height: 1.2;
}

.alive4health-lost-password .form-header p {
	font-size: .875rem;
	color: var(--text-soft);
	line-height: 1.65;
	font-weight: 400;
	margin: 0;
}

.alive4health-lost-password .field {
	margin-bottom: .9rem;
}

.alive4health-lost-password .field label {
	display: block;
	font-size: .77rem;
	font-weight: 600;
	color: var(--text);
	margin-bottom: 6px;
	letter-spacing: .2px;
	text-transform: uppercase;
}

.alive4health-lost-password .input-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.alive4health-lost-password .input-icon {
	position: absolute;
	left: 13px;
	display: flex;
	align-items: center;
	color: var(--gray-400);
	pointer-events: none;
	z-index: 1;
}

.alive4health-lost-password .input-wrap input {
	width: 100%;
	padding: 12px 13px 12px 40px;
	border: 1.5px solid var(--gray-200);
	border-radius: var(--radius-sm);
	background: var(--gray-100);
	font-family: inherit;
	font-size: .9rem;
	font-weight: 500;
	color: var(--text);
	outline: none;
	transition: var(--trans);
	box-sizing: border-box;
}

.alive4health-lost-password .input-wrap input:focus {
	border-color: var(--brand-green);
	background: var(--white);
	box-shadow: 0 0 0 3px rgba(61, 143, 84, .12);
}

.alive4health-lost-password .field-hint {
	font-size: .72rem;
	color: var(--gray-400);
	margin-top: 5px;
	line-height: 1.45;
	font-weight: 500;
}

.alive4health-lost-password .cta-btn {
	width: 100%;
	padding: 13px;
	background: linear-gradient(135deg, var(--brand-mid), var(--brand-dark)) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: var(--radius);
	font-family: inherit;
	font-size: .95rem;
	font-weight: 800;
	letter-spacing: .3px;
	cursor: pointer;
	transition: var(--trans);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 1rem;
}

.alive4health-lost-password .cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(26, 58, 36, .30);
	color: var(--white) !important;
}

.alive4health-lost-password .cta-btn .btn-arrow {
	display: flex;
	transition: transform .2s;
}

.alive4health-lost-password .cta-btn:hover .btn-arrow {
	transform: translateX(4px);
}

.alive4health-lost-password .form-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: .8rem;
	font-weight: 600;
	color: var(--text-soft);
	margin-bottom: 1rem;
}

.alive4health-lost-password .form-links a {
	color: var(--brand-mid);
	font-weight: 700;
	transition: var(--trans);
}

.alive4health-lost-password .form-links a:hover {
	color: var(--brand-dark);
	text-decoration: underline;
}

.alive4health-lost-password .form-links .sep {
	color: var(--gray-200);
}

.alive4health-lost-password .trust-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
	padding-top: 1rem;
	border-top: 1px solid var(--gray-200);
}

.alive4health-lost-password .trust-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: .67rem;
	font-weight: 700;
	color: var(--gray-400);
}

.alive4health-lost-password .woocommerce-info {
	margin-bottom: 1rem;
	padding: 12px 1rem;
	background: var(--brand-pale);
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-sm);
	color: var(--text-mid);
	font-size: .875rem;
}

@media (max-width: 768px) {
	.alive4health-lost-password .lost-pw-body {
		padding: 1.5rem 1.25rem;
	}

	.alive4health-lost-password .form-card {
		padding: 1.75rem 1.5rem;
	}
}

@media (max-width: 480px) {
	.alive4health-lost-password .form-card {
		border-radius: 16px;
		padding: 1.75rem 1.25rem;
	}
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
	display: flex;
}