/**
 * MDS PMPro dark restyle — scoped under .mds-pmpro body class.
 * Depends on mds-system.css loaded by mds-account.php.
 *
 * Design goals:
 *  • Clean, minimal dark card layout — no nested tables, no gradient soup.
 *  • One accent colour (--mds-accent), everything else neutral.
 *  • Readable text: labels at 75% opacity, values at 100%.
 */

/* ── Base reset for PMPro containers ─────────────────────────────────────── */
.mds-pmpro .pmpro_account,
.mds-pmpro #pmpro_account {
	width: 100%;
}

/* Remove PMPro's default table border-collapse soup */
.mds-pmpro #pmpro_account table,
.mds-pmpro #pmpro_account .pmpro_table,
.mds-pmpro .pmpro_account table,
.mds-pmpro .pmpro_account .pmpro_table {
	width: 100%;
	border-collapse: collapse;
}

/* ── Soft cards on membership account (id=#pmpro_account, not .pmpro_account) */
body.mds-pmpro #pmpro_account > .pmpro_box,
body.mds-pmpro #pmpro_account-membership,
body.mds-pmpro #pmpro_account-invoices,
body.mds-pmpro #pmpro_account-profile,
body.mds-pmpro #pmpro_account-links,
body.mds-pmpro .pmpro_billing_wrap .pmpro_section,
body.mds-pmpro .pmpro_cancel_wrap .pmpro_section {
	background: var(--theme-color-alter_bg_color, var(--mds-bg2)) !important;
	border: 1px solid var(--theme-color-bd_color, var(--mds-bd)) !important;
	border-radius: var(--mds-radius, 12px) !important;
	padding: 1.25rem 1.35rem !important;
	margin: 0 0 1rem !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Light theme: page is often white — give cards a clear surface vs page */
html.mds-light body.mds-pmpro #pmpro_account > .pmpro_box,
html.mds-light body.mds-pmpro #pmpro_account-membership,
html.mds-light body.mds-pmpro #pmpro_account-invoices,
html.mds-light body.mds-pmpro #pmpro_account-profile,
html.mds-light body.mds-pmpro #pmpro_account-links,
body.mds-light.mds-pmpro #pmpro_account > .pmpro_box,
body.mds-light.mds-pmpro #pmpro_account-membership,
body.mds-light.mds-pmpro #pmpro_account-invoices {
	background: #ffffff !important;
	border-color: rgba(0, 0, 0, 0.12) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Section headings */
body.mds-pmpro #pmpro_account h2,
body.mds-pmpro #pmpro_account h3,
.mds-pmpro .pmpro_account h2,
.mds-pmpro .pmpro_account h3,
.mds-pmpro .pmpro_billing_wrap .pmpro_section h2,
.mds-pmpro .pmpro_cancel_wrap .pmpro_section h2 {
	margin: 0 0 1rem;
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	color: var(--theme-color-text_dark, var(--mds-text));
}

/* Table header — no solid black bar (theme/PMPro thead overrides) */
body.mds-pmpro table thead,
body.mds-pmpro table thead tr,
body.mds-pmpro .pmpro_table thead,
body.mds-pmpro .pmpro_table thead tr {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

body.mds-pmpro #pmpro_account th,
body.mds-pmpro .pmpro_account th,
body.mds-pmpro table.pmpro_table th,
body.mds-pmpro table thead th,
body.mds-pmpro .pmpro_table thead th {
	font-size: 0.75em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--theme-color-text, var(--mds-text-muted)) !important;
	padding: 0 0 10px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--theme-color-bd_color, var(--mds-bd)) !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

body.mds-pmpro #pmpro_account td,
body.mds-pmpro .pmpro_account td,
body.mds-pmpro table.pmpro_table td {
	padding: 10px 0;
	color: var(--theme-color-text, var(--mds-text));
	font-size: 0.9em;
	border-bottom: 1px solid var(--theme-color-alter_bd_color, var(--mds-bd));
	vertical-align: middle;
	background: transparent;
}
body.mds-pmpro #pmpro_account tr:last-child td,
body.mds-pmpro .pmpro_account tr:last-child td { border-bottom: none; }

/* ── Membership level pill ───────────────────────────────────────────────── */
.mds-pmpro .pmpro_level_name { font-weight: 700; }
.mds-pmpro .pmpro_status-active .pmpro_level_name {
	color: var(--mds-accent);
}

/* ── Action links ────────────────────────────────────────────────────────── */
.mds-pmpro .pmpro_actionlinks,
.mds-pmpro #pmpro_actionlinks {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
}
.mds-pmpro .pmpro_actionlinks a,
.mds-pmpro #pmpro_actionlinks a {
	display: inline-flex;
	align-items: center;
	padding: 7px 18px;
	border-radius: var(--mds-radius-pill, 999px);
	border: 1px solid var(--mds-bd);
	background: transparent;
	color: var(--mds-text);
	font-size: 0.84em;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.18s, color 0.18s, border-color 0.18s;
}
.mds-pmpro .pmpro_actionlinks a:hover,
.mds-pmpro #pmpro_actionlinks a:hover { background: var(--mds-bg3); color: var(--mds-text); }

