/* CEH Paywall 1.0 */
.ceh-pw {
	--p-navy: #123151; --p-orange: #F78F28; --p-blue: #379FD3; --p-body: #3b4a5a; --p-muted: #5a6a7b; --p-line: #dbe3ec; --p-soft: #f3f7fb;
	box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	margin: 36px 0 28px; border-radius: 18px; overflow: hidden;
	background: #fff; border: 1px solid var(--p-line); box-shadow: 0 12px 34px rgba(18,49,81,.08);
	font-family: 'League Spartan', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; color: var(--p-body); line-height: 1.5;
}
.ceh-pw *, .ceh-pw *::before, .ceh-pw *::after { box-sizing: border-box; }
.ceh-pw.is-lapsed { grid-template-columns: minmax(0, 1fr); }
.ceh-pw p { margin: 0; }
.ceh-pw svg { flex: none; }

/* ---------- left: what they get ---------- */
.ceh-pw__main { padding: 34px 36px 32px; border-top: 4px solid var(--p-orange); }
.ceh-pw .ceh-pw__label {
	display: flex; align-items: center; gap: 7px; margin-bottom: 10px;
	font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--p-muted);
}
.ceh-pw .ceh-pw__label svg { color: var(--p-orange); }
.ceh-pw .ceh-pw__h {
	margin: 0 0 8px !important; padding: 0 !important; font-family: inherit !important; font-weight: 700 !important;
	font-size: clamp(26px, 3vw, 32px) !important; line-height: 1.12 !important; letter-spacing: -0.005em !important;
	color: var(--p-navy) !important; text-transform: none !important;
}
.ceh-pw .ceh-pw__text { font-size: 18px; max-width: 34em; }
.ceh-pw .ceh-pw__sub {
	margin: 24px 0 10px !important; padding: 0 !important; font-family: inherit !important; font-weight: 700 !important;
	font-size: 17px !important; line-height: 1.3 !important; color: var(--p-navy) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.ceh-pw ul.ceh-pw__inside, .ceh-pw ul.ceh-pw__files { list-style: none; margin: 0; padding: 0; }
.ceh-pw .ceh-pw__inside li {
	display: flex; gap: 10px; align-items: flex-start; margin: 0 0 7px; padding: 0; list-style: none; font-size: 17px;
}
.ceh-pw .ceh-pw__inside li svg { margin-top: 4px; color: var(--p-blue); }

.ceh-pw ul.ceh-pw__files { margin-top: 18px; border-top: 1px solid var(--p-line); }
.ceh-pw .ceh-pw__files li {
	display: flex; align-items: center; gap: 10px; margin: 0; padding: 9px 2px; list-style: none;
	border-bottom: 1px solid var(--p-line); font-size: 16px;
}
.ceh-pw .ceh-pw__files li svg { color: #9aabbd; }
.ceh-pw .ceh-pw__fname { flex: 1; min-width: 0; color: var(--p-navy); }
.ceh-pw .ceh-pw__ftype { font-size: 14px; color: var(--p-muted); white-space: nowrap; }

.ceh-pw__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 26px; }
.ceh-pw a.ceh-pw__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 26px 11px;
	border-radius: 12px; border: 0; background: var(--p-orange); color: var(--p-navy) !important;
	font-weight: 700; font-size: 18px; line-height: 1.1; text-decoration: none !important; transition: background .15s;
}
.ceh-pw a.ceh-pw__btn:hover { background: #ffa347; }
.ceh-pw a.ceh-pw__link, .ceh-pw .ceh-pw__free a {
	color: var(--p-navy) !important; font-weight: 700; text-decoration: none !important; border-bottom: 2px solid var(--p-orange);
}
.ceh-pw .ceh-pw__note { margin-top: 10px; font-size: 15px; color: var(--p-muted); }
.ceh-pw .ceh-pw__free { margin-top: 18px; font-size: 16px; }
.ceh-pw .ceh-pw__free a { border-bottom-color: transparent; font-weight: 600; }
.ceh-pw .ceh-pw__free a:hover { border-bottom-color: var(--p-orange); }
.ceh-pw a:focus-visible, .ceh-pw button:focus-visible, .ceh-pw input:focus-visible { outline: 3px solid var(--p-blue); outline-offset: 2px; }

/* ---------- right: the MemberPress login form ---------- */
.ceh-pw__login { padding: 34px 32px 30px; background: var(--p-soft); border-left: 1px solid var(--p-line); border-top: 4px solid var(--p-navy); }
.ceh-pw__login .ceh-pw__sub { margin-top: 0 !important; margin-bottom: 16px !important; font-size: 20px !important; }
.ceh-pw__login form { margin: 0; }
.ceh-pw__login .mp-form-row, .ceh-pw__login .mepr-form-row, .ceh-pw__login p.login-username, .ceh-pw__login p.login-password,
.ceh-pw__login p.login-remember, .ceh-pw__login p.login-submit { margin: 0 0 14px !important; }
.ceh-pw__login label {
	display: block; margin: 0 0 5px; font-weight: 700; font-size: 15px; color: var(--p-navy); text-transform: none;
}
.ceh-pw__login .mp-form-label, .ceh-pw__login .mepr-form-label, .ceh-pw__login .mp-hide-pw { display: block; width: 100%; }
.ceh-pw__login .mp-spacer { display: none; }
.ceh-pw__login input[type="text"], .ceh-pw__login input[type="email"], .ceh-pw__login input[type="password"] {
	display: block; width: 100% !important; max-width: 100% !important; height: auto !important; margin: 0 !important;
	padding: 11px 13px !important; border: 1px solid #c9d5e1 !important; border-radius: 10px !important;
	background: #fff !important; color: #1d2a38 !important; font: inherit; font-size: 16px !important; line-height: 1.4 !important;
	box-shadow: none !important; transition: border-color .15s, box-shadow .15s;
}
.ceh-pw__login input[type="text"]:focus, .ceh-pw__login input[type="email"]:focus, .ceh-pw__login input[type="password"]:focus {
	outline: none !important; border-color: var(--p-blue) !important; box-shadow: 0 0 0 3px rgba(55,159,211,.2) !important;
}
/* MemberPress's show-password button sits inside the password box */
.ceh-pw__login .mp-hide-pw { position: relative; }
.ceh-pw__login .mp-hide-pw input[type="password"], .ceh-pw__login .mp-hide-pw input[type="text"] { padding-right: 46px !important; }
.ceh-pw__login .mp-hide-pw button, .ceh-pw__login button.mp-hide-pw {
	position: absolute; top: 50%; right: 4px; transform: translateY(-50%); width: 38px; height: 38px; margin: 0; padding: 0;
	display: grid; place-items: center; border: 0 !important; background: none !important; color: var(--p-muted) !important; box-shadow: none !important; cursor: pointer;
}
.ceh-pw__login input[type="checkbox"] { width: 18px; height: 18px; margin: 0 8px 0 0; vertical-align: -3px; accent-color: var(--p-navy); }
.ceh-pw__login label:has(input[type="checkbox"]), .ceh-pw__login label[for="rememberme"], .ceh-pw__login p.login-remember label { display: inline-flex; align-items: center; margin: 2px 0 16px; font-weight: 400; font-size: 16px; color: var(--p-body); cursor: pointer; }
.ceh-pw__login input[type="submit"], .ceh-pw__login #wp-submit, .ceh-pw__login .mepr-submit, .ceh-pw__login button[type="submit"] {
	display: block; width: 100% !important; min-height: 50px; margin: 4px 0 0 !important; padding: 12px 22px 10px !important;
	border: 0 !important; border-radius: 12px !important; cursor: pointer; box-shadow: none !important; text-shadow: none !important;
	background: var(--p-navy) !important; color: #fff !important; font: inherit; font-weight: 700 !important; font-size: 17px !important; line-height: 1.2 !important;
	transition: background .15s;
}
.ceh-pw__login input[type="submit"]:hover, .ceh-pw__login #wp-submit:hover, .ceh-pw__login .mepr-submit:hover { background: #1c4570 !important; }
.ceh-pw__login a { color: var(--p-navy); font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(18,49,81,.3); }
.ceh-pw__login a:hover { border-bottom-color: var(--p-orange); }
.ceh-pw__login .mepr-login-actions, .ceh-pw__login .mp-login-actions { margin-top: 14px; font-size: 15px; }
.ceh-pw__login .mepr_error, .ceh-pw__login .mepr_updated {
	margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; font-size: 15px; background: #fff; border: 1px solid var(--p-line);
}
.ceh-pw__login .mepr_error { border-color: #e7b3a8; background: #fff6f4; color: #8a2d1a; }
.ceh-pw__login .mepr-already-logged-in { font-size: 16px; }

/* Wide screens: the two-column card steps out of the narrow text column a little. */
@media (min-width: 1100px) {
	div.ceh-pw.ceh-pw:not(.is-lapsed) {
		width: min(980px, calc(100vw - 64px)) !important; max-width: none !important;
		margin-left: calc(50% - min(490px, calc(50vw - 32px))) !important; margin-right: 0 !important;
	}
}

/* ---------- smaller screens ---------- */
@media (max-width: 820px) {
	.ceh-pw { grid-template-columns: minmax(0, 1fr); }
	.ceh-pw__login { border-left: 0; border-top: 1px solid var(--p-line); }
}
@media (max-width: 520px) {
	.ceh-pw { margin: 28px 0 22px; border-radius: 14px; }
	.ceh-pw__main { padding: 24px 20px 24px; }
	.ceh-pw__login { padding: 24px 20px 22px; }
	.ceh-pw .ceh-pw__text, .ceh-pw .ceh-pw__inside li { font-size: 16px; }
	.ceh-pw__cta { flex-direction: column; align-items: stretch; text-align: center; }
	.ceh-pw a.ceh-pw__btn { width: 100%; }
	.ceh-pw a.ceh-pw__link { align-self: center; }
	.ceh-pw .ceh-pw__note { text-align: center; }
}
