/* Shop archive: top-level category tiles above the product grid */

.tmo-shop-categories{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(110px, 1fr));
  gap:10px;
  margin:0 0 2em;
}

.tmo-shop-category{
  position:relative;
  display:block;
  border-radius:var(--tmo-dd-radius);
  overflow:hidden;
  aspect-ratio:4 / 3;
  text-decoration:none;
  box-shadow:var(--tmo-dd-shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.tmo-shop-category:hover{
  transform:translateY(-3px);
}

.tmo-shop-category__image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-color:var(--tmo-accent-tint);
}
.tmo-shop-category__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(15,23,42,.72) 0%, rgba(15,23,42,.12) 55%, rgba(15,23,42,0) 100%);
}

.tmo-shop-category__name{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:8px 10px;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:-0.01em;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
}

@media (max-width:544px){
  .tmo-shop-categories{
    grid-template-columns:repeat(4, 1fr);
    gap:8px;
  }
  .tmo-shop-category__name{
    font-size:11px;
    padding:7px 8px;
  }
}

@media (max-width:400px){
  .tmo-shop-categories{
    grid-template-columns:repeat(3, 1fr);
  }
}
