/* PropBetEdge membership vocabulary — shared visual language for membership
   identity ONLY (badge, manage link, All Access card, account panel, network
   row). Sport colours, navigation and page chrome stay the sport's own.
   Every value falls back to the network palette when a sport has no token. */

.pbe-mbr-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font: 800 10px/1 var(--pbe-font-data, var(--font-mono, 'JetBrains Mono', ui-monospace, monospace));
  letter-spacing: .18em; text-transform: uppercase;
  padding: 6px 9px; border-radius: 999px; border: 1px solid transparent; white-space: nowrap;
}
.pbe-mbr-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.pbe-mbr-badge.is-free { color: var(--pbe-dim, #b8b3a8); border-color: rgba(255,245,220,.18); }
.pbe-mbr-badge.is-free::before { display: none; }
.pbe-mbr-badge.is-sport_pro { color: var(--pbe-gold-bright, #e9c75a); border-color: rgba(212,175,55,.45); background: rgba(212,175,55,.10); }
.pbe-mbr-badge.is-all_access { color: #17120a; background: linear-gradient(135deg, var(--pbe-gold-bright, #e9c75a), var(--pbe-gold, #d4af37)); border-color: transparent; box-shadow: 0 6px 18px rgba(212,175,55,.25); }
.pbe-mbr-badge.is-all_access::before { background: #17120a; }
.pbe-mbr-badge.is-founding { color: #f7e2a0; border-color: rgba(247,226,160,.5); background: rgba(212,175,55,.14); }
.pbe-mbr-badge.is-season_pass { color: var(--pbe-gold-bright, #e9c75a); border-color: rgba(212,175,55,.45); background: rgba(212,175,55,.10); }
.pbe-mbr-badge.is-owner { color: #7fe0a4; border-color: rgba(127,224,164,.4); background: rgba(127,224,164,.08); }

.pbe-mbr-panel { display: grid; gap: 12px; color: var(--pbe-paper, #f5f1eb); font-family: var(--pbe-font-ui, var(--font-sans, Inter, system-ui, sans-serif)); }
.pbe-mbr-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pbe-mbr-email { font: 500 13px/1.3 var(--pbe-font-ui, Inter, system-ui, sans-serif); color: var(--pbe-dim, #b8b3a8); overflow-wrap: anywhere; }
.pbe-mbr-plan { margin: 0; font: 500 13px/1.4 var(--pbe-font-ui, Inter, system-ui, sans-serif); color: var(--pbe-paper, #f5f1eb); }
.pbe-mbr-links { display: flex; gap: 14px; flex-wrap: wrap; font: 600 13px/1.3 var(--pbe-font-ui, Inter, system-ui, sans-serif); }
.pbe-mbr-links a { color: var(--pbe-gold-bright, #e9c75a); text-decoration: none; }
.pbe-mbr-links a:hover { text-decoration: underline; }
.pbe-mbr-manage { color: var(--pbe-paper, #f5f1eb) !important; }

.pbe-mbr-network { display: flex; gap: 6px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid rgba(255,245,220,.12); }
.pbe-mbr-network a {
  font: 800 10px/1 var(--pbe-font-data, 'JetBrains Mono', ui-monospace, monospace); letter-spacing: .14em; text-transform: uppercase;
  color: var(--pbe-dim, #b8b3a8); text-decoration: none; padding: 7px 9px; border-radius: 8px; border: 1px solid rgba(255,245,220,.14);
}
.pbe-mbr-network a:hover { color: var(--pbe-paper, #f5f1eb); border-color: var(--pbe-gold, #d4af37); }
.pbe-mbr-network a.is-current { color: var(--pbe-gold-bright, #e9c75a); border-color: rgba(212,175,55,.5); background: rgba(212,175,55,.08); }

/* All Access upgrade card: sits beneath the sport's own plan, never replaces it. */
.pbe-mbr-aa {
  position: relative; display: grid; gap: 10px; padding: 18px 18px 16px; border-radius: 16px;
  color: var(--pbe-paper, #f5f1eb); font-family: var(--pbe-font-ui, var(--font-sans, Inter, system-ui, sans-serif));
  border: 1px solid rgba(212,175,55,.45);
  background: radial-gradient(120% 140% at 100% 0%, rgba(212,175,55,.18), rgba(212,175,55,.03) 60%), rgba(20,17,13,.92);
}
.pbe-mbr-aa.is-compact { padding: 14px 16px; gap: 8px; }
.pbe-mbr-aa-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pbe-mbr-aa-eyebrow { font: 800 10px/1 var(--pbe-font-data, 'JetBrains Mono', ui-monospace, monospace); letter-spacing: .2em; text-transform: uppercase; color: var(--pbe-gold-bright, #e9c75a); }
.pbe-mbr-aa-price { font: 800 18px/1 var(--pbe-font-ui, Inter, system-ui, sans-serif); letter-spacing: -.02em; }
.pbe-mbr-aa-title { margin: 0; font: 800 22px/1.1 var(--pbe-font-display, var(--font-serif, 'Playfair Display', Georgia, serif)); }
.pbe-mbr-aa-copy { margin: 0; font: 400 13px/1.5 var(--pbe-font-ui, Inter, system-ui, sans-serif); color: var(--pbe-dim, #b8b3a8); }
.pbe-mbr-aa-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.pbe-mbr-aa-cta {
  display: inline-flex; align-items: center; padding: 11px 16px; border-radius: 10px; text-decoration: none;
  background: linear-gradient(135deg, var(--pbe-gold-bright, #e9c75a), var(--pbe-gold, #d4af37)); color: #17120a;
  font: 800 12px/1 var(--pbe-font-ui, Inter, system-ui, sans-serif); letter-spacing: .08em; text-transform: uppercase;
}
.pbe-mbr-aa-cta:hover { filter: brightness(1.06); }
.pbe-mbr-aa-learn { font: 600 12px/1 var(--pbe-font-ui, Inter, system-ui, sans-serif); color: var(--pbe-paper, #f5f1eb); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 640px) {
  .pbe-mbr-aa-actions { flex-direction: column; align-items: stretch; }
  .pbe-mbr-aa-cta { justify-content: center; }
}
