/* Pricing: the three plan cards. The prices are filled in by js/pricing-ui.js. */

.plan-grid {
  display: grid;
  gap: var(--space-5);
}

/* Each card is a column, so the button can be pushed to the bottom. */
.plan {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.plan-featured {
  border-color: var(--color-brand);
  box-shadow: 0 0 0 1px var(--color-brand), var(--shadow-md);
}

/* The badge sits in the corner and takes no space,
   so all three cards keep the same layout. */
.card .plan-badge {
  position: absolute;
  top: var(--space-5);
  right: var(--space-5);
  padding: 0.1rem 0.6rem;
  border-radius: var(--radius-full);
  background: var(--color-brand-soft);
  color: var(--color-brand-strong);
  font-size: var(--text-xs);
  font-weight: 700;
}

.plan-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 var(--space-2);
  margin-top: var(--space-2);
}

.card .plan-amount {
  color: var(--color-text);
  font-size: 2.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

/* min-height keeps the cards the same size while the text changes. */
.card .plan-note {
  min-height: 1.6em;
  color: var(--color-brand-strong);
  font-size: var(--text-sm);
  font-weight: 600;
}

/* flex: 1 makes the list take the free space, so all buttons line up. */
.plan .check-list {
  flex: 1;
  margin-block: var(--space-4);
}

@media (min-width: 46rem) {
  .plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
  }
}

.pricing-note {
  margin-top: var(--space-5);
  text-align: center;
}
