.mcp-auth-page {
	min-width: 320px;
	background: #dcece3;
}

html[data-mcp-theme="dark"] .mcp-auth-page {
	background: #07110e;
}

.mcp-auth-page .mcp-main {
	min-height: 100vh;
}

.mcp-auth-stage {
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	overflow: hidden;
	padding: clamp(110px, 11vw, 150px) 0 56px;
	background:
		radial-gradient(ellipse at 11% 20%, rgba(30, 176, 128, 0.25), transparent 33%),
		radial-gradient(ellipse at 78% 12%, rgba(55, 154, 191, 0.18), transparent 27%),
		radial-gradient(ellipse at 72% 83%, rgba(104, 197, 137, 0.18), transparent 29%),
		linear-gradient(135deg, #d8ece2 0%, #e2f0e9 38%, #d5e8de 68%, #e4f0ea 100%);
}

html[data-mcp-theme="dark"] .mcp-auth-stage {
	background:
		radial-gradient(ellipse at 10% 20%, rgba(35, 181, 132, 0.18), transparent 34%),
		radial-gradient(ellipse at 79% 14%, rgba(32, 129, 152, 0.13), transparent 29%),
		radial-gradient(ellipse at 72% 86%, rgba(88, 210, 156, 0.10), transparent 28%),
		linear-gradient(135deg, #06110d 0%, #091913 42%, #07120f 70%, #0a1713 100%);
}

.mcp-auth-backdrop {
	position: absolute;
	z-index: -2;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

.mcp-auth-glow {
	position: absolute;
	border-radius: 999px;
	filter: blur(10px);
	opacity: 0.62;
}

.mcp-auth-glow-one {
	left: -8vw;
	top: 15%;
	width: 36vw;
	height: 22vw;
	background: radial-gradient(circle, rgba(40, 181, 127, 0.20), transparent 68%);
}

.mcp-auth-glow-two {
	right: -9vw;
	top: -5%;
	width: 38vw;
	height: 30vw;
	background: radial-gradient(circle, rgba(57, 150, 180, 0.17), transparent 68%);
}

.mcp-auth-glow-three {
	right: 18%;
	bottom: -15%;
	width: 38vw;
	height: 28vw;
	background: radial-gradient(circle, rgba(61, 184, 130, 0.14), transparent 68%);
}

.mcp-letter-rain {
	position: absolute;
	inset: 0;
	overflow: hidden;
	mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.mcp-letter-column {
	position: absolute;
	left: var(--mcp-x);
	top: -48vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mcp-gap, 5px);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: var(--mcp-size, 12px);
	font-weight: 750;
	line-height: 1;
	letter-spacing: 0;
	color: rgba(9, 105, 78, var(--mcp-opacity, 0.17));
	text-shadow: 0 0 12px rgba(38, 161, 119, 0.06);
	animation: mcp-letter-fall var(--mcp-duration, 15s) linear infinite;
	animation-delay: var(--mcp-delay, -4s);
	will-change: transform;
	user-select: none;
}

html[data-mcp-theme="dark"] .mcp-letter-column {
	color: rgba(111, 255, 205, var(--mcp-opacity-dark, 0.24));
	text-shadow: 0 0 14px rgba(86, 255, 197, 0.17);
}

.mcp-letter-column span:nth-child(4n) {
	opacity: 0.55;
}

.mcp-letter-column span:nth-child(7n) {
	opacity: 0.85;
}

@keyframes mcp-letter-fall {
	0% { transform: translate3d(0, -15vh, 0); }
	100% { transform: translate3d(var(--mcp-drift, 0px), 175vh, 0); }
}

.mcp-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(430px, .72fr);
	gap: clamp(44px, 6vw, 84px);
	align-items: center;
}

.mcp-auth-register .mcp-auth-layout {
	grid-template-columns: minmax(300px, 0.72fr) minmax(560px, 1.12fr);
	align-items: start;
}

.mcp-auth-story {
	position: relative;
	padding: 32px 0;
}

.mcp-auth-story-inner {
	max-width: 540px;
}

.mcp-auth-eyebrow,
.mcp-auth-card-brand {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 10px;
	border: 1px solid rgba(24, 124, 95, 0.17);
	border-radius: 999px;
	background: rgba(205, 230, 217, 0.58);
	color: #0b7559;
	font-size: 0.73rem;
	font-weight: 850;
	letter-spacing: 0.105em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

html[data-mcp-theme="dark"] .mcp-auth-eyebrow,
html[data-mcp-theme="dark"] .mcp-auth-card-brand {
	border-color: rgba(114, 245, 202, 0.18);
	background: rgba(9, 28, 22, 0.48);
	color: #8df3d2;
}

.mcp-auth-story h1 {
	max-width: 600px;
	margin: 22px 0 0;
	color: #10251e;
	font-size: clamp(3rem, 4.6vw, 5rem);
	font-weight: 790;
	line-height: 0.98;
	letter-spacing: -0.062em;
	text-wrap: balance;
}

html[data-mcp-theme="dark"] .mcp-auth-story h1 {
	color: #eefaf6;
}

.mcp-auth-story > .mcp-auth-story-inner > p {
	max-width: 590px;
	margin: 26px 0 0;
	color: #4f6860;
	font-size: clamp(1.05rem, 1.45vw, 1.26rem);
	line-height: 1.65;
}

html[data-mcp-theme="dark"] .mcp-auth-story > .mcp-auth-story-inner > p {
	color: #aec7be;
}

.mcp-auth-points {
	display: grid;
	gap: 13px;
	margin-top: 34px;
}

.mcp-auth-point {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #29443b;
	font-size: 0.94rem;
	font-weight: 650;
}

html[data-mcp-theme="dark"] .mcp-auth-point {
	color: #c1d8d0;
}

.mcp-auth-point-dot,
.mcp-auth-security-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #23a97e;
	box-shadow: 0 0 0 5px rgba(35, 169, 126, 0.10);
	flex: 0 0 auto;
}

html[data-mcp-theme="dark"] .mcp-auth-point-dot,
html[data-mcp-theme="dark"] .mcp-auth-security-dot {
	background: #6ce7bd;
	box-shadow: 0 0 0 5px rgba(108, 231, 189, 0.09);
}

.mcp-auth-form-column {
	width: 100%;
	max-width: 590px;
	justify-self: end;
}

.mcp-auth-register .mcp-auth-form-column {
	max-width: 740px;
}

.mcp-auth-card {
	position: relative;
	border: 1px solid var(--mcp-container-border);
	border-radius: 28px;
	background: var(--mcp-container-background);
	box-shadow:
		0 30px 90px rgba(29, 81, 63, 0.13),
		inset 0 1px 0 rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(24px) saturate(1.08);
	-webkit-backdrop-filter: blur(24px) saturate(1.08);
	overflow: hidden;
}

html[data-mcp-theme="dark"] .mcp-auth-card {
	border-color: var(--mcp-container-border);
	background: var(--mcp-container-background);
	box-shadow:
		0 32px 100px rgba(0, 0, 0, 0.42),
		inset 0 1px 0 rgba(224, 255, 245, 0.055);
}

.mcp-auth-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(35, 169, 126, 0.58), transparent);
}

html[data-mcp-theme="dark"] .mcp-auth-card::before {
	background: linear-gradient(90deg, transparent, rgba(104, 231, 188, 0.48), transparent);
}

.mcp-auth-card-header {
	padding: 34px 38px 24px;
	border-bottom: 1px solid rgba(31, 80, 64, 0.09);
}

html[data-mcp-theme="dark"] .mcp-auth-card-header {
	border-bottom-color: rgba(203, 246, 232, 0.09);
}

