/**
 * Shared program card styles (.dcm-hg-*).
 * Single source of truth for every module rendering program cards
 * via includes/assets/dcm-program-cards.min.js.
 */

.dcm-hg-card {
  background: white !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  /* height: 100% !important; */
}

.dcm-hg-card:hover {
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-6px) !important;
}

.dcm-hg-image-container {
  position: relative !important;
  height: 220px !important;
  overflow: hidden !important;
}

.dcm-hg-image-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.dcm-hg-card:hover .dcm-hg-image-container img {
  transform: scale(1.08) !important;
}

.dcm-hg-badge {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  padding: 6px 14px !important;
  border-radius: 50px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
  color: white !important;
  background: #E06A4A !important;
}

.dcm-hg-card-body {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  flex-grow: 1 !important;
}

.dcm-hg-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-self: flex-start !important;
}

.dcm-hg-tag {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #D1A35F !important;
  color: #D1A35F !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  align-self: flex-start !important;
}

.dcm-hg-location {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1B2F3F !important;
  text-transform: uppercase !important;
}

.dcm-hg-region {
  font-size: 13px !important;
  color: #1B2F3F !important;
  margin-left: 20px !important;
  margin-top: -6px !important;
}

.dcm-hg-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #D1A35F !important;
  margin: 4px 0 !important;
  padding: 0 !important;
}

.dcm-hg-type {
  font-size: 14px !important;
  color: #1B2F3F !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.dcm-hg-details {
  padding: 0 !important;
  flex-grow: 1 !important;
}

.dcm-hg-details p {
  font-size: 14px !important;
  color: #1B2F3F !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.dcm-hg-price {
  font-weight: 700 !important;
  color: #1B2F3F !important;
  font-size: 16px !important;
  margin-top: 8px !important;
}

.dcm-hg-btn {
  width: 100% !important;
  padding: 12px !important;
  margin-top: auto !important;
  background: #D1A35F !important;

  color: white !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  font-family: 'Poppins', sans-serif !important;
}

.dcm-hg-btn:hover {
  background: #d1a564 !important;

  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(224, 106, 74, 0.3) !important;
  color: white !important;
}
