/* Shopping Grid Styles */ .shop-carousel { display: flex; overflow-x: auto; gap: 12px; padding: 10px 0; margin: 10px 0; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; } .shop-carousel::-webkit-scrollbar { height: 4px; } .shop-carousel::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 4px; } .shop-card { flex: 0 0 200px; background: rgba(30, 35, 50, 0.6); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 8px; scroll-snap-align: start; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: transform 0.2s, background 0.2s; cursor: pointer; text-decoration: none; color: inherit; } .shop-card:hover { transform: translateY(-4px); background: rgba(40, 45, 60, 0.8); border-color: rgba(255, 255, 255, 0.2); } .shop-image-wrapper { width: 100%; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #fff; /* White background usually best for product images */ display: flex; align-items: center; justify-content: center; } .shop-image-wrapper img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; /* Helps remove white background from product images if container is white */ } .shop-title { font-size: 13px; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--text-primary); line-height: 1.3; } .shop-price { font-weight: 700; color: #fff; font-size: 16px; background: rgba(255, 255, 255, 0.1); padding: 4px 8px; border-radius: 8px; display: inline-block; align-self: flex-start; } .shop-source { font-size: 12px; color: rgba(255, 255, 255, 0.5); display: flex; align-items: center; gap: 4px; margin-top: auto; word-break: break-all; } .shop-source::before { content: "🛒"; font-size: 10px; }