.product-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.product-empty-state{border:1px solid var(--color-border);min-height:220px;color:var(--color-muted);background:var(--color-surface);text-align:center;border-radius:12px;place-items:center;padding:46px 20px;display:grid}.product-empty-state p{max-width:420px;font-size:16px;font-weight:800;line-height:1.5}.product-card{border:1px solid var(--color-border);border-radius:var(--radius-lg,16px);background:var(--color-surface);height:100%;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);content-visibility:auto;contain-intrinsic-size:auto 420px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #2d28240d}.product-card:hover{border-color:#3e722559;transform:translateY(-4px);box-shadow:0 14px 32px #3e72251f}.product-card:active{transition-duration:.12s;transform:scale(.98)}@media (hover:none){.product-card:hover{border-color:var(--color-border);transform:none;box-shadow:0 4px 18px #2d28240d}.product-card:active{transform:scale(.98)}}.image-container{aspect-ratio:4/5;background:linear-gradient(145deg, #fff7efb8, #edf6efdb), var(--color-bg);width:100%;display:block;position:relative;overflow:hidden}.product-image{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s,transform .55s;position:absolute;inset:0}.product-image.loaded{opacity:1}.product-card.is-pro{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary), 0 8px 24px color-mix(in srgb, var(--color-primary) 20%, transparent)}.product-card.is-pro:hover{box-shadow:0 0 0 1px var(--color-primary), 0 12px 30px color-mix(in srgb, var(--color-primary) 30%, transparent)}.product-card:hover .product-image{transform:scale(1.04)}.card-details{flex-direction:column;flex:1;padding:15px;display:flex}.card-meta{text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;font-weight:800;display:flex}.card-category-label{color:var(--color-muted)}.card-seller-label{color:var(--color-text-secondary);text-transform:none;letter-spacing:0;font-weight:600}.card-title{min-height:42px;color:var(--color-black);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:17px;font-weight:900;line-height:1.25;display:-webkit-box;overflow:hidden}.card-specs{color:var(--color-muted);flex-wrap:wrap;gap:7px;margin-bottom:12px;font-size:13px;display:flex}.spec-item{background:var(--color-surface-alt);min-height:25px;color:var(--color-ink-soft);border-radius:6px;padding:4px 8px;font-weight:800}.card-footer{border-top:1px solid #0d2b2314;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px;display:flex}.price-text{color:var(--color-primary);flex:none;font-size:16px;font-weight:900}.location-text{min-width:0;color:var(--color-muted);text-align:right;flex:auto;justify-content:flex-end;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.location-text svg{flex:none}.location-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.filter-bar{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:30px;padding:20px;display:flex}.filter-item{flex-direction:column;flex:1;gap:6px;min-width:150px;display:flex}@media (max-width:576px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-footer{gap:6px}.card-details{padding:11px}.card-title{min-height:38px;font-size:15px}.card-meta,.location-text{font-size:10px}.price-text{font-size:14px}}.product-completed-overlay{-webkit-backdrop-filter:blur(2px);z-index:15;background:#14100c7a;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.product-completed-badge{background:var(--color-primary);color:#fff;letter-spacing:.5px;border:1px solid #ffffff59;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:800;transform:rotate(-3deg);box-shadow:0 4px 16px #3e722559}.photo-add-tile{box-sizing:border-box;border:2px dashed var(--color-border);cursor:pointer;text-align:center;width:100%;height:100%;color:var(--color-primary);background:var(--color-surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:4px;transition:border-color .18s,background-color .18s;display:flex}.photo-add-tile:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}