.mcp-auth-card-header h2 {
	margin: 14px 0 0;
	color: #10241e;
	font-size: clamp(1.8rem, 3vw, 2.45rem);
	line-height: 1.08;
	letter-spacing: -0.045em;
}

html[data-mcp-theme="dark"] .mcp-auth-card-header h2 {
	color: #edf9f5;
}

.mcp-auth-card-header p {
	margin: 10px 0 0;
	color: #667871;
	font-size: 0.95rem;
	line-height: 1.55;
}

html[data-mcp-theme="dark"] .mcp-auth-card-header p {
	color: #b7d0c7;
}

.mcp-auth-card-content {
	padding: 30px 38px 38px;
}

.mcp-auth-card-content > :first-child,
.mcp-auth-card-content .pmpro > :first-child {
	margin-top: 0;
}

.mcp-auth-card-content > :last-child,
.mcp-auth-card-content .pmpro > :last-child {
	margin-bottom: 0;
}

.mcp-auth-security-line {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 18px auto 0;
	color: rgba(47, 72, 64, 0.74);
	font-size: 0.78rem;
	text-align: center;
}

html[data-mcp-theme="dark"] .mcp-auth-security-line {
	color: rgba(184, 211, 202, 0.68);
}

/* PMPro native frontend forms ------------------------------------------------ */
.mcp-auth-card .pmpro,
.mcp-auth-card [class*="pmpro_"] {
	font-family: inherit;
}

.mcp-auth-card .pmpro,
.mcp-auth-card .pmpro_section,
.mcp-auth-card .pmpro_form,
.mcp-auth-card .pmpro_card,
.mcp-auth-card .pmpro_card_content,
.mcp-auth-card .pmpro_form_fields {
	color: #213a32;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_section,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_card,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_card_content,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_fields {
	color: #dcebe6;
}

