:root {
	--mfx-black: #050505;
	--mfx-panel: #101010;
	--mfx-panel-soft: #171717;
	--mfx-gold: #e9bd45;
	--mfx-gold-light: #f6d875;
	--mfx-white: #f8f8f6;
	--mfx-muted: #aaa8a0;
	--mfx-border: rgba(233, 189, 69, 0.25);
}

body.mfx-portal-page {
	background: var(--mfx-black);
	color: var(--mfx-white);
	margin: 0;
}

.mfx-portal-page > .wp-site-blocks,
.mfx-portal-page > header,
.mfx-portal-page > footer {
	display: none !important;
}

.mfx-portal {
	display: grid;
	min-height: 100svh;
	padding: clamp(24px, 5vw, 64px);
	place-items: center;
	background:
		linear-gradient(rgba(233, 189, 69, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(233, 189, 69, 0.035) 1px, transparent 1px),
		radial-gradient(circle at 50% 0%, rgba(233, 189, 69, 0.12), transparent 38%),
		var(--mfx-black);
	background-size: 48px 48px, 48px 48px, auto, auto;
	box-sizing: border-box;
}

.mfx-portal,
.mfx-portal * {
	box-sizing: border-box;
}

.mfx-portal__shell {
	width: min(100%, 1040px);
}

.mfx-portal__brand {
	max-width: 660px;
	margin: 0 auto clamp(32px, 5vw, 56px);
	text-align: center;
}

.mfx-portal__logo {
	display: block;
	width: min(100%, 380px);
	max-height: 150px;
	margin: 0 auto 22px;
	object-fit: contain;
}

.mfx-portal__eyebrow {
	color: var(--mfx-gold);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.mfx-portal h1 {
	margin: 8px 0 14px;
	color: var(--mfx-white);
	font-size: clamp(2rem, 5vw, 4.2rem);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.mfx-portal__brand > p:last-child,
.mfx-portal__welcome p {
	color: var(--mfx-muted);
	font-size: clamp(1rem, 2vw, 1.15rem);
}

.mfx-portal__forms {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.mfx-portal__forms--toggle {
	grid-template-columns: minmax(0, 1fr);
	max-width: 680px;
	margin-right: auto;
	margin-left: auto;
}

.mfx-portal__view-toggle {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.mfx-portal__view {
	display: none;
}

#mfx-view-wallet:checked ~ .mfx-portal__view--wallet,
#mfx-view-signin:checked ~ .mfx-portal__view--signin {
	display: block;
}

#mfx-view-wallet:focus-visible ~ .mfx-portal__view--wallet,
#mfx-view-signin:focus-visible ~ .mfx-portal__view--signin {
	outline: 2px solid var(--mfx-gold);
	outline-offset: 6px;
	border-radius: 20px;
}

.mfx-portal__switch {
	margin: 24px 0 0;
	padding-top: 18px;
	border-top: 1px solid #2b2b2b;
	text-align: center;
	color: var(--mfx-muted);
	font-size: 0.92rem;
}

.mfx-portal__switch label {
	color: var(--mfx-gold-light);
	cursor: pointer;
}

.mfx-portal__switch label:hover {
	color: var(--mfx-gold);
}

.mfx-portal__card,
.mfx-portal__welcome {
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--mfx-border);
	border-radius: 20px;
	background: rgba(16, 16, 16, 0.96);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.mfx-portal__card--single,
.mfx-portal__notice {
	max-width: 680px;
	margin-right: auto;
	margin-left: auto;
}

.mfx-portal__notice {
	margin-bottom: 24px;
	padding: 18px 20px;
	border: 1px solid var(--mfx-border);
	border-radius: 14px;
	background: rgba(16, 16, 16, 0.96);
}

.mfx-portal__notice--success { border-color: rgba(74, 222, 128, 0.45); }
.mfx-portal__notice--warning { border-color: rgba(251, 191, 36, 0.5); }
.mfx-portal__notice h2 { margin: 0 0 6px; font-size: 1.1rem; }
.mfx-portal__notice p { margin: 0; color: var(--mfx-muted); }

.mfx-portal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 14px;
}

.mfx-portal__actions a,
.mfx-portal__secondary-link,
.mfx-portal__consent a {
	color: var(--mfx-gold-light);
}

.mfx-portal__form,
.mfx-portal .login-form {
	display: grid;
	gap: 16px;
}

.mfx-portal__field,
.mfx-portal .login-username,
.mfx-portal .login-password {
	display: grid;
	gap: 7px;
	margin: 0;
	color: var(--mfx-white);
	font-size: 0.9rem;
	font-weight: 650;
}

.mfx-portal__field input,
.mfx-portal #user_login,
.mfx-portal #user_pass {
	width: 100%;
	min-height: 50px;
	padding: 0 15px;
	border: 1px solid #353535;
	border-radius: 10px;
	background: var(--mfx-panel-soft);
	color: var(--mfx-white);
	font: inherit;
}

.mfx-portal__field input:focus,
.mfx-portal #user_login:focus,
.mfx-portal #user_pass:focus {
	border-color: var(--mfx-gold);
	outline: 3px solid rgba(233, 189, 69, 0.2);
}

