.stripe-card {
  background-image: url("/static/images/bikes/bike_card.png");
  background-size: cover;
  background-position: center;
}

.stripe-card .card-body {
  background-color: rgba(255, 255, 255, 0.85);
}

.price-btn {
  width: 6em;
}

.price-btn--pulse {
  animation: priceGrowShrink 1.8s ease-in-out infinite;
}

@keyframes priceGrowShrink {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.95;
  }
  50% {
    transform: scale(1.05);
    opacity: 1;
  }
}

.stripe-card[data-product="Free Demonstration"] .price-btn {
  background-color: #ff80ff;
  border-color: #ff80ff;
  color: #ffffff;
}

.stripe-card[data-product="Free Demonstration"] .price-btn--pulse {
  animation: priceGrowShrink 1.8s ease-in-out infinite,
    priceGlow 2.2s ease-in-out infinite;
}

@keyframes priceGlow {
  0%,
  100% {
    background-color: #ff80ff;
    border-color: #ff80ff;
  }
  50% {
    background-color: #e53aff;
    border-color: #e53aff;
  }
}


.pro-card-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {
  .pro-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
