/*
 * Éclore Aesthetics — Programs page (prepaid treatment programs)
 * ─────────────────────────────────────────────────────────────────────────────
 * Four tier cards in the locked system: hairline frames on Bone, Stone header
 * ground, text-only Terracotta badges, hairline-separated benefit rows,
 * display-scale price. One primary CTA on the page (the featured Reserve
 * card — accent scarcity §4); the rest are outline CTAs.
 */

.programs {
  padding-block: var(--section-y-tight);
}

.programs__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
  align-items: start;
}

@media (max-width: 1023px) {
  .programs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 599px) {
  .programs__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ─── Card ───────────────────────────────────────────────────────────────────── */

.program-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-card);
  background: var(--color-bone);
  padding: var(--space-lg) var(--space-md);
}

/* Featured tier reads as the raised, chosen card — Stone fill, Ink edge, and a
   soft lift that gives the pricing row its clinique-style floating panel. */
.program-card--featured {
  border-color: var(--color-ink);
  background: var(--color-stone);
  box-shadow: 0 32px 70px -40px color-mix(in srgb, var(--color-ink) 55%, transparent);
}

.program-card__badge {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--color-terracotta);
}

/* Cards without a badge keep the rhythm — reserve the line height */
.program-card__name {
  margin: 0 0 var(--space-2xs);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: var(--tracking-display);
  text-transform: uppercase;
  color: var(--color-heading);
}

.program-card__price {
  margin: 0 0 var(--space-md);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
  line-height: var(--lh-snug);
  color: var(--color-ink);
}

/* ─── Benefit rows — hairline-separated, quiet ───────────────────────────────── */

.program-card__benefits {
  list-style: none;
  margin: 0 0 var(--space-lg);
  padding: 0;
  border-top: 1px solid var(--color-hairline);
  flex: 1 0 auto;
}

.program-card__benefits li {
  padding: var(--space-xs) 0;
  border-bottom: 1px solid var(--color-hairline);
  font-size: 0.9375rem;
  line-height: var(--lh-body);
  color: var(--color-text);
}

/* ─── CTA ────────────────────────────────────────────────────────────────────── */

.program-card__cta {
  width: 100%;
  white-space: normal; /* tier names can two-line at the narrow card width */
}

/* ─── Terms footnote ─────────────────────────────────────────────────────────── */

.programs__terms {
  max-width: var(--container-narrow);
  margin: var(--space-xl) auto 0;
  font-size: 0.8125rem;
  line-height: var(--lh-body);
  color: var(--color-text-muted);
  text-align: center;
}
