/* ═══════════════════════════════════════════════════════════════════════════
   PTH BLOOM THEME — Mental Wellness Design System
   Inspired by: BLOOM Mental Wellness App (Behance #240247783)

   Design principles:
   ✦ Warm cream base — never cold white or grey
   ✦ Soft sage green primary — calming, natural, growth
   ✦ Warm peach/coral accent — warmth, energy, positivity  
   ✦ Lavender secondary — calm, mindfulness, balance
   ✦ Deep charcoal text — always high contrast, never harsh black
   ✦ Large rounded corners — soft, approachable, safe
   ✦ Generous spacing — breathable, not clinical
   ✦ Subtle organic shadows — depth without harshness
   ═══════════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

/* ── Design tokens ── */
:root {
  /* Backgrounds — warm, never cold */
  --bl-bg:          #FAF9F6;   /* warm cream */
  --bl-bg2:         #F2EFE9;   /* deeper cream for nested areas */
  --bl-card:        #FFFFFF;
  --bl-card-warm:   #FEFCF8;   /* barely warm white */

  /* Borders & shadows — organic */
  --bl-border:      #E8E2D9;   /* warm greige border */
  --bl-shadow-sm:   0 2px 8px rgba(90,100,70,.06);
  --bl-shadow:      0 4px 24px rgba(90,100,70,.09), 0 1px 4px rgba(0,0,0,.04);
  --bl-shadow-md:   0 8px 40px rgba(90,100,70,.12), 0 2px 8px rgba(0,0,0,.05);
  --bl-shadow-lg:   0 16px 56px rgba(90,100,70,.15), 0 4px 16px rgba(0,0,0,.06);

  /* Text — warm charcoal, always readable */
  --bl-text:        #2C2C2C;   /* 18:1 on white — warm near-black */
  --bl-text2:       #525252;   /* 8.5:1 on white */
  --bl-muted:       #7A7468;   /* 4.7:1 on white — WCAG AA */
  --bl-label:       #6B6560;   /* 5:1 — form labels */

  /* Sage green — primary, calm, growth */
  --bl-sage:        #5C8A6A;   /* 4.6:1 on white — WCAG AA */
  --bl-sage2:       #456B51;   /* darker hover */
  --bl-sage3:       #3A5A43;   /* pressed */
  --bl-sage-lt:     #EAF2EC;   /* very light tint */
  --bl-sage-mid:    #B8D4BF;   /* medium — borders/badges */

  /* Peach/coral — warmth, positivity */
  --bl-peach:       #E8856A;   /* 3.1:1 — use on dark BG only / large text */
  --bl-peach-dark:  #C4604A;   /* 4.7:1 on white */
  --bl-peach-lt:    #FDEEE9;
  --bl-peach-mid:   #F2B9A8;

  /* Lavender — calm, balance */
  --bl-lavender:    #8B7EC8;   /* 3.9:1 — use on dark BG or large text */
  --bl-lavender-dark: #6B5FAF; /* 5:1 on white */
  --bl-lavender-lt: #F0EEFF;
  --bl-lavender-mid:#C8BEF0;

  /* Warm yellow — optimism, warmth */
  --bl-yellow:      #C8982A;   /* 4.6:1 on white */
  --bl-yellow-lt:   #FDF5E0;

  /* Semantic */
  --bl-success:     #4A8A5C;   /* 4.6:1 */
  --bl-success-bg:  #E8F4EC;
  --bl-warning:     #B07A2A;   /* 4.8:1 */
  --bl-warning-bg:  #FEF6E0;
  --bl-error:       #C0392B;   /* 5.5:1 */
  --bl-error-bg:    #FDEAEA;

  /* Data colors — accessible, distinct */
  --bl-d1: #5C8A6A;  /* sage */
  --bl-d2: #6B5FAF;  /* lavender */
  --bl-d3: #C4604A;  /* coral */
  --bl-d4: #2980B9;  /* blue 4.6:1 */
  --bl-d5: #B07A2A;  /* amber */
  --bl-d6: #6B8F71;  /* soft green */

  /* Typography */
  --bl-font: 'Plus Jakarta Sans', 'Inter', 'Segoe UI', system-ui, sans-serif;

  /* Radii — large and soft */
  --bl-r-sm:  12px;
  --bl-r:     20px;
  --bl-r-lg:  24px;
  --bl-r-xl:  28px;
  --bl-r-pill:999px;
}

