.course-market-grid .market-course-card {
  background: #fff;
  border: 1px solid rgba(15, 35, 65, .11);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15, 35, 65, .07);
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.course-market-grid .market-course-card:hover {
  border-color: rgba(18, 99, 181, .22);
  box-shadow: 0 14px 32px rgba(15, 35, 65, .11);
  transform: translateY(-2px);
}

.course-market-grid .market-course-card.is-recommended {
  border-color: rgba(211, 157, 34, .30);
}

.course-market-grid .market-course-card.is-recommended:hover {
  border-color: rgba(211, 157, 34, .48);
}

.course-market-grid .market-course-cover {
  border-radius: 17px 17px 0 0;
}

.course-market-grid .market-course-body {
  gap: 10px;
  padding: 17px 17px 18px;
}

.course-market-grid .market-course-badges {
  align-content: flex-start;
  gap: 5px;
  min-height: 56px;
}

.course-market-grid .market-course-badges .badge {
  font-size: .78rem;
  min-height: 27px;
  padding: 4px 9px;
}

.course-market-grid .market-course-body h2 {
  display: -webkit-box;
  font-size: 1.04rem;
  height: 2.9em;
  line-height: 1.45;
  min-height: 2.9em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.course-market-grid .market-course-desc {
  height: 3.2em;
  min-height: 3.2em;
}

.course-market-grid .market-course-actions .btn-outline {
  background: #fff;
  border-color: #b8c8da;
  color: #17385e;
}

.course-market-grid .market-course-actions .btn-outline:hover {
  background: #eef5ff;
  border-color: #6f98c7;
}

/* Keep action buttons rectangular; badges remain pill-shaped. */
.course-market-grid .market-course-actions .btn,
.course-market-grid .market-course-actions form .btn {
  border-radius: 10px !important;
}

@media (max-width: 720px) {
  .course-market-grid .market-course-badges {
    min-height: 0;
  }

  .course-market-grid .market-course-body h2,
  .course-market-grid .market-course-desc {
    height: auto;
  }
}
