

/* ---- layout (theme-like) ---- */
.idt-cat-grid-widget{
  --cols: 3;
  --rows-gap: 22px;
  --cols-gap: 22px;
}

.idt-cat-grid-widget .idt-products-grid{
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(100px, 1fr));
  grid-gap: var(--rows-gap, 22px) var(--cols-gap, 22px);
}

@media (max-width: 1024px){
  .idt-cat-grid-widget{ --cols: 2; }
}
@media (max-width: 640px){
  .idt-cat-grid-widget{ --cols: 1; }
}

/* ---- card ---- */
.idt-cat-grid-widget .idt-product-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  border-radius:18px;
  overflow:hidden;
  background:#101114;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.06);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  color:#fff;
}

.idt-cat-grid-widget .idt-product-card:hover{
  transform: translateY(-3px);
  box-shadow:0 14px 34px rgba(0,0,0,.45);
  border-color: rgba(255,255,255,.12);
}

/* ---- image area ---- */
.idt-cat-grid-widget .idt-product-media{
  aspect-ratio: 1 / 1;
  padding: 0;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  background: rgba(61, 61, 61, 0.43);
  overflow: hidden;
}

.idt-cat-grid-widget .idt-product-media img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit: cover;
  object-position: 50% 50%;
  border:0;
  border-radius:0;
  box-shadow:none;
}

/* ---- bottom text area ---- */
.idt-cat-grid-widget .idt-product-meta{
  padding:14px 18px 1px;
  text-align:center;
}

/* Title */
.idt-cat-grid-widget .idt-product-name{
  display:block;
  box-sizing:border-box;
  font-family: Roboto, sans-serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.5px;
  line-height:21.6px;
  margin:0 0 10px 0;
  padding:0;
  text-align:center;
  text-transform:none;
  unicode-bidi:isolate;
  color: rgb(255,255,255) !important;
  opacity:1 !important;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* Price */
.idt-cat-grid-widget .idt-product-price{
  display:block;
  box-sizing:border-box;
  font-family: Roboto, sans-serif;
  font-size:17px;
  font-weight:700;
  letter-spacing:0.1px;
  line-height:20.4px;
  margin:0 0 8px 0;
  padding:0;
  text-align:center;
  text-size-adjust:100%;
  color: rgb(249, 250, 251) !important;
  opacity:1 !important;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* Woo price HTML (sale styling) */
.idt-cat-grid-widget .idt-product-price del{
  opacity:.65;
  margin-right:6px;
}
.idt-cat-grid-widget .idt-product-price ins{
  text-decoration:none;
}
.idt-cat-grid-widget .idt-product-price *{
  color: rgb(249, 250, 251) !important;
}

/* ---- states ---- */
.idt-cat-grid-widget .idt-products-loading,
.idt-cat-grid-widget .idt-products-error{
  padding:14px 16px;
  border-radius:12px;
  background: rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.85);
  font-weight:600;
}