/* Default (your existing code already here) */
.cards {
  border: 0 !important;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 20px;
  cursor: pointer;
}

.cards img {
  transition: transform 0.3s ease;
  border-radius: 20px;
  object-fit: cover;
}

.cards:hover img {
  transform: scale(1.02);
}

.card-footer {
  border: none !important;
  padding-top: 15px !important;
  background: transparent !important;
}

.card-footer h3 {
  font-family: "Geist", sans-serif;
  font-weight: 400;
  letter-spacing: -0.5px !important;
  width: auto;
  position: relative; /* required for ::before */
}

.card-footer h3::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: var(--btnColor);
  transition: width 0.2s ease-out;
}

.cards:hover .card-footer h3::before {
  width: 100%;
  transition: width 0.3s ease-in;
}

/* -------------------- */
/* RESPONSIVENESS */
/* -------------------- */

/* Large tablets & small laptops */
@media (max-width: 1200px) {
 
 
  .card-footer h3 {
    font-size: 1.1rem;
  }
}

/* Tablets */
@media (max-width: 992px) {

  .card-footer h3 {
    font-size: 1rem;
  }
}

/* Large phones */
@media (max-width: 768px) {
  .cards {
    border-radius: 15px;
  }

  .card-footer h3 {
    font-size: 0.95rem;
  }
}

/* Small phones */
@media (max-width: 576px) {
  .cards {
    border-radius: 12px;
  }
  .cards img {
    max-height: 100vh;
    border-radius: 12px;
  }
  .card-footer h3 {
    font-size: 0.9rem;
    text-align: center;
  }
}
