/* Shared public and member pricing cards. */
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1040px; margin: 0 auto; font-family: 'DM Sans', sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; color: #fff; }
.pricing-grid .plan-card { position: relative; display: flex; flex-direction: column; padding: 32px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 20px; background: #121212; }
.pricing-grid .plan-card.featured { border-color: #00E676; }
.pricing-grid .featured-badge { position: absolute; top: -13px; right: 24px; background: #00E676; color: #050505; padding: 6px 14px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.pricing-grid .plan-name { font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.pricing-grid .plan-name.pro { color: #00E676; }
.pricing-grid .plan-price { display: flex; align-items: baseline; gap: 3px; margin: 18px 0 10px; }
.pricing-grid .plan-price .currency { font-size: 24px; }
.pricing-grid .plan-price .amount { font-size: clamp(40px, 5vw, 56px); font-weight: 700; letter-spacing: -.04em; }
.pricing-grid .plan-price .period, .pricing-grid .plan-desc { color: #888; }
.pricing-grid .plan-desc { font-size: 15px; line-height: 1.5; }
.pricing-grid .plan-features { margin: 28px 0; display: grid; gap: 14px; font-size: 14px; }
.pricing-grid .feature { display: flex; align-items: baseline; gap: 10px; line-height: 1.5; }
.pricing-grid .feature i { color: #00E676; font-size: 12px; }
.pricing-grid .feature strong { font-weight: 500; }
.pricing-grid .plan-action { margin-top: auto; }
.pricing-grid .plan-action button { width: 100%; font: inherit; letter-spacing: normal; cursor: pointer; display: block; padding: 14px; border-radius: 10px; text-align: center; text-decoration: none; font-weight: 700; }
.pricing-grid .btn-outline { background: transparent; border: 1px solid rgba(255, 255, 255, 0.1); color: #fff; }
.pricing-grid .btn-primary { border: 1px solid #00E676; background: #00E676; color: #050505; }
.pricing-grid .btn-outline:hover { background: transparent; border-color: rgba(255, 255, 255, 0.1); box-shadow: none; }
.pricing-grid .plan-action button:hover { filter: brightness(1.1); }
.pricing-grid .plan-action button:focus-visible { outline: 2px solid #00E676; outline-offset: 4px; }
.pricing-grid .plan-header { text-align: left; }
.pricing-grid .plan-desc { margin: 0; }
.pricing-grid .plan-card.current { border-color: #00E676; }
.pricing-grid .btn-current { background: #1a1a1a; border: 1px solid #333; color: #888; cursor: default; }
.pricing-grid button:disabled { cursor: default; }
@media (max-width: 680px) {
    .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
    .pricing-grid .plan-card { padding: 26px; }
}
