.compact-program-grid {
  align-items: stretch;
}

.compact-program-grid > [class*="col-"] {
  display: flex;
}

.compact-program-card {
  width: 100%;
  min-height: 475px;
  margin-bottom: 1.5rem;
  overflow: hidden;
  border: 1px solid #e6e3ef !important;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(3, 5, 25, .08);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.compact-program-card:hover {
  border-color: rgba(118, 74, 241, .4) !important;
  box-shadow: 0 22px 48px rgba(3, 5, 25, .12);
  transform: translateY(-3px);
}

.compact-program-card .thumbnail .background-image {
  border: 0 !important;
}

.compact-program-logo {
  width: 96px;
  max-height: 70px;
  margin: 15px;
  padding: 9px;
  border-radius: .45rem;
  background: #fff;
  object-fit: contain;
}

.compact-program-card > .contact {
  min-height: 260px;
  border: 0 !important;
}

.compact-program-card-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .6rem;
}

.compact-program-card-topline .tag {
  min-width: 0;
  margin: 0;
}

.compact-deadline-badge {
  display: inline-flex;
  flex: 0 0 auto;
  padding: .4rem .55rem;
  border-radius: 999px;
  font: 800 .62rem/1 "Manrope", Arial, sans-serif;
}

.deadline-open {
  background: #edf8f3;
  color: #176b55;
}

.deadline-closing {
  background: #fff3d4;
  color: #765700;
}

.deadline-passed {
  background: #fff0f0;
  color: #a61616;
}

.deadline-missing {
  background: #f0eef5;
  color: #646778;
}

.compact-program-card .program-card-title,
.compact-program-card .program-card-title a,
.compact-program-card .hover-title,
.compact-program-card .hover-title a {
  min-height: auto;
  max-height: none;
  overflow: visible;
  color: #030519;
  font: 800 1.02rem/1.34 "Manrope", Arial, sans-serif;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.compact-program-card .program-card-description {
  min-height: 64px;
  max-height: 64px;
  overflow: hidden;
  margin: .65rem 0;
  color: #646778;
  font-size: .8rem;
  line-height: 1.55;
}

.compact-program-category a,
.compact-program-category span {
  color: #764af1;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
}

.compact-program-card .hover-option {
  inset: 0;
  width: 100%;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  border: 0 !important;
  border-radius: 20px;
  background: #fff;
  box-sizing: border-box;
}

.compact-program-card .hover-option .contact {
  display: flex;
  min-height: 100%;
  height: 100%;
  flex-direction: column;
  overflow-y: auto;
  padding: 1.15rem;
  box-sizing: border-box;
}

.compact-program-institute {
  margin: 0 0 .5rem;
  color: #764af1;
  font-size: .78rem;
  font-weight: 800;
}

.compact-program-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .6rem;
  margin-top: 1rem;
}

.compact-program-facts div {
  min-width: 0;
  padding: .7rem;
  border-radius: .55rem;
  background: #f5f3fb;
}

.compact-program-facts span,
.compact-program-facts strong {
  display: block;
}

.compact-program-facts span {
  color: #646778;
  font-size: .64rem;
}

.compact-program-facts strong {
  margin-top: .2rem;
  color: #030519;
  font: 800 .74rem/1.35 "Manrope", Arial, sans-serif;
  overflow-wrap: anywhere;
}

.compact-program-provider {
  min-height: 34px;
  margin: .8rem 0;
  color: #646778;
  font-size: .72rem;
}

.compact-program-actions {
  display: grid;
  gap: .45rem;
  margin-top: auto;
  padding-top: .85rem;
}

.compact-program-actions .btn {
  display: flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  white-space: normal;
}
