/**
 * MemberPress Dark Theme Overrides
 *
 * Styles all MemberPress shortcode output to match FOA Theme's dark look:
 * account, login, checkout/signup, pricing, and shared elements.
 * Uses theme CSS custom properties from theme.json where possible.
 */

/* ==========================================================================
   Variables (mirrors theme.json palette)
   ========================================================================== */
:root {
	--foa-base: #181818;
	--foa-contrast: #FFFFFF;
	--foa-accent-1: #F78E1E; /* orange */
	--foa-accent-2: #1ED6F7; /* cyan */
	--foa-accent-3: #AAAAAA; /* grey */
	--foa-accent-4: #111111; /* darker */
	--foa-input-bg: #222222;
	--foa-border: #333333;
}

/* ==========================================================================
   General container
   ========================================================================== */
.mepr-account-container,
.mepr-account-container body {
	background-color: transparent;
	color: var(--foa-contrast);
}

.mepr-account-container body,
.mepr-account-container button,
.mepr-account-container input,
.mepr-account-container select,
.mepr-account-container optgroup,
.mepr-account-container textarea {
	color: var(--foa-contrast);
}

.mepr-account-container p {
	color: var(--foa-contrast);
}

/* ==========================================================================
   Account navigation tabs
   ========================================================================== */
.mp_wrapper #mepr-account-nav {
	background: var(--foa-accent-4);
	border-bottom: 1px solid var(--foa-border);
	display: block;
}

.mp_wrapper #mepr-account-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.mp_wrapper #mepr-account-nav .mepr-nav-item {
	display: block;
}

.mp_wrapper #mepr-account-nav .mepr-nav-item a {
	display: inline-block;
	padding: 0.75rem 1.25rem;
	color: var(--foa-accent-3);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}

.mp_wrapper #mepr-account-nav .mepr-nav-item a::before {
	display: none; /* hide ReadyLaunch icomoon icons in shortcode mode */
}

.mp_wrapper #mepr-account-nav .mepr-nav-item a:hover {
	color: var(--foa-accent-1);
	border-bottom-color: var(--foa-accent-1);
}

.mp_wrapper #mepr-account-nav .mepr-nav-item.mepr-active-nav-tab a,
.mp_wrapper #mepr-account-nav .mepr-nav-item.--active a {
	color: var(--foa-contrast);
	border-bottom-color: var(--foa-accent-1);
	background: transparent;
	font-weight: 600;
}

/* ==========================================================================
   Forms (profile, password)
   ========================================================================== */
.mepr-account-form label,
.mepr-account-form .mp-form-label label {
	color: var(--foa-contrast);
	font-weight: 400;
}

.mepr-account-form .mepr-form-input,
.mepr-account-form input[type="text"],
.mepr-account-form input[type="email"],
.mepr-account-form input[type="url"],
.mepr-account-form input[type="password"],
.mepr-account-form input[type="tel"],
.mepr-account-form input[type="number"],
.mepr-account-form input[type="date"],
.mepr-account-form input[type="search"],
.mepr-account-form textarea,
.mepr-account-form select {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
	box-shadow: none;
}

.mepr-account-form .mepr-form-input:focus,
.mepr-account-form input:focus,
.mepr-account-form textarea:focus,
.mepr-account-form select:focus {
	border-color: var(--foa-accent-2);
	outline: none;
	color: var(--foa-contrast);
}

.mepr-account-form input[type="submit"],
.mepr-account-form .mepr-submit {
	background-color: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	padding: 0.8rem 2rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s;
}

.mepr-account-form input[type="submit"]:hover,
.mepr-account-form .mepr-submit:hover {
	background-color: #e07d10;
}

/* Validation error text */
.mepr-account-form .cc-error {
	color: #ff6b6b;
}

/* ==========================================================================
   Tables (subscriptions, payments)
   ========================================================================== */
.mepr-account-container table {
	background-color: transparent;
	color: var(--foa-contrast);
	border-collapse: collapse;
}

.mepr-account-container table th {
	color: var(--foa-accent-3);
	border-bottom: 1px solid var(--foa-border);
	font-weight: 600;
	padding: 0.75rem;
}

.mepr-account-container table td {
	color: var(--foa-contrast);
	border-bottom: 1px solid var(--foa-border);
	padding: 0.75rem;
}

.mepr-account-container table tr:hover td {
	background-color: rgba(255, 255, 255, 0.03);
}