/* ══════════════════════════════════════════════════════
   BASE FONT
   ══════════════════════════════════════════════════════ */
body [class*="pth-"],
body [class*="pthdash"],
body [class*="pthpr-"],
body [class*="pth-result"],
body [class*="mc-"],
body [class*="ptr-"],
body [class*="rio-"],
body [class*="pdk-"] {
  font-family: var(--bl-font) !important;
  -webkit-font-smoothing: antialiased !important;
  color: var(--bl-text) !important;
}

/* ══════════════════════════════════════════════════════
   UNIVERSAL CARD BASE
   ══════════════════════════════════════════════════════ */
body .pthdash2-card,
body .pthpr-card,
body .pthpr-result-entry,
body .pthpr-purchase-card,
body .pthpr-sub-card,
body .pthdash2-sub-card,
body .pth-plan-card,
body .pth-pricing-card,
body .pth-prod-card,
body .pthdash-result-entry,
body .mc-card, body .ptr-card,
body .rio-card, body .pdk-card {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-lg) !important;
  box-shadow: var(--bl-shadow) !important;
  color: var(--bl-text) !important;
}

/* ══════════════════════════════════════════════════════
   RESULT CARD HEROES
   Soft warm gradient — all text DARK
   ══════════════════════════════════════════════════════ */
body .mc-hero,
body .ptr-hero,
body .rio-hero,
body .pdk-hero {
  background: linear-gradient(145deg, #EAF2EC 0%, #FAF9F6 55%, #F0EEFF 100%) !important;
  color: var(--bl-text) !important;
  border-bottom: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-lg) var(--bl-r-lg) 0 0 !important;
  padding: 32px !important;
}

/* Hero headings */
body .mc-hero__name, body .ptr-hero__arch-title,
body .rio-hero__name, body .rio-hero__code,
body .pdk-hero__arch-title, body .pdk-arch-title,
body .mc-hero__code {
  color: var(--bl-text) !important;
  font-weight: 800 !important;
  text-shadow: none !important;
  font-size: 1.5em !important;
  letter-spacing: -.02em !important;
}

/* Hero sub-text */
body .mc-hero__sub, body .ptr-hero__sub,
body .rio-hero__sub, body .pdk-hero__sub,
body .ptr-arch-cat, body .mc-hero__desc {
  color: var(--bl-text2) !important;
  font-weight: 500 !important;
  text-shadow: none !important;
}

/* Score rings */
body .mc-score-ring__val,
body .pdk-di-ring__val {
  color: var(--bl-sage) !important;
  fill: var(--bl-sage) !important;
  font-weight: 800 !important;
  font-size: 2.2em !important;
  font-family: var(--bl-font) !important;
}
body .mc-score-ring__label, body .pdk-di-ring__label {
  color: var(--bl-muted) !important;
  font-weight: 600 !important;
  font-size: .72em !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
body .mc-score-ring__track, body .pdk-di-ring__track { stroke: var(--bl-bg2) !important; }
body .mc-score-ring__fill  { stroke: var(--bl-sage) !important; }
body .pdk-di-ring__fill    { stroke: var(--bl-lavender-dark) !important; }

/* Section titles */
body .mc-section-title, body .ptr-section-title,
body .rio-section-title, body .pdk-section-title {
  color: var(--bl-text) !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
  letter-spacing: -.01em !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--bl-border) !important;
  margin-bottom: 16px !important;
}

