<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> <title>Responsive Product Card | Modern UI Component</title> <!-- Google Fonts & simple CSS reset --> <link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&display=swap" rel="stylesheet"> <style> * margin: 0; padding: 0; box-sizing: border-box;
/* image container - maintains ratio and responsiveness */ .card-media position: relative; background: #f4f7fc; overflow: hidden; aspect-ratio: 1 / 1; /* classic square product image, looks great */ width: 100%; responsive product card html css codepen
.badge.new background: #1f8a4c;
.product-category font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; color: #5b6e8c; margin-bottom: 0.6rem; meta name="viewport" content="width=device-width
/* --- product card component --- */ .product-card background: #ffffff; border-radius: 2rem; overflow: hidden; box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.02); transition: transform 0.25s ease, box-shadow 0.3s ease; width: 100%; max-width: 360px; min-width: 260px; flex: 1 1 280px; display: flex; flex-direction: column; position: relative; backdrop-filter: blur(0px); * margin: 0
.stars display: flex; gap: 3px; letter-spacing: 2px;
.current-price font-size: 1.7rem; font-weight: 800; color: #101d2f; letter-spacing: -0.5px;