.mp_wrapper table.mepr-account-table tr.mepr-alt-row {
	background: transparent !important;
}

/* Pro account table specifics */
.mepr-pro-account-table thead th {
	color: var(--foa-accent-3);
	border-bottom-color: var(--foa-border);
}

.mepr-pro-account-table__subscr,
.mepr-pro-account-table__rebill,
.mepr-pro-account-table .sub {
	color: var(--foa-contrast);
}

/* Badges keep their own colours but adjust for dark bg */
button.mepr-pro-account-table__badge,
div.mepr-pro-account-table__badge {
	border: 0;
}

/* Actions dropdown */
.mepr-account-container .dropdown {
	background-color: var(--foa-input-bg);
	border-color: var(--foa-border);
	color: var(--foa-contrast);
}

.mepr-account-container .dropdown a {
	color: var(--foa-contrast);
}

.mepr-account-container .dropdown a:hover {
	background-color: rgba(255, 255, 255, 0.08);
	color: var(--foa-accent-1);
}

/* Subscription detail text — override MemberPress base #464646 for dark bg */
.mp_wrapper .mepr-account-terms,
.mp_wrapper .mepr-account-rebill,
.mp_wrapper .mepr-account-auto-rebill,
.mp_wrapper .mepr-account-product,
.mp_wrapper .mepr-account-active,
.mp_wrapper .mepr-account-created-at,
.mp_wrapper .mepr-account-cc-exp {
	color: var(--foa-contrast) !important;
}

.mp_wrapper .mepr-account-subscr-id {
	color: var(--foa-accent-3) !important;
}

/* Row action buttons */
.mepr-account-container #mepr-account-content button.mepr-account-row-action {
	color: var(--foa-accent-2) !important;
}

#mepr-account-content .mepr-pro-account-table__col-actions button {
	background: transparent;
	color: var(--foa-contrast);
}

/* ==========================================================================
   Links
   ========================================================================== */
.mepr-account-container a {
	color: var(--foa-accent-2);
	text-decoration: none;
}

.mepr-account-container a:visited {
	color: var(--foa-accent-2);
}

.mepr-account-container a:hover,
.mepr-account-container a:focus,
.mepr-account-container a:active {
	color: var(--foa-accent-1);
}

/* Change password link */
.mepr-account-change-password a {
	color: var(--foa-accent-2);
}

.mepr-account-change-password a:hover {
	color: var(--foa-accent-1);
}

/* ==========================================================================
   Buttons (generic)
   ========================================================================== */
.mepr-account-container button,
.mepr-account-container .mepr-button,
.mepr-account-container input[type="button"],
.mepr-account-container input[type="reset"],
.mepr-account-container input[type="submit"] {
	background: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background-color 0.2s;
}

.mepr-account-container button:hover,
.mepr-account-container .mepr-button:hover,
.mepr-account-container input[type="button"]:hover,
.mepr-account-container input[type="reset"]:hover,
.mepr-account-container input[type="submit"]:hover {
	background: #e07d10;
	border-color: #e07d10;
}

.mepr-account-container .mepr-button.btn-outline {
	background: transparent;
	color: var(--foa-accent-1);
	border: 2px solid var(--foa-accent-1);
}

.mepr-account-container .mepr-button.btn-outline:hover {
	background: var(--foa-accent-1);
	color: var(--foa-base);
}

.mepr-account-container button.btn-link {
	background: transparent;
	color: var(--foa-accent-2);
	border: none;
}

.mepr-account-container button.btn-link:hover {
	color: var(--foa-accent-1);
	background: transparent;
}

/* ==========================================================================
   Error / success messages
   ========================================================================== */
.mepr_error,
.mp_wrapper .mepr-error {
	background-color: rgba(220, 38, 38, 0.15);
	color: #ff6b6b;
	border: 1px solid rgba(220, 38, 38, 0.3);
	border-radius: 4px;
	padding: 0.75rem 1rem;
}

.mepr_success,
.mp_wrapper .mepr-success {
	background-color: rgba(34, 197, 94, 0.15);
	color: #4ade80;
	border: 1px solid rgba(34, 197, 94, 0.3);
	border-radius: 4px;
	padding: 0.75rem 1rem;
}

/* Account welcome / user messages */
.mepr-account-welcome-message {
	background-color: rgba(34, 197, 94, 0.1);
	border-color: rgba(34, 197, 94, 0.3);
	color: #4ade80;
}