/* Section bodies */
body .mc-section, body .ptr-section,
body .rio-section, body .pdk-section {
  background: var(--bl-card) !important;
  border-color: var(--bl-border) !important;
  color: var(--bl-text) !important;
  padding: 24px !important;
}

/* Dimension labels */
body .mc-dim-label, body .ptr-dim-label,
body .rio-dim-label, body .pdk-trait-label {
  color: var(--bl-text2) !important;
  font-weight: 600 !important;
  font-size: .88em !important;
}

/* Bars */
body .mc-dim-bar-track, body .ptr-bar-track,
body .pdk-trait-track, body .rio-bar-track {
  background: var(--bl-bg2) !important;
  border-radius: var(--bl-r-pill) !important;
  height: 10px !important;
}
body .mc-dim-bar-fill, body .ptr-bar-fill,
body .rio-bar-fill {
  border-radius: var(--bl-r-pill) !important;
  background: linear-gradient(90deg, var(--bl-sage), #8BC4A0) !important;
}

/* Trait cards */
body .pdk-trait-card, body .mc-trait-card {
  background: var(--bl-card-warm) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r) !important;
  color: var(--bl-text) !important;
}
body .pdk-trait-card h4 { color: var(--bl-text) !important; font-weight: 700 !important; }
body .pdk-trait-card p  { color: var(--bl-text2) !important; }

/* Archetype boxes */
body .pdk-arch-summary, body .ptr-arch-summary,
body .mc-archetype-box, body .rio-archetype-box {
  background: var(--bl-sage-lt) !important;
  border: 1.5px solid var(--bl-sage-mid) !important;
  border-radius: var(--bl-r) !important;
  color: var(--bl-text) !important;
  padding: 20px !important;
}
body .pdk-arch-summary p, body .ptr-arch-summary p,
body .mc-archetype-box p { color: var(--bl-text2) !important; }

/* Rec cards */
body .mc-rec-card, body .ptr-rec-card,
body .pdk-rec-card, body .rio-rec-card {
  background: var(--bl-card-warm) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r) !important;
  box-shadow: var(--bl-shadow-sm) !important;
  padding: 20px !important;
}
body [class*="-rec-card__title"] {
  color: var(--bl-text) !important;
  font-weight: 700 !important;
}
body [class*="-rec-card__desc"] { color: var(--bl-text2) !important; }

/* Paywall */
body [class*="-paywall"] {
  background: linear-gradient(to bottom,rgba(255,255,255,0) 0%,var(--bl-card) 65%) !important;
  border-top: 1.5px solid var(--bl-border) !important;
  color: var(--bl-text) !important;
}
body [class*="-upgrade-banner"],
body [class*="-upgrade-recs"],
body [class*="-upgrade-full"] {
  background: var(--bl-peach-lt) !important;
  border: 1.5px solid var(--bl-peach-mid) !important;
  border-radius: var(--bl-r) !important;
  color: var(--bl-text) !important;
}

/* ══════════════════════════════════════════════════════
   ASSESSMENT FORMS
   ══════════════════════════════════════════════════════ */
body .pdark-block, body .pthtrauma-block,
body .pthriasec-block, body .pthmood-block {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-xl) !important;
  box-shadow: var(--bl-shadow) !important;
}

