/* Just Locals skin for Directorist authentication.
 * Directorist retains authentication behaviour; JL owns the visual layer.
 */

body.jl-signin-themed .site-content,
body.jl-signin-themed #content,
body.jl-signin-themed .site-main {
	background:#fdfcf8;
}

body.jl-signin-themed .directorist-login-wrapper {
	box-sizing:border-box;
	padding:38px 22px 82px;
	width:100%;
}

body.jl-signin-themed .directorist-login-wrapper .directorist-row {
	display:flex!important;
	justify-content:center!important;
	margin-left:0!important;
	margin-right:0!important;
	width:100%!important;
}

body.jl-signin-themed .directorist-login-wrapper [class*="directorist-col-"] {
	box-sizing:border-box;
	float:none!important;
	flex:0 1 620px!important;
	left:auto!important;
	margin-left:0!important;
	margin-right:0!important;
	max-width:620px!important;
	padding-left:0!important;
	padding-right:0!important;
	position:relative!important;
	right:auto!important;
	width:100%!important;
}

body.jl-signin-themed .jl-signin-card {
	background:#fff;
	border:1px solid #e2e6e0;
	border-radius:16px;
	box-shadow:0 4px 18px rgba(0,0,0,.035);
	box-sizing:border-box;
	margin:0 auto;
	max-width:620px;
	padding:34px;
	width:100%;
}

body.jl-signin-themed .jl-signin-intro {
	border-bottom:1px solid #edf0eb;
	margin:0 0 30px;
	padding:0 0 24px;
}