/* Cancel — danger (Change stays neutral) */
.mds-pmpro .pmpro_actionlinks a#pmpro_actionlink-cancel,
.mds-pmpro #pmpro_actionlinks a#pmpro_actionlink-cancel,
.mds-pmpro .pmpro_actionlinks a[href*="cancel"],
.mds-pmpro #pmpro_actionlinks a[href*="cancel"] {
	color: var(--mds-danger);
	border-color: color-mix(in srgb, var(--mds-danger) 45%, var(--mds-bd));
}
.mds-pmpro .pmpro_actionlinks a#pmpro_actionlink-cancel:hover,
.mds-pmpro #pmpro_actionlinks a#pmpro_actionlink-cancel:hover,
.mds-pmpro .pmpro_actionlinks a[href*="cancel"]:hover,
.mds-pmpro #pmpro_actionlinks a[href*="cancel"]:hover {
	color: var(--mds-danger);
	background: color-mix(in srgb, var(--mds-danger) 14%, transparent);
	border-color: var(--mds-danger);
}
@supports not (background: color-mix(in srgb, red 10%, blue)) {
	.mds-pmpro .pmpro_actionlinks a#pmpro_actionlink-cancel,
	.mds-pmpro #pmpro_actionlinks a#pmpro_actionlink-cancel,
	.mds-pmpro .pmpro_actionlinks a[href*="cancel"],
	.mds-pmpro #pmpro_actionlinks a[href*="cancel"] {
		border-color: var(--mds-danger);
	}
	.mds-pmpro .pmpro_actionlinks a#pmpro_actionlink-cancel:hover,
	.mds-pmpro #pmpro_actionlinks a#pmpro_actionlink-cancel:hover,
	.mds-pmpro .pmpro_actionlinks a[href*="cancel"]:hover,
	.mds-pmpro #pmpro_actionlinks a[href*="cancel"]:hover {
		background: var(--mds-bg3);
	}
}

/* "View all Membership Options" / "Choose a membership level" CTA */
.mds-pmpro .pmpro_btn,
.mds-pmpro a.pmpro_btn,
.mds-pmpro input[type="submit"],
.mds-pmpro button[type="submit"],
.mds-pmpro .pmpro_account_link {
	display: inline-flex;
	align-items: center;
	padding: 9px 22px;
	border-radius: var(--mds-radius-pill, 999px);
	border: 1px solid var(--mds-bd);
	background: transparent;
	color: var(--mds-text);
	font-size: 0.88em;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.18s;
}
.mds-pmpro .pmpro_btn:hover,
.mds-pmpro a.pmpro_btn:hover { background: var(--mds-bg3); color: var(--mds-text); text-decoration: none; }

/* Checkout submit = primary */
.mds-pmpro #pmpro_submit_span input[type="submit"],
.mds-pmpro .pmpro_checkout input[type="submit"] {
	background: var(--mds-accent);
	border-color: var(--mds-accent);
	color: var(--mds-on-accent);
}
.mds-pmpro .pmpro_checkout input[type="submit"]:hover { background: var(--mds-accent-hover); }

/* ── Invoices list ───────────────────────────────────────────────────────── */
.mds-pmpro .pmpro_invoice_table th,
.mds-pmpro .pmpro_invoices_table th { color: var(--mds-text-muted); }
.mds-pmpro .pmpro_invoice_table td a,
.mds-pmpro .pmpro_invoices_table td a { color: var(--mds-accent); text-decoration: none; }
.mds-pmpro .pmpro_invoice_table td a:hover,
.mds-pmpro .pmpro_invoices_table td a:hover { text-decoration: underline; }