/* Intro panels */
body .pdark-intro, body .pthtrauma-intro,
body .pthriasec-intro, body .pthmood-intro {
  background: linear-gradient(145deg, #EAF2EC, #FAF9F6) !important;
  border: 1.5px solid var(--bl-sage-mid) !important;
  border-radius: var(--bl-r-lg) !important;
  padding: 32px !important;
}
body [class*="-intro__title"] {
  color: var(--bl-sage) !important;
  -webkit-text-fill-color: var(--bl-sage) !important;
  background: none !important;
  font-weight: 800 !important;
  font-size: 1.5em !important;
  letter-spacing: -.025em !important;
}
body [class*="-intro__sub"] {
  color: var(--bl-text2) !important;
  font-weight: 500 !important;
}

/* Question text */
body [class*="-q__text"] {
  color: var(--bl-text) !important;
  font-weight: 600 !important;
  font-size: 1.08em !important;
  line-height: 1.6 !important;
}
body [class*="-q__num"] {
  background: var(--bl-sage-lt) !important;
  color: var(--bl-sage) !important;
  border-radius: var(--bl-r-pill) !important;
  font-weight: 700 !important;
  font-size: .8em !important;
  padding: 3px 12px !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
}

/* Scale options */
body [class*="-scale__opt"] {
  background: var(--bl-card) !important;
  border: 2px solid var(--bl-border) !important;
  color: var(--bl-text2) !important;
  border-radius: var(--bl-r-sm) !important;
  font-weight: 500 !important;
  transition: all .15s ease !important;
  cursor: pointer !important;
}
body [class*="-scale__opt"]:hover {
  background: var(--bl-sage-lt) !important;
  border-color: var(--bl-sage) !important;
  color: var(--bl-sage) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--bl-shadow-sm) !important;
}
body [class*="-scale__opt"].selected,
body [class*="-scale__opt"][aria-selected="true"] {
  background: var(--bl-sage) !important;
  border-color: var(--bl-sage) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgba(92,138,106,.35) !important;
  transform: translateY(-1px) !important;
}

