/* Membership Pricing — scoped, theme-agnostic. */
.mp { --mp-accent: #8a2be2; --mp-pink: #e6007e; --mp-ink: #1f2430; --mp-muted: #6b7280; --mp-line: #e7e7ef; }
.mp__heading { font-weight: 700; color: var(--mp-ink); text-align: center; }
.mp__subheading { color: var(--mp-muted); text-align: center; margin: .25rem 0 1rem; }
.mp__note { color: var(--mp-muted); font-size: .8rem; text-align: center; margin-top: 1rem; }

/* Full cards */
.mp--full .mp__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.mp__card { position: relative; border: 1px solid var(--mp-line); border-radius: 14px; padding: 1.25rem; background: #fff; display: flex; flex-direction: column; }
.mp__card.is-highlighted { border: 2px solid var(--mp-accent); box-shadow: 0 14px 36px rgba(138,43,226,.22); z-index: 1; }
.mp__card.is-highlighted .mp__name { color: var(--mp-accent); }
.mp__card.is-current { outline: 2px solid #16a34a; }
.mp__badge { position: absolute; top: -10px; right: 12px; background: var(--mp-pink); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .04em; padding: .2rem .55rem; border-radius: 999px; }
.mp__name { font-weight: 700; font-size: 1.05rem; color: var(--mp-ink); }
.mp__price { margin: .5rem 0 .75rem; color: var(--mp-ink); }
.mp__amount { font-size: 1.7rem; font-weight: 800; }
.mp__cur { font-weight: 700; }
.mp__per { color: var(--mp-muted); font-size: .85rem; }
.mp__billing-note { color: var(--mp-muted); font-size: .82rem; margin: -.4rem 0 .75rem; }
.mp__features { list-style: none; padding: 0; margin: 0 0 1rem; flex: 1; }
.mp__features li { padding: .3rem 0 .3rem 1.4rem; position: relative; color: var(--mp-ink); font-size: .92rem; }
.mp__features li::before { content: "✓"; position: absolute; left: 0; color: var(--mp-accent); font-weight: 700; }
.mp__cta { display: block; text-align: center; padding: .6rem 1rem; border-radius: 10px; font-weight: 700; text-decoration: none; background: linear-gradient(90deg, var(--mp-accent), var(--mp-pink)); color: #fff; }
.mp__cta:hover { filter: brightness(1.05); color: #fff; }
.mp__cta--current { background: #ecfdf3; color: #16a34a; cursor: default; }

/* Compact rows */
.mp--compact .mp__heading { font-size: 1.05rem; margin-bottom: .1rem; }
.mp--compact .mp__subheading { margin-bottom: .9rem; }
.mp--compact .mp__rows { display: flex; flex-direction: column; gap: .55rem; }
.mp__row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border: 1.5px solid var(--mp-line); border-radius: 12px; padding: .65rem .85rem; text-decoration: none; color: var(--mp-ink); background: #fff; transition: border-color .15s, background .15s, box-shadow .15s; }
.mp__row:hover { border-color: var(--mp-accent); background: #faf5ff; box-shadow: 0 4px 14px rgba(138,43,226,.10); color: var(--mp-ink); }
.mp__row.is-highlighted { border-color: var(--mp-accent); background: #faf5ff; }
.mp__row.is-current { background: #ecfdf3; border-color: #16a34a; }
.mp__row-left { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; min-width: 0; }
.mp--compact .mp__name { font-size: 1rem; }
.mp--compact .mp__badge { position: static; align-self: flex-start; padding: .12rem .45rem; font-size: .6rem; }
.mp__row-right { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: .1rem; }
.mp__row .mp__price-line { white-space: nowrap; }
.mp--compact .mp__bn { font-size: .72rem; color: var(--mp-muted); white-space: normal; max-width: 170px; line-height: 1.2; }
.mp__row .mp__amount { font-size: 1.25rem; font-weight: 800; color: var(--mp-accent); }
.mp__row .mp__cur { font-size: .8rem; }
