/* PlotProfound V9.0.13 – Paid Memberships Pro visual adapter.
 * Style-only integration: billing, forms, account records, and membership logic are untouched.
 * This file loads only on known PMPro pages. */
body.ppv9-member-page{
  --ppv9-member-ink:#193a35;
  --ppv9-member-muted:#485d55;
  --ppv9-member-paper:#fffaf0;
  --ppv9-member-border:#d9c8ac;
  --ppv9-member-forest:#184b41;
  --ppv9-member-gold:#d0a366;
}
body.ppv9-member-page :is(.pmpro, .pmpro_wrapper, #pmpro_account, #pmpro_levels, #pmpro_checkout){
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
}
/* Preserve light headings above cards against the site's dark page background. */
body.ppv9-member-page :is(.pmpro, #pmpro_account, #pmpro_checkout) > h2,
body.ppv9-member-page :is(.pmpro, #pmpro_account, #pmpro_checkout) > h3,
body.ppv9-member-page .pmpro_section_title{
  color:#fff3dc!important;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}
/* Explicit light content surfaces, rather than styling the entire PMPro wrapper. */
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content,.pmpro_checkout-fields,.pmpro_checkout-field-billing,
  #pmpro_levels_table,#pmpro_account-profile .pmpro_card,#pmpro_account-membership .pmpro_card){
  background:var(--ppv9-member-paper)!important;
  border:1px solid var(--ppv9-member-border)!important;
  border-radius:12px!important;
  box-shadow:0 16px 34px #00000026;
  color:var(--ppv9-member-ink)!important;
}
/* Some PMPro versions use separate pale card internals. */
body.ppv9-member-page :is(.pmpro_card_header,.pmpro_card_content,.pmpro_card_actions,.pmpro_card_footer,
  .pmpro_card_content .pmpro_form,.pmpro_section_content){
  color:var(--ppv9-member-ink)!important;
}
body.ppv9-member-page .pmpro_card_header{
  background:transparent!important;
  border-bottom:1px solid var(--ppv9-member-border)!important;
  padding:18px clamp(20px,3vw,30px)!important;
}
body.ppv9-member-page .pmpro_card_content{
  padding:clamp(20px,3vw,34px)!important;
}
body.ppv9-member-page .pmpro_card_actions,
body.ppv9-member-page .pmpro_card_footer{
  background:#f1e9db!important;
  border-top:1px solid var(--ppv9-member-border)!important;
  padding:16px clamp(20px,3vw,30px)!important;
}
/* Fix low-contrast text inside pale PMPro cards, checkout and membership table. */
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content,.pmpro_checkout-fields,#pmpro_levels_table)
 :is(p,span,small,strong,b,em,td,th,li,dt,dd,label,legend,summary,blockquote,.pmpro_font-medium,.pmpro_font-small){
  color:var(--ppv9-member-ink)!important;
  opacity:1!important;
}
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content,.pmpro_checkout-fields,#pmpro_levels_table)
 :is(h1,h2,h3,h4,h5,h6){
  color:var(--ppv9-member-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.18;
  letter-spacing:-.025em;
}
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content,.pmpro_checkout-fields,#pmpro_levels_table) a:not(.pmpro_btn){
  color:#236b5b!important;
  text-decoration-color:#8dac9c;
  text-underline-offset:3px;
  opacity:1!important;
}
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content,.pmpro_checkout-fields,#pmpro_levels_table) a:not(.pmpro_btn):hover{
  color:#12453b!important;
}
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content,.pmpro_checkout-fields,#pmpro_levels_table)
 :is(.pmpro_asterisk,.pmpro_required,.pmpro_error){color:#9b3831!important}
/* Subscription plan table: consistent spacing, legible prices and action buttons. */
body.ppv9-member-page :is(#pmpro_levels,#pmpro_levels_table,.pmpro_levels_table,.pmpro_table){
  width:100%;
}
body.ppv9-member-page :is(#pmpro_levels_table,.pmpro_levels_table,.pmpro_table){
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:12px;
}
body.ppv9-member-page :is(#pmpro_levels_table,.pmpro_levels_table,.pmpro_table) :is(th,td){
  padding:17px 16px!important;
  border-bottom:1px solid #e1d8c8!important;
  background:transparent!important;
  vertical-align:middle;
  color:var(--ppv9-member-ink)!important;
  font-size:clamp(13px,1.15vw,15px);
}
body.ppv9-member-page :is(#pmpro_levels_table,.pmpro_levels_table,.pmpro_table) thead th{
  background:#e9efe7!important;
  font-weight:800;
  color:#2b564a!important;
}
body.ppv9-member-page :is(#pmpro_levels_table,.pmpro_levels_table,.pmpro_table) tr:last-child td{border-bottom:0!important}
body.ppv9-member-page :is(#pmpro_levels_table,.pmpro_levels_table,.pmpro_table) tbody tr:hover td{
  background:#f3f0e7!important;
}
/* Accessible inputs and actions; do not style third-party payment iframes. */
body.ppv9-member-page :is(.pmpro, #pmpro_checkout) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){
  color:#1d3734!important;
  background:#fffdfa!important;
  border:1px solid #bda98b!important;
  border-radius:7px!important;
  padding:12px 13px!important;
  max-width:100%;
  min-height:42px;
}
body.ppv9-member-page :is(.pmpro, #pmpro_checkout) input:is([type=checkbox],[type=radio]){
  accent-color:#215b50;
}
body.ppv9-member-page :is(.pmpro_btn,.pmpro_button,.pmpro_btn-submit, .pmpro_level-select a,.pmpro_actionlinks a.pmpro_btn,
  input.pmpro_btn,button.pmpro_btn){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ppv9-member-gold)!important;
  color:#201a12!important;
  border:1px solid #b88b4e!important;
  border-radius:7px!important;
  font:750 13px/1.3 system-ui,sans-serif!important;
  padding:12px 20px!important;
  min-height:43px;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer;
}
body.ppv9-member-page :is(.pmpro_btn,.pmpro_button,.pmpro_btn-submit,.pmpro_level-select a):hover{
  background:#e4b778!important;
}
body.ppv9-member-page :is(.pmpro_btn,.pmpro_button,.pmpro_btn-submit):focus-visible,
body.ppv9-member-page :is(.pmpro, #pmpro_checkout) :is(a,input,button,select,textarea):focus-visible{
  outline:3px solid #bc8b4a!important;
  outline-offset:3px!important;
}
body.ppv9-member-page :is(.pmpro_message,.pmpro_success,.pmpro_error,.pmpro_alert){
  border-radius:8px;
  padding:14px 17px;
  line-height:1.5;
}
/* Existing PMPro account action links: easier to tap and to distinguish. */
body.ppv9-member-page :is(.pmpro_card_actions,.pmpro_card_footer) a:not(.pmpro_btn){
  display:inline-flex;
  padding:7px 6px;
  margin-right:9px;
  font-weight:650;
}
@media(max-width:640px){
 body.ppv9-member-page :is(.pmpro_card_content,.pmpro_card_header,.pmpro_card_actions,.pmpro_card_footer){padding:18px 16px!important}
 body.ppv9-member-page :is(#pmpro_levels_table,.pmpro_levels_table,.pmpro_table) :is(th,td){padding:12px 8px!important;font-size:13px}
 body.ppv9-member-page :is(.pmpro_btn,.pmpro_button,.pmpro_btn-submit,.pmpro_level-select a){max-width:100%;white-space:normal;text-align:center}
 body.ppv9-member-page .pmpro_card_actions{display:flex;flex-wrap:wrap;gap:7px}
}
body.ppv9-member-page :is(.pmpro_card,.pmpro_box,.pmpro_section_content) .pmpro_section_title{
  color:var(--ppv9-member-ink)!important;
}
body.ppv9-member-page .pmpro_levels_table{
  background:var(--ppv9-member-paper)!important;
  border:1px solid var(--ppv9-member-border)!important;
}

/* V9.0.14: legacy PMPro profile edit/change-password form fallback. The account
   action links go to My PlotProfound, but older PMPro URLs should remain legible. */
body.ppv9-member-page :is(#pmpro_member_profile_edit,.pmpro_member_profile_edit,.pmpro_member_profile_edit_form,
 #pmpro_member_profile_edit_form,.pmpro_member_profile_edit_fields,.pmpro_profile,.pmpro_profile_form,
 .pmpro_form,.pmpro_form_field,.pmpro_form_fieldset){
 color:#1c3b36!important;
}
body.ppv9-member-page :is(.pmpro_section_content,.pmpro_form,.pmpro_form_fieldset,
 #pmpro_member_profile_edit,.pmpro_member_profile_edit,.pmpro_member_profile_edit_form){
 --pmpro--color--text:#1c3b36;
 --pmpro--color--text-variation:#485d55;
}
body.ppv9-member-page :is(.pmpro_form, #pmpro_member_profile_edit_form,
 .pmpro_member_profile_edit_form) :is(h1,h2,h3,h4,p,label,small,span,em,strong,.pmpro_form_label,.pmpro_hint){
 color:#21473f!important;opacity:1!important;
}
body.ppv9-member-page :is(.pmpro_form,#pmpro_member_profile_edit_form,.pmpro_member_profile_edit_form)
 :is(input[type=password],input[type=text],input[type=email],select,textarea){
 color:#1c3734!important;background:#fffdfa!important;
 border:1px solid #b7a27f!important;border-radius:7px!important;
}
body.ppv9-member-page :is(.pmpro_form, #pmpro_member_profile_edit_form) .pmpro_hint{
 color:#5b625d!important;
}
