/* ==================================================
   Programs page
   ================================================== */
.program-visual {
  max-width: 900px;
  margin: 0 auto 1.5rem;
}

.program-visual img {
  max-height: 430px;
}

.programs-grid {
  align-items: stretch;
}

.program-card h2 {
  font-size: 1.35rem;
}

.checklist {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
  list-style: none;
}

.checklist li {
  position: relative;
  padding-left: 1.25rem;
}

.checklist li::before {
  position: absolute;
  left: 0;
  color: var(--gold-dark);
  content: "\2022";
  font-weight: 900;
}

.schedule-grid {
  grid-template-columns: repeat(2, 1fr);
  max-width: 820px;
  margin-inline: auto;
}

.schedule-card strong {
  display: block;
  margin-top: 0.25rem;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.pricing-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
}

.pricing-card.featured {
  border: 4px solid var(--gold-dark);
}

.pricing-card .button {
  width: 100%;
}

.button-secondary {
  background: var(--gold-dark);
}

.price {
  display: flex;
  align-items: baseline;
  margin-bottom: 1.25rem;
  gap: 0.4rem;
}

.price strong {
  font-size: 2.3rem;
  line-height: 1;
}

.price span {
  color: var(--muted);
  font-size: 0.82rem;
}

.cta-programs {
  background-image: linear-gradient(rgb(16 42 59 / 76%), rgb(16 42 59 / 76%)),
    url("../images/football-field-2.jpg");
}

/* Tablet */
@media (max-width: 900px) {
  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 640px) {
  .pricing-grid,
  .schedule-grid {
    grid-template-columns: 1fr;
  }
}