/* ── AI Stars bullet (from mds-pmpro.php hook) ───────────────────────────── */
.mds-pmpro-stars { list-style: none; }
.mds-pmpro-stars strong { color: var(--mds-text); }
.mds-pmpro-stars__total { font-weight: 700; margin-left: 4px; }
.mds-pmpro-stars__buy {
	margin-left: 10px;
	color: var(--mds-accent);
	font-size: 0.85em;
	text-decoration: none;
}
.mds-pmpro-stars__buy:hover { text-decoration: underline; }

/* ── Membership levels page ──────────────────────────────────────────────── */
.mds-pmpro #pmpro_levels_table {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}
.mds-pmpro .pmpro_level {
	background: var(--mds-bg2);
	border: 1px solid var(--mds-bd);
	border-radius: var(--mds-radius, 12px);
	padding: 22px 18px;
	text-align: center;
}
.mds-pmpro .pmpro_level h2 { font-size: 1.1em; color: var(--mds-text); text-transform: none; letter-spacing: 0; }
.mds-pmpro .pmpro_level .pmpro_btn { margin-top: 14px; width: 100%; justify-content: center; }

/* ── Forms (billing, checkout) ───────────────────────────────────────────── */
.mds-pmpro input[type="text"],
.mds-pmpro input[type="email"],
.mds-pmpro input[type="tel"],
.mds-pmpro input[type="number"],
.mds-pmpro select,
.mds-pmpro textarea {
	background: var(--mds-bg2);
	border: 1px solid var(--mds-bd);
	border-radius: var(--mds-radius-sm, 8px);
	color: var(--mds-text);
	padding: 9px 12px;
	font: inherit;
	transition: border-color 0.18s;
	width: 100%;
}
.mds-pmpro input[type="text"]:focus,
.mds-pmpro input[type="email"]:focus,
.mds-pmpro select:focus { border-color: var(--mds-accent); outline: none; }

/* ── Login page (PMPro) — legacy card; superseded by .mds-login-page ───── */
.mds-pmpro:not(.mds-login-page) .page_content_wrap .content_wrap:has(.pmpro_login_wrap) > .content,
.mds-pmpro:not(.mds-login-page) .page_content_wrap .content_wrap:has(.pmpro_lost_password_wrap) > .content,
.mds-pmpro:not(.mds-login-page) .page_content_wrap .content_wrap:has(.pmpro_reset_password_wrap) > .content {
	width: 100%;
	max-width: var(--mds-content-max, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mds-content-gutter, 20px);
	padding-right: var(--mds-content-gutter, 20px);
	box-sizing: border-box;
}

.mds-pmpro:not(.mds-login-page) .pmpro_login_wrap,
.mds-pmpro:not(.mds-login-page) .pmpro_lost_password_wrap,
.mds-pmpro:not(.mds-login-page) .pmpro_reset_password_wrap {
	float: none;
	clear: both;
	display: block;
	max-width: 560px;
	margin: clamp(18px, 4vh, 36px) auto;
	padding: 22px;
	background: var(--theme-color-alter_bg_color, var(--mds-bg2));
	border: 1px solid var(--theme-color-bd_color, var(--mds-bd));
	border-radius: var(--mds-radius, 14px);
}

.mds-pmpro:not(.mds-login-page) .pmpro_login_wrap h2,
.mds-pmpro:not(.mds-login-page) .pmpro_lost_password_wrap h2,
.mds-pmpro:not(.mds-login-page) .pmpro_reset_password_wrap h2 {
	margin: 0 0 14px;
	font-size: 1.02rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: normal;
	color: var(--theme-color-text_dark, var(--mds-text));
}

.mds-pmpro .pmpro_login_wrap form,
.mds-pmpro .pmpro_lost_password_wrap form,
.mds-pmpro .pmpro_reset_password_wrap form,
.mds-pmpro form#loginform.pmpro_form {
	margin: 0;
}

.mds-pmpro #loginform p,
.mds-pmpro #lostpasswordform p,
.mds-pmpro #resetpassform p {
	margin: 0 0 12px;
}

.mds-pmpro #loginform label,
.mds-pmpro #lostpasswordform label,
.mds-pmpro #resetpassform label {
	display: block;
	margin-bottom: 6px;
	color: var(--theme-color-text, var(--mds-text-muted));
	font-size: 0.86rem;
	font-weight: 600;
}

.mds-pmpro #loginform input[type="submit"],
.mds-pmpro #lostpasswordform input[type="submit"],
.mds-pmpro #resetpassform input[type="submit"] {
	width: auto;
	min-width: 120px;
	justify-content: center;
}