.mcp-auth-card .pmpro_card,
.mcp-auth-card .pmpro_section,
.mcp-auth-card .pmpro_form_fieldset {
	border-color: rgba(31, 80, 64, 0.10) !important;
	background: transparent !important;
	box-shadow: none !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_card,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_section,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_fieldset {
	border-color: rgba(203, 246, 232, 0.10) !important;
}

.mcp-auth-card .pmpro_form_fieldset {
	margin: 0 0 28px;
	padding: 0;
	border-width: 0 !important;
}

.mcp-auth-card .pmpro_form_fieldset + .pmpro_form_fieldset {
	padding-top: 28px;
	border-top-width: 1px !important;
}

.mcp-auth-card .pmpro_form_legend,
.mcp-auth-card .pmpro_card_title,
.mcp-auth-card .pmpro_section_title,
.mcp-auth-card legend {
	color: #19382e !important;
	font-weight: 780 !important;
	letter-spacing: -0.025em;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_legend,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_card_title,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_section_title,
html[data-mcp-theme="dark"] .mcp-auth-card legend {
	color: #eaf7f2 !important;
}

.mcp-auth-card .pmpro_form_field,
.mcp-auth-card .login-username,
.mcp-auth-card .login-password,
.mcp-auth-card .login-remember {
	margin-bottom: 18px;
}

.mcp-auth-card label,
.mcp-auth-card .pmpro_form_label {
	display: inline-block;
	margin-bottom: 7px;
	color: #29473d;
	font-size: 0.87rem;
	font-weight: 720;
}

html[data-mcp-theme="dark"] .mcp-auth-card label,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_label {
	color: #c8ddd6;
}

.mcp-auth-card input[type="text"],
.mcp-auth-card input[type="email"],
.mcp-auth-card input[type="password"],
.mcp-auth-card input[type="tel"],
.mcp-auth-card input[type="url"],
.mcp-auth-card input[type="number"],
.mcp-auth-card select,
.mcp-auth-card textarea,
.mcp-auth-card .input {
	width: 100% !important;
	min-height: 50px;
	padding: 11px 14px !important;
	border: 1px solid var(--mcp-field-border) !important;
	border-radius: 13px !important;
	outline: 0;
	background: var(--mcp-field-bg) !important;
	box-shadow: inset 0 1px 2px rgba(16, 43, 34, 0.035) !important;
	color: #153329 !important;
	font-size: 0.97rem !important;
	transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

html[data-mcp-theme="dark"] .mcp-auth-card input[type="text"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="email"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="password"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="tel"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="url"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="number"],
html[data-mcp-theme="dark"] .mcp-auth-card select,
html[data-mcp-theme="dark"] .mcp-auth-card textarea,
html[data-mcp-theme="dark"] .mcp-auth-card .input {
	border-color: var(--mcp-field-border) !important;
	background: var(--mcp-field-bg) !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.16) !important;
	color: #edf9f5 !important;
}

.mcp-auth-card input:focus,
.mcp-auth-card select:focus,
.mcp-auth-card textarea:focus {
	border-color: var(--mcp-field-border-hover) !important;
	box-shadow: 0 0 0 4px rgba(24, 143, 106, 0.12) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card input:focus,
html[data-mcp-theme="dark"] .mcp-auth-card select:focus,
html[data-mcp-theme="dark"] .mcp-auth-card textarea:focus {
	border-color: var(--mcp-field-border-hover) !important;
	box-shadow: 0 0 0 4px rgba(105, 229, 189, 0.10) !important;
}

.mcp-auth-card input[type="checkbox"],
.mcp-auth-card input[type="radio"] {
	accent-color: #148665;
}

.mcp-auth-card input[type="submit"],
.mcp-auth-card button[type="submit"],
.mcp-auth-card .pmpro_btn,
.mcp-auth-card .pmpro_btn-submit,
.mcp-auth-card .button-primary {
	appearance: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 11px 20px !important;
	border: 1px solid var(--mcp-button-border) !important;
	border-radius: 13px !important;
	background: var(--mcp-button-bg) !important;
	box-shadow: var(--mcp-button-shadow) !important;
	color: var(--mcp-button-text) !important;
	font-size: 0.95rem !important;
	font-weight: 790 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease, border-color 150ms ease;
}

.mcp-auth-card input[type="submit"]:hover,
.mcp-auth-card button[type="submit"]:hover,
.mcp-auth-card .pmpro_btn:hover,
.mcp-auth-card .button-primary:hover {
	transform: translateY(-1px);
	background: var(--mcp-button-bg-hover) !important;
	border-color: var(--mcp-button-border-hover) !important;
	box-shadow: var(--mcp-button-shadow-hover) !important;
	color: var(--mcp-button-text) !important;
}

.mcp-auth-card .pmpro_btn-cancel,
.mcp-auth-card .pmpro_btn-secondary {
	border: 1px solid var(--mcp-button-secondary-border) !important;
	background: var(--mcp-button-secondary-bg) !important;
	box-shadow: var(--mcp-button-secondary-shadow) !important;
	color: var(--mcp-button-secondary-text) !important;
}

.mcp-auth-card .pmpro_btn-cancel:hover,
.mcp-auth-card .pmpro_btn-cancel:focus-visible,
.mcp-auth-card .pmpro_btn-secondary:hover,
.mcp-auth-card .pmpro_btn-secondary:focus-visible {
	border-color: var(--mcp-button-border-hover) !important;
	background: var(--mcp-button-secondary-hover) !important;
	color: var(--mcp-button-secondary-text) !important;
}

.mcp-auth-card .pmpro_form_field-password-toggle,
.mcp-auth-card .pmpro_form_field-password-toggle button,
.mcp-auth-card .hide-if-no-js {
	color: #39705f;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_field-password-toggle,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_field-password-toggle button,
html[data-mcp-theme="dark"] .mcp-auth-card .hide-if-no-js {
	color: #b9ead9;
}

.mcp-auth-card .mcp-password-input-wrap {
	position: relative;
	display: block;
	isolation: isolate;
}

.mcp-auth-card .mcp-password-input-wrap > input {
	position: relative;
	z-index: 1;
	width: 100%;
	padding-right: 52px !important;
	pointer-events: auto;
}

.mcp-auth-card .mcp-password-toggle-inline,
.mcp-auth-card .mcp-password-input-wrap > .pmpro_form_field-password-toggle {
	position: absolute !important;
	top: 50%;
	right: 8px !important;
	left: auto !important;
	margin: 0 !important;
	transform: translateY(-50%);
	z-index: 2;
}

/* Keep the PMPro toggle hit-area to the eye itself so it can never cover the input. */
.mcp-auth-card .mcp-password-input-wrap > .pmpro_form_field-password-toggle {
	width: 38px !important;
	height: 38px !important;
	max-width: 38px !important;
	pointer-events: none;
}

.mcp-auth-card .mcp-password-input-wrap > .pmpro_form_field-password-toggle button {
	pointer-events: auto;
}

.mcp-auth-card .mcp-password-eye-toggle,
.mcp-auth-card .mcp-password-input-wrap .pmpro_form_field-password-toggle button {
	display: grid !important;
	place-items: center;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--mcp-muted) !important;
	font-size: 0 !important;
	line-height: 1 !important;
}

.mcp-auth-card .mcp-password-eye-toggle:hover,
.mcp-auth-card .mcp-password-eye-toggle:focus-visible {
	background: var(--mcp-brand-soft) !important;
	color: var(--mcp-ink) !important;
	outline: none;
}

.mcp-auth-card .mcp-password-eye-toggle > :not(.mcp-password-eye-icon) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.mcp-auth-card .mcp-password-eye-icon {
	display: block;
	width: 20px;
	height: 20px;
}

.mcp-auth-card .pmpro_message,
.mcp-auth-card .pmpro_alert,
.mcp-auth-card .message,
.mcp-auth-card .login .message {
	margin: 0 0 20px !important;
	padding: 12px 14px !important;
	border: 1px solid rgba(29, 122, 91, 0.16) !important;
	border-radius: 12px !important;
	background: rgba(30, 154, 115, 0.08) !important;
	color: #285d4c !important;
	box-shadow: none !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_message,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_alert,
html[data-mcp-theme="dark"] .mcp-auth-card .message {
	border-color: rgba(111, 233, 193, 0.15) !important;
	background: rgba(72, 181, 145, 0.09) !important;
	color: #b7dfd2 !important;
}

.mcp-auth-card .pmpro_error,
.mcp-auth-card .pmpro_message.pmpro_error {
	border-color: rgba(188, 62, 62, 0.16) !important;
	background: rgba(188, 62, 62, 0.075) !important;
	color: #923535 !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_error,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_message.pmpro_error {
	border-color: rgba(255, 145, 145, 0.17) !important;
	background: rgba(201, 76, 76, 0.10) !important;
	color: #ffb4b4 !important;
}

.mcp-auth-card .pmpro_card_actions,
.mcp-auth-card .pmpro_actions_nav,
.mcp-auth-card .pmpro_form_field-description,
.mcp-auth-card .pmpro_checkout-fields,
.mcp-auth-card .pmpro_checkout-h3-msg {
	color: #6c7d77;
	font-size: 0.86rem;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_card_actions,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_actions_nav,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_form_field-description,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_checkout-fields,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_checkout-h3-msg {
	color: #94aaa3;
}

.mcp-auth-card .pmpro_actions_nav,
.mcp-auth-card .pmpro_card_actions {
	padding-top: 14px;
	border-top-color: rgba(31, 80, 64, 0.09) !important;
}

.mcp-auth-card table,
.mcp-auth-card .pmpro_table {
	width: 100%;
	border-collapse: collapse;
}

.mcp-auth-card table th,
.mcp-auth-card table td,
.mcp-auth-card .pmpro_table th,
.mcp-auth-card .pmpro_table td {
	padding: 11px 8px;
	border-bottom: 1px solid rgba(31, 80, 64, 0.09);
	text-align: left;
}

html[data-mcp-theme="dark"] .mcp-auth-card table th,
html[data-mcp-theme="dark"] .mcp-auth-card table td,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_table th,
html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_table td {
	border-bottom-color: rgba(203, 246, 232, 0.08);
}

.mcp-auth-card iframe {
	max-width: 100%;
}

/* Simple CAPTCHA with Cloudflare Turnstile + PMPro native Turnstile ---------- */
.mcp-auth-card .cf-turnstile,
.mcp-auth-card .cf-turnstile-wrapper,
.mcp-auth-card .simple-cloudflare-turnstile,
.mcp-auth-card [class*="turnstile"] {
	max-width: 100%;
}

.mcp-auth-card .cf-turnstile,
.mcp-auth-card .cf-turnstile-wrapper,
.mcp-auth-card .simple-cloudflare-turnstile {
	margin: 18px 0 !important;
}

/* Login form refinements ---------------------------------------------------- */
.mcp-auth-login .mcp-auth-card-content,
.mcp-auth-lost-password .mcp-auth-card-content,
.mcp-auth-reset-password .mcp-auth-card-content {
	padding-top: 28px;
}

.mcp-auth-card .login-submit,
.mcp-auth-card .pmpro_login_wrap .pmpro_btn,
.mcp-auth-card .pmpro_lost_password_wrap .pmpro_btn {
	width: 100%;
}

.mcp-auth-card .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
}

@media (max-width: 980px) {
	.mcp-auth-layout,
	.mcp-auth-register .mcp-auth-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.mcp-auth-story {
		padding-bottom: 0;
	}

	.mcp-auth-story-inner {
		max-width: 720px;
	}

	.mcp-auth-story h1 {
		max-width: 760px;
		font-size: clamp(2.75rem, 8.2vw, 5.4rem);
	}

	.mcp-auth-points {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mcp-auth-form-column,
	.mcp-auth-register .mcp-auth-form-column {
		max-width: 760px;
		justify-self: stretch;
	}
}

@media (max-width: 640px) {
	.mcp-auth-stage {
		padding-top: 96px;
		padding-bottom: 34px;
	}

	.mcp-auth-story h1 {
		font-size: clamp(2.55rem, 13vw, 4.15rem);
	}

	.mcp-auth-story > .mcp-auth-story-inner > p {
		font-size: 1rem;
	}

	.mcp-auth-points {
		grid-template-columns: 1fr;
		gap: 9px;
		margin-top: 26px;
	}

	.mcp-auth-card {
		border-radius: 22px;
	}

	.mcp-auth-card-header {
		padding: 27px 24px 20px;
	}

	.mcp-auth-card-content {
		padding: 24px;
	}

	.mcp-letter-column:nth-child(2n) {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mcp-letter-column {
		animation: none;
		transform: translateY(40vh);
	}
}

/* Avoid a nested card on PMPro's login/password views. */
.mcp-auth-card .pmpro_login_wrap,
.mcp-auth-card .pmpro_lost_password_wrap,
.mcp-auth-card .pmpro_reset_password_wrap {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.mcp-auth-card .pmpro_login_wrap > .pmpro_card_content,
.mcp-auth-card .pmpro_lost_password_wrap > .pmpro_card_content,
.mcp-auth-card .pmpro_reset_password_wrap > .pmpro_card_content {
	padding: 0 !important;
}

/* WP 2FA frontend/challenge UI: inherit the product design without replacing it. */
.mcp-auth-card .wp2fa-modal,
.mcp-auth-card [class*="wp2fa-"],
.mcp-auth-card [class*="wp-2fa-"] {
	color: inherit;
	font-family: inherit;
}

.mcp-auth-card .wp-2fa-button-primary,
.mcp-auth-card [class*="wp2fa-"] button[type="submit"] {
	border: 1px solid var(--mcp-button-border) !important;
	border-radius: 12px !important;
	background: var(--mcp-button-bg) !important;
	box-shadow: var(--mcp-button-shadow) !important;
	color: var(--mcp-button-text) !important;
	font-weight: 780 !important;
}


/* 0.9.3 form refinement --------------------------------------------------- */
html[data-mcp-theme="dark"] .mcp-auth-card {
	box-shadow:
		0 36px 110px rgba(0, 18, 12, 0.44),
		0 0 0 1px rgba(106, 227, 186, 0.035),
		inset 0 1px 0 rgba(225, 255, 245, 0.08);
}

html[data-mcp-theme="dark"] .mcp-auth-card::before {
	background: linear-gradient(90deg, transparent, rgba(117, 245, 201, 0.72), transparent);
}

.mcp-auth-card-content {
	background: rgba(250, 255, 252, 0.18);
}

html[data-mcp-theme="dark"] .mcp-auth-card-content {
	background: rgba(5, 30, 22, 0.12);
}

.mcp-auth-card .pmpro_form_fieldset,
.mcp-auth-card .pmpro_checkout_box-user,
.mcp-auth-card .pmpro_checkout_box-billing,
.mcp-auth-card .pmpro_checkout_box-payment-information,
.mcp-auth-card .pmpro_checkout_box-more-information {
	border-radius: 18px !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_form_fieldset,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-user,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-billing,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-payment-information,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-more-information {
	margin-bottom: 18px !important;
	padding: 22px !important;
	border: 1px solid rgba(37, 78, 65, 0.11) !important;
	background: var(--mcp-container-bg-soft) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_form_fieldset,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-user,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-billing,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-payment-information,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-more-information {
	border-color: var(--mcp-container-border) !important;
	background: var(--mcp-container-bg-soft) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card input[type="text"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="email"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="password"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="tel"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="url"],
html[data-mcp-theme="dark"] .mcp-auth-card input[type="number"],
html[data-mcp-theme="dark"] .mcp-auth-card select,
html[data-mcp-theme="dark"] .mcp-auth-card textarea,
html[data-mcp-theme="dark"] .mcp-auth-card .input {
	box-shadow: inset 0 1px 2px rgba(0,0,0,.18), 0 1px 0 rgba(232,255,247,.04) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card input:hover,
html[data-mcp-theme="dark"] .mcp-auth-card select:hover,
html[data-mcp-theme="dark"] .mcp-auth-card textarea:hover {
	border-color: var(--mcp-field-border-hover) !important;
	background: var(--mcp-field-bg-hover) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-card input:focus,
html[data-mcp-theme="dark"] .mcp-auth-card select:focus,
html[data-mcp-theme="dark"] .mcp-auth-card textarea:focus {
	border-color: var(--mcp-field-border-hover) !important;
	background: var(--mcp-field-bg-focus) !important;
	box-shadow: 0 0 0 4px rgba(89, 225, 180, 0.12), inset 0 1px 2px rgba(0,0,0,.12) !important;
}

.mcp-auth-login .mcp-auth-card .login-submit,
.mcp-auth-lost-password .mcp-auth-card input[type="submit"],
.mcp-auth-reset-password .mcp-auth-card input[type="submit"],
.mcp-auth-card .pmpro_login_wrap .pmpro_btn,
.mcp-auth-card .pmpro_lost_password_wrap .pmpro_btn,
.mcp-auth-card .pmpro_reset_password_wrap .pmpro_btn {
	width: 100% !important;
	min-height: 54px !important;
	border-radius: 15px !important;
}

.mcp-auth-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 38px;
	border-top: 1px solid rgba(31, 80, 64, 0.10);
	background: rgba(24, 133, 98, 0.045);
}

html[data-mcp-theme="dark"] .mcp-auth-card-footer {
	border-top-color: rgba(171, 241, 216, 0.14);
	background: rgba(112, 238, 198, 0.055);
}

.mcp-auth-card-footer > div {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.mcp-auth-card-footer strong {
	color: #18372d;
	font-size: .9rem;
	font-weight: 780;
}

.mcp-auth-card-footer span {
	color: #6b7e77;
	font-size: .78rem;
	line-height: 1.4;
}

html[data-mcp-theme="dark"] .mcp-auth-card-footer strong {
	color: #edf9f5;
}

html[data-mcp-theme="dark"] .mcp-auth-card-footer span {
	color: #aac6bc;
}

.mcp-auth-secondary-cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 17px;
	border: 1px solid var(--mcp-button-secondary-border);
	border-radius: 12px;
	background: var(--mcp-button-secondary-bg);
	box-shadow: var(--mcp-button-secondary-shadow);
	color: var(--mcp-button-secondary-text) !important;
	font-size: .85rem;
	font-weight: 790;
	text-decoration: none !important;
	transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.mcp-auth-secondary-cta:hover,
.mcp-auth-secondary-cta:focus-visible {
	transform: translateY(-1px);
	border-color: var(--mcp-button-border-hover);
	background: var(--mcp-button-secondary-hover);
	color: var(--mcp-button-secondary-text) !important;
	outline: none;
}

.mcp-auth-card .pmpro_actions_nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
	padding-top: 16px;
}

.mcp-auth-card .pmpro_actions_nav a {
	color: #24755d;
	font-weight: 700;
	text-decoration: none;
}

html[data-mcp-theme="dark"] .mcp-auth-card .pmpro_actions_nav a {
	color: #8de7c8;
}

@media (max-width: 640px) {
	.mcp-auth-card-footer {
		align-items: stretch;
		flex-direction: column;
		padding: 20px 24px;
	}

	.mcp-auth-secondary-cta {
		width: 100%;
	}

	.mcp-auth-register .mcp-auth-card .pmpro_form_fieldset,
	.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-user,
	.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-billing,
	.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-payment-information,
	.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-more-information {
		padding: 18px !important;
	}
}


/* ==========================================================================
 * 0.9.6 — Focused PMPro checkout / registration experience
 * ========================================================================== */

.mcp-auth-register .mcp-auth-stage {
	padding-bottom: 86px;
}

.mcp-auth-register .mcp-auth-layout {
	display: block;
	width: min(calc(100% - 40px), 1180px);
}

.mcp-auth-register .mcp-auth-story {
	display: none;
}

.mcp-auth-register .mcp-auth-form-column {
	max-width: none;
	margin-inline: auto;
}

.mcp-auth-register .mcp-auth-card {
	overflow: visible;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card {
	background: transparent;
	box-shadow: none;
}

.mcp-auth-register .mcp-auth-card::before {
	display: none;
}

.mcp-auth-register .mcp-auth-card-header {
	max-width: 760px;
	margin: 0 auto 38px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
}

.mcp-auth-register .mcp-auth-card-header .mcp-auth-card-brand {
	margin-inline: auto;
}

.mcp-auth-register .mcp-auth-card-header h2 {
	margin-top: 17px;
	font-size: clamp(2.35rem, 5vw, 4.5rem);
	line-height: 0.99;
	letter-spacing: -0.055em;
}

.mcp-auth-register .mcp-auth-card-header p {
	max-width: 650px;
	margin: 15px auto 0;
	font-size: 1rem;
	line-height: 1.65;
}

.mcp-auth-register .mcp-auth-card-content {
	padding: 0;
	background: transparent;
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card-content {
	background: transparent;
}

.mcp-auth-register .pmpro > .pmpro_section {
	margin: 0;
}

.mcp-auth-register #pmpro_form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 350px;
	gap: 22px 28px;
	align-items: start;
	counter-reset: mcp-checkout-step;
}

.mcp-auth-register #pmpro_form > :not(input[type="hidden"]):not(#pmpro_pricing_fields) {
	grid-column: 1;
	min-width: 0;
}

.mcp-auth-register #pmpro_form > #pmpro_pricing_fields {
	grid-column: 2;
	grid-row: 1 / span 50;
	position: sticky;
	top: 104px;
	align-self: start;
}

.mcp-auth-register #pmpro_form > .pmpro_message {
	grid-column: 1;
}

/* Real checkout steps: each PMPro fieldset becomes a deliberate panel. */
.mcp-auth-register .mcp-auth-card .pmpro_form_fieldset {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_form_fieldset + .pmpro_form_fieldset {
	padding-top: 0 !important;
	border-top: 0 !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_form_fieldset > .pmpro_card,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-user,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-billing,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-payment-information,
.mcp-auth-register .mcp-auth-card .pmpro_checkout_box-more-information {
	overflow: hidden;
	border: 1px solid var(--mcp-container-border) !important;
	border-radius: 20px !important;
	background: var(--mcp-container-background) !important;
	box-shadow: 0 18px 58px rgba(25, 77, 59, 0.08) !important;
	backdrop-filter: blur(15px) saturate(1.05);
	-webkit-backdrop-filter: blur(15px) saturate(1.05);
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_form_fieldset > .pmpro_card,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-user,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-billing,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-payment-information,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_checkout_box-more-information {
	border-color: var(--mcp-container-border) !important;
	background: var(--mcp-container-background) !important;
	box-shadow: 0 20px 66px rgba(0, 0, 0, 0.24) !important;
}

.mcp-auth-register #pmpro_form > .pmpro_form_fieldset > .pmpro_card > .pmpro_card_title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 20px 24px !important;
	border-bottom: 1px solid rgba(28, 92, 70, 0.12);
	font-size: 1rem !important;
	font-weight: 820 !important;
	counter-increment: mcp-checkout-step;
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_form > .pmpro_form_fieldset > .pmpro_card > .pmpro_card_title {
	border-bottom-color: rgba(163, 239, 213, 0.13);
}

.mcp-auth-register #pmpro_form > .pmpro_form_fieldset > .pmpro_card > .pmpro_card_title::before {
	content: counter(mcp-checkout-step);
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(22, 133, 100, 0.30);
	border-radius: 9px;
	background: rgba(22, 133, 100, 0.08);
	color: #0d7b5c;
	font-size: 0.73rem;
	font-weight: 900;
	flex: 0 0 auto;
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_form > .pmpro_form_fieldset > .pmpro_card > .pmpro_card_title::before {
	border-color: rgba(111, 236, 194, 0.25);
	background: rgba(105, 230, 189, 0.10);
	color: #8ff1d1;
}

.mcp-auth-register .pmpro_form_fieldset > .pmpro_card > .pmpro_card_content {
	padding: 24px !important;
}

.mcp-auth-register .pmpro_form_fieldset > .pmpro_card > .pmpro_card_actions {
	padding: 15px 24px !important;
	border-top: 1px solid rgba(28, 92, 70, 0.10) !important;
	background: var(--mcp-container-bg-soft) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register .pmpro_form_fieldset > .pmpro_card > .pmpro_card_actions {
	border-top-color: rgba(163, 239, 213, 0.11) !important;
	background: var(--mcp-container-bg-soft) !important;
}

/* Sticky order summary / selected membership. */
.mcp-auth-register .mcp-auth-card #pmpro_pricing_fields {
	overflow: hidden;
	border: 1px solid var(--mcp-container-border) !important;
	border-radius: 20px !important;
	background:
		radial-gradient(circle at 90% 0%, rgba(var(--mcp-brand-rgb), 0.055), transparent 34%),
		var(--mcp-container-background) !important;
	box-shadow: 0 24px 72px rgba(20, 74, 56, 0.13) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card #pmpro_pricing_fields {
	border-color: var(--mcp-container-border) !important;
	background:
		radial-gradient(circle at 90% 0%, rgba(var(--mcp-brand-rgb), 0.055), transparent 34%),
		var(--mcp-container-background) !important;
	box-shadow: 0 26px 78px rgba(0, 0, 0, 0.30) !important;
}

.mcp-auth-register #pmpro_pricing_fields > .pmpro_card_title {
	margin: 0 !important;
	padding: 20px 22px 17px !important;
	border-bottom: 1px solid rgba(28, 92, 70, 0.12);
	font-size: 0.76rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.09em !important;
	text-transform: uppercase;
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_pricing_fields > .pmpro_card_title {
	border-bottom-color: rgba(163, 239, 213, 0.13);
}

.mcp-auth-register #pmpro_pricing_fields > .pmpro_card_content {
	padding: 22px !important;
}

.mcp-auth-register #pmpro_pricing_fields .pmpro_level_name_text {
	margin-top: 0;
	font-size: 0.88rem;
	line-height: 1.55;
}

.mcp-auth-register #pmpro_pricing_fields .pmpro_level_name_text strong {
	color: inherit;
	font-size: 1.05rem;
}

.mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
	margin-top: 17px;
	padding-top: 17px;
	border-top: 1px solid rgba(28, 92, 70, 0.10);
	color: #526c63;
	font-size: 0.84rem;
	line-height: 1.6;
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
	border-top-color: rgba(163, 239, 213, 0.11);
	color: #b8d1c8;
}

.mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text p {
	margin: 0;
}

.mcp-auth-register #pmpro_pricing_fields > .pmpro_card_actions {
	padding: 15px 22px !important;
	border-top: 1px solid rgba(28, 92, 70, 0.10) !important;
	background: var(--mcp-container-bg-soft) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_pricing_fields > .pmpro_card_actions {
	border-top-color: rgba(163, 239, 213, 0.11) !important;
	background: var(--mcp-container-bg-soft) !important;
}

/* Checkout fields: stronger visibility and calmer spacing. */
.mcp-auth-register .mcp-auth-card .pmpro_form_fields {
	gap: 18px !important;
}

.mcp-auth-register #pmpro_form {
	counter-reset: mcp-checkout-step;
}

.mcp-auth-register .pmpro_form_fieldset {
	counter-increment: mcp-checkout-step;
}

.mcp-auth-register .pmpro_form_fieldset .pmpro_form_legend,
.mcp-auth-register .pmpro_form_fieldset .pmpro_form_heading {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mcp-auth-register .pmpro_form_fieldset .pmpro_form_legend::before,
.mcp-auth-register .pmpro_form_fieldset .pmpro_form_heading::before {
	content: counter(mcp-checkout-step);
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	flex: 0 0 auto;
	border: 1px solid var(--mcp-button-border);
	border-radius: 8px;
	background: var(--mcp-button-bg);
	color: var(--mcp-button-text);
	font-size: .72rem;
	font-weight: 850;
}

.mcp-auth-register .pmpro_form_fieldset > .pmpro_card,
.mcp-auth-register .pmpro_checkout_box-user,
.mcp-auth-register .pmpro_checkout_box-billing,
.mcp-auth-register .pmpro_checkout_box-payment-information,
.mcp-auth-register .pmpro_checkout_box-more-information {
	border-color: rgba(34, 115, 88, 0.22) !important;
	box-shadow: 0 16px 46px rgba(22, 84, 63, .07) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register .pmpro_form_fieldset > .pmpro_card,
html[data-mcp-theme="dark"] .mcp-auth-register .pmpro_checkout_box-user,
html[data-mcp-theme="dark"] .mcp-auth-register .pmpro_checkout_box-billing,
html[data-mcp-theme="dark"] .mcp-auth-register .pmpro_checkout_box-payment-information,
html[data-mcp-theme="dark"] .mcp-auth-register .pmpro_checkout_box-more-information {
	border-color: rgba(86, 173, 140, 0.30) !important;
	box-shadow: 0 18px 54px rgba(0,0,0,.18) !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_cols-2 {
	gap: 18px !important;
}

.mcp-auth-register .mcp-auth-card label,
.mcp-auth-register .mcp-auth-card .pmpro_form_label {
	margin-bottom: 7px;
	font-size: 0.84rem;
	font-weight: 760;
}

.mcp-auth-register .mcp-auth-card input[type="text"],
.mcp-auth-register .mcp-auth-card input[type="email"],
.mcp-auth-register .mcp-auth-card input[type="password"],
.mcp-auth-register .mcp-auth-card input[type="tel"],
.mcp-auth-register .mcp-auth-card input[type="url"],
.mcp-auth-register .mcp-auth-card input[type="number"],
.mcp-auth-register .mcp-auth-card select,
.mcp-auth-register .mcp-auth-card textarea,
.mcp-auth-register .mcp-auth-card .input,
.mcp-auth-register .mcp-auth-card .pmpro_form_input {
	min-height: 52px !important;
	border-radius: 13px !important;
	background: var(--mcp-field-bg) !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input[type="text"],
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input[type="email"],
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input[type="password"],
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input[type="tel"],
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input[type="url"],
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input[type="number"],
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card select,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card textarea,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .input,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card .pmpro_form_input {
	border-color: var(--mcp-field-border) !important;
	background: var(--mcp-field-bg) !important;
	color: #eef9f5 !important;
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card input:hover,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card select:hover,
html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card textarea:hover {
	background: var(--mcp-field-bg-hover) !important;
	border-color: var(--mcp-field-border-hover) !important;
}

/* Final checkout action: one unmistakable primary CTA. */
.mcp-auth-register .pmpro_form_submit {
	margin-top: 2px !important;
	padding: 4px 0 0;
}

.mcp-auth-register #pmpro_submit_span {
	display: block;
	width: 100%;
}

.mcp-auth-register #pmpro_btn-submit,
.mcp-auth-register input[name="submit-checkout"] {
	width: 100% !important;
	min-height: 58px !important;
	border-radius: 15px !important;
	font-size: 0.96rem !important;
	font-weight: 850 !important;
}

.mcp-auth-register #pmpro_processing_message {
	margin-top: 12px;
	color: #587168;
	font-size: 0.82rem;
	text-align: center;
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_processing_message {
	color: #aec9c0;
}

.mcp-auth-register .mcp-auth-card-footer {
	max-width: 760px;
	margin: 24px auto 0;
	border: 1px solid var(--mcp-container-border);
	border-radius: 16px;
	background: var(--mcp-container-background);
}

html[data-mcp-theme="dark"] .mcp-auth-register .mcp-auth-card-footer {
	border-color: var(--mcp-container-border);
	background: var(--mcp-container-background);
}

.mcp-auth-register .mcp-auth-security-line {
	margin-top: 20px;
}

@media (max-width: 980px) {
	.mcp-auth-register #pmpro_form {
		grid-template-columns: 1fr;
	}

	.mcp-auth-register #pmpro_form > :not(input[type="hidden"]),
	.mcp-auth-register #pmpro_form > #pmpro_pricing_fields {
		grid-column: 1;
	}

	.mcp-auth-register #pmpro_form > #pmpro_pricing_fields {
		grid-row: auto;
		position: static;
		order: -1;
	}
}

@media (max-width: 620px) {
	.mcp-auth-register .mcp-auth-layout {
		width: min(100% - 22px, 540px);
	}

	.mcp-auth-register .mcp-auth-card-header {
		text-align: left;
	}

	.mcp-auth-register .mcp-auth-card-header .mcp-auth-card-brand {
		margin-inline: 0;
	}

	.mcp-auth-register .pmpro_form_fieldset > .pmpro_card > .pmpro_card_content,
	.mcp-auth-register #pmpro_pricing_fields > .pmpro_card_content {
		padding: 20px !important;
	}

	.mcp-auth-register .mcp-auth-card .pmpro_cols-2 {
		grid-template-columns: 1fr !important;
	}
}


/* 0.9.9 light-mode auth surface rhythm. Existing falling-letter density is unchanged. */
html:not([data-mcp-theme="dark"]) .mcp-auth-card-footer,
html:not([data-mcp-theme="dark"]) .mcp-auth-register .mcp-auth-card-footer {
	background: var(--mcp-container-background-alt);
}


/* Checkout payment-method trust panel ----------------------------------- */
.mcp-checkout-payment-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(250px, .8fr) minmax(390px, 1.2fr);
	gap: 18px 28px;
	align-items: center;
	margin: 0 0 26px;
	padding: 22px 24px;
	overflow: hidden;
	border: 1px solid rgba(15, 105, 78, .28);
	border-radius: 21px;
	background:
		radial-gradient(circle at 0% 0%, rgba(52, 173, 132, .14), transparent 34%),
		linear-gradient(145deg, rgba(239, 249, 244, .98), rgba(211, 232, 220, .96));
	box-shadow: 0 18px 52px rgba(14, 79, 59, .10), inset 0 1px 0 rgba(255,255,255,.62);
}

.mcp-checkout-payment-panel::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, #1f9b72, #0d5f47);
}

.mcp-checkout-payment-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 4px 9px;
	border: 1px solid rgba(15, 105, 78, .16);
	border-radius: 999px;
	background: rgba(255,255,255,.46);
	color: #0d7255;
	font-size: .795rem;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.mcp-checkout-payment-copy h3 {
	margin: 11px 0 0;
	color: #123228;
	font-size: clamp(1.30rem, 2vw, 1.68rem);
	line-height: 1.12;
	letter-spacing: -.035em;
}

.mcp-checkout-payment-copy p {
	margin: 7px 0 0;
	color: #526f64;
	font-size: .955rem;
	line-height: 1.5;
}

.mcp-checkout-payment-brands {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

.mcp-payment-logo {
	display: inline-grid;
	place-items: center;
	height: 42px;
	padding: 3px 5px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.mcp-payment-logo img {
	display: block;
	width: auto;
	height: 30px;
}

.mcp-payment-logo-paypal {
	padding-inline: 4px;
}

.mcp-payment-logo-paypal img {
	height: 32px;
}

.mcp-checkout-payment-or {
	padding: 0 2px;
	color: #6c8179;
	font-size: .845rem;
	font-weight: 800;
	text-transform: uppercase;
}

.mcp-checkout-payment-hint {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid rgba(17, 125, 96, .15);
	border-radius: 13px;
	background: rgba(255,255,255,.42);
}

.mcp-checkout-payment-hint-icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 9px;
	background: #0f6e52;
	color: #fff;
	font-size: .95rem;
	font-weight: 900;
}

.mcp-checkout-payment-hint strong,
.mcp-checkout-payment-hint span {
	display: block;
}

.mcp-checkout-payment-hint strong {
	color: #15352b;
	font-size: .925rem;
}

.mcp-checkout-payment-hint div > span {
	margin-top: 2px;
	color: #5a7268;
	font-size: .885rem;
	line-height: 1.45;
}

.mcp-checkout-payment-note {
	grid-column: 1 / -1;
	margin: -6px 0 0;
	color: #6b8178;
	font-size: .805rem;
	line-height: 1.45;
}

html[data-mcp-theme="dark"] .mcp-checkout-payment-panel {
	border-color: rgba(183, 92, 119, .42);
	background:
		radial-gradient(circle at 0% 0%, rgba(133, 37, 68, .25), transparent 38%),
		linear-gradient(145deg, rgba(36, 19, 25, .98), rgba(12, 15, 14, .98));
	box-shadow: 0 22px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-mcp-theme="dark"] .mcp-checkout-payment-panel::before {
	background: linear-gradient(180deg, #a64d6b, #551326);
}

html[data-mcp-theme="dark"] .mcp-checkout-payment-kicker {
	border-color: rgba(216, 112, 143, .26);
	background: rgba(128, 35, 64, .19);
	color: #f2abc0;
}

html[data-mcp-theme="dark"] .mcp-checkout-payment-copy h3 { color: #fff4f7; }
html[data-mcp-theme="dark"] .mcp-checkout-payment-copy p { color: #d5bdc5; }
html[data-mcp-theme="dark"] .mcp-checkout-payment-or { color: #bda7ae; }

html[data-mcp-theme="dark"] .mcp-checkout-payment-hint {
	border-color: rgba(184, 77, 111, .27);
	background: rgba(111, 27, 53, .16);
}

html[data-mcp-theme="dark"] .mcp-checkout-payment-hint-icon {
	background: linear-gradient(145deg, #7a213e, #461020);
	color: #fff2f6;
}

html[data-mcp-theme="dark"] .mcp-checkout-payment-hint strong { color: #fff1f5; }
html[data-mcp-theme="dark"] .mcp-checkout-payment-hint div > span { color: #d1b8c0; }
html[data-mcp-theme="dark"] .mcp-checkout-payment-note { color: #aa949c; }

@media (max-width: 760px) {
	.mcp-checkout-payment-panel {
		grid-template-columns: 1fr;
		padding: 19px 18px;
	}

	.mcp-checkout-payment-brands {
		justify-content: flex-start;
	}

	.mcp-checkout-payment-hint,
	.mcp-checkout-payment-note {
		grid-column: 1;
	}

	.mcp-payment-logo { height: 38px; }
	.mcp-payment-logo img { height: 27px; }
	.mcp-payment-logo-paypal img { height: 30px; }
}

/* Login and password recovery are intentionally calmer and more balanced than checkout. */
.mcp-auth-stage[data-mcp-auth-kind="login"] .mcp-auth-card,
.mcp-auth-stage[data-mcp-auth-kind="lost-password"] .mcp-auth-card,
.mcp-auth-stage[data-mcp-auth-kind="reset-password"] .mcp-auth-card {
	border-radius: 24px;
}

.mcp-auth-stage[data-mcp-auth-kind="lost-password"] .mcp-auth-story h1,
.mcp-auth-stage[data-mcp-auth-kind="reset-password"] .mcp-auth-story h1 {
	font-size: clamp(2.8rem, 4.25vw, 4.55rem);
}

.mcp-auth-stage[data-mcp-auth-kind="lost-password"] .mcp-auth-card-content,
.mcp-auth-stage[data-mcp-auth-kind="reset-password"] .mcp-auth-card-content {
	padding-top: 26px;
}

@media (max-width: 900px) {
	.mcp-auth-layout { grid-template-columns: 1fr; gap: 30px; }
	.mcp-auth-form-column { max-width: 680px; justify-self: stretch; }
	.mcp-auth-story-inner { max-width: 680px; }
}


/* ==========================================================================
 * 0.9.38 — Real frontend auth + checkout alignment
 *
 * These rules target the code-managed PMPro login/checkout pages rendered by
 * template-parts/page-auth.php. They intentionally do not rely on wp-login.php.
 * ========================================================================== */

/* Login: keep every field as a conventional label-above-control row. */
.mcp-auth-login .mcp-auth-card-content .pmpro_form,
.mcp-auth-login .mcp-auth-card-content form,
.mcp-auth-login .mcp-auth-card-content .pmpro_form_fields {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 18px !important;
	width: 100% !important;
}

.mcp-auth-login .mcp-auth-card .pmpro_form_field,
.mcp-auth-login .mcp-auth-card .login-username,
.mcp-auth-login .mcp-auth-card .login-password,
.mcp-auth-login .mcp-auth-card .login-remember,
.mcp-auth-login .mcp-auth-card .login-submit {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.mcp-auth-login .mcp-auth-card label,
.mcp-auth-login .mcp-auth-card .pmpro_form_label {
	display: block !important;
	width: 100% !important;
	margin: 0 0 8px !important;
}

.mcp-auth-login .mcp-auth-card .mcp-password-input-wrap,
.mcp-auth-login .mcp-auth-card .wp-pwd {
	width: 100% !important;
	max-width: none !important;
}

.mcp-auth-login .mcp-auth-card .login-remember label {
	display: inline-flex !important;
	width: auto !important;
	margin: 0 !important;
}

/* The two lower light-mode actions use the same standard primary palette as Log In. */
html:not([data-mcp-theme="dark"]) .mcp-auth-login .mcp-auth-secondary-cta,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .pmpro_actions_nav a,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .pmpro_card_actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 16px;
	border: 1px solid var(--mcp-button-border) !important;
	border-radius: 12px;
	background: var(--mcp-button-bg) !important;
	box-shadow: var(--mcp-button-shadow) !important;
	color: var(--mcp-button-text) !important;
	font-size: .84rem;
	font-weight: 790;
	line-height: 1.2;
	text-decoration: none !important;
}

html:not([data-mcp-theme="dark"]) .mcp-auth-login .mcp-auth-secondary-cta:hover,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .mcp-auth-secondary-cta:focus-visible,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .pmpro_actions_nav a:hover,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .pmpro_actions_nav a:focus-visible,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .pmpro_card_actions a:hover,
html:not([data-mcp-theme="dark"]) .mcp-auth-login .pmpro_card_actions a:focus-visible {
	background: var(--mcp-button-bg-hover) !important;
	border-color: var(--mcp-button-border-hover) !important;
	box-shadow: var(--mcp-button-shadow-hover) !important;
	color: var(--mcp-button-text) !important;
}

/* Checkout: selected membership belongs in the normal vertical flow, not a right rail. */
.mcp-auth-register #pmpro_form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 22px !important;
	align-items: stretch !important;
}

.mcp-auth-register #pmpro_form > :not(input[type="hidden"]),
.mcp-auth-register #pmpro_form > #pmpro_pricing_fields,
.mcp-auth-register #pmpro_form > .pmpro_message {
	grid-column: 1 !important;
	grid-row: auto !important;
	position: static !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

/* Keep the membership summary compact and horizontal when space allows. */
.mcp-auth-register #pmpro_pricing_fields > .pmpro_card_content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
	gap: 18px 28px;
	align-items: center;
}

.mcp-auth-register #pmpro_pricing_fields .pmpro_level_name_text,
.mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
	margin: 0 !important;
}

.mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
	padding: 0 0 0 28px !important;
	border-top: 0 !important;
	border-left: 1px solid rgba(28, 92, 70, 0.10);
}

html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
	border-left-color: rgba(163, 239, 213, 0.11);
}

/* Registration rows: consistent equal columns, labels above, controls full width. */
.mcp-auth-register .mcp-auth-card .pmpro_form_fields {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: start !important;
	width: 100% !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_cols-2 {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: start !important;
	width: 100% !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_form_field,
.mcp-auth-register .mcp-auth-card .pmpro_form_field-password,
.mcp-auth-register .mcp-auth-card .pmpro_form_field-email,
.mcp-auth-register .mcp-auth-card .pmpro_form_field-username {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.mcp-auth-register .mcp-auth-card .pmpro_form_field > label,
.mcp-auth-register .mcp-auth-card .pmpro_form_field > .pmpro_form_label,
.mcp-auth-register .mcp-auth-card .pmpro_form_label {
	display: block !important;
	width: 100% !important;
	margin: 0 0 8px !important;
}

.mcp-auth-register .mcp-auth-card .mcp-password-input-wrap,
.mcp-auth-register .mcp-auth-card .wp-pwd {
	width: 100% !important;
	max-width: none !important;
}

@media (max-width: 720px) {
	.mcp-auth-register #pmpro_pricing_fields > .pmpro_card_content,
	.mcp-auth-register .mcp-auth-card .pmpro_cols-2 {
		grid-template-columns: 1fr !important;
	}

	.mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
		padding: 16px 0 0 !important;
		border-left: 0 !important;
		border-top: 1px solid rgba(28, 92, 70, 0.10) !important;
	}

	html[data-mcp-theme="dark"] .mcp-auth-register #pmpro_pricing_fields .pmpro_level_cost_text {
		border-top-color: rgba(163, 239, 213, 0.11) !important;
	}
}


/* ==========================================================================
 * 0.9.43 — PMPro Payment Plans checkout presentation
 *
 * Payment Plans continues to own all billing values and AJAX refresh logic.
 * This layer only improves information architecture and visual presentation.
 * ========================================================================== */

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_form {
	grid-template-columns: minmax(0, 1fr);
	max-width: none;
	margin: 0;
	gap: 22px;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_form > :not(input[type="hidden"]) {
	grid-column: 1;
	min-width: 0;
	width: 100%;
}

/* CSS ordering is deliberate: no after-load DOM relocation or cloned fields. */
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_message {
	order: -40;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan {
	order: -30;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_user_fields {
	order: -20;
}

/* Payment Plans already shows the authoritative options and prices. Hiding the
 * base-level summary prevents misleading copy such as “1 profile” beside the
 * price of a different selected payment plan. */
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_pricing_fields {
	display: none !important;
}

/* Stop the older generic counter rules from producing duplicate badges. */
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan {
	counter-increment: none;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend::before {
	display: none !important;
	content: none !important;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_heading::before {
	content: "1" !important;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_user_fields > .pmpro_card > .pmpro_card_title {
	counter-increment: none;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_user_fields > .pmpro_card > .pmpro_card_title::before {
	content: "2" !important;
}

/* Profile-plan selector ---------------------------------------------------- */
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan > .pmpro_card > .pmpro_card_content {
	padding: 0 !important;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend {
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 22px 26px 18px !important;
	border-bottom: 1px solid rgba(28, 92, 70, 0.12);
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend {
	border-bottom-color: rgba(163, 239, 213, 0.13);
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	font-size: 1.06rem !important;
	font-weight: 840 !important;
	line-height: 1.2;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend::after {
	content: "Pick the number of profiles included in your yearly plan. You can upgrade later if needed.";
	display: block;
	max-width: 700px;
	margin: 10px 0 0 40px;
	color: #637970;
	font-size: 0.88rem;
	font-weight: 560;
	line-height: 1.55;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend::after {
	color: #9fbab1;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_fields {
	padding: 20px 24px 24px;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans {
	display: grid;
	min-height: 310px;
	grid-template-columns: repeat(auto-fit, minmax(166px, 1fr));
	gap: 14px;
	min-height: 0;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item {
	position: relative;
	display: block;
	margin: 0 !important;
	padding: 0;
	border: 1px solid rgba(30, 103, 79, 0.18);
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 28%),
		rgba(249, 255, 252, 0.62);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
	overflow: hidden;
	transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item {
	border-color: rgba(114, 209, 176, 0.20);
	background:
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 28%),
		rgba(12, 47, 35, 0.48);
	box-shadow: inset 0 1px 0 rgba(219,255,243,.035);
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, rgba(18,133,99,.10), transparent 42%);
	opacity: 0;
	transition: opacity 140ms ease;
	pointer-events: none;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:hover {
	border-color: rgba(22, 133, 100, 0.38);
	background-color: rgba(236, 249, 242, 0.92);
	transform: translateY(-1px);
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:hover::before,
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:has(.pmpropp_chosen_plan:checked)::before {
	opacity: 1;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:hover {
	border-color: rgba(121, 232, 194, 0.36);
	background-color: rgba(18, 61, 46, 0.60);
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:has(.pmpropp_chosen_plan:checked) {
	border-color: rgba(17, 137, 101, 0.66);
	background-color: rgba(226, 247, 237, 0.98);
	box-shadow: 0 0 0 3px rgba(20, 134, 101, 0.10), inset 0 1px 0 rgba(255,255,255,.72);
	transform: translateY(-1px);
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:has(.pmpropp_chosen_plan:checked) {
	border-color: rgba(112, 237, 194, 0.66);
	background-color: rgba(23, 76, 57, 0.76);
	box-shadow: 0 0 0 3px rgba(105, 230, 189, 0.08), inset 0 1px 0 rgba(220,255,244,.05);
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:has(.pmpropp_chosen_plan:checked)::after {
	content: "Selected";
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 5px 8px;
	border-radius: 999px;
	background: rgba(18,133,99,.14);
	color: #0a7858;
	font-size: 0.68rem;
	font-weight: 840;
	letter-spacing: .04em;
	text-transform: uppercase;
	pointer-events: none;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_field-radio-item:has(.pmpropp_chosen_plan:checked)::after {
	background: rgba(143,233,203,.16);
	color: #92eccf;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans input[type="radio"].pmpropp_chosen_plan {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: #128563;
	box-shadow: none !important;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	min-height: 138px;
	margin: 0 !important;
	padding: 52px 18px 18px !important;
	color: #16372d;
	font-size: 1.02rem;
	font-weight: 780;
	line-height: 1.35;
	cursor: pointer;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label {
	color: #edf9f5;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label .mcp-plan-name {
	display: block;
	max-width: calc(100% - 6px);
	color: inherit;
	font-size: 1rem;
	font-weight: 820;
	line-height: 1.25;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label .mcp-plan-price,
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label strong {
	display: block;
	margin-top: auto;
	padding-top: 16px;
	color: #0c7657;
	font-size: 1.12rem;
	font-weight: 900;
	line-height: 1.1;
	white-space: normal;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label .mcp-plan-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 7px;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .mcp-plan-price-amount {
	font-size: 1.2rem;
	font-weight: 900;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .mcp-plan-price-period {
	color: #173a30;
	font-size: 1rem;
	font-weight: 860;
	letter-spacing: -.02em;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .mcp-plan-monthly-equivalent {
	flex-basis: 100%;
	margin-top: 5px;
	color: #8b5d22;
	font-size: .78rem;
	font-weight: 850;
	line-height: 1.25;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .mcp-plan-price-period {
	color: #edf9f5;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .mcp-plan-monthly-equivalent {
	color: #e7b66e;
}

html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label .mcp-plan-price,
html[data-mcp-theme="dark"] .mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label strong {
	color: #8fe9cb;
}

/* Keep PMPro/PayPal in control while presenting one compact final action. */
.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_paypal_checkout {
	display: flex;
	justify-content: center;
	width: 100%;
}

.mcp-auth-register.mcp-checkout-has-payment-plans #pmpro_btn-submit-paypal {
	width: clamp(220px, 28vw, 340px) !important;
	min-height: 62px !important;
	padding-inline: 38px !important;
	border-radius: 15px !important;
	font-size: 1.2rem !important;
	font-weight: 880 !important;
	letter-spacing: -0.01em;
}

@media (max-width: 900px) {
	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}
}

@media (max-width: 620px) {
	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend {
		padding: 18px 20px 15px !important;
	}

	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_legend::after {
		margin-left: 38px;
	}

	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_select_payment_plan .pmpro_form_fields {
		padding: 16px 18px 20px;
	}

	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label {
		min-height: 112px;
		padding: 48px 16px 16px !important;
		font-size: 0.96rem;
	}

	.mcp-auth-register.mcp-checkout-has-payment-plans #pmpropp_payment_plans .pmpro_form_label strong {
		padding-top: 12px;
		font-size: 1rem;
	}
}