.mepr-account-user-message {
	background-color: rgba(247, 142, 30, 0.1);
	border-color: rgba(247, 142, 30, 0.3);
	color: var(--foa-accent-1);
}

/* ==========================================================================
   Popups (cancel subscription, etc.)
   ========================================================================== */
.mepr-white-popup {
	background: var(--foa-input-bg);
	color: var(--foa-contrast);
}

.mepr-white-popup .mepr-btn {
	background: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
}

.mepr-white-popup .mepr-btn:hover,
.mepr-white-popup .mepr-btn:active,
.mepr-white-popup .mepr-btn:focus-visible {
	background: #e07d10;
}

/* Modal overlay */
.mepr_modal__box {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4),
		0 8px 10px -6px rgba(0, 0, 0, 0.3);
}

.mepr_modal button.mepr_modal__close {
	color: var(--foa-accent-3);
}

.mepr_modal button.mepr_modal__close:hover {
	color: var(--foa-contrast);
}

.mepr_modal .mepr_modal_form .mp-form-label label {
	color: var(--foa-contrast);
}

.mepr_modal .mepr_modal_form input[type="text"],
.mepr_modal .mepr_modal_form input[type="email"],
.mepr_modal .mepr_modal_form input[type="tel"],
.mepr_modal .mepr_modal_form select {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border-color: var(--foa-border);
}

.mepr_modal .mepr_modal_form input[type="text"]:focus-visible,
.mepr_modal .mepr_modal_form input[type="email"]:focus-visible,
.mepr_modal .mepr_modal_form input[type="tel"]:focus-visible,
.mepr_modal .mepr_modal_form select:focus-visible {
	border-color: var(--foa-accent-2);
}

.mepr_modal .mepr_modal_form input[type="submit"] {
	background: var(--foa-accent-1);
	color: var(--foa-base);
}

.mepr_modal .mepr_modal_form input[type="submit"]:hover,
.mepr_modal .mepr_modal_form input[type="submit"]:focus-visible {
	background: #e07d10;
}

/* ==========================================================================
   Profile wrapper (ReadyLaunch pro account view, if active)
   ========================================================================== */
.mepr-profile-wrapper > div {
	border-color: var(--foa-border);
	background-color: var(--foa-accent-4);
}

.mepr-profile-wrapper__footer {
	border-top-color: var(--foa-border);
}

#mepr-profile-details dt {
	color: var(--foa-accent-3);
}

#mepr-profile-details dd {
	color: var(--foa-contrast);
}

/* ==========================================================================
   Tooltip
   ========================================================================== */
.mepr-tooltip-content {
	background: var(--foa-input-bg);
	border-color: var(--foa-border);
	color: var(--foa-contrast);
}

.mepr-tooltip-content > * {
	color: var(--foa-contrast);
}

/* ==========================================================================
   Responsive: mobile stacking for account nav tabs
   ========================================================================== */
@media screen and (max-width: 600px) {
	.mp_wrapper #mepr-account-nav ul {
		flex-direction: column;
	}

	.mp_wrapper #mepr-account-nav .mepr-nav-item a {
		padding: 0.6rem 1rem;
		border-bottom: none;
		border-left: 3px solid transparent;
	}

	.mp_wrapper #mepr-account-nav .mepr-nav-item.mepr-active-nav-tab a,
	.mp_wrapper #mepr-account-nav .mepr-nav-item.--active a {
		border-bottom: none;
		border-left-color: var(--foa-accent-1);
	}

	.mp_wrapper #mepr-account-nav .mepr-nav-item a:hover {
		border-bottom: none;
		border-left-color: var(--foa-accent-1);
	}

	/* Table mobile: dark borders */
	.mepr-account-container table tr {
		border-bottom-color: var(--foa-border);
	}

	.mepr-account-container table td {
		border-bottom-color: var(--foa-border);
	}

	.mepr-account-container table td:before {
		color: var(--foa-accent-3);
		font-weight: 600;
	}
}

/* ==========================================================================
   Spacer fix
   ========================================================================== */
.mepr_spacer {
	border: none;
}

/* ==========================================================================
   Select dropdown arrow fix for dark bg
   ========================================================================== */
