/* paywall.css — the upsell panel shown in place of a locked Pro lesson.
   Uses the existing design tokens so it inherits light/dark + a11y sizing. */
.paywall{
  max-width: 640px;
  margin: 6vh auto;
  padding: 2.4rem 2rem;
  text-align: center;
}
.paywall .pw-badge{
  display:inline-block;
  font-family: var(--sans, system-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  color: #fff;
  background: var(--accent, #3d3ae0);
  padding: .28rem .6rem;
  border-radius: 999px;
}
.paywall .pw-h{
  font-family: var(--sans, system-ui);
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  margin: 1rem 0 .6rem;
  color: var(--ink, #15171e);
}
.paywall .pw-lede{
  font-family: var(--serif, Georgia, serif);
  font-size: 1.06rem;
  line-height: 1.6;
  color: var(--ink-soft, #444);
  margin: 0 auto 1.6rem;
  max-width: 52ch;
}
.paywall .pw-actions{
  display:flex; gap:.8rem; justify-content:center; align-items:center;
  flex-wrap: wrap;
}
.paywall .pw-cta{
  font-family: var(--sans, system-ui);
  font-weight: 600;
  font-size: 1rem;
  color:#fff;
  background: var(--accent, #3d3ae0);
  border: 0;
  border-radius: 12px;
  padding: .8rem 1.4rem;
  cursor: pointer;
}
.paywall .pw-cta:hover{ filter: brightness(1.05); }
.paywall .pw-ghost{
  font-family: var(--sans, system-ui);
  font-weight: 600;
  color: var(--accent, #3d3ae0);
  text-decoration: none;
  padding: .8rem 1rem;
}
.paywall .pw-ghost:hover{ text-decoration: underline; }
.paywall .pw-price{
  margin-top: 1.1rem;
  font-family: var(--sans, system-ui);
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink, #15171e);
}
.paywall .pw-fine{
  margin-top: 1.4rem;
  font-family: var(--sans, system-ui);
  font-size: .88rem;
  color: var(--ink-soft, #666);
}
.paywall .pw-fine a{ color: var(--accent, #3d3ae0); }
