/* Scoped to checkout; account, billing and other PMPro screens keep their styles. */
body.pmpro-checkout .page-main { max-width: 1040px; padding-top: 28px; padding-bottom: 44px; }
body.pmpro-checkout .page-heading { margin-bottom: 20px; }
body.pmpro-checkout .page-heading .eyebrow { margin-bottom: 6px; }
body.pmpro-checkout .page-heading h1 { font-size: clamp(27px, 3vw, 36px); line-height: 1.2; }
body.pmpro-checkout .content-card { padding: 0; border: 0; background: transparent; box-shadow: none; }
body.pmpro-checkout .pmpro { --pmpro--color--accent: #196d5e; --pmpro--color--border--variation: #dce6df; }
body.pmpro-checkout .pmpro_section { margin: 0; padding: 0; }
body.pmpro-checkout #pmpro_form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin: 0; }
body.pmpro-checkout #pmpro_form > * { grid-column: 1 / -1; min-width: 0; margin: 0; }
body.pmpro-checkout #pmpro_form > #pmpro_user_fields,
body.pmpro-checkout #pmpro_form > #pmpro_billing_address_fields { grid-column: auto; }
body.pmpro-checkout #pmpro_form .pmpro_card { margin: 0; border: 1px solid #dce6df; border-radius: 14px; box-shadow: none; overflow: hidden; background: #fff; }
body.pmpro-checkout #pmpro_form .pmpro_card_title { padding: 18px 20px 0; margin: 0; font-size: 19px; line-height: 1.35; }
body.pmpro-checkout #pmpro_form .pmpro_card_content { padding: 16px 20px 20px; }
body.pmpro-checkout #pmpro_form .pmpro_card_actions { padding: 12px 20px; font-size: 14px; background: #f0f5f1; border-top: 1px solid #e4ebe5; }
body.pmpro-checkout #pmpro_form .pmpro_form_fields { gap: 12px 14px; }
body.pmpro-checkout #pmpro_form .pmpro_form_field { margin: 0; min-width: 0; }
body.pmpro-checkout #pmpro_form .pmpro_form_label { margin-bottom: 5px; font-size: 13px; font-weight: 600; line-height: 1.4; }
body.pmpro-checkout #pmpro_form .pmpro_form_input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { width: 100%; min-width: 0; max-width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #b9c9c0; border-radius: 8px; font-size: 16px; line-height: 1.4; background: #fff; }
body.pmpro-checkout #pmpro_form .pmpro_form_input:focus-visible { outline: 2px solid #196d5e; outline-offset: 2px; }
body.pmpro-checkout #pmpro_form .pmpro_form_field-password-toggle { top: 0; }
body.pmpro-checkout #pmpro_form .pmpro_btn-password-toggle { min-height: 0; padding: 0; font-size: 12px; background: transparent; color: #196d5e; }
body.pmpro-checkout #pmpro_form #pmpro_pricing_fields { background: #edf6ef; border-color: #cddfd2; }
body.pmpro-checkout #pmpro_form #pmpro_pricing_fields .pmpro_card_title { font-size: 15px; padding-top: 16px; }
body.pmpro-checkout #pmpro_form #pmpro_pricing_fields .pmpro_card_content { padding-top: 8px; padding-bottom: 16px; }
body.pmpro-checkout #pmpro_pricing_fields p { margin: 0 0 5px; font-size: 15px; }
body.pmpro-checkout #pmpro_pricing_fields p:last-child { margin-bottom: 0; }
body.pmpro-checkout #pmpro_form #pmpro_payment_information_fields .pmpro_form_fields:not(.pmpro_form_fields-inline) { gap: 12px 14px; }
body.pmpro-checkout #pmpro_form .pmpro_message { padding: 12px 16px; border-radius: 10px; box-shadow: none; font-size: 14px; }
body.pmpro-checkout #pmpro_form .pmpro_form_submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 0; }
body.pmpro-checkout #pmpro_form .pmpro_btn-submit-checkout { min-height: 46px; padding: 12px 24px; border-radius: 9px; background: #196d5e; color: #fff; font-weight: 700; border: 0; }
body.pmpro-checkout #pmpro_form .pmpro_btn-submit-checkout:hover { background: #125648; }
body.pmpro-checkout #pmpro_form .fs-checkout-omitted,
body.pmpro-checkout #pmpro_form .pmpro_form_field-bstate,
body.pmpro-checkout #pmpro_form .pmpro_form_field-bzipcode,
body.pmpro-checkout #pmpro_form .pmpro_form_field-bphone { display: none !important; }
@media (max-width: 760px) {
    body.pmpro-checkout .page-main { padding-top: 22px; }
    body.pmpro-checkout #pmpro_form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    body.pmpro-checkout #pmpro_form > #pmpro_user_fields,
    body.pmpro-checkout #pmpro_form > #pmpro_billing_address_fields { grid-column: 1 / -1; }
    body.pmpro-checkout #pmpro_form .pmpro_card_title { padding: 16px 16px 0; }
    body.pmpro-checkout #pmpro_form .pmpro_card_content { padding: 14px 16px 16px; }
    body.pmpro-checkout #pmpro_form .pmpro_card_actions { padding: 12px 16px; }
    body.pmpro-checkout #pmpro_form .pmpro_cols-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    body.pmpro-checkout #pmpro_form #pmpro_payment_information_fields .pmpro_cols-2 { grid-template-columns: minmax(0, 1fr); }
    body.pmpro-checkout #pmpro_submit_span,
    body.pmpro-checkout #pmpro_form .pmpro_btn-submit-checkout { width: 100%; }
}
/* One shared panel for account and billing, retaining PMPro gateway selectors. */
body.pmpro-checkout #pmpro_form .fs-checkout-details { border: 1px solid #dce6df; border-radius: 14px; background: #fff; overflow: hidden; }
body.pmpro-checkout .fs-checkout-details > h2 { margin: 0; padding: 18px 20px 0; font-size: 19px; line-height: 1.35; }
body.pmpro-checkout .fs-checkout-details-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
body.pmpro-checkout .fs-checkout-details-columns > fieldset { margin: 0; min-width: 0; }
body.pmpro-checkout #pmpro_form .fs-checkout-details .pmpro_card { border: 0; border-radius: 0; background: transparent; }
body.pmpro-checkout #pmpro_form .fs-checkout-details .pmpro_card_title,
body.pmpro-checkout #pmpro_pricing_fields > .pmpro_card_title { display: none; }
body.pmpro-checkout #pmpro_form #pmpro_pricing_fields .pmpro_card_content { padding: 15px 20px; }
body.pmpro-checkout #pmpro_pricing_fields .pmpro_level_name_text { font-size: 17px; }
body.pmpro-checkout .fs-checkout-details-columns > #pmpro_billing_address_fields { border-left: 1px solid #e4ebe5; }
body.pmpro-checkout #pmpro_form .pmpro_form_field-baddress1 { grid-column: 1 / -1; }
body.pmpro-checkout #pmpro_form .pmpro_form_field-baddress2 { display: none !important; }
@media (max-width: 760px) {
    body.pmpro-checkout .fs-checkout-details-columns { grid-template-columns: minmax(0, 1fr); }
    body.pmpro-checkout .fs-checkout-details > h2 { padding: 16px 16px 0; }
    body.pmpro-checkout .fs-checkout-details-columns > #pmpro_billing_address_fields { border-left: 0; border-top: 1px solid #e4ebe5; }
}
body.pmpro-checkout .fs-checkout-details-columns > fieldset { padding: 0; border: 0; border-radius: 0; }
body.pmpro-checkout .fs-checkout-details-columns > #pmpro_billing_address_fields .pmpro_form_fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 760px) {
    body.pmpro-checkout .fs-checkout-details-columns > #pmpro_billing_address_fields .pmpro_form_fields { grid-template-columns: minmax(0, 1fr); }
}
body.pmpro-checkout .fs-checkout-details-columns > #pmpro_billing_address_fields .pmpro_form_fields > .pmpro_form_field { width: 100%; max-width: none; }
body.pmpro-checkout #pmpro_form #pmpro_pricing_fields .pmpro_card_content { position: relative; min-height: 108px; padding-left: 112px; display: flex; flex-direction: column; justify-content: center; }
body.pmpro-checkout #pmpro_pricing_fields .fs-checkout-premium-image { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 76px; height: 76px; object-fit: cover; border-radius: 10px; }
@media (max-width: 760px) {
    body.pmpro-checkout #pmpro_form #pmpro_pricing_fields .pmpro_card_content { padding-left: 94px; min-height: 98px; }
    body.pmpro-checkout #pmpro_pricing_fields .fs-checkout-premium-image { left: 16px; width: 64px; height: 64px; }
}