.mds-pmpro .pmpro_login_wrap hr {
	border: 0;
	border-top: 1px solid var(--theme-color-bd_color, var(--mds-bd));
	margin: 14px 0;
}

.mds-pmpro .pmpro_login_wrap .login-remember {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mds-pmpro .pmpro_login_wrap .login-remember label {
	margin: 0;
	font-weight: 500;
}

.mds-pmpro .pmpro_login_wrap .pmpro_login_forms_handler_nav {
	margin-top: 12px;
	color: var(--theme-color-text, var(--mds-text-muted));
	font-size: 0.84rem;
}

.mds-pmpro .pmpro_login_wrap .pmpro_login_forms_handler_nav a {
	color: var(--theme-color-text_link, var(--mds-accent));
	text-decoration: none;
}

.mds-pmpro .pmpro_login_wrap .pmpro_login_forms_handler_nav a:hover {
	color: var(--theme-color-text_hover, var(--theme-color-text_link));
	text-decoration: underline;
}

/* ── Confirmation / invoice / billing shell (LK) ─────────────────────────── */
/* Side gutters on every breakpoint (theme page_extra is often 0 here) */
body.mds-pmpro .page_content_wrap > .content_wrap > .content,
body.mds-pmpro .page_content_wrap .content {
	padding-left: var(--mds-content-gutter, 16px);
	padding-right: var(--mds-content-gutter, 16px);
	box-sizing: border-box;
}

body.mds-pmpro .pmpro_confirmation_wrap,
body.mds-pmpro .pmpro_invoice_wrap,
body.mds-pmpro .pmpro_billing_wrap,
body.mds-pmpro .pmpro_cancel_wrap,
body.mds-pmpro .pmpro_account,
body.mds-pmpro #pmpro_account {
	width: 100%;
	max-width: var(--mds-content-max, 768px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	color: var(--theme-color-text, var(--mds-text));
}

.mds-pmpro .mds-pmpro-confirm-lead {
	margin: 0 0 1rem;
	padding: 1.2rem 1.35rem;
	border-radius: var(--mds-radius, 12px);
	border: 1px solid var(--theme-color-alter_bd_color, var(--mds-bd));
	background: var(--theme-color-alter_bg_color, var(--mds-bg2));
	box-shadow: none;
}

.mds-pmpro .mds-pmpro-confirm-lead__title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--theme-color-text_dark, var(--mds-text));
}

.mds-pmpro .mds-pmpro-confirm-lead__meta {
	margin: 0.2rem 0 0;
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--theme-color-text, var(--mds-text-muted));
	opacity: 0.9;
}

body.mds-pmpro .pmpro_confirmation_wrap .pmpro_invoice_wrap,
body.mds-pmpro .pmpro_invoice_wrap {
	margin-top: 0;
	margin-bottom: 1rem;
	padding: 1.25rem 1.35rem;
	border-radius: var(--mds-radius, 12px);
	border: 1px solid var(--theme-color-alter_bd_color, var(--mds-bd));
	background: var(--theme-color-alter_bg_color, var(--mds-bg2));
	box-shadow: none !important;
	outline: none;
	box-sizing: border-box;
}

@media (max-width: 600px) {
	body.mds-pmpro .pmpro_confirmation_wrap .pmpro_invoice_wrap,
	body.mds-pmpro .pmpro_invoice_wrap {
		padding: 1.15rem 1.15rem;
	}
}

.mds-pmpro .pmpro_invoice_wrap > h2,
.mds-pmpro .pmpro_confirmation_wrap .pmpro_invoice_wrap > h2 {
	margin: 0 1.5rem 1rem 0;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	color: var(--theme-color-text_dark, var(--mds-text));
}

.mds-pmpro .pmpro_a-print {
	float: right;
	margin: 0 0 0.75rem 1rem;
	padding: 0.4rem 0.85rem;
	border-radius: var(--mds-radius-pill, 999px);
	border: 1px solid var(--theme-color-bd_color, var(--mds-bd));
	background: transparent;
	color: var(--theme-color-text_link, var(--mds-accent));
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.2;
}

.mds-pmpro .pmpro_a-print:hover {
	background: var(--theme-color-alter_bg_hover, var(--mds-bg3));
	color: var(--theme-color-text_hover, var(--mds-accent-hover));
}

.mds-pmpro .pmpro_confirmation_wrap ul,
.mds-pmpro .pmpro_invoice_wrap > ul {
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0;
	clear: both;
}

