:root {
	--cb-ink: #172033;
	--cb-muted: #687286;
	--cb-line: #dfe5ef;
	--cb-blue: #2563eb;
	--cb-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cb-font-heading: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
}

.pmpro, .pmpro_section, .pmpro_card { font-family: var(--cb-font-body); }
.pmpro .pmpro_card, .pmpro_section, .cb-social-login {
	background: #fff;
	border: 1px solid var(--cb-line);
	border-radius: 18px;
	box-shadow: 0 16px 45px rgba(23, 32, 51, .07);
}
.pmpro .pmpro_btn, .pmpro input[type="submit"] {
	background: var(--cb-blue);
	border: 0;
	border-radius: 10px;
	color: #fff;
	font-weight: 800;
	min-height: 46px;
	padding: 0 20px;
}
.pmpro input[type="text"], .pmpro input[type="email"], .pmpro input[type="password"], .pmpro select {
	border: 1px solid var(--cb-line);
	border-radius: 10px;
	min-height: 46px;
	padding: 10px 12px;
}
.cb-social-login { margin: 0 0 24px; padding: 24px; text-align: center; }
.cb-social-login h2 {
	color: var(--cb-ink);
	font-family: var(--cb-font-heading);
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	margin: 4px 0 8px;
}
.cb-social-login > p:not(.cb-social-kicker) {
	color: var(--cb-muted);
	font-size: .9rem;
	margin: 0 auto 18px;
	max-width: 560px;
}
.cb-social-kicker {
	color: var(--cb-blue);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	margin: 0;
	text-transform: uppercase;
}
.cb-social-providers .nsl-container { display: flex; justify-content: center; }
.cb-signin-fallback {
	background: var(--cb-ink);
	border-radius: 10px;
	color: #fff;
	display: inline-flex;
	font-weight: 800;
	padding: 12px 18px;
	text-decoration: none;
}

/* Plan selection: card layout instead of the stock comparison table. */
.pmpro_levels_table { border: 0 !important; margin: 0 !important; width: 100%; }
.pmpro_levels_table thead { display: none; }
.pmpro_levels_table tbody {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pmpro_levels_table .pmpro_level {
	background: #fff;
	border: 1px solid var(--cb-line);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 24px;
	position: relative;
}
.pmpro_levels_table .pmpro_level th,
.pmpro_levels_table .pmpro_level td {
	background: transparent !important;
	border: 0 !important;
	display: block;
	padding: 0 !important;
	text-align: left !important;
}
.pmpro_levels_table .pmpro_level th {
	color: var(--cb-ink);
	font-family: var(--cb-font-heading);
	font-size: 1.15rem;
	margin-bottom: 10px;
}
.pmpro_levels_table .pmpro_level td:nth-child(2) { flex: 1; }
.pmpro_levels_table .pmpro_level-price { color: var(--cb-muted); font-size: .82rem; line-height: 1.5; margin: 0 0 22px; }
.pmpro_levels_table .pmpro_level-price strong { color: var(--cb-ink); display: block; font-size: 1.4rem; line-height: 1.2; }
.pmpro_levels_table .pmpro_btn-select { display: block; min-height: 44px; padding: 12px 16px; text-align: center; text-decoration: none; width: 100%; }
.pmpro_levels_table #pmpro_level-2 { border: 2px solid var(--cb-blue); box-shadow: 0 14px 36px rgba(49, 87, 213, .14); }
.pmpro_levels_table #pmpro_level-2::before {
	background: var(--cb-blue);
	border-radius: 999px;
	color: #fff;
	content: "Most popular";
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .06em;
	padding: 5px 10px;
	position: absolute;
	right: 16px;
	top: 16px;
	text-transform: uppercase;
}

