/* /premium "Get Premium": pass cards (premium.ts). Page shell is .legal (site-nav.css);
   colors/fonts/spacing from modernist.css. */

.legal .pass-grid {
  max-width: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.pass-card { gap: var(--space-2); }
.pass-card .card-title { margin: 0; }
.pass-card .pass-price {
  margin: 0; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.1; color: var(--color-accent);
}
.legal .pass-card .card-body, .legal .pass-card .card-meta { font-size: 14px; line-height: 1.5; }
.pass-card .btn { margin-top: var(--space-2); min-height: 44px; }

.premium-notice {
  border-left: 3px solid var(--color-accent);
  background: var(--color-neutral-100);
  padding: var(--space-3) var(--space-4);
  margin: var(--space-3) 0;
}
.premium-notice p { margin: 0; }
.premium-status { font-weight: 600; }

.premium-member {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-4);
  border-left: 3px solid var(--color-accent);
  background: var(--color-neutral-100);
  padding: var(--space-4);
  margin: var(--space-4) 0;
}
.premium-member[hidden] { display: none; }
.premium-member p { margin: 0; }
.premium-member .premium-next { flex-basis: 100%; }
.premium-member .btn { min-height: 44px; }
.premium-buy { margin-bottom: var(--space-4); }
