/* Container & grid */
.programs-section {
  max-width: 1200px;
  margin-left: 40px auto;
  padding: 0 30px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

/* Text responsiveness  */
/* Medium devices (tablets) */
@media (min-width: 768px) {
  .programs-wrapper {
    padding: 0 2.5rem;
  }

  .programs-text {
    font-size: 1.1rem;
  }
}

/* Large devices (desktops) */
@media (min-width: 992px) {
  .programs-wrapper {
    padding: 0 5rem;
  }

  .programs-text {
    font-size: 1.15rem;
  }
}

.programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
  gap: 24px;
}

/* Card */
.program-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgb(0 0 0 / 0.1);
  padding: 24px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.program-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 25px rgb(0 0 0 / 0.15);
}

/* Icon & heading */
.program-icon {
  font-size: 36px;
  color: #ffb400; /* warm yellow from your palette */
  margin-bottom: 16px;
}
.program-heading {
  font-size: 1.4rem;
  font-weight: 700;
  color: #003333; /* deep blue */
  margin-bottom: 12px;
}

/* SUB HEADING  */
.txt-color {
  color: #bda077;
}
/* Text */
.program-desc {
  font-size: 1rem;
  color: #333;
  line-height: 1.5;
}

/* Read More Button */
.read-more-btn {
  margin-top: auto;
  background-color: #003333; /* deep blue */
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 0.95rem;
  cursor: pointer;
  align-self: flex-start;
  transition: background-color 0.3s ease;
}
.read-more-btn:hover {
  background-color: #bda077; /* warm yellow */
  color: #003366;
}

/* style="color: #bda077;" */
/* Hidden extended text */
.extra-text {
  margin-top: 12px;
  font-size: 0.9rem;
  color: #555;
  line-height: 1.4;
  display: none;
}

/* Show extended text when active */
.program-card.active .extra-text {
  display: block;
}

/* Responsiveness  */
.programs-grid {
  display: grid;
  gap: 24px;
  padding: 0 16px;
  grid-template-columns: 1fr; /* Default: small screen - 1 card per row */
}

/* Medium screen: 2 cards */
@media (min-width: 600px) {
  .programs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Large screen: 3 cards */
@media (min-width: 992px) {
  .programs-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
