Responsive Product Card Html Css Codepen Here

.product-card:hover .card-img img transform: scale(1.02);

/* Smooth transition for hover effects */ transition: transform 0.3s ease, box-shadow 0.3s ease; responsive product card html css codepen

<div class="product-grid"> <!-- Product Card 1 --> <div class="product-card"> <div class="card-image"> <div class="badge">best seller</div> <img src="https://placehold.co/400x400/FFFFFF/cccccc?text=🎧+Wireless+Headphones" alt="Wireless Headphones" loading="lazy"> </div> <div class="card-content"> <div class="product-category">Audio / Tech</div> <div class="rating"> <span class="stars">★★★★★</span> <span class="reviews">(142 reviews)</span> </div> <h3 class="product-title">Auric Bliss WH-1000</h3> <p class="product-description">Noise cancellation, 40h battery, ultra-light design and deep bass. Perfect for travel & daily use.</p> <div class="price-row"> <div class="price"> <span class="current-price">$89.99</span> <span class="old-price">$149.99</span> </div> <button class="btn-add" data-product="Auric Bliss">+ Add to cart</button> </div> </div> </div> .product-card:hover .card-img img transform: scale(1.02)

<!-- Product Card 2 --> <div class="product-card"> <div class="card-image"> <img src="https://placehold.co/400x400/F9F9F9/aaaaaa?text=⌚+Smart+Watch" alt="Smart Watch" loading="lazy"> </div> <div class="card-content"> <div class="product-category">Wearables</div> <div class="rating"> <span class="stars">★★★★☆</span> <span class="reviews">(89 reviews)</span> </div> <h3 class="product-title">VitaTrack Pro 4</h3> <p class="product-description">Blood oxygen, heart rate, sleep tracking & 10-day battery. AMOLED display, stylish and lightweight.</p> <div class="price-row"> <div class="price"> <span class="current-price">$119.00</span> <span class="old-price">$179.00</span> </div> <button class="btn-add" data-product="VitaTrack Pro">+ Add to cart</button> </div> </div> </div> box-shadow 0.3s ease

// store original text / state const originalTexts = new Map();

.product-info p font-size: 14px; margin-bottom: 20px;