/* =============================================================================
   Paid Memberships Pro — on-brand styling for checkout / levels / account.
   Loaded only on PMPro pages (inc/enqueue.php). PMPro emits its own .pmpro_*
   markup; palette + fonts come from style.css :root.
   ============================================================================= */

#pmpro_content_message,
.pmpro_message { background: var(--colorSurface); border: 1px solid var(--colorBorder); border-left: 3px solid var(--colorBloodBright); color: var(--colorText); padding: 1rem 1.25rem; border-radius: var(--radius); margin: 0 0 1.5rem; }
.pmpro_error, .pmpro_message.pmpro_error { border-left-color: var(--colorBloodBright); background: var(--colorSurfaceBlood); }
.pmpro_success { border-left-color: #2e7d32; }

/* Cards / panels */
.pmpro_card,
.pmpro_checkout .pmpro_form_fields,
.pmpro_checkout > div,
.pmpro_section {
  background: var(--colorSurface); border: 1px solid var(--colorBorder); border-radius: var(--radius);
}
.pmpro_card { padding: 1.5rem 1.75rem; margin-bottom: 1.5rem; }
.pmpro_card_content { color: var(--colorTextMuted); }
.pmpro_card h2, .pmpro_card h3, .pmpro_section-title, .pmpro_checkout h2, .pmpro_checkout h3 { color: #fff; text-transform: uppercase; letter-spacing: .03em; }

/* Fields (inputs largely inherit dark styling from style.css) */
.pmpro_form_field label, .pmpro_label, .pmpro_form_label { font-family: var(--fontTechno); text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; color: var(--colorTextMuted); }
.pmpro_form_field { margin-bottom: 1.1rem; }
.pmpro_form_input input, .pmpro_form_input select, .pmpro_form_input textarea,
.pmpro_checkout input[type="text"], .pmpro_checkout input[type="email"], .pmpro_checkout input[type="password"], .pmpro_checkout select {
  background: var(--colorSurface) !important; border: 1px solid var(--colorBorderSoft) !important; color: #fff !important; border-radius: var(--radius);
}
.pmpro_form_input input:focus { border-color: var(--colorBloodBright) !important; }

/* Buttons */
.pmpro_btn, .pmpro_btn-submit, a.pmpro_btn, input.pmpro_btn, button.pmpro_btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  font-family: var(--fontTechno); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: .82rem;
  color: #fff !important; padding: .9em 1.8em; border: 1px solid var(--colorBlood); border-radius: var(--radius);
  background: linear-gradient(180deg, var(--colorBlood), var(--colorBloodDark)); cursor: pointer;
  transition: transform var(--dur) var(--easeOut), box-shadow var(--dur) var(--easeOut);
}
.pmpro_btn:hover, .pmpro_btn-submit:hover { transform: translateY(-2px); box-shadow: var(--shadowBlood); color: #fff !important; }
.pmpro_btn-cancel, .pmpro_btn.pmpro_btn-cancel { background: transparent; border-color: var(--colorBorderSoft); }

/* Pricing / level cost */
.pmpro_level-price, .pmpro_pricing-fields, .pmpro_checkout-h2, .pmpro_level-cost { color: var(--colorBloodBright); font-family: var(--fontTechno); }
.pmpro_level_cost_text, .pmpro_price { color: var(--colorBloodBright); font-weight: 700; }

/* Levels list / pricing grid */
.pmpro_level { background: linear-gradient(180deg, var(--colorSurfaceRaise), var(--colorSurface)); border: 1px solid var(--colorBorder); border-radius: var(--radius); padding: 1.75rem; }
.pmpro_level h3, .pmpro_level-name { color: #fff; text-transform: uppercase; }
table.pmpro_table, .pmpro_table { width: 100%; border-collapse: collapse; background: var(--colorSurface); border: 1px solid var(--colorBorder); border-radius: var(--radius); overflow: hidden; }
.pmpro_table th, .pmpro_table td { padding: .9rem 1rem; border-top: 1px solid var(--colorBorder); text-align: left; }
.pmpro_table thead th { background: var(--colorSurfaceRaise); font-family: var(--fontTechno); text-transform: uppercase; font-size: .78rem; letter-spacing: .06em; color: var(--colorTextMuted); }

/* Account page */
.pmpro_account .pmpro_account-membership, .pmpro_account-profile, .pmpro_account [class*="pmpro_account-"] { background: var(--colorSurface); border: 1px solid var(--colorBorder); border-radius: var(--radius); padding: 1.25rem 1.5rem; margin-bottom: 1.25rem; }
.pmpro_account a { color: var(--colorBloodBright); }

/* Tighten the container so checkout doesn't run full width */
.pmpro { max-width: 1000px; margin-inline: auto; }
