.grtcr{width:100%}
.grtcr,.grtcr *{box-sizing:border-box}

/*
  Layout rules requested:
  - You can show 2, 3, 4, etc.
  - The row should be centered based on how many cards are shown.
  - From 5+ items, it should wrap to a 2nd row (max 4 per row on desktop).

  Using flex-wrap + justify-content:center allows any incomplete row to stay centered.
*/
.grtcr__track{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

/* 4 per row on desktop */
.grtcr-card{flex:0 1 calc((100% - (18px * 3)) / 4);}

@media (max-width:1024px){
  /* 2 per row on tablets */
  .grtcr-card{flex-basis:calc((100% - 18px) / 2);}
}

@media (max-width:600px){
  /* 1 per row on mobile */
  .grtcr-card{flex-basis:100%;}
}

/* Card shell */
.grtcr-card{min-width:0;background:#fff;border:1px solid rgba(0,0,0,0.10);border-radius:16px;overflow:hidden}
.grtcr-card__link{display:block;text-decoration:none;color:inherit}

/* Image: full-bleed (no inner margins) */
.grtcr-card__media{
  background:#f2f2f2;
  aspect-ratio:4/3;
  margin:0;
  border-radius:0;
  overflow:hidden;
}
.grtcr-card__media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}

/* Body */
.grtcr-card__body{padding:10px 14px 14px}

.grtcr-card__title{
  margin:0 0 6px;
  font-size:15px;
  font-weight:600;
  line-height:1.25;
}

.grtcr-card__line{
  margin:0 0 6px;
  font-size:12.5px;
  line-height:1.35;
  color:rgba(0,0,0,.72);
}

/* Rating */
.grtcr-card__rating{display:flex;align-items:center;gap:6px;color:#04acbf}
.grtcr-star{display:inline-block;font-size:12px;line-height:1}
.grtcr-rating-value{font-weight:600}
.grtcr-rating-count{font-weight:400}

/* Price */
.grtcr-card__price{margin-top:8px;font-size:13px;color:rgba(0,0,0,.72);font-weight:400}
.grtcr-price-value{font-weight:600;color:rgba(0,0,0,.90)}
.grtcr-price-prefix,.grtcr-price-suffix{font-weight:400}

/* Empty */
.grtcr-empty{padding:12px 0;color:rgba(0,0,0,.65)}

/* v1.1.7 improvements */

/* Price hierarchy (real selectors) */
.grtcr-card__price{font-size:16px;color:#6b7280;}
.grtcr-price-prefix,.grtcr-price-suffix{color:#6b7280;font-weight:400;}
.grtcr-price-value{color:#111827;font-weight:600;}

/* Rating spacing */
.grtcr-card__rating{margin-bottom:4px;}

/* Title clamp (uniform cards) */
.grtcr-card__title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Subtle separator between image and body */
.grtcr-card__body{border-top:1px solid rgba(0,0,0,0.04);}

/* Hover micro-interaction */
.grtcr-card{transition:box-shadow .2s ease, transform .2s ease;}
.grtcr-card:hover{box-shadow:0 10px 25px rgba(0,0,0,.08);transform:translateY(-2px);}