.pmpro_checkout .pmpro_section,
.pmpro_checkout .pmpro_card {
	margin-bottom: 18px;
	overflow: hidden;
}
.pmpro_checkout .pmpro_card_content,
.pmpro_checkout .pmpro_section_content { padding: clamp(20px, 4vw, 30px); }
.pmpro_checkout label { color: var(--cb-ink); font-size: .82rem; font-weight: 750; }
.pmpro_checkout .pmpro_form_field { margin-bottom: 16px; }
.pmpro_checkout .pmpro_form_field-description { color: var(--cb-muted); font-size: .75rem; }
.pmpro_checkout hr { border-color: var(--cb-line); }

@media (max-width: 760px) {
	.pmpro_levels_table tbody { grid-template-columns: 1fr; }
	.pmpro_levels_table #pmpro_level-2 { order: -1; }
	.pmpro_levels_table .pmpro_level { padding: 20px; }
}

.cb-social-complete { margin: 0 auto 18px; max-width: 560px; }
.cb-social-complete h2 { color: var(--cb-ink); font-size: 1.45rem; margin: 4px 0 8px; }
.cb-social-complete > p:not(.cb-social-kicker) { color: var(--cb-muted); font-size: .88rem; margin: 0 0 20px; }
.cb-social-complete fieldset { border: 0; margin: 0 0 16px; padding: 0; }
.cb-social-complete legend { color: var(--cb-ink); font-size: .8rem; font-weight: 800; margin-bottom: 9px; }
.cb-social-complete fieldset label { display: inline-block; margin: 0 7px 7px 0; }
.cb-social-complete fieldset label span { background: #f8fafc; border: 1px solid var(--cb-line); border-radius: 999px; display: inline-flex; font-size: .75rem; font-weight: 700; padding: 7px 10px; }
.cb-social-complete fieldset input:checked + span { background: #eef3ff; border-color: #8fa6ef; color: #2448bd; }
.cb-social-consent { align-items: flex-start; color: var(--cb-muted); display: flex; font-size: .78rem; gap: 8px; line-height: 1.5; }

/* Modern checkout orientation and payment method confidence. */
body.pmpro-checkout .article-header { display: none; }
body.pmpro-checkout .article-content.container.narrow { background: transparent; border: 0; border-radius: 0; max-width: 1080px; padding: clamp(28px, 5vw, 56px) 24px; }
.cb-checkout-intro,
.cb-levels-intro {
	background:
		radial-gradient(circle at 92% 0, rgba(19, 185, 129, .18), transparent 24rem),
		radial-gradient(circle at 4% 12%, rgba(37, 99, 235, .12), transparent 26rem),
		linear-gradient(rgba(37, 99, 235, .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(37, 99, 235, .04) 1px, transparent 1px),
		linear-gradient(145deg, #f7fbff, #edf5ff 58%, #effbf6);
	background-size: auto, auto, 28px 28px, 28px 28px, auto;
	border: 1px solid #d6e3ef;
	border-radius: 22px;
	box-shadow: 0 24px 65px rgba(32, 59, 94, .11);
	color: var(--cb-ink);
	margin: 0 0 24px;
	overflow: hidden;
	padding: clamp(24px, 5vw, 38px);
	position: relative;
}

.cb-checkout-intro-copy { max-width: 680px; }
.cb-checkout-eyebrow { background: rgba(255,255,255,.76); border: 1px solid #cbdcff; border-radius: 999px; color: #1d4ed8; display: inline-flex; font-size: .68rem; font-weight: 850; letter-spacing: .11em; margin-bottom: 10px; padding: 5px 9px; text-transform: uppercase; }
.cb-checkout-intro h1,
.cb-levels-intro h1 { color: #0f172a; font-family: var(--cb-font-heading); font-size: clamp(1.9rem, 5vw, 3rem); letter-spacing: -.045em; line-height: 1.04; margin: 0 0 12px; }
.cb-checkout-intro-copy > p,
.cb-levels-intro > p { color: #536278; font-size: .9rem; line-height: 1.65; margin: 0; max-width: 720px; }
.cb-checkout-steps { display: grid; gap: 7px; grid-template-columns: repeat(3, 1fr); margin: 24px 0 16px; max-width: 520px; }
.cb-checkout-steps > span { align-items: center; color: #718096; display: flex; font-size: .68rem; font-weight: 800; gap: 7px; }
.cb-checkout-steps b { align-items: center; background: rgba(255,255,255,.78); border: 1px solid #d4dfec; border-radius: 50%; color: #506078; display: inline-flex; height: 25px; justify-content: center; width: 25px; }
.cb-checkout-steps .is-active { color: #1d4ed8; }
.cb-checkout-steps .is-active b { background: #2563eb; border-color: #2563eb; color: #fff; }
.cb-checkout-methods { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 680px; }
.cb-checkout-methods > span { background: rgba(255,255,255,.8); border: 1px solid #d6e2ee; border-radius: 11px; display: flex; flex-direction: column; padding: 10px 12px; }
.cb-checkout-methods b { color: #25354d; font-size: .75rem; }
.cb-checkout-methods small { color: #718096; font-size: .62rem; margin-top: 2px; }
.cb-checkout-methods .cb-method-upi b { color: #087a59; }
.cb-checkout-security { align-items: center; color: #607086; display: flex; font-size: .66rem; gap: 6px; margin: 12px 0 0; }
.cb-checkout-security span { color: #087a59; }

.pmpro_checkout { margin: 0 auto; max-width: 880px; }
.pmpro_checkout .pmpro_card,
.pmpro_checkout .pmpro_section { border-color: #dce4ee; border-radius: 16px; box-shadow: 0 14px 38px rgba(23,32,51,.065); }
.pmpro_checkout .pmpro_form_heading { color: #172033; font-family: var(--cb-font-heading); letter-spacing: -.02em; }
.pmpro_checkout input[type="text"],
.pmpro_checkout input[type="email"],
.pmpro_checkout input[type="password"],
.pmpro_checkout input[type="tel"],
.pmpro_checkout select { background: #fbfcfe; border: 1px solid #cbd6e4; border-radius: 11px; box-shadow: inset 0 1px 2px rgba(15,23,42,.02); min-height: 48px; padding: 10px 13px; transition: border-color .18s, box-shadow .18s; }
.pmpro_checkout input:focus,
.pmpro_checkout select:focus { background: #fff; border-color: #3157d5; box-shadow: 0 0 0 3px rgba(49,87,213,.11); outline: 0; }
.pmpro_checkout .pmpro_btn-submit-checkout,
.pmpro_checkout input[type="submit"] { background: linear-gradient(135deg,#3157d5,#2448bd); border-radius: 11px; box-shadow: 0 10px 24px rgba(49,87,213,.22); font-size: .9rem; min-height: 50px; width: 100%; }
.pmpro_checkout .pmpro_checkout-fields { gap: 14px; }
.pmpro_checkout .pmpro_form_field-password-toggle { color: #3157d5; }
.pmpro_checkout #pmpro_pricing_fields .pmpro_card_content { background: linear-gradient(135deg,#f6f8ff,#f5fbf8); }

.pmpro_levels_table tbody { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.pmpro_levels_table #pmpro_level-2 { border-width: 1px; box-shadow: none; }
.pmpro_levels_table #pmpro_level-2::before { content: none; }
.pmpro_levels_table #pmpro_level-4 { border: 2px solid var(--cb-blue); box-shadow: 0 14px 36px rgba(49,87,213,.14); }
.pmpro_levels_table #pmpro_level-4::before { background: var(--cb-blue); border-radius: 999px; color: #fff; content: "Best value"; font-size: .66rem; font-weight: 800; letter-spacing: .06em; padding: 5px 10px; position: absolute; right: 16px; top: 16px; text-transform: uppercase; }

@media (max-width: 760px) {
	.cb-checkout-intro,
	.cb-levels-intro { border-radius: 18px; padding: 24px 20px; }
	.cb-checkout-methods { grid-template-columns: 1fr; }
	.cb-checkout-steps { gap: 4px; }
	.cb-checkout-steps > span { font-size: .61rem; }
	.pmpro_levels_table #pmpro_level-2 { order: initial; }
	.pmpro_levels_table #pmpro_level-4 { order: -1; }
}