.mepr-account-container .mepr-form select {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border-color: var(--foa-border);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23AAAAAA' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

/* ==========================================================================
   Loading gif
   ========================================================================== */
.mepr-loading-gif {
	filter: invert(1);
}

/* ==========================================================================
   LOGIN FORM
   ========================================================================== */
.mp_wrapper.mp_login_form {
	color: var(--foa-contrast);
}

.mp_wrapper.mp_login_form label {
	color: var(--foa-contrast);
}

.mp_wrapper.mp_login_form input[type="text"],
.mp_wrapper.mp_login_form input[type="password"],
.mp_wrapper.mp_login_form input[type="email"] {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
	padding: 0.6rem 0.75rem;
	box-shadow: none;
}

.mp_wrapper.mp_login_form input[type="text"]:focus,
.mp_wrapper.mp_login_form input[type="password"]:focus,
.mp_wrapper.mp_login_form input[type="email"]:focus {
	border-color: var(--foa-accent-2);
	outline: none;
	color: var(--foa-contrast);
}

.mp_wrapper.mp_login_form input[type="submit"] {
	background-color: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	padding: 0.8rem 2rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s;
}

.mp_wrapper.mp_login_form input[type="submit"]:hover,
.mp_wrapper.mp_login_form input[type="submit"]:active,
.mp_wrapper.mp_login_form input[type="submit"]:focus-visible {
	background-color: #e07d10;
	border-color: #e07d10;
}

.mp_wrapper.mp_login_form input[type="submit"]:focus-visible {
	outline: 2px dashed var(--foa-accent-2);
	outline-offset: 2px;
}

/* Remember me checkbox label */
.mp_wrapper.mp_login_form input[type="checkbox"] {
	accent-color: var(--foa-accent-1);
}

/* Forgot password & login action links */
.mp_wrapper.mp_login_form a,
.mepr-login-actions a {
	color: var(--foa-accent-2);
	text-decoration: none;
}

.mp_wrapper.mp_login_form a:hover,
.mepr-login-actions a:hover {
	color: var(--foa-accent-1);
}

/* Already logged in message */
.mepr-already-logged-in {
	color: var(--foa-contrast);
}

/* Password toggle button */
.mp_wrapper .button.mp-hide-pw {
	background: transparent;
	color: var(--foa-accent-3);
	border: none;
	box-shadow: none;
}

.mp_wrapper .button.mp-hide-pw:hover {
	color: var(--foa-contrast);
	background: transparent;
}

.mp_wrapper .button.mp-hide-pw:focus-visible .dashicons {
	color: var(--foa-accent-2);
}

/* ==========================================================================
   FORGOT PASSWORD / RESET PASSWORD FORMS
   ========================================================================== */
.mp_wrapper h3 {
	color: var(--foa-contrast);
}

.mp_wrapper #mepr_forgot_password_form label,
.mp_wrapper #mepr_reset_password_form label {
	color: var(--foa-contrast);
}

.mp_wrapper #mepr_forgot_password_form input[type="text"],
.mp_wrapper #mepr_reset_password_form input[type="password"] {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
	padding: 0.6rem 0.75rem;
	box-shadow: none;
}

.mp_wrapper #mepr_forgot_password_form input[type="text"]:focus,
.mp_wrapper #mepr_reset_password_form input[type="password"]:focus {
	border-color: var(--foa-accent-2);
	outline: none;
}

.mp_wrapper #mepr_forgot_password_form input[type="submit"],
.mp_wrapper #mepr_reset_password_form input[type="submit"] {
	background-color: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	padding: 0.8rem 2rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s;
}

.mp_wrapper #mepr_forgot_password_form input[type="submit"]:hover,
.mp_wrapper #mepr_reset_password_form input[type="submit"]:hover {
	background-color: #e07d10;
}

/* ==========================================================================
   CHECKOUT / SIGNUP FORM
   ========================================================================== */
.mp_wrapper .mepr-signup-form {
	color: var(--foa-contrast);
}

.mp_wrapper .mepr-signup-form label {
	color: var(--foa-contrast);
}

.mp_wrapper .mepr-signup-form .mp-form-label label {
	color: var(--foa-contrast);
}

.mp_wrapper .mepr-signup-form .mepr-form-input,
.mp_wrapper .mepr-signup-form input[type="text"],
.mp_wrapper .mepr-signup-form input[type="email"],
.mp_wrapper .mepr-signup-form input[type="password"],
.mp_wrapper .mepr-signup-form input[type="tel"],
.mp_wrapper .mepr-signup-form input[type="number"],
.mp_wrapper .mepr-signup-form input[type="url"],
.mp_wrapper .mepr-signup-form input[type="date"],
.mp_wrapper .mepr-signup-form textarea,
.mp_wrapper .mepr-signup-form select {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
	box-shadow: none;
}

