.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

.product-card {
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1.5px solid var(--border);
    transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
    cursor: pointer; position: relative;
}
.product-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--gray-200); }

.card-img          { aspect-ratio: 1; background: var(--gray-100); position: relative; overflow: hidden; }
.card-img img      { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.product-card:hover .card-img img { transform: scale(1.04); }

.card-platform {
    position: absolute; top: 8px; left: 8px;
    padding: 3px 8px; border-radius: 6px;
    font-size: 10px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase;
}
.card-platform.taobao  { background: #ff6900; color: white; }
.card-platform.weidian { background: #27ae60; color: white; }
.card-platform.ali     { background: #e74c3c; color: white; }

.card-fav {
    position: absolute; top: 8px; right: 8px;
    width: 28px; height: 28px;
    background: rgba(255,255,255,0.9); border: none; border-radius: 50%;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background var(--transition);
}
.card-fav:hover   { background: #fff0f0; }
.card-fav svg     { width: 14px; height: 14px; fill: none; stroke: var(--gray-600); stroke-width: 2; }
.card-fav.active svg { stroke: var(--red); fill: var(--red); }

.card-body      { padding: 12px; }
.card-name {
    font-size: 13px; font-weight: 500; color: var(--black);
    margin-bottom: 6px; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card-price     { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 1px; color: var(--red); }
.card-price-sub { font-size: 11px; color: var(--gray-400); margin-top: 2px; }

.card-actions   { padding: 0 12px 12px; }
.btn-add-cart {
    width: 100%; height: 32px;
    background: var(--black); color: white;
    border: none; border-radius: 8px;
    font-size: 12px; font-weight: 600; font-family: 'Manrope', sans-serif;
    cursor: pointer; transition: background var(--transition);
}
.btn-add-cart:hover { background: var(--gray-800); }

/* Filter bar */
.filter-bar { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; align-items: center; }
.filter-select {
    height: 36px; border: 1.5px solid var(--gray-200); border-radius: 8px;
    padding: 0 12px; font-family: 'Manrope', sans-serif; font-size: 13px;
    background: var(--white); color: var(--black); outline: none; cursor: pointer;
}
