/* Commercial presentation is loaded only on the Education plans and PMPro checkout pages. */
.lc-edu-plans {
	--lc-commerce-ink: #f5f1e7;
	--lc-commerce-muted: #bac8bd;
	--lc-commerce-surface: #17191d;
	--lc-commerce-line: rgba(238, 229, 205, .16);
	--lc-commerce-accent: #d8bf81;
	position: relative;
	margin: clamp(18px, 4vw, 48px) auto;
	padding: clamp(22px, 4.6vw, 58px);
	color: var(--lc-commerce-ink);
	border: 1px solid rgba(228, 212, 171, .24);
	border-radius: 28px;
	background: radial-gradient(ellipse at 84% 0%, rgba(163, 0, 13, .19), transparent 39%), linear-gradient(145deg, #1b1d22 0%, #101114 58%, #191b20 100%);
	box-shadow: 0 24px 70px rgba(20, 32, 25, .2);
}
.lc-edu-plans-intro { max-width: 760px; margin: 0 auto clamp(20px, 2.5vw, 34px); text-align: center; }
.lc-edu-plans .lc-edu-eyebrow { margin: 0 0 10px; color: var(--lc-commerce-accent); font-size: 12px; font-weight: 750; letter-spacing: .16em; line-height: 1.5; }
.lc-edu-plans-intro .lc-edu-plans-title { margin: 0; color: var(--lc-commerce-ink); font: 500 clamp(34px, 5vw, 56px)/1.04 var(--lc-font-serif); letter-spacing: -.035em; }
.lc-edu-plans-intro > p:last-child { max-width: 610px; margin: 17px auto 0; color: var(--lc-commerce-muted); font-size: 16px; line-height: 1.7; }
.lc-edu-plan-program { scroll-margin-top: 28px; }
.lc-edu-plan-program + .lc-edu-plan-program { margin-top: clamp(36px, 5vw, 64px); padding-top: clamp(30px, 4vw, 48px); border-top: 1px solid var(--lc-commerce-line); }
.lc-edu-plan-program-heading { max-width: 760px; margin-bottom: 19px; }
.lc-edu-plan-program-heading h3 { margin: 0; color: var(--lc-commerce-ink); font: 500 clamp(28px, 3.5vw, 40px)/1.12 var(--lc-font-serif); letter-spacing: -.025em; }
.lc-edu-plan-program-heading > p:last-child { max-width: 650px; margin: 9px 0 0; color: var(--lc-commerce-muted); line-height: 1.65; }
.lc-edu-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 14px; }
.lc-edu-plan-card { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: stretch; padding: clamp(19px, 2.2vw, 27px); border: 1px solid var(--lc-commerce-line); border-radius: 19px; background: linear-gradient(155deg, rgba(34, 37, 43, .97), rgba(22, 24, 28, .98)); box-shadow: 0 12px 30px rgba(4, 14, 9, .16); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.lc-edu-plan-card:hover { transform: translateY(-3px); border-color: rgba(216, 191, 129, .55); box-shadow: 0 18px 38px rgba(4, 14, 9, .24); }
.lc-edu-plan-card.is-recommended { border-color: rgba(216, 191, 129, .72); background: linear-gradient(155deg, rgba(43, 39, 36, .98), rgba(25, 26, 30, .98)); }
.lc-edu-plan-badge { align-self: flex-start; margin: -7px 0 16px; padding: 6px 9px; border-radius: 999px; color: #17251d; background: var(--lc-commerce-accent); font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.25; }
.lc-edu-plan-card h4 { margin: 0 0 16px; color: var(--lc-commerce-accent); font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: .07em; text-transform: uppercase; }
.lc-edu-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; margin: 0 0 5px; color: var(--lc-commerce-ink); }
.lc-edu-plan-price strong { font-size: clamp(28px, 3vw, 35px); font-weight: 650; letter-spacing: -.035em; line-height: 1; }
.lc-edu-plan-price > span { color: var(--lc-commerce-muted); font-size: 13px; }
.lc-edu-plan-billing { min-height: 42px; margin: 0; color: var(--lc-commerce-muted); font-size: 13px; line-height: 1.55; }
.lc-edu-plan-access { margin: 4px 0 0; color: var(--lc-commerce-accent); font-size: 12px; font-weight: 700; }
.lc-edu-plan-benefits { display: grid; gap: 10px; margin: 21px 0 25px; padding: 17px 0 0; border-top: 1px solid var(--lc-commerce-line); list-style: none; }
.lc-edu-plan-benefits li { display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 8px; color: #e1e7df; font-size: 12px; line-height: 1.5; }
.lc-edu-plan-benefits li > span { color: var(--lc-commerce-accent); font-weight: 800; }
.lc-edu-plan-card .lc-edu-button { display: flex; min-height: 47px; align-items: center; justify-content: center; margin-top: auto; padding: 12px 15px; border: 1px solid var(--lc-accent); border-radius: 10px; color: var(--lc-on-accent); background: var(--lc-accent); font-size: 13px; font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none; transition: background .16s ease, color .16s ease, transform .16s ease; }
.lc-edu-plan-card .lc-edu-button:hover { color: var(--lc-on-accent); background: var(--lc-accent-hover); transform: translateY(-1px); }
.lc-edu-plan-card .lc-edu-button:focus-visible, .lc-edu-plan-cross-sell .lc-edu-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.lc-edu-plan-checkout-note { margin: 10px 0 0; color: #aebdb1; font-size: 12px; line-height: 1.45; text-align: center; }
.lc-edu-plan-cross-sell { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px; margin: 0 0 23px; padding: 20px 22px; border: 1px solid rgba(216, 191, 129, .42); border-radius: 17px; background: linear-gradient(110deg, rgba(163, 0, 13, .12), rgba(28, 30, 35, .92)); }
.lc-edu-plan-cross-sell h2 { margin: 0; color: var(--lc-commerce-ink); font: 500 25px/1.2 var(--lc-font-serif); }
.lc-edu-plan-cross-sell > div > p:last-child { margin: 7px 0 0; color: var(--lc-commerce-muted); font-size: 13px; line-height: 1.55; }
.lc-edu-plan-cross-sell .lc-edu-button-secondary { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; gap: 7px; padding: 10px 15px; border: 1px solid rgba(245, 241, 231, .38); border-radius: 9px; color: var(--lc-commerce-ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.lc-edu-plan-cross-sell .lc-edu-button-secondary:hover { border-color: var(--lc-commerce-accent); color: var(--lc-commerce-accent); }
.lc-edu-commerce-test-note { margin: 12px 0 0; padding: 10px 12px; border: 1px solid rgba(216, 191, 129, .34); border-radius: 9px; color: #f1dfb1; background: rgba(105, 82, 39, .22); font-size: 12px; line-height: 1.5; }

/* PMPro owns the checkout form; these rules only restyle its existing sections and controls. */
.pmpro { --lc-pmpro-ink: #f4f0e6; --lc-pmpro-muted: #c0cbc2; --lc-pmpro-line: rgba(230, 222, 199, .16); color: var(--lc-pmpro-ink); }
.pmpro #pmpro_form { display: grid; gap: 17px; }
.pmpro .pmpro_card, .pmpro #pmpro_pricing_fields, .pmpro #pmpro_user_fields, .pmpro #pmpro_billing_address_fields, .pmpro #pmpro_payment_information_fields, .pmpro #pmpro_submit { padding: clamp(17px, 3vw, 27px); border: 1px solid var(--lc-pmpro-line); border-radius: 16px; color: var(--lc-pmpro-ink); background: linear-gradient(150deg, #202329, #16181c); box-shadow: 0 12px 32px rgba(4, 14, 9, .14); }
.pmpro .pmpro_card_title, .pmpro h2, .pmpro h3 { color: var(--lc-pmpro-ink); }
.pmpro .pmpro_card_content, .pmpro .pmpro_level_name_text, .pmpro .pmpro_level_cost_text, .pmpro .pmpro_level_expiration_text { color: var(--lc-pmpro-muted); }
.pmpro .pmpro_card_content strong, .pmpro #pmpro_level_cost strong { color: var(--lc-pmpro-ink); }
.pmpro label, .pmpro .pmpro_form_label { color: #e8e8dd; font-weight: 650; }
.pmpro input[type="text"], .pmpro input[type="email"], .pmpro input[type="password"], .pmpro input[type="tel"], .pmpro input[type="number"], .pmpro input[type="url"], .pmpro select, .pmpro textarea { min-height: 46px; border: 1px solid rgba(225, 230, 219, .25); border-radius: 8px; color: #f5f1e7; background: #101114; box-shadow: none; }
.pmpro input::placeholder, .pmpro textarea::placeholder { color: #a6b3a9; }
.pmpro input:focus, .pmpro select:focus, .pmpro textarea:focus { border-color: var(--lc-accent-line); outline: 3px solid var(--lc-accent-soft); outline-offset: 1px; }
.pmpro .pmpro_btn, .pmpro input[type="submit"], .pmpro button[type="submit"] { min-height: 48px; padding: 12px 20px; border: 1px solid var(--lc-accent); border-radius: 9px; color: var(--lc-on-accent); background: var(--lc-accent); box-shadow: none; font-weight: 750; transition: transform .16s ease, background .16s ease; }
.pmpro .pmpro_btn:hover, .pmpro input[type="submit"]:hover, .pmpro button[type="submit"]:hover { transform: translateY(-1px); background: var(--lc-accent-hover); }
.pmpro .pmpro_btn:focus-visible, .pmpro input[type="submit"]:focus-visible, .pmpro button[type="submit"]:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pmpro .pmpro_message { padding: 13px 16px; border: 1px solid rgba(216, 191, 129, .42); border-radius: 10px; color: #f1dfb1; background: rgba(105, 82, 39, .22); line-height: 1.55; }
.pmpro .pmpro_form_field-error, .pmpro .pmpro_error { color: #ffe2dc; }
.pmpro .lc-edu-checkout-summary { display: grid; gap: 5px; margin: 17px 0 4px; padding: 16px; border: 1px solid rgba(216, 191, 129, .34); border-radius: 12px; background: rgba(255, 255, 255, .045); }
.pmpro .lc-edu-checkout-summary .lc-edu-eyebrow { margin: 0; color: #e3cb91; font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.pmpro .lc-edu-checkout-summary > strong { color: var(--lc-pmpro-ink); font: 500 20px/1.25 var(--lc-font-serif); }
.pmpro .lc-edu-checkout-summary > span { color: var(--lc-pmpro-muted); font-size: 13px; }
.pmpro .lc-edu-checkout-assurance { margin: 4px 0 0; color: var(--lc-pmpro-muted); font-size: 12px; line-height: 1.5; }
.pmpro .lc-edu-checkout-summary .lc-edu-commerce-test-note { color: #f1dfb1; }
.pmpro a { color: #e4cc91; }
.pmpro a:hover { color: #fff1c9; }
.pmpro .pmpro_form_field, .pmpro .pmpro_form_fields { min-width: 0; }

@media (max-width: 900px) {
	.lc-edu-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
	.lc-edu-plans { margin: 18px -8px 34px; padding: 25px 17px; border-radius: 19px; }
	.lc-edu-plans-intro { margin-bottom: 20px; text-align: left; }
	.lc-edu-plans-intro > p:last-child { margin-left: 0; font-size: 14px; }
	.lc-edu-plan-grid { grid-template-columns: minmax(0, 1fr); gap: 11px; }
	.lc-edu-plan-card { padding: 20px; }
	.lc-edu-plan-billing { min-height: 0; }
	.lc-edu-plan-cross-sell { grid-template-columns: minmax(0, 1fr); gap: 13px; padding: 17px; }
	.lc-edu-plan-cross-sell .lc-edu-button-secondary { justify-self: start; }
	.pmpro .pmpro_card, .pmpro #pmpro_pricing_fields, .pmpro #pmpro_user_fields, .pmpro #pmpro_billing_address_fields, .pmpro #pmpro_payment_information_fields, .pmpro #pmpro_submit { padding: 17px; }
	.pmpro .pmpro_form_fields-inline { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	.lc-edu-plan-card, .lc-edu-plan-card .lc-edu-button, .pmpro .pmpro_btn, .pmpro input[type="submit"] { transition: none; }
}

/* Ended (expired/cancelled) program access: discreet, informative, with a renewal path. */
.lc-edu-plan-ended { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin: 0 0 18px; padding: 16px 20px; border: 1px solid var(--lc-border-strong); border-left: 4px solid var(--lc-c-gold-500); border-radius: 14px; background: var(--lc-surface-2); }
.lc-edu-plan-ended h2 { margin: 2px 0 0; color: var(--lc-text); font: 500 21px/1.25 var(--lc-font-serif); }
.lc-edu-plan-ended p:last-child { margin: 6px 0 0; color: var(--lc-text-2); font-size: 13px; line-height: 1.55; }
.lc-edu-plan-ended .lc-edu-eyebrow { color: var(--lc-c-gold-300); }
.lc-edu-plan-ended .lc-edu-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 16px; border: 1px solid var(--lc-accent); border-radius: 9px; background: var(--lc-accent); color: var(--lc-on-accent); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.lc-edu-plan-ended .lc-edu-button:focus-visible { outline: 3px solid var(--lc-focus); outline-offset: 3px; }
@media (max-width: 600px) { .lc-edu-plan-ended { grid-template-columns: minmax(0, 1fr); } .lc-edu-plan-ended .lc-edu-button { justify-self: start; } }

/* PMPro member pages (account, billing, cancel, confirmation, orders, levels, login, profile) on the dark surface. */
.pmpro .pmpro_section_title { color: var(--lc-pmpro-ink); font-family: var(--lc-font-serif); font-weight: 500; }
.pmpro .pmpro_card { color: var(--lc-pmpro-muted); }
.pmpro .pmpro_card_actions { border-top: 1px solid var(--lc-pmpro-line); color: var(--lc-pmpro-muted); background: rgba(255, 255, 255, .04); }
.pmpro a:not(.pmpro_btn):not(.lc-edu-button) { color: var(--lc-c-gold-300); text-underline-offset: 3px; }
.pmpro a:not(.pmpro_btn):not(.lc-edu-button):hover { color: #f1dfb1; }
.pmpro select, .pmpro select.pmpro_form_input { color: var(--lc-pmpro-ink); background-color: #101914; }
.pmpro table, .pmpro .pmpro_table { color: var(--lc-pmpro-muted); }
.pmpro table th { color: var(--lc-pmpro-ink); }
.pmpro table th, .pmpro table td { border-color: var(--lc-pmpro-line); }
/* Checkout fieldsets already draw the card; the PMPro card inside them must not draw a second frame. */
.pmpro #pmpro_pricing_fields .pmpro_card, .pmpro #pmpro_user_fields .pmpro_card, .pmpro #pmpro_billing_address_fields .pmpro_card, .pmpro #pmpro_payment_information_fields .pmpro_card { padding: 0; border: 0; background: none; box-shadow: none; }
.pmpro .pmpro_table th, .pmpro .pmpro_table td, .pmpro .pmpro_table strong, .pmpro .pmpro_level-price, .pmpro .pmpro_level-expiration { color: var(--lc-pmpro-ink); }
.pmpro .pmpro_table td, .pmpro .pmpro_level-expiration { color: var(--lc-pmpro-muted); }
/* Fieldsets default to min-width:min-content and pushed the checkout cards past 360 px. */
.pmpro fieldset { min-width: 0; }
.pmpro .pmpro_card, .pmpro .pmpro_form_fieldset, .pmpro .pmpro_message { box-sizing: border-box; max-width: 100%; }

/* Focused premium treatment for the native Education checkout. Keep one column
   so the visual and keyboard reading order remains the PMPro document order. */
body.pmpro-checkout .lc-main-wide,
body.pmpro-checkout .lc-article,
body.pmpro-checkout .lc-article-content,
body.pmpro-checkout .lc-article-content > .pmpro,
body.pmpro-checkout .pmpro_section,
body.pmpro-checkout #pmpro_form {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}
body.pmpro-checkout .lc-article { max-width: 900px; margin-inline: auto; }
body.pmpro-checkout .lc-article > h1 { max-width: 760px; margin: 0 0 12px; font: 500 clamp(34px, 5vw, 52px)/1.08 var(--lc-font-serif); letter-spacing: -.03em; }
body.pmpro-checkout .lc-article-content > .pmpro { margin-top: 22px; }
body.pmpro-checkout #pmpro_form {
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(12px, 2vw, 18px);
}
body.pmpro-checkout #pmpro_form > * {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}
body.pmpro-checkout #pmpro_form > .pmpro_message { overflow-wrap: anywhere; }
body.pmpro-checkout #pmpro_form > .pmpro_form_fieldset,
body.pmpro-checkout #pmpro_form > .pmpro_card,
body.pmpro-checkout #pmpro_form > #pmpro_submit { padding: clamp(18px, 3vw, 28px); }
body.pmpro-checkout #pmpro_form .pmpro_section_title { margin: 0 0 17px; font: 500 clamp(21px, 2.4vw, 27px)/1.2 var(--lc-font-serif); }
body.pmpro-checkout #pmpro_form .pmpro_form_fields,
body.pmpro-checkout #pmpro_form .pmpro_form_field,
body.pmpro-checkout #pmpro_form .pmpro_form_input,
body.pmpro-checkout #pmpro_form .pmpro_form_input-text,
body.pmpro-checkout #pmpro_form .pmpro_form_input-email,
body.pmpro-checkout #pmpro_form .pmpro_form_input-password,
body.pmpro-checkout #pmpro_form .pmpro_form_input-select {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}
body.pmpro-checkout #pmpro_form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.pmpro-checkout #pmpro_form select,
body.pmpro-checkout #pmpro_form textarea { width: 100%; }
body.pmpro-checkout #pmpro_submit { display: grid; gap: 10px; }
body.pmpro-checkout #pmpro_submit .pmpro_btn,
body.pmpro-checkout #pmpro_submit input[type="submit"] { width: 100%; }
body.pmpro-checkout .pmpro .pmpro_form_field-required-asterisk,
body.pmpro-checkout .pmpro .pmpro_asterisk { color: #e7c97e; }
body.pmpro-checkout .pmpro .pmpro_form_field-error { margin-top: 5px; }
@media (max-width: 620px) {
	body.pmpro-checkout .lc-article { padding-inline: 0; }
	body.pmpro-checkout .lc-article-content > .pmpro { margin-top: 16px; }
	body.pmpro-checkout #pmpro_form > .pmpro_form_fieldset,
	body.pmpro-checkout #pmpro_form > .pmpro_card,
	body.pmpro-checkout #pmpro_form > #pmpro_submit { padding: 16px; }
}

/* Retention: only the PMPro cancellation experience, never store checkout/feed. */
.logos-cancellation{max-width:760px;margin:1.5rem auto;padding:0 1rem}
.logos-cancellation .logos-retention__offer{margin:1rem 0;padding:1.25rem;border:1px solid #d8d8d8;border-radius:12px}
.logos-cancellation .logos-retention__pause h4{font-size:1.25rem;margin-top:0}
.logos-cancellation .logos-retention__pause label{display:block;margin:.75rem 0}
.logos-cancellation .logos-retention__pause select{display:block;max-width:100%;padding:.6rem;margin-top:.4rem}
.logos-cancellation .logos-retention fieldset{margin:1.5rem 0;border:0;padding:0}
.logos-cancellation [data-retention-offer][hidden]{display:none}
.logos-retention-pause{padding:1rem 0}.logos-retention-pause label{display:block;margin:.6rem 0}
