.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{background:var(--white);border:1px solid var(--g100);border-radius:var(--rlg);overflow:hidden;transition:transform 0.3s,box-shadow 0.3s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shmd)}.product-img{position:relative;height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#f7f8fa}.product-img img{width:100%;height:100%;object-fit:contain;padding:12px;transition:transform 0.4s}.product-card:hover .product-img img{transform:scale(1.04)}.product-img .placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:rgb(255 255 255 / .7);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.product-body{padding:18px 18px 20px}.product-cat{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue);margin-bottom:6px}.product-name{font-family:var(--font-body),system-ui,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.005em;color:var(--navy);margin-bottom:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-name a{color:inherit;text-decoration:none}.product-name a:hover{color:var(--teal)}.product-brand{font-size:12px;color:var(--g600);margin-bottom:14px}.product-card{display:flex;flex-direction:column}.product-card .product-body{display:flex;flex-direction:column;flex:1}.product-actions{margin-top:auto;padding-top:14px}.product-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:2px solid var(--navy);border-radius:50px;color:var(--navy);font-size:14px;font-weight:700;text-decoration:none;transition:all 0.2s}.product-cta:hover{background:var(--navy);color:var(--white)}.empty-state{grid-column:1 / -1;padding:56px 0 80px;max-width:640px}.empty-state h2{font-size:26px;color:var(--navy);margin-bottom:10px}.empty-state p{font-size:16px;color:var(--g600);line-height:1.6}.empty-link{display:flex;align-items:center;width:fit-content;min-height:44px;margin-top:8px;color:var(--blue);font-weight:700;text-decoration:underline}.empty-cta{margin-top:8px}