body.jl-signin-themed .jl-signin-eyebrow {
	color:#d68910;
	font-family:var(--jl-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.08em;
	line-height:1.3;
	margin:0 0 8px;
	text-transform:uppercase;
}

body.jl-signin-themed .jl-signin-intro h1 {
	color:#113611;
	font-family:var(--jl-font-heading,Georgia,"Times New Roman",serif);
	font-size:clamp(34px,4vw,42px);
	font-weight:600;
	letter-spacing:-.01em;
	line-height:1.08;
	margin:0 0 10px;
}

body.jl-signin-themed .jl-signin-intro > p:last-child {
	color:#5c6b5c;
	font-family:var(--jl-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
	font-size:.92rem;
	line-height:1.55;
	margin:0;
	max-width:510px;
}

body.jl-signin-themed .jl-signin-card,
body.jl-signin-themed .jl-signin-card label,
body.jl-signin-themed .jl-signin-card input,
body.jl-signin-themed .jl-signin-card button,
body.jl-signin-themed .jl-signin-card a,
body.jl-signin-themed .jl-signin-card p {
	font-family:var(--jl-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}

body.jl-signin-themed .jl-signin-card .directorist-form-group {
	margin-bottom:22px;
}

body.jl-signin-themed .jl-signin-card .directorist-form-group label {
	color:#303730;
	display:block;
	font-size:14px;
	font-weight:700;
	line-height:1.4;
	margin:0 0 9px;
}

body.jl-signin-themed .jl-signin-card .directorist-form-element {
	appearance:none;
	background:#fff;
	border:1px solid #cfd7cc;
	border-radius:9px;
	box-shadow:none;
	box-sizing:border-box;
	color:#242424;
	font-size:15px;
	height:48px;
	line-height:1.3;
	min-height:48px;
	padding:11px 13px;
	transition:border-color .15s ease,box-shadow .15s ease;
	width:100%;
}

body.jl-signin-themed .jl-signin-card .directorist-form-element:hover {
	border-color:#aebbaa;
}

body.jl-signin-themed .jl-signin-card .directorist-form-element:focus {
	border-color:#1a531a;
	box-shadow:0 0 0 3px rgba(26,83,26,.10);
	outline:0;
}

body.jl-signin-themed .jl-signin-card .directorist-password-group {
	position:relative;
}

body.jl-signin-themed .jl-signin-card .directorist-password-group .directorist-form-element {
	padding-right:48px;
}

body.jl-signin-themed .jl-signin-card .directorist-password-group-toggle {
	align-items:center;
	color:#687268;
	cursor:pointer;
	display:flex;
	height:48px;
	justify-content:center;
	position:absolute;
	right:0;
	top:29px;
	width:48px;
}

body.jl-signin-themed .jl-signin-card .directorist-btn-primary,
body.jl-signin-themed .jl-signin-card .directorist-authentication__form__btn,
body.jl-signin-themed .jl-signin-card button[type="submit"] {
	align-items:center;
	background:#1a531a!important;
	border:1px solid #1a531a!important;
	border-radius:9px!important;
	box-shadow:none!important;
	color:#fff!important;
	cursor:pointer;
	display:flex;
	font-size:14px;
	font-weight:800;
	justify-content:center;
	min-height:48px;
	padding:12px 18px;
	transition:background .15s ease,border-color .15s ease,transform .15s ease;
	width:100%;
}

body.jl-signin-themed .jl-signin-card .directorist-btn-primary:hover,
body.jl-signin-themed .jl-signin-card .directorist-authentication__form__btn:hover,
body.jl-signin-themed .jl-signin-card button[type="submit"]:hover {
	background:#113611!important;
	border-color:#113611!important;
	color:#fff!important;
}

body.jl-signin-themed .jl-signin-card .directorist-btn-primary:focus-visible,
body.jl-signin-themed .jl-signin-card .directorist-authentication__form__btn:focus-visible,
body.jl-signin-themed .jl-signin-card button[type="submit"]:focus-visible,
body.jl-signin-themed .jl-signin-card a:focus-visible {
	outline:3px solid rgba(214,137,16,.65);
	outline-offset:3px;
}

body.jl-signin-themed .jl-signin-card a {
	color:#1a531a!important;
	font-weight:700;
	text-decoration:none!important;
	text-underline-offset:2px;
}

body.jl-signin-themed .jl-signin-card a:hover {
	color:#113611!important;
	text-decoration:underline!important;
}

body.jl-signin-themed .jl-signin-card .keep_signed,
body.jl-signin-themed .jl-signin-card .directorist-checkbox {
	align-items:center;
	color:#4f5d4f;
	display:flex;
	font-size:14px;
	gap:9px;
}

body.jl-signin-themed .jl-signin-card input[type="checkbox"] {
	accent-color:#1a531a;
}

body.jl-signin-themed .jl-signin-card .atbdp_recovery_pass {
	color:#1a531a!important;
}

body.jl-signin-themed .jl-signin-card .directorist-alert {
	border-radius:9px;
	line-height:1.5;
}

body.jl-signin-themed .jl-signin-card .status:empty {
	display:none;
}

body.jl-signin-themed .jl-signin-card .directorist-form-required {
	color:#b6462f;
}

body.jl-signin-themed .jl-signin-card form + p,
body.jl-signin-themed .jl-signin-card > p:last-child {
	color:#5f665f;
	font-size:14px;
	line-height:1.5;
	margin-top:20px;
}

@media (max-width:620px) {
	body.jl-signin-themed .directorist-login-wrapper {
		padding:24px 12px 52px;
	}

	body.jl-signin-themed .jl-signin-card {
		border-radius:14px;
		padding:24px 20px 26px;
	}

	body.jl-signin-themed .jl-signin-intro {
		margin-bottom:24px;
		padding-bottom:20px;
	}

	body.jl-signin-themed .jl-signin-intro h1 {
		font-size:32px;
		line-height:1.12;
	}

	body.jl-signin-themed .jl-signin-intro > p:last-child {
		font-size:.88rem;
	}
}


/* Center the exact Directorist layout chain detected around the active auth form. */
body.jl-signin-themed .jl-signin-container {
	box-sizing:border-box!important;
	margin-left:auto!important;
	margin-right:auto!important;
	max-width:none!important;
	padding-left:22px!important;
	padding-right:22px!important;
	width:100%!important;
}

body.jl-signin-themed .jl-signin-row {
	box-sizing:border-box!important;
	display:flex!important;
	justify-content:center!important;
	margin-left:0!important;
	margin-right:0!important;
	max-width:none!important;
	width:100%!important;
}

body.jl-signin-themed .jl-signin-column {
	box-sizing:border-box!important;
	flex:0 1 620px!important;
	float:none!important;
	left:auto!important;
	margin-left:0!important;
	margin-right:0!important;
	max-width:620px!important;
	padding-left:0!important;
	padding-right:0!important;
	position:relative!important;
	right:auto!important;
	transform:none!important;
	width:100%!important;
}

body.jl-signin-themed .jl-signin-card {
	margin-left:auto!important;
	margin-right:auto!important;
}

@media (max-width:620px) {
	body.jl-signin-themed .jl-signin-container {
		padding-left:12px!important;
		padding-right:12px!important;
	}
}


/* Directorist registration form */
body.jl-signin-themed .jl-signup-card .directorist-form-group {
	margin-bottom:22px;
}

body.jl-signin-themed .jl-signup-card input[type="text"],
body.jl-signin-themed .jl-signup-card input[type="email"],
body.jl-signin-themed .jl-signup-card input[type="password"] {
	background:#fff!important;
	border:1px solid #cfd7cc!important;
	border-radius:9px!important;
	box-shadow:none!important;
	box-sizing:border-box!important;
	color:#242424!important;
	font-size:15px!important;
	height:48px!important;
	min-height:48px!important;
	padding:11px 13px!important;
	width:100%!important;
}

body.jl-signin-themed .jl-signup-card input[type="text"]:focus,
body.jl-signin-themed .jl-signup-card input[type="email"]:focus,
body.jl-signin-themed .jl-signup-card input[type="password"]:focus {
	border-color:#1a531a!important;
	box-shadow:0 0 0 3px rgba(26,83,26,.10)!important;
	outline:0!important;
}

body.jl-signin-themed .jl-signup-card label {
	color:#303730!important;
	font-size:14px!important;
	font-weight:700!important;
}

body.jl-signin-themed .jl-signup-card input[type="checkbox"] {
	accent-color:#1a531a;
	height:18px!important;
	min-width:18px!important;
	width:18px!important;
}

body.jl-signin-themed .jl-signup-card .directorist-checkbox,
body.jl-signin-themed .jl-signup-card .directorist-checkbox__label {
	color:#4f5d4f!important;
	font-size:14px!important;
	font-weight:500!important;
	line-height:1.45!important;
}

body.jl-signin-themed .jl-signup-card button[type="submit"],
body.jl-signin-themed .jl-signup-card .directorist-btn {
	background:#1a531a!important;
	border:1px solid #1a531a!important;
	border-radius:9px!important;
	box-shadow:none!important;
	color:#fff!important;
	font-size:14px!important;
	font-weight:800!important;
	min-height:48px!important;
	width:100%!important;
}

body.jl-signin-themed .jl-signup-card button[type="submit"]:hover,
body.jl-signin-themed .jl-signup-card .directorist-btn:hover {
	background:#113611!important;
	border-color:#113611!important;
	color:#fff!important;
}

body.jl-signin-themed .jl-signup-card a {
	color:#1a531a!important;
	font-weight:700!important;
	text-decoration:none!important;
}

body.jl-signin-themed .jl-signup-card a:hover {
	color:#113611!important;
	text-decoration:underline!important;
	text-underline-offset:2px;
}


/* Directorist keeps login and registration as sibling columns.
 * Remove the inactive column from layout completely so the active card
 * always occupies the same top position instead of wrapping to a second row.
 */
body.jl-signin-themed .directorist-authentication:not(.active) {
	display:none!important;
	height:0!important;
	opacity:0!important;
	visibility:hidden!important;
}

body.jl-signin-themed .directorist-authentication.active {
	display:block!important;
	height:auto!important;
	opacity:1!important;
	visibility:visible!important;
}