.mp_wrapper .mepr-signup-form .mepr-form-input:focus,
.mp_wrapper .mepr-signup-form input:focus,
.mp_wrapper .mepr-signup-form textarea:focus,
.mp_wrapper .mepr-signup-form select:focus {
	border-color: var(--foa-accent-2);
	outline: none;
	color: var(--foa-contrast);
}

/* Select arrow for dark bg */
.mp_wrapper .mepr-signup-form select {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23AAAAAA' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 12px;
}

/* Signup submit button */
.mp_wrapper .mepr-signup-form .mepr-submit,
.mp_wrapper .mepr-signup-form input[type="submit"] {
	background-color: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	padding: 0.8rem 2rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s;
}

.mp_wrapper .mepr-signup-form .mepr-submit:hover,
.mp_wrapper .mepr-signup-form input[type="submit"]:hover {
	background-color: #e07d10;
}

/* Validation errors in signup */
.mp_wrapper .mepr-form-has-errors,
.mp_wrapper .cc-error,
.mp_wrapper .mepr-validation-error {
	color: #ff6b6b;
}

.mp_wrapper .cc-success {
	color: #4ade80;
}

/* Price / terms display */
.mp_wrapper .mepr_price,
.mp_wrapper .mepr_price_cell_label,
.mp_wrapper .mepr_price_cell {
	color: var(--foa-contrast);
}

.mp_wrapper .mepr_price {
	border-bottom: 1px solid var(--foa-border);
	padding-bottom: 0.75rem;
	margin-bottom: 1rem;
}

/* Payment method section */
.mp_wrapper .mepr_payment_method {
	background-color: var(--foa-accent-4) !important;
	border: 1px solid var(--foa-border) !important;
	border-radius: 4px;
}

.mp_wrapper .mepr-payment-methods-radios label {
	color: var(--foa-contrast) !important;
}

.mp_wrapper .mepr-payment-method .mepr-payment-method-label-text {
	color: var(--foa-contrast);
}

.mp_wrapper .mepr-payment-method .mepr-payment-method-desc-text {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
}

/* Radio buttons for payment methods */
.mp_wrapper .mepr-payment-methods-radios input[type="radio"] {
	accent-color: var(--foa-accent-1);
}

/* Coupon link and field */
.mp_wrapper .have-coupon-link {
	color: var(--foa-accent-2);
	text-decoration: none;
}

.mp_wrapper .have-coupon-link:hover {
	color: var(--foa-accent-1);
}

/* Checkbox fields (TOS, privacy) */
.mp_wrapper .mepr-signup-form input[type="checkbox"] {
	accent-color: var(--foa-accent-1);
}

.mp_wrapper .mepr-signup-form .mepr-checkbox-field,
.mp_wrapper .mepr-signup-form .mepr-checkbox-field a {
	color: var(--foa-contrast);
}

.mp_wrapper .mepr-signup-form .mepr-checkbox-field a {
	color: var(--foa-accent-2);
}

.mp_wrapper .mepr-signup-form .mepr-checkbox-field a:hover {
	color: var(--foa-accent-1);
}

/* Tax invoice */
.mp_wrapper .mepr-tax-invoice {
	color: var(--foa-contrast);
}

/* Switch payment method popup */
.mepr-switch-pm-popup {
	background: var(--foa-input-bg);
	color: var(--foa-contrast);
}

.mepr-switch-pm-popup .mepr-btn {
	background: var(--foa-accent-1);
	color: var(--foa-base);
}

.mepr-switch-pm-popup .mepr-btn:hover {
	background: #e07d10;
}

.mepr-switch-pm-popup .mepr-btn-secondary {
	background: transparent;
	border-color: var(--foa-accent-1);
	color: var(--foa-accent-1);
}

.mepr-switch-pm-popup .mepr-btn-secondary:hover {
	background: transparent;
}

/* Stripe Elements iframe container */
.mp_wrapper .mepr-signup-form .StripeElement,
.mp_wrapper .mepr-signup-form #card-element {
	background-color: var(--foa-input-bg);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
	padding: 0.6rem 0.75rem;
}

/* ==========================================================================
   PRICING / GROUPS (Price Boxes)
   ========================================================================== */
.mepr-price-menu {
	color: var(--foa-contrast);
}

