.page-template-template-login .site-footer,
.page-template-template-register .site-footer,
.page-template-template-reset-password .site-footer,
.lmb-login + .site-footer {
	margin-top: 0;
}

.lmb-login {
	--lmb-login-bg: #f6f8f6;
	--lmb-login-panel: #ffffff;
	--lmb-login-ink: #14211f;
	--lmb-login-muted: #63716c;
	--lmb-login-border: #dce6e1;
	--lmb-login-green: #0d5b56;
	--lmb-login-green-dark: #083e3a;
	--lmb-login-green-soft: #e8f3ef;
	--lmb-login-gold: #d4a017;
	--lmb-login-danger: #b42318;
	--lmb-login-danger-soft: #fff0ee;
	--lmb-login-shadow: 0 18px 44px rgba(18, 31, 29, 0.08);
	background: var(--lmb-login-bg);
	color: var(--lmb-login-ink);
	min-height: 100vh;
}

.lmb-login a,
.lmb-login button,
.lmb-login input {
	-webkit-tap-highlight-color: transparent;
}

.lmb-login a:focus-visible,
.lmb-login button:focus-visible,
.lmb-login input:focus-visible {
	outline: var(--lmb-focus-ring-width) solid rgba(var(--lmb-color-primary-rgb), 0.28);
	outline-offset: var(--lmb-focus-ring-offset);
}

.lmb-login__icon {
	display: block;
	fill: currentColor;
	height: 1.15rem;
	width: 1.15rem;
}

.lmb-login__hero {
	background:
		linear-gradient(135deg, rgba(13, 91, 86, 0.98), rgba(8, 62, 58, 0.96)),
		var(--lmb-login-green);
	color: #ffffff;
	padding: var(--lmb-space-10) var(--lmb-space-4);
}

.lmb-login__hero-inner,
.lmb-login__section {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--lmb-size-container-wide);
	width: 100%;
}

.lmb-login__hero-inner {
	display: grid;
	gap: var(--lmb-space-3);
}

.lmb-login__eyebrow {
	color: var(--lmb-login-gold);
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-sm);
	font-weight: var(--lmb-font-weight-bold);
	line-height: var(--lmb-leading-tight);
	margin: 0;
	text-transform: uppercase;
}

.lmb-login__hero h1 {
	color: #ffffff;
	font-size: 2.35rem;
	line-height: 1.08;
	margin: 0;
}

.lmb-login__hero p:last-child {
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.7;
	margin: 0;
	max-width: 42rem;
}

.lmb-login__section {
	padding: var(--lmb-space-8) var(--lmb-space-4);
}

.lmb-login__layout {
	display: grid;
	gap: var(--lmb-space-6);
}

.lmb-login__panel {
	background: var(--lmb-login-panel);
	border: 1px solid var(--lmb-login-border);
	border-radius: var(--lmb-radius-md);
	box-shadow: var(--lmb-login-shadow);
	display: grid;
	gap: var(--lmb-space-5);
	padding: var(--lmb-space-6);
}

.lmb-login__panel-icon,
.lmb-login__feature-list span,
.lmb-login__notice span {
	align-items: center;
	background: var(--lmb-login-green-soft);
	border-radius: var(--lmb-radius-pill);
	color: var(--lmb-login-green);
	display: inline-flex;
	justify-content: center;
}

.lmb-login__panel-icon {
	height: 3.5rem;
	width: 3.5rem;
}

.lmb-login__panel-icon .lmb-login__icon {
	height: 1.55rem;
	width: 1.55rem;
}

.lmb-login__panel-heading {
	display: grid;
	gap: var(--lmb-space-2);
}

.lmb-login__panel-heading h2,
.lmb-login__support h2 {
	line-height: var(--lmb-leading-tight);
	margin: 0;
}

.lmb-login__panel-heading p,
.lmb-login__feature-list small {
	color: var(--lmb-login-muted);
	line-height: 1.7;
	margin: 0;
}

.lmb-login__notice {
	align-items: start;
	border: 1px solid transparent;
	border-radius: var(--lmb-radius-md);
	display: grid;
	font-size: var(--lmb-font-size-sm);
	gap: var(--lmb-space-3);
	grid-template-columns: 2.35rem minmax(0, 1fr);
	line-height: 1.55;
	padding: var(--lmb-space-3) var(--lmb-space-4);
}

.lmb-login__notice span {
	height: 2.35rem;
	width: 2.35rem;
}

.lmb-login__notice p {
	margin: 0;
}

.lmb-login__notice--success {
	background: #edf8f1;
	border-color: #b7dfc5;
	color: #17653b;
}

.lmb-login__notice--error {
	background: var(--lmb-login-danger-soft);
	border-color: #ffc9c2;
	color: var(--lmb-login-danger);
}

.lmb-login__notice--error span {
	background: #ffe1dc;
	color: var(--lmb-login-danger);
}

.lmb-login__form form,
.lmb-login__form .login-username,
.lmb-login__form .login-password,
.lmb-login__form .login-remember,
.lmb-login__form .login-submit {
	margin: 0;
}

.lmb-login__form form {
	display: grid;
	gap: var(--lmb-space-4);
}

.lmb-login__form .login-username,
.lmb-login__form .login-password,
.lmb-login__field {
	display: grid;
	gap: var(--lmb-space-2);
}

.lmb-login__form label {
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-sm);
	font-weight: var(--lmb-font-weight-bold);
	line-height: var(--lmb-leading-snug);
}

.lmb-login__form input[type="text"],
.lmb-login__form input[type="email"],
.lmb-login__form input[type="password"] {
	background: #ffffff;
	border: 1px solid var(--lmb-login-border);
	border-radius: var(--lmb-radius-md);
	color: var(--lmb-login-ink);
	font: inherit;
	min-height: 3.15rem;
	padding: 0 var(--lmb-space-4);
	transition: border-color var(--lmb-transition-fast), box-shadow var(--lmb-transition-fast);
	width: 100%;
}

