/* Fallback tokens — identical to the theme's, so nothing clashes when both are loaded */
:root {
	--mb-maroon: #6B1F2A;
	--mb-maroon-dark: #4A1620;
	--mb-gold: #B8862E;
	--mb-ink: #2B241D;
	--mb-ink-soft: #5B5245;
	--mb-hairline: rgba(43, 36, 29, 0.14);
	--mb-body: 'IBM Plex Sans', -apple-system, sans-serif;
	--mb-radius: 3px;
}

.mb-form { font-family: var(--mb-body); }
.mb-form .mb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 600;
	font-size: 0.95rem;
	padding: 12px 22px;
	border-radius: var(--mb-radius);
	border: none;
	background: var(--mb-maroon);
	color: #F6F0E2;
	cursor: pointer;
}
.mb-form .mb-btn:hover { background: var(--mb-maroon-dark); }
.mb-form .mb-btn[disabled] { opacity: 0.55; cursor: progress; }

.mb-form .mb-field { margin-bottom: 20px; text-align: left; }
.mb-form .mb-field label { display: block; font-size: 0.82rem; font-weight: 600; color: var(--mb-ink-soft); margin-bottom: 6px; }
.mb-form .mb-field input {
	width: 100%;
	border: none;
	border-bottom: 1.5px solid var(--mb-hairline);
	background: transparent;
	padding: 9px 2px;
	font-size: 1rem;
	color: var(--mb-ink);
}
.mb-form .mb-field input:focus { outline: none; border-bottom-color: var(--mb-gold); box-shadow: 0 1.5px 0 0 var(--mb-gold); }
.mb-form .mb-field--hp { position: absolute; left: -9999px; top: -9999px; }

.mb-form__notice { font-size: 0.88rem; padding: 11px 14px; border-radius: var(--mb-radius); margin-bottom: 18px; text-align: left; display: none; }
.mb-form__notice--error { background: rgba(107, 31, 42, 0.08); color: var(--mb-maroon-dark); border: 1px solid rgba(107, 31, 42, 0.25); }
.mb-form__notice--success { background: rgba(184, 134, 46, 0.12); color: #6e5019; border: 1px solid rgba(184, 134, 46, 0.35); }
.mb-form__notice.is-visible { display: block; }
