
    .gallery {
      padding: 20px 0;
    }

    .card-img {
      border-radius: 1rem;
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease;
    }

    .card-img:hover img {
      transform: scale(1.05);
    }

    .card-img:hover {
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    }

    .caption {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: rgba(0, 0, 0, 0.5);
      color: #fff;
      padding: 0.75rem;
      border-radius: 0 0 1rem 1rem;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .card-img:hover .caption {
      opacity: 1;
    }

    .caption span {
      background: #00abe3;
      padding: 0.25rem 0.5rem;
      border-radius: 0.25rem;
      font-size: 0.85rem;
      margin-right: 0.5rem;
    }