.lmb-login__form input[type="text"]:focus,
.lmb-login__form input[type="email"]:focus,
.lmb-login__form input[type="password"]:focus {
	border-color: rgba(var(--lmb-color-primary-rgb), 0.58);
	box-shadow: 0 0 0 3px rgba(var(--lmb-color-primary-rgb), 0.12);
	outline: 0;
}

.lmb-login__form .login-remember label {
	align-items: center;
	color: var(--lmb-login-muted);
	display: inline-flex;
	font-family: var(--lmb-font-body);
	font-weight: var(--lmb-font-weight-semibold);
	gap: var(--lmb-space-2);
	min-height: var(--lmb-size-control-md);
}

.lmb-login__form input[type="checkbox"] {
	accent-color: var(--lmb-login-green);
	height: 1.05rem;
	width: 1.05rem;
}

.lmb-login__form .login-submit {
	padding-top: var(--lmb-space-1);
}

.lmb-login__form input[type="submit"],
.lmb-login__button {
	background: var(--lmb-login-green);
	border: 1px solid transparent;
	border-radius: var(--lmb-radius-md);
	box-shadow: 0 12px 28px rgba(13, 91, 86, 0.22);
	color: #ffffff;
	cursor: pointer;
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-sm);
	font-weight: var(--lmb-font-weight-bold);
	min-height: 3rem;
	padding: 0 var(--lmb-space-5);
	transition: background-color var(--lmb-transition-fast), border-color var(--lmb-transition-fast), color var(--lmb-transition-fast), transform var(--lmb-transition-fast), box-shadow var(--lmb-transition-fast);
	width: 100%;
}

.lmb-login__form input[type="submit"]:hover,
.lmb-login__form input[type="submit"]:focus-visible,
.lmb-login__button:hover,
.lmb-login__button:focus-visible {
	background: var(--lmb-login-green-dark);
	color: #ffffff;
	transform: translateY(-1px);
}

.lmb-login__actions,
.lmb-login__field {
	margin: 0;
}

.lmb-login__actions {
	padding-top: var(--lmb-space-1);
}

.lmb-login__honeypot {
	display: none;
}

.lmb-login__links {
	align-items: center;
	border-top: 1px solid var(--lmb-login-border);
	display: flex;
	flex-wrap: wrap;
	gap: var(--lmb-space-3);
	justify-content: space-between;
	padding-top: var(--lmb-space-5);
}

.lmb-login__links a {
	align-items: center;
	color: var(--lmb-login-green);
	display: inline-flex;
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-sm);
	font-weight: var(--lmb-font-weight-bold);
	min-height: var(--lmb-size-control-md);
	text-decoration: none;
}

.lmb-login__links a:hover,
.lmb-login__links a:focus-visible {
	color: var(--lmb-login-green-dark);
	text-decoration: underline;
}

.lmb-login__support {
	background: linear-gradient(135deg, #083e3a, #102f2c);
	border-radius: var(--lmb-radius-md);
	box-shadow: 0 18px 50px rgba(8, 62, 58, 0.18);
	color: #ffffff;
	display: grid;
	gap: var(--lmb-space-5);
	padding: var(--lmb-space-6);
}

.lmb-login__support h2 {
	color: #ffffff;
	font-size: 1.45rem;
}

.lmb-login__feature-list {
	display: grid;
	gap: var(--lmb-space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

.lmb-login__feature-list li {
	align-items: start;
	display: grid;
	gap: var(--lmb-space-2) var(--lmb-space-3);
	grid-template-columns: 2.75rem minmax(0, 1fr);
}

.lmb-login__feature-list span {
	background: rgba(255, 255, 255, 0.1);
	color: #f1c95a;
	height: 2.75rem;
	width: 2.75rem;
}

.lmb-login__feature-list strong {
	color: #ffffff;
	font-family: var(--lmb-font-heading);
	font-size: var(--lmb-font-size-sm);
	line-height: var(--lmb-leading-snug);
}

.lmb-login__feature-list small {
	color: rgba(255, 255, 255, 0.78);
	grid-column: 2;
}

@media (min-width: 42rem) {
	.lmb-login__hero h1 {
		font-size: 3rem;
	}

	.lmb-login__panel {
		padding: var(--lmb-space-8);
	}
}

@media (min-width: 58rem) {
	.lmb-login__hero {
		padding-bottom: var(--lmb-space-12);
		padding-top: var(--lmb-space-12);
	}

	.lmb-login__layout {
		align-items: start;
		grid-template-columns: minmax(21rem, 0.82fr) minmax(18rem, 0.58fr);
	}

	.lmb-login__support {
		position: sticky;
		top: calc(var(--lmb-size-header-desktop) + var(--lmb-space-5));
	}

	.admin-bar .lmb-login__support {
		top: calc(var(--lmb-size-header-desktop) + var(--lmb-size-admin-bar-desktop) + var(--lmb-space-5));
	}

	.lmb-login__support h2 {
		font-size: 2rem;
	}
}

@media (max-width: 30rem) {
	.lmb-login__panel,
	.lmb-login__support {
		padding: var(--lmb-space-5);
	}

	.lmb-login__links {
		align-items: stretch;
		flex-direction: column;
	}

	.lmb-login__links a {
		align-items: center;
		display: inline-flex;
		min-height: var(--lmb-size-control-md);
	}
}

@media (prefers-reduced-motion: reduce) {
	.lmb-login,
	.lmb-login * {
		transition-delay: 0ms;
		transition-duration: 0.01ms;
	}
}
