/* Mane Characters PMPro portal styles. Folded from WPCode #3248 into mane-characters-core 2026-06-01. File-based so it survives a production DB clone. */
/* ============================================================
   MC PMPro Portal Styles — matches ManeGuardian portal.css
   ============================================================ */

/* === Page wrapper (re-scoped 2026-06-01: page-id selectors dropped; PMPro pages render via Bricks, no .entry-content. Stable PMPro/body-class scoping below.) === */
.pmpro .entry-content,
.pmpro-checkout .entry-content,
.pmpro-account .entry-content,
.pmpro-levels .entry-content { padding: 0; }

/* === Main pmpro layout === */
#pmpro_form,
#pmpro_account,
.pmpro_checkout,
.pmpro_levels_wrap { max-width: 1140px; margin: 60px auto; padding: 0 32px; }

/* === Section cards === */
.pmpro_section,
.pmpro_card,
.pmpro-member-message { background: #fff; border: 1px solid #ECE7F1; border-radius: 12px; padding: 28px 32px; margin-bottom: 24px; box-shadow: 0 2px 12px rgba(44,26,62,.06); }

/* === Section headers === */
.pmpro_section_header h3,
.pmpro_section_header h2,
.pmpro_card h3,
.pmpro_card h2 { font-family: 'Britannic Bold', Georgia, serif; color: #69428A; font-size: 22px; line-height: 1.1; margin: 0 0 16px; letter-spacing: -.01em; border: 0; }

/* === Level display at top of checkout === */
#pmpro_review { background: linear-gradient(135deg,#F5F0FA,#fff); border: 2px solid #69428A; border-radius: 12px; padding: 24px 28px; margin-bottom: 24px; }
#pmpro_level_cost { font-family: 'Britannic Bold', Georgia, serif; color: #69428A; font-size: 32px; margin: 0; }
.pmpro_level_cost_small { font-family: 'Roboto', sans-serif; font-size: 14px; color: #585858; font-weight: 400; }
#pmpro_renewal_date { font-size: 13px; color: #585858; margin-top: 6px; font-style: italic; }

/* === Form labels === */
#pmpro_form label,
.pmpro_form label { font-family: 'Roboto', sans-serif; font-size: 13px; font-weight: 600; color: #1a1a1a; letter-spacing: .02em; margin-bottom: 6px; display: block; }

/* === Form inputs === */
#pmpro_form input[type=text],
#pmpro_form input[type=email],
#pmpro_form input[type=tel],
#pmpro_form input[type=number],
#pmpro_form input[type=password],
#pmpro_form select,
#pmpro_form textarea {
    border: 2px solid #ECE7F1;
    border-radius: 8px;
    padding: 11px 14px;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    color: #1a1a1a;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 150ms;
    box-shadow: none;
    outline: none;
}
#pmpro_form input[type=text]:focus,
#pmpro_form input[type=email]:focus,
#pmpro_form input[type=tel]:focus,
#pmpro_form input[type=number]:focus,
#pmpro_form input[type=password]:focus,
#pmpro_form select:focus { border-color: #69428A; }

/* === Variable price input === */
#pmpro_price_wrap,
.pmprovp-price-wrap { background: #F5F0FA; border: 2px solid #ECE7F1; border-radius: 12px; padding: 20px 24px; margin-bottom: 20px; }
#pmpro_price { font-family: 'Britannic Bold', Georgia, serif; font-size: 32px; color: #69428A; border: 0 !important; border-bottom: 2px solid #ECE7F1 !important; border-radius: 0 !important; padding: 4px 8px !important; background: transparent !important; width: auto !important; max-width: 160px; }

/* === Submit button === */
#pmpro_submit_span input[type=submit],
#pmpro_submit_span button,
.pmpro_btn-submit,
.pmpro_checkout input[type=submit] {
    display: block;
    width: 100%;
    padding: 15px 24px;
    background: #69428A;
    color: #F9F8F8 !important;
    border: 0;
    border-radius: 999px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms;
    text-align: center;
    letter-spacing: .01em;
}
#pmpro_submit_span input[type=submit]:hover,
#pmpro_submit_span button:hover,
.pmpro_btn-submit:hover { background: #4a2e65; }

/* === Secondary buttons (account, cancel links) === */
.pmpro_btn,
a.pmpro_btn { display: inline-block; padding: 10px 22px; background: transparent; border: 2px solid #69428A; color: #69428A !important; border-radius: 999px; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 600; text-decoration: none !important; cursor: pointer; transition: all 150ms; }
.pmpro_btn:hover,
a.pmpro_btn:hover { background: #69428A; color: #F9F8F8 !important; }

/* === Checkout order summary (right column) === */
#pmpro_checkout_order_summary { background: #fff; border: 1px solid #ECE7F1; border-radius: 12px; padding: 24px; box-shadow: 0 4px 20px rgba(44,26,62,.10); }
#pmpro_checkout_order_summary h3 { font-family: 'Britannic Bold', Georgia, serif; color: #69428A; font-size: 20px; border: 0; margin: 0 0 16px; }
.pmpro_checkout_order_summary_level_name { font-weight: 700; color: #1a1a1a; font-size: 15px; }
.pmpro_checkout_order_summary_price { font-family: 'Britannic Bold', Georgia, serif; color: #69428A; font-size: 28px; }

/* === Checkout 2-column layout === */
#pmpro_checkout_2col { display: grid; grid-template-columns: 1fr 340px; gap: 32px; align-items: start; }
@media (max-width: 800px) { #pmpro_checkout_2col { grid-template-columns: 1fr; } }

/* === Account page grid === */
#pmpro_account .pmpro_account_sections { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 700px) { #pmpro_account .pmpro_account_sections { grid-template-columns: 1fr; } }

/* === Membership level cards on levels page === */
.pmpro_level_wrap { border: 2px solid #ECE7F1; border-radius: 12px; overflow: hidden; transition: border-color 200ms, box-shadow 200ms; }
.pmpro_level_wrap:hover { border-color: #B4A0C5; box-shadow: 0 4px 20px rgba(105,66,138,.12); }
.pmpro_level_wrap h3 { font-family: 'Britannic Bold', Georgia, serif; color: #69428A; }

/* === Success/confirmation box === */
.pmpro_confirmation { background: #E8F7F6; border: 2px solid #108A81; border-radius: 12px; padding: 28px 32px; }
.pmpro_confirmation h1,
.pmpro_confirmation h2 { font-family: 'Britannic Bold', Georgia, serif; color: #108A81; }

/* === Error messages === */
#pmpro_message_wrap,
.pmpro_message,
.pmpro_error { border-radius: 8px; padding: 14px 18px; font-size: 14px; }
.pmpro_error { background: #FFF0F0; border: 1px solid #e84040; color: #c40000; }
.pmpro_msg-success { background: #E8F7F6; border: 1px solid #108A81; color: #0a5e56; }

/* === Tables (invoices, billing) === */
.pmpro table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pmpro table th { font-family: 'Roboto', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #585858; border-bottom: 2px solid #ECE7F1; padding: 10px 12px; text-align: left; }
.pmpro table td { padding: 12px; border-bottom: 1px solid #ECE7F1; color: #1a1a1a; }
.pmpro table tr:last-child td { border-bottom: 0; }

/* === Stripe security note === */
.pmpro_stripe_info { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #585858; margin-top: 12px; }