.ov-plan-card,
.ov-pricing-card {
  display: grid;
  gap: var(--ov-space-3);
  align-content: start;
}

.ov-plan-card.is-featured,
.ov-pricing-card.is-featured {
  border-color: color-mix(in srgb, var(--ov-color-primary) 56%, var(--ov-color-border));
  box-shadow: var(--ov-shadow-sm);
}

.ov-plan-card-header,
.ov-pricing-card-header {
  display: grid;
  gap: 0.35rem;
}

.ov-plan-name,
.ov-pricing-name {
  margin: 0;
  font-size: var(--ov-step-2);
}

.ov-plan-summary,
.ov-pricing-summary {
  margin: 0;
  color: var(--ov-color-text-muted);
}

.ov-price {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  color: var(--ov-color-heading);
  font-variant-numeric: tabular-nums;
}

.ov-price-value {
  font-size: var(--ov-step-5);
  font-weight: 750;
  line-height: 1;
}

.ov-price-currency,
.ov-price-cycle {
  color: var(--ov-color-text-muted);
  font-size: var(--ov-step--1);
}

.ov-spec-list {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ov-spec-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ov-space-2);
  margin: 0;
  color: var(--ov-color-text-muted);
}

.ov-spec-list strong {
  color: var(--ov-color-heading);
  font-family: var(--ov-font-mono);
  font-weight: 650;
}