/* Progress */
body [class*="-progress-track"] {
  background: var(--bl-bg2) !important;
  border-radius: var(--bl-r-pill) !important;
  height: 8px !important;
}
body [class*="-progress-fill"] {
  background: linear-gradient(90deg, var(--bl-sage), #8BC4A0) !important;
  border-radius: var(--bl-r-pill) !important;
  transition: width .4s ease !important;
}

/* ══════════════════════════════════════════════════════
   PROFILE / MY RESULTS
   ══════════════════════════════════════════════════════ */
body .pthpr-header {
  background: linear-gradient(145deg, #EAF2EC 0%, #FAF9F6 60%, #F0EEFF 100%) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-xl) !important;
  padding: 28px 32px !important;
}
body .pthpr-avatar-ph {
  background: linear-gradient(135deg, var(--bl-sage), #8BC4A0) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
}
body .pthpr-user__name {
  color: var(--bl-text) !important;
  font-weight: 800 !important;
  font-size: 1.3em !important;
  letter-spacing: -.02em !important;
}
body .pthpr-user__email { color: var(--bl-text2) !important; font-size: .9em !important; }

body .pthpr-stat {
  background: rgba(92,138,106,.1) !important;
  border: 1px solid var(--bl-sage-mid) !important;
  border-radius: var(--bl-r) !important;
  padding: 14px 20px !important;
  text-align: center !important;
}
body .pthpr-stat__val {
  color: var(--bl-sage) !important;
  font-weight: 800 !important;
  font-size: 1.8em !important;
  display: block !important;
  letter-spacing: -.03em !important;
}
body .pthpr-stat__lbl {
  color: var(--bl-muted) !important;
  font-size: .72em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  display: block !important;
  margin-top: 2px !important;
}
body .pthpr-section-title {
  color: var(--bl-text) !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
  letter-spacing: -.01em !important;
}
body .pthpr-section-link { color: var(--bl-sage) !important; font-weight: 600 !important; }
body .pthpr-result-meta {
  background: var(--bl-card-warm) !important;
  border-bottom: 1.5px solid var(--bl-border) !important;
  padding: 14px 20px !important;
}
body .pthpr-result-addon {
  background: var(--bl-sage-lt) !important;
  color: var(--bl-sage2) !important;
  font-weight: 700 !important;
  border-radius: var(--bl-r-pill) !important;
  font-size: .78em !important;
  padding: 4px 12px !important;
}
body .pthpr-result-date  { color: var(--bl-muted) !important; font-size: .85em !important; }
body .pthpr-result-view  { color: var(--bl-sage) !important; font-weight: 600 !important; font-size: .88em !important; }
body .pthpr-empty {
  background: var(--bl-card-warm) !important;
  border: 2px dashed var(--bl-sage-mid) !important;
  border-radius: var(--bl-r-lg) !important;
  color: var(--bl-muted) !important;
}
body .pthpr-purchase-card__footer {
  background: var(--bl-card-warm) !important;
  border-top-color: var(--bl-border) !important;
}
body .pthpr-purchase-card__tier { color: var(--bl-text) !important; font-weight: 700 !important; }
body .pthpr-purchase-card__uses { color: var(--bl-text2) !important; font-weight: 500 !important; }
body .pthpr-sub-card {
  background: linear-gradient(145deg, #EAF2EC, #FAF9F6) !important;
  border-color: var(--bl-sage-mid) !important;
  border-radius: var(--bl-r-lg) !important;
}
body .pthpr-sub-card__name   { color: var(--bl-text) !important; font-weight: 800 !important; }
body .pthpr-sub-card__desc   { color: var(--bl-text2) !important; }
body .pthpr-sub-card__renews { color: var(--bl-muted) !important; font-size: .85em !important; }
body .pthpr-sub-card__rule   { color: var(--bl-text2) !important; }

/* Tables */
body .pthpr-table th, body .pthdash2-table th {
  background: var(--bl-bg) !important;
  color: var(--bl-muted) !important;
  font-size: .72em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  border-bottom: 2px solid var(--bl-border) !important;
  padding: 12px 16px !important;
}
body .pthpr-table td, body .pthdash2-table td {
  color: var(--bl-text) !important;
  border-bottom: 1px solid var(--bl-bg2) !important;
  padding: 14px 16px !important;
  font-size: .93em !important;
}
body .pthdash2-table tbody tr:hover td {
  background: var(--bl-sage-lt) !important;
}

/* ══════════════════════════════════════════════════════
   DASHBOARD (pthdash2)
   ══════════════════════════════════════════════════════ */
body .pthdash2-avatar-card {
  background: linear-gradient(145deg, #EAF2EC 0%, #FAF9F6 100%) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-xl) !important;
  padding: 24px !important;
}
body .pthdash2-avatar-ph {
  background: linear-gradient(135deg, var(--bl-sage), #8BC4A0) !important;
  color: #fff !important;
  border-radius: 50% !important;
}
body .pthdash2-sidebar-name  { color: var(--bl-text) !important; font-weight: 700 !important; }
body .pthdash2-sidebar-email { color: var(--bl-text2) !important; font-size: .88em !important; }

body .pthdash2-nav {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-lg) !important;
  overflow: hidden !important;
}
body .pthdash2-nav-item {
  color: var(--bl-text2) !important;
  border-bottom-color: var(--bl-border) !important;
  font-weight: 500 !important;
  font-size: .93em !important;
  padding: 14px 18px !important;
  transition: all .15s !important;
}
body .pthdash2-nav-item:hover {
  background: var(--bl-sage-lt) !important;
  color: var(--bl-sage) !important;
}
body .pthdash2-nav-item.active {
  background: var(--bl-sage-lt) !important;
  color: var(--bl-sage) !important;
  font-weight: 700 !important;
  border-left: 3px solid var(--bl-sage) !important;
}

body .pthdash2-card {
  border-radius: var(--bl-r-lg) !important;
}
body .pthdash2-card h2 {
  color: var(--bl-text) !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
  border-bottom-color: var(--bl-border) !important;
  letter-spacing: -.01em !important;
}

body .pthdash2-field label {
  color: var(--bl-label) !important;
  font-weight: 600 !important;
  font-size: .75em !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
body .pthdash2-field input,
body .pthdash2-field select,
body .pthdash2-field textarea {
  background: var(--bl-bg) !important;
  border: 1.5px solid var(--bl-border) !important;
  color: var(--bl-text) !important;
  border-radius: var(--bl-r-sm) !important;
  font-family: var(--bl-font) !important;
  font-size: .93em !important;
  padding: 11px 14px !important;
}
body .pthdash2-field input:focus,
body .pthdash2-field select:focus,
body .pthdash2-field textarea:focus {
  border-color: var(--bl-sage) !important;
  background: var(--bl-card) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(92,138,106,.15) !important;
}

body .pthdash2-sub-card {
  background: linear-gradient(145deg, #EAF2EC, #FAF9F6) !important;
  border-color: var(--bl-sage-mid) !important;
  border-radius: var(--bl-r-lg) !important;
}
body .pthdash2-sub-card__name   { color: var(--bl-text) !important; font-weight: 800 !important; }
body .pthdash2-sub-card__desc   { color: var(--bl-text2) !important; }
body .pthdash2-sub-card__renews { color: var(--bl-muted) !important; font-size: .85em !important; }
body .pthdash2-sub-rule  { color: var(--bl-text2) !important; font-size: .9em !important; }
body .pthdash2-divider {
  color: var(--bl-muted) !important;
  border-bottom-color: var(--bl-border) !important;
  font-size: .72em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
}
body .pthdash2-form-actions { border-top-color: var(--bl-border) !important; }

/* ══════════════════════════════════════════════════════
   AUTH PAGE
   ══════════════════════════════════════════════════════ */
body .pth-auth-card {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-xl) !important;
  box-shadow: var(--bl-shadow-lg) !important;
}
body .pth-auth-card__tab {
  color: var(--bl-muted) !important;
  font-weight: 600 !important;
  font-size: .93em !important;
}
body .pth-auth-card__tab.active {
  color: var(--bl-sage) !important;
  border-bottom-color: var(--bl-sage) !important;
}
body .pth-auth-card input, body .pth-auth-card select {
  background: var(--bl-bg) !important;
  border: 1.5px solid var(--bl-border) !important;
  color: var(--bl-text) !important;
  border-radius: var(--bl-r-sm) !important;
  font-family: var(--bl-font) !important;
}
body .pth-auth-card input:focus {
  border-color: var(--bl-sage) !important;
  box-shadow: 0 0 0 3px rgba(92,138,106,.15) !important;
  background: var(--bl-card) !important;
}
body .pth-auth-card label { color: var(--bl-label) !important; font-weight: 600 !important; }
body .pth-auth-social-btn {
  background: var(--bl-bg) !important;
  border: 1.5px solid var(--bl-border) !important;
  color: var(--bl-text) !important;
  border-radius: var(--bl-r-sm) !important;
  font-weight: 600 !important;
  transition: all .15s !important;
}
body .pth-auth-social-btn:hover {
  background: var(--bl-sage-lt) !important;
  border-color: var(--bl-sage) !important;
}

/* ══════════════════════════════════════════════════════
   SUBSCRIPTION / PRICING
   ══════════════════════════════════════════════════════ */
body .pth-plan-card { border-radius: var(--bl-r-lg) !important; }
body .pth-plan-card--current {
  background: var(--bl-success-bg) !important;
  border-color: var(--bl-sage-mid) !important;
  box-shadow: 0 4px 24px rgba(92,138,106,.15) !important;
}
body .pth-plan-card--upgrade { border-color: var(--bl-lavender-mid) !important; }
body .pth-plan-card__name {
  color: var(--bl-text) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}
body .pth-plan-card__amount {
  color: var(--bl-text) !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}
body .pth-plan-card__desc { color: var(--bl-text2) !important; }
body .pth-plan-card__curr, body .pth-plan-card__interval { color: var(--bl-muted) !important; }
body .pth-plan-card__features li { color: var(--bl-text2) !important; font-weight: 500 !important; font-size: .9em !important; }
body .pth-plan-card__check { color: var(--bl-sage) !important; font-weight: 700 !important; }
body .pth-sub-section-title { color: var(--bl-text) !important; font-weight: 800 !important; letter-spacing: -.02em !important; }
body .pth-sub-section-sub   { color: var(--bl-text2) !important; }
body .pth-sub-notice {
  background: var(--bl-success-bg) !important;
  border-color: var(--bl-sage-mid) !important;
  color: var(--bl-sage2) !important;
}

/* ══════════════════════════════════════════════════════
   BUTTONS — warm, accessible
   ══════════════════════════════════════════════════════ */

/* Primary — sage green */
body .pth-btn--primary, body .pthpr-btn--primary,
body .pth-btn-subscribe, body .pth-btn-upgrade,
body .pth-btn-buy {
  background: var(--bl-sage) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: var(--bl-r-sm) !important;
  font-weight: 700 !important;
  font-family: var(--bl-font) !important;
  letter-spacing: -.01em !important;
  box-shadow: 0 4px 16px rgba(92,138,106,.3) !important;
  transition: all .15s ease !important;
  padding: 12px 24px !important;
}
body .pth-btn--primary:hover, body .pth-btn-subscribe:hover {
  background: var(--bl-sage2) !important;
  box-shadow: 0 6px 24px rgba(92,138,106,.4) !important;
  transform: translateY(-1px) !important;
}

/* Secondary — outlined sage */
body .pth-btn--secondary, body .pthpr-btn--ghost,
body .pth-btn-addmore {
  background: var(--bl-card) !important;
  color: var(--bl-sage) !important;
  border: 1.5px solid var(--bl-sage-mid) !important;
  border-radius: var(--bl-r-sm) !important;
  font-weight: 600 !important;
  font-family: var(--bl-font) !important;
  transition: all .15s !important;
}
body .pth-btn--secondary:hover, body .pthpr-btn--ghost:hover {
  background: var(--bl-sage-lt) !important;
  border-color: var(--bl-sage) !important;
}

/* Current plan — soft green */
body .pth-btn-current {
  background: var(--bl-success-bg) !important;
  color: var(--bl-success) !important;
  border: 1.5px solid var(--bl-sage-mid) !important;
  border-radius: var(--bl-r-sm) !important;
  font-weight: 700 !important;
}

/* Portal button */
body .pth-open-portal {
  background: var(--bl-sage) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--bl-r-sm) !important;
  font-weight: 700 !important;
  font-family: var(--bl-font) !important;
  box-shadow: 0 4px 16px rgba(92,138,106,.3) !important;
  cursor: pointer !important;
  padding: 11px 22px !important;
  transition: all .15s !important;
}
body .pth-open-portal:hover {
  background: var(--bl-sage2) !important;
  transform: translateY(-1px) !important;
}

/* ══════════════════════════════════════════════════════
   MODALS
   ══════════════════════════════════════════════════════ */
body .pth-modal {
  background: rgba(44,44,44,.5) !important;
  backdrop-filter: blur(6px) !important;
}
body .pth-modal__box, body .pthpr-modal__box {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-xl) !important;
  box-shadow: var(--bl-shadow-lg) !important;
  padding: 32px !important;
}
body .pth-modal__title, body .pthpr-modal__title {
  color: var(--bl-text) !important;
  font-weight: 800 !important;
  font-size: 1.1em !important;
  letter-spacing: -.02em !important;
}
body .pth-modal__body, body .pthpr-modal__body {
  color: var(--bl-text2) !important;
  line-height: 1.65 !important;
  font-size: .93em !important;
}

/* ══════════════════════════════════════════════════════
   NOTICES & LOGIN PROMPT
   ══════════════════════════════════════════════════════ */
body .pth-login-prompt {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-xl) !important;
  box-shadow: var(--bl-shadow-md) !important;
  padding: 40px 36px !important;
  max-width: 440px !important;
  margin: 48px auto !important;
}
body .pth-notice--success {
  background: var(--bl-success-bg) !important;
  border-color: var(--bl-sage-mid) !important;
  color: var(--bl-success) !important;
  border-radius: var(--bl-r) !important;
}
body .pth-notice--warn {
  background: var(--bl-warning-bg) !important;
  border-color: #D4A85A !important;
  color: var(--bl-warning) !important;
  border-radius: var(--bl-r) !important;
}
body .pth-notice--error {
  background: var(--bl-error-bg) !important;
  border-color: #E8918A !important;
  color: var(--bl-error) !important;
  border-radius: var(--bl-r) !important;
}

/* ══════════════════════════════════════════════════════
   CATALOGUE
   ══════════════════════════════════════════════════════ */
body .pth-catalogue-card {
  background: var(--bl-card) !important;
  border: 1.5px solid var(--bl-border) !important;
  border-radius: var(--bl-r-lg) !important;
  box-shadow: var(--bl-shadow) !important;
  transition: all .2s ease !important;
}
body .pth-catalogue-card:hover {
  box-shadow: var(--bl-shadow-md) !important;
  border-color: var(--bl-sage-mid) !important;
  transform: translateY(-3px) !important;
}
body .pth-catalogue-card__title {
  color: var(--bl-text) !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}
body .pth-catalogue-card__desc {
  color: var(--bl-text2) !important;
  line-height: 1.6 !important;
  font-size: .9em !important;
}

/* ══════════════════════════════════════════════════════
   STRIPE / CHECKOUT
   ══════════════════════════════════════════════════════ */
body .pths-plan-card {
  background: var(--bl-card) !important;
  border-color: var(--bl-border) !important;
  border-radius: var(--bl-r-lg) !important;
  color: var(--bl-text) !important;
}
body .pths-plan-card:hover { border-color: var(--bl-sage-mid) !important; }
body .pths-plan-card__name  { color: var(--bl-text) !important; font-weight: 700 !important; }
body .pths-plan-card__amount { color: var(--bl-text) !important; font-weight: 900 !important; letter-spacing: -.03em !important; }
body .pths-interval-toggle  { background: var(--bl-bg2) !important; border-radius: var(--bl-r-sm) !important; }
body .pths-int-btn.active   { background: var(--bl-card) !important; color: var(--bl-text) !important; box-shadow: var(--bl-shadow-sm) !important; }
body .pths-save-badge {
  background: var(--bl-sage-lt) !important;
  color: var(--bl-sage2) !important;
  font-weight: 700 !important;
  border-radius: var(--bl-r-pill) !important;
}

/* ══════════════════════════════════════════════════════
   RESULT NAV
   ══════════════════════════════════════════════════════ */
body .pth-result-nav {
  background: var(--bl-card) !important;
  border-top: 1.5px solid var(--bl-border) !important;
}

/* ══════════════════════════════════════════════════════
   SCROLLBAR
   ══════════════════════════════════════════════════════ */
body [class*="pth-"]::-webkit-scrollbar { width: 5px; height: 5px; }
body [class*="pth-"]::-webkit-scrollbar-track { background: var(--bl-bg); border-radius: 999px; }
body [class*="pth-"]::-webkit-scrollbar-thumb { background: var(--bl-sage-mid); border-radius: 999px; }
body [class*="pth-"]::-webkit-scrollbar-thumb:hover { background: var(--bl-sage); }

/* ══════════════════════════════════════════════════════
   TRANSITIONS — smooth, organic
   ══════════════════════════════════════════════════════ */
body [class*="pth-"],
body [class*="pthpr-"],
body [class*="pthdash"],
body [class*="mc-"],
body [class*="ptr-"],
body [class*="rio-"],
body [class*="pdk-"] {
  transition: border-color .18s ease, background .18s ease,
              color .18s ease, box-shadow .22s ease, transform .18s ease !important;
}