.mfx-portal__consent {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 10px;
	align-items: start;
	color: var(--mfx-muted);
	font-size: 0.84rem;
	line-height: 1.5;
}

.mfx-portal__consent input {
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--mfx-gold);
}

.mfx-portal .login-submit,
.mfx-portal .login-remember {
	margin: 0;
}

.mfx-portal #wp-submit {
	width: 100%;
	min-height: 50px;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--mfx-gold-light), var(--mfx-gold));
	color: #111;
	font-weight: 800;
	cursor: pointer;
}

.mfx-portal__secondary-link {
	display: inline-block;
	margin-top: 16px;
}

.mfx-portal__card > h2,
.mfx-portal__welcome h2 {
	margin: 0 0 22px;
	color: var(--mfx-white);
	font-size: 1.45rem;
}

.mfx-portal .learn-press-form > h3 {
	display: none;
}

.mfx-portal .learn-press-form,
.mfx-portal .learn-press-form form,
.mfx-portal .learn-press-form ul,
.mfx-portal .learn-press-form li {
	margin: 0;
	padding: 0;
}

.mfx-portal .learn-press-form li {
	list-style: none;
	margin-bottom: 16px;
}

.mfx-portal .learn-press-form label {
	display: block;
	margin-bottom: 7px;
	color: var(--mfx-white);
	font-size: 0.9rem;
	font-weight: 600;
}

.mfx-portal .learn-press-form input[type="text"],
.mfx-portal .learn-press-form input[type="email"],
.mfx-portal .learn-press-form input[type="password"] {
	width: 100%;
	min-height: 50px;
	padding: 0 15px;
	border: 1px solid #353535;
	border-radius: 10px;
	background: var(--mfx-panel-soft);
	color: var(--mfx-white);
	font: inherit;
}

.mfx-portal .learn-press-form input:focus {
	border-color: var(--mfx-gold);
	outline: 3px solid rgba(233, 189, 69, 0.2);
}

.mfx-portal .learn-press-form button,
.mfx-portal__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 12px 20px;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--mfx-gold-light), var(--mfx-gold));
	color: #111;
	font: inherit;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.mfx-portal .learn-press-form button:hover,
.mfx-portal__button:hover {
	filter: brightness(1.08);
}

.mfx-portal .learn-press-form a,
.mfx-portal__logout {
	color: var(--mfx-gold-light);
}

.mfx-portal__welcome {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}

.mfx-portal__logout {
	display: inline-block;
	margin-top: 20px;
}

.mfx-portal__messages {
	margin: 0 auto 20px;
	max-width: 760px;
}

.mfx-learning-layout:not(.mfx-portal-page) .wp-block-template-part {
	display: none !important;
}

.mfx-learning-layout:not(.mfx-portal-page) .wp-site-blocks {
	padding-top: 0;
	padding-bottom: 0;
}

.mfx-learning-layout iframe,
.mfx-learning-layout video {
	max-width: 100%;
}

.mfx-learning-layout .mfx-vimeo-player {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: clamp(24px, 4vw, 44px) 0;
	overflow: hidden;
	background: #000;
	aspect-ratio: var(--mfx-video-aspect, 16 / 9);
}

.mfx-learning-layout .mfx-vimeo-player iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	border: 0;
}

@media (max-width: 720px) {
	.mfx-portal {
		padding: 24px 16px 40px;
		place-items: start center;
	}

	.mfx-portal__forms {
		grid-template-columns: 1fr;
	}

	.mfx-portal__brand {
		margin-bottom: 28px;
	}

	.mfx-portal__logo {
		max-height: 100px;
	}

	.mfx-portal__card,
	.mfx-portal__welcome {
		padding: 24px 18px;
		border-radius: 16px;
	}
}
