/* Project E — login with a code (JC_Login). Inherits the theme's font and colours;
   only the spacing and the one-time-code field are ours. */
.jc-login {
	--jc-login-accent: var(--jw-primary, #111827);
	box-sizing: border-box;
	max-width: 440px;
	margin: 0 0 2em;
	padding: 1.5em;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 14px;
	background: #fff;
	text-align: right;
}
.jc-login *,
.jc-login *::before,
.jc-login *::after { box-sizing: border-box; }
.jc-login__title { margin: 0 0 .35em; font-size: 1.35em; }
.jc-login__lead { margin: 0 0 1.1em; opacity: .8; }
.jc-login__label { display: block; margin: 0 0 .35em; font-weight: 600; }
.jc-login__input {
	display: block;
	width: 100%;
	margin: 0 0 .9em;
	padding: .75em .9em;
	border: 1px solid rgba(0, 0, 0, .25);
	border-radius: 10px;
	font-size: 1rem;
	text-align: left;
}
.jc-login__input--code {
	font-size: 1.6rem;
	letter-spacing: .45em;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.jc-login__button {
	display: block;
	width: 100%;
	padding: .8em 1em;
	border: 0;
	border-radius: 10px;
	background: var(--jc-login-accent);
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
}
.jc-login__button:disabled { opacity: .6; cursor: default; }
.jc-login__remember { display: flex; gap: .4em; align-items: center; margin: 0 0 .9em; font-size: .92em; }
.jc-login__links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5em; margin: .9em 0 0; }
/* Text links, not buttons. The !important and the doubled selector beat theme and
   Elementor kit button rules (`.elementor-kit-N button`, hover/focus/disabled states)
   that otherwise paint these as filled black or grey boxes. */
.jc-login button.jc-login__link,
.jc-login button.jc-login__link:hover,
.jc-login button.jc-login__link:focus,
.jc-login button.jc-login__link:active,
.jc-login button.jc-login__link:disabled {
	width: auto !important;
	min-height: 0 !important;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #000 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-transform: none !important;
	letter-spacing: normal !important;
	font: inherit;
	font-size: .92em;
	line-height: 1.5;
	cursor: pointer;
}
.jc-login button.jc-login__link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.jc-login button.jc-login__link:disabled { color: #6b7280 !important; text-decoration: none !important; cursor: default; }
.jc-login button.jc-login__link:empty { display: none; }
.jc-login__toggle { display: block; margin: 1em 0 0; }
.jc-login__sent { margin: 0 0 .9em; }
.jc-login__status { min-height: 1.2em; margin: .8em 0 0; font-size: .95em; }
.jc-login__status.is-error { color: #b42318; }
.jc-login__status:empty { display: none; }
.jc-login__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.jc-login [hidden],
.jc-login-folded { display: none !important; }
.jc-login.is-unavailable .jc-login__step { display: none; }
@media (max-width: 480px) {
	.jc-login { padding: 1.1em; border-radius: 12px; }
}
