.tkcg-container.tk-category-grid{
  color:#000;
  display:flex;
  justify-content:center;
  gap:var(--tk-gap, 20px);
  flex-wrap:wrap;
  padding:20px;
}

.tkcg-block{
  width:var(--tk-block-w, 150px);
  height:var(--tk-block-h, 180px);
  text-align:center;
  padding:15px;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
}

.tkcg-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  transition:transform .3s ease;
  cursor:pointer;
}

.tkcg-thumb{
  width:var(--tk-thumb, 100px);
  height:auto;
  aspect-ratio:1/1;
  border-radius:50% !important;
  overflow:hidden !important;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .3s ease;
  cursor:pointer;
  text-decoration:none;
}

.tkcg-thumb img{
  aspect-ratio:1/1;
  border-radius:50% !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}

.tkcg-thumb:hover,
.tkcg-thumb:hover img{
  border-radius:50% !important;
}

.tk-category-thumb-fallback{
  width:100%;
  aspect-ratio:1/1;
  height:auto;
  border-radius:50%;
}

.tkcg-title{
  font-weight:bold;
  font-size:14px;
  border-bottom:2px solid transparent;
  transition:transform .3s ease, border-bottom .3s ease, opacity .3s ease, visibility .3s ease;
  cursor:pointer;
  color:#000;
  text-decoration:none;
}

/* MENU SOTTOCATEGORIE */
.tkcg-menu{
  position:absolute;
  bottom:-5px;
  left:0;
  width:100%;
  transform:translateY(100%);
  opacity:0;
  transition:transform .3s ease, opacity .3s ease;
  font-size:var(--tk-font, 13px);
  z-index:1;
}

/* FIX centratura sottocategorie: niente flex (come il tuo esempio amazon) */
.tkcg-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  text-align:center;
  display:block !important;
}

.tkcg-menu li{
  margin:1px 0;
  line-height:1.9;
  list-style:none;
  text-align:center;
}

.tkcg-menu li a{
  color:#000;
  text-decoration:none;
  display:inline-block;
  margin:0 auto;
  text-align:center;
}

.tkcg-menu li a:hover{
  text-decoration:underline;
}

/* HOVER ANIMAZIONI */
.tkcg-block:hover .tkcg-thumb img{
  transform:scale(.45);
}

.tkcg-block:hover .tkcg-content{
  transform:translateY(-35px);
}

.tkcg-block:hover .tkcg-menu{
  transform:translateY(0);
  opacity:1;
}

.tkcg-block:hover .tkcg-title{
  opacity:0;
  visibility:hidden;
  border-bottom:none;
}

.tk-category-empty{
  opacity:.5;
}

/* RESPONSIVE */
@media screen and (max-width:768px){
  .tkcg-container.tk-category-grid{
    justify-content:center;
  }
  .tkcg-container.tk-category-grid .tkcg-block{
    width:calc(var(--tk-mobile-w, 45) * 1%);
    margin-bottom:20px;
  }
}

.tkcg-menu ul{ padding-left:0 !important; margin-left:0 !important; }