/* The free-tier paywall: dark panel on the dashboard, mirrors the
   gallery CTA panel. Plan cards come from the shared pricing surface
   (shared/_pricing_plans), stacked to fit the narrow dashboard column. */

.paywall {
  background: var(--ink);
  color: var(--paper);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-5);
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-4);
}

.paywall-kicker {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-soft);
}

.paywall h2 {
  font-size: var(--text-xl);
}

.paywall-sub {
  opacity: 0.85;
  max-width: 36rem;
}

.paywall-unlocks {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--space-2);
  font-size: var(--text-sm);
}

.paywall-unlocks li::before {
  content: "✓ ";
  color: var(--accent-soft);
  font-weight: 600;
}

.paywall-pricing {
  display: grid;
  gap: var(--space-4);
  justify-items: center;
}

.paywall-pricing .plan-grid {
  grid-template-columns: 1fr;
  max-width: 30rem;
}

/* Stacked cards: the featured card's upward break is a 3-column move,
   it just cramps a single column. */
.paywall-pricing .plan-card.is-featured {
  margin-top: 0;
  padding-top: var(--space-5);
}

.paywall-pricing .hero-note {
  font-size: var(--text-sm);
  opacity: 0.75;
  text-align: center;
  max-width: 36rem;
}