.mepr-price-menu .mepr-price-box {
	background-color: var(--foa-accent-4);
	border-color: var(--foa-border);
	color: var(--foa-contrast);
}

.mepr-price-menu .mepr-price-box-head {
	color: var(--foa-contrast);
}

.mepr-price-menu .mepr-price-box-head h3,
.mepr-price-menu .mepr-price-box-head h4 {
	color: var(--foa-contrast);
}

.mepr-price-menu .mepr-price-box-price {
	color: var(--foa-accent-1);
}

.mepr-price-menu .mepr-price-box-benefits {
	border-top-color: var(--foa-border);
	color: var(--foa-contrast);
}

.mepr-price-menu .mepr-price-box-benefits .mepr-price-box-benefits-list .mepr-price-box-benefits-item {
	border-bottom-color: var(--foa-border);
	color: var(--foa-contrast);
}

/* Highlighted / featured price box */
.mepr-price-menu .mepr-price-box.mepr-most-popular,
.mepr-price-menu .mepr-price-box.mepr-price-box-highlight {
	border-color: var(--foa-accent-1);
}

/* Price box CTA button */
.mepr-price-menu .mepr-price-box a.mepr-price-box-button,
.mepr-price-menu .mepr-price-box input[type="submit"] {
	background-color: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background-color 0.2s;
}

.mepr-price-menu .mepr-price-box a.mepr-price-box-button:hover,
.mepr-price-menu .mepr-price-box input[type="submit"]:hover {
	background-color: #e07d10;
	color: var(--foa-base);
}

/* Override classic_dark theme borders for our palette */
.mepr-price-menu.classic.classic_dark {
	color: var(--foa-contrast) !important;
}

.mepr-price-menu.classic.classic_dark .mepr-price-box {
	border-color: var(--foa-border);
}

.mepr-price-menu.classic.classic_dark .mepr-price-box-benefits {
	border-top-color: var(--foa-border);
}

.mepr-price-menu.classic.classic_dark .mepr-price-box-benefits .mepr-price-box-benefits-list .mepr-price-box-benefits-item {
	border-bottom-color: var(--foa-border);
}

/* ==========================================================================
   UNAUTHORIZED / ACCESS DENIED
   ========================================================================== */
.mepr-unauthorized-excerpt,
.mepr-unauthorized-message {
	color: var(--foa-contrast);
}

.mepr-unauthorized-message a {
	color: var(--foa-accent-2);
}

.mepr-unauthorized-message a:hover {
	color: var(--foa-accent-1);
}

/* ==========================================================================
   SHARED: mp_wrapper generic dark overrides
   ========================================================================== */
.mp_wrapper {
	color: var(--foa-contrast);
}

.mp_wrapper label {
	color: var(--foa-contrast);
}

.mp_wrapper a {
	color: var(--foa-accent-2);
}

.mp_wrapper a:hover {
	color: var(--foa-accent-1);
}

.mp_wrapper .mp-form-label label {
	color: var(--foa-contrast);
}

/* Generic mp_wrapper form inputs */
.mp_wrapper .mepr-form-input,
.mp_wrapper .mepr-form input[type="text"],
.mp_wrapper .mepr-form input[type="email"],
.mp_wrapper .mepr-form input[type="password"],
.mp_wrapper .mepr-form input[type="tel"],
.mp_wrapper .mepr-form input[type="url"],
.mp_wrapper .mepr-form input[type="number"],
.mp_wrapper .mepr-form input[type="date"],
.mp_wrapper .mepr-form textarea,
.mp_wrapper .mepr-form select {
	background-color: var(--foa-input-bg);
	color: var(--foa-contrast);
	border: 1px solid var(--foa-border);
	border-radius: 4px;
	box-shadow: none;
}

.mp_wrapper .mepr-form input:focus,
.mp_wrapper .mepr-form textarea:focus,
.mp_wrapper .mepr-form select:focus {
	border-color: var(--foa-accent-2);
	outline: none;
	color: var(--foa-contrast);
}

/* Generic mp_wrapper submit buttons */
.mp_wrapper input[type="submit"],
.mp_wrapper .mepr-submit {
	background-color: var(--foa-accent-1);
	color: var(--foa-base);
	border: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background-color 0.2s;
}

.mp_wrapper input[type="submit"]:hover,
.mp_wrapper .mepr-submit:hover {
	background-color: #e07d10;
}

/* Spacer fix (all forms) */
.mp-spacer {
	border: none;
}
