/* Program Card Ribbon (reuses location ribbon style) */
.program-card {
  position: relative;
  overflow: hidden;
  padding-top: 2rem; /* ensures ribbon doesn't overlap content */
}

/* Base ribbon style */
.program-card::before {
  content: attr(data-status);
  position: absolute;
  top: 3.75rem;
  right: -2rem;
  transform: rotate(45deg);
  transform-origin: top right;
  background: #652D90; /* default purple */
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  width: 130px;              /* static width */
  padding: 0.35rem 0;        /* vertical padding only */
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  z-index: 2;
}

/* Status-specific overrides using official palette */
.program-card[data-status="open"]::before {
  background: #FA8334; /* Orange */
}

.program-card[data-status="upcoming"]::before {
  background: #652D90; /* Purple */
}

.program-card[data-status="waitlist"]::before {
  background: #408CA3; /* Teal */
}

.program-card[data-status="active"]::before {
  background: #414A50; /* Dark Gray */
}

.hidden-offering-id {
  display: none !important;
}

.hidden-program-name {
  display: none !important;
}