.mds-pmpro .pmpro_confirmation_wrap ul li,
.mds-pmpro .pmpro_invoice_wrap > ul li {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	margin: 0;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--theme-color-alter_bd_color, var(--mds-bd));
	font-size: 0.9375rem;
	line-height: 1.4;
}

.mds-pmpro .pmpro_confirmation_wrap ul li:last-child,
.mds-pmpro .pmpro_invoice_wrap > ul li:last-child {
	border-bottom: none;
}

.mds-pmpro .pmpro_confirmation_wrap ul li strong,
.mds-pmpro .pmpro_invoice_wrap > ul li strong {
	min-width: 7.5rem;
	font-weight: 600;
	color: var(--theme-color-text, var(--mds-text-muted));
	opacity: 0.85;
}

.mds-pmpro .pmpro_invoice_wrap hr {
	border: 0;
	border-top: 1px solid var(--theme-color-alter_bd_color, var(--mds-bd));
	margin: 1rem 0;
}

.mds-pmpro .pmpro_invoice_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1rem 1.25rem;
	margin: 0 0 0.25rem;
}

.mds-pmpro .pmpro_invoice_details strong {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--theme-color-text, var(--mds-text-muted));
	opacity: 0.8;
}

.mds-pmpro .pmpro_invoice_details p {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--theme-color-text_dark, var(--mds-text));
}

.mds-pmpro .pmpro_invoice-total p,
.mds-pmpro .pmpro_invoice-total .pmpro_price_part-total {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--theme-color-text_dark, var(--mds-text));
}

.mds-pmpro .pmpro_actions_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.65rem 1.25rem;
	margin-top: 1.15rem;
	clear: both;
}

.mds-pmpro .pmpro_actions_nav-left,
.mds-pmpro .pmpro_actions_nav-right {
	float: none !important;
	display: block;
}

.mds-pmpro .pmpro_actions_nav a {
	display: inline-block;
	color: var(--theme-color-text_link, var(--mds-accent));
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	line-height: 1.3;
}

.mds-pmpro .pmpro_actions_nav a:hover {
	color: var(--theme-color-text_hover, var(--mds-accent-hover));
	text-decoration: underline;
}

@media (max-width: 600px) {
	.mds-pmpro .pmpro_actions_nav {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Messages — theme tokens, not stock yellow */
.mds-pmpro .pmpro_message,
.mds-pmpro .pmpro_alert,
.mds-pmpro .pmpro_error,
.mds-pmpro .pmpro_success,
.mds-pmpro .pmpro_message.pmpro_alert {
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--theme-color-text_link, var(--mds-accent)) 28%, var(--theme-color-bd_color, var(--mds-bd)));
	background: color-mix(in srgb, var(--theme-color-text_link, var(--mds-accent)) 10%, var(--theme-color-alter_bg_color, var(--mds-bg2)));
	color: var(--theme-color-text_dark, var(--mds-text));
	box-shadow: none;
}

.mds-pmpro .pmpro_message p,
.mds-pmpro .pmpro_alert p {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.4;
}

.mds-pmpro .pmpro_message.pmpro_success {
	border-color: color-mix(in srgb, var(--theme-color-text_link, var(--mds-accent)) 35%, transparent);
	background: color-mix(in srgb, var(--theme-color-text_link, var(--mds-accent)) 12%, transparent);
}

.mds-pmpro .pmpro_message.pmpro_error {
	border-color: color-mix(in srgb, #e85d5d 40%, transparent);
	background: color-mix(in srgb, #e85d5d 12%, transparent);
}

.mds-pmpro .pmpro_billing_wrap .pmpro_section,
.mds-pmpro .pmpro_cancel_wrap .pmpro_section {
	background: var(--theme-color-alter_bg_color, var(--mds-bg2));
	border: 1px solid var(--theme-color-bd_color, var(--mds-bd));
	border-radius: var(--mds-radius, 12px);
}

@media (max-width: 600px) {
	.mds-pmpro .pmpro_a-print {
		float: none;
		display: inline-flex;
		margin: 0 0 0.85rem;
	}

	.mds-pmpro .pmpro_confirmation_wrap ul li strong,
	.mds-pmpro .pmpro_invoice_wrap > ul li strong {
		min-width: 100%;
	}
}

@media print {
	.mds-pmpro .mds-sidebar,
	.mds-pmpro .mds-app-header,
	.mds-pmpro .pmpro_a-print,
	.mds-pmpro .pmpro_actions_nav {
		display: none !important;
	}

	.mds-pmpro .pmpro_invoice_wrap {
		border: none;
		padding: 0;
		background: transparent;
	}
}
