/* Intuera — Paid Memberships Pro styles
   Uses Intuera design tokens via CSS custom properties.
   Intuera palette: primary #343456 | muted #72738F | line #B8B9C7 | surface #F6F6F8 | dark #2A2A42 | base #fff
*/

/* ── Shared PMPro layout wrapper ────────────────────────────────────────────── */
.pmpro_content,
.pmpro_checkout,
.pmpro_account,
.pmpro_levels_page,
.pmpro_form {
	font-family: Montserrat, -apple-system, sans-serif;
}

/* ── PMPro message boxes ─────────────────────────────────────────────────────── */
.pmpro_message,
.pmpro_error {
	border-radius: 8px;
	padding: 14px 18px;
	margin: 20px 0;
	font-size: .9rem;
	line-height: 1.5;
}

.pmpro_message.pmpro_alert,
div.pmpro_message.pmpro_alert {
	background: #fff8e0;
	border: 1px solid #ffeeba;
	color: #6C5101;
}
.pmpro_message.pmpro_alert a { color: #66512c; }

.pmpro_message.pmpro_success,
div.pmpro_message.pmpro_success {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #0F441C;
}
.pmpro_message.pmpro_success a { color: #2b542c; }

.pmpro_message.pmpro_error,
div.pmpro_message.pmpro_error,
div.pmpro_error {
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
}
.pmpro_message.pmpro_error a { color: #843534; }

.pmpro_message.pmpro_info,
div.pmpro_message.pmpro_info {
	background: #d9edf7;
	border: 1px solid #bce8f1;
	color: #31708f;
}
.pmpro_message.pmpro_info a { color: #245269; }

/* ── Restricted content notice ───────────────────────────────────────────────── */
.pmpro_content_restricted {
	background: var(--wp--preset--color--surface, #F6F6F8);
	border: 1px solid var(--wp--preset--color--line, #B8B9C7);
	border-radius: 12px;
	padding: 36px 32px;
	text-align: center;
	margin: 32px 0;
}
.pmpro_content_restricted h3,
.pmpro_content_restricted .pmpro_content_restricted_title {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary, #343456);
	margin: 0 0 10px;
}
.pmpro_content_restricted p {
	color: var(--wp--preset--color--muted, #72738F);
	font-size: .95rem;
	margin: 0 0 20px;
}
.pmpro_content_restricted a.pmpro_btn,
.pmpro_content_restricted .pmpro_btn-submit {
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--primary, #343456);
	color: #fff !important;
	font-weight: 600;
	font-size: .9rem;
	padding: 11px 24px;
	border-radius: 5px;
	text-decoration: none;
	border: none;
	cursor: pointer;
}
.pmpro_content_restricted a.pmpro_btn:hover,
.pmpro_content_restricted .pmpro_btn-submit:hover {
	background: var(--wp--preset--color--dark, #2A2A42);
}

/* ── Membership Levels (pricing) table ──────────────────────────────────────── */
#pmpro_levels,
.pmpro_levels_page,
table.pmpro_levelscost {
	width: 100%;
	border-collapse: collapse;
}

.pmpro_level {
	border: 1px solid var(--wp--preset--color--line, #B8B9C7);
	border-radius: 12px;
	padding: 28px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.pmpro_level_cost {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--wp--preset--color--primary, #343456);
	line-height: 1;
}
.pmpro_level_description {
	color: var(--wp--preset--color--muted, #72738F);
	font-size: .9rem;
}
.pmpro_level a.pmpro_btn,
.pmpro_level .pmpro_btn-select {
	display: inline-flex;
	justify-content: center;
	background: var(--wp--preset--color--primary, #343456);
	color: #fff !important;
	font-weight: 600;
	font-size: .9rem;
	padding: 11px 24px;
	border-radius: 5px;
	text-decoration: none;
	margin-top: auto;
	border: none;
	cursor: pointer;
	text-align: center;
}
.pmpro_level a.pmpro_btn:hover { background: var(--wp--preset--color--dark, #2A2A42); }

/* ── Checkout form ───────────────────────────────────────────────────────────── */
#pmpro_form,
.pmpro_checkout_div,
.pmpro_checkout {
	max-width: 760px;
	margin: 0 auto;
}

.pmpro_checkout h3,
#pmpro_form h3,
.pmpro_checkout_heading {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary, #343456);
	text-transform: uppercase;
	letter-spacing: .08em;
	border-bottom: 1px solid var(--wp--preset--color--line, #B8B9C7);
	padding-bottom: 10px;
	margin: 28px 0 16px;
}

.pmpro_checkout input[type="text"],
.pmpro_checkout input[type="email"],
.pmpro_checkout input[type="password"],
.pmpro_checkout input[type="tel"],
.pmpro_checkout select,
.pmpro_checkout textarea,
#pmpro_form input[type="text"],
#pmpro_form input[type="email"],
#pmpro_form input[type="password"],
#pmpro_form input[type="tel"],
#pmpro_form select {
	width: 100%;
	border: 1px solid var(--wp--preset--color--line, #B8B9C7);
	border-radius: 6px;
	padding: 10px 14px;
	font-size: .95rem;
	color: var(--wp--preset--color--primary, #343456);
	background: #fff;
	box-sizing: border-box;
	font-family: inherit;
	transition: border-color .2s;
}
.pmpro_checkout input:focus,
#pmpro_form input:focus,
#pmpro_form select:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary, #343456);
	box-shadow: 0 0 0 3px rgba(52,52,86,.1);
}

.pmpro_checkout label,
#pmpro_form label {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary, #343456);
	margin-bottom: 4px;
}

.pmpro_checkout .pmpro_col2-left,
.pmpro_checkout .pmpro_col2-right {
	width: 48%;
}
.pmpro_checkout .pmpro_cols {
	display: flex;
	gap: 4%;
	flex-wrap: wrap;
}

/* Order summary box */
.pmpro_checkout_total,
#pmpro_checkout_total {
	background: var(--wp--preset--color--surface, #F6F6F8);
	border: 1px solid var(--wp--preset--color--line, #B8B9C7);
	border-radius: 10px;
	padding: 20px 24px;
	margin: 24px 0;
}
.pmpro_checkout_total table,
#pmpro_checkout_total table {
	width: 100%;
	font-size: .9rem;
}
.pmpro_checkout_total td,
#pmpro_checkout_total td { padding: 6px 0; }
.pmpro_checkout_total .pmpro_checkout_total_label,
#pmpro_checkout_total .pmpro_checkout_total_label { color: var(--wp--preset--color--muted, #72738F); }
.pmpro_checkout_total .pmpro_checkout_total_amount,
#pmpro_checkout_total .pmpro_checkout_total_amount {
	font-weight: 700;
	color: var(--wp--preset--color--primary, #343456);
	text-align: right;
}

/* Submit button */
.pmpro_btn-submit,
.pmpro_btn-submit-checkout,
#pmpro_submit_span input[type="submit"],
#pmpro_form input[type="submit"],
.pmpro_checkout input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--primary, #343456);
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	padding: 14px 32px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	width: 100%;
	font-family: inherit;
	margin-top: 8px;
	transition: background .2s;
}
.pmpro_btn-submit:hover,
#pmpro_form input[type="submit"]:hover {
	background: var(--wp--preset--color--dark, #2A2A42);
}

/* ── Account page ────────────────────────────────────────────────────────────── */
.pmpro_account {
	max-width: 900px;
	margin: 0 auto;
}
.pmpro_account_section {
	border: 1px solid var(--wp--preset--color--line, #B8B9C7);
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
}
.pmpro_account_section h3,
.pmpro_account_section .pmpro_account_section_title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary, #343456);
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wp--preset--color--line, #B8B9C7);
}
.pmpro_account_memberships table,
.pmpro_account_invoices table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
}
.pmpro_account_memberships th,
.pmpro_account_invoices th {
	font-weight: 600;
	color: var(--wp--preset--color--muted, #72738F);
	text-align: left;
	padding: 8px 0;
	border-bottom: 1px solid var(--wp--preset--color--line, #B8B9C7);
}
.pmpro_account_memberships td,
.pmpro_account_invoices td {
	padding: 10px 0;
	border-bottom: 1px solid var(--wp--preset--color--surface, #F6F6F8);
	color: var(--wp--preset--color--primary, #343456);
}
.pmpro_account a {
	color: var(--wp--preset--color--primary, #343456);
	font-weight: 500;
}

/* ── Login / Register form styling ───────────────────────────────────────────── */
.login form,
#loginform,
.pmpro_wp-login {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line, #B8B9C7);
	border-radius: 12px;
	padding: 32px;
	max-width: 420px;
	margin: 40px auto;
}

/* ── Member info shortcode (header nav CTA) ──────────────────────────────────── */
.iru-member-info {
	display: flex;
	align-items: center;
	gap: 18px;
}
.iru-member-info--in .iru-member-name {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--primary, #343456);
	text-decoration: none;
}
.iru-member-info--in .iru-login {
	font-size: 14px;
	color: var(--wp--preset--color--muted, #72738F);
	text-decoration: none;
}
.iru-member-info--out {
	gap: 16px;
}

/* ── Billing / cancel / invoice pages ────────────────────────────────────────── */
.pmpro_billing,
.pmpro_cancel,
.pmpro_invoice {
	max-width: 760px;
	margin: 0 auto;
}

/* ── PMPro admin bar tweaks ──────────────────────────────────────────────────── */
.pmpro-page .site-content {
	padding-top: 0;
}

/* ── Responsive: stack levels table on mobile ────────────────────────────────── */
@media (max-width: 760px) {
	.pmpro_level { padding: 20px; }
	.pmpro_checkout .pmpro_cols { flex-direction: column; }
	.pmpro_checkout .pmpro_col2-left,
	.pmpro_checkout .pmpro_col2-right { width: 100%; }
	#pmpro_form { padding: 0 16px; }
}
