.product-layout{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  display:grid;
  grid-template-columns:repeat(auto-fit, 200px);
  justify-content:space-evenly;
  gap: 28px;
}

.product-thumb{
  position:relative;
  background:var(--card-bg);
  border-radius: var(--m-border-radius);
  padding: 0;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease;
  width:100%;
  max-width:200px;
  justify-self:center;
  -webkit-transition:transform .18s ease, box-shadow .18s ease;
  -moz-transition:transform .18s ease, box-shadow .18s ease;
  -ms-transition:transform .18s ease, box-shadow .18s ease;
  -o-transition:transform .18s ease, box-shadow .18s ease;
}
.product-thumb:focus-within,
.product-thumb:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}

.cat-media{
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  background:#f3f4f6;
/*  border:1px solid var(--ring);*/
  overflow:hidden;
  border-radius: var(--m-border-radius);
}

.cat-media img{
  width:100%;
  height:100%;
  object-fit:cover;

}

.cat-chip{
  position:absolute;
  left:14px; right:14px; bottom:14px;
  background:var(--chip-bg-opacity);
  color:var(--chip-text);
  border-radius: var(--s-border-radius);
  padding:5px 7px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  line-height:1.3;
}
.cat-chip .name{
  font-weight:600;
  font-size:15px;
  letter-spacing:.2px;
  margin-bottom:4px;
}
.cat-chip .count{
  font-size:12px;
  opacity:.9;
}

.cat-link{
  position:absolute;
  inset:0;
  z-index:2;
}

/* Tablet */
@media (max-width:768px){
  .cat-chip .name{ font-size:14px; }
}

/* Smartphone */
@media (max-width:480px){
  .product-layout{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    justify-content:center;
    gap: 4px;
  }
  .product-thumb{
    max-width:200px;
    width:100%;
  }
}
