.shop-product-grid{
  align-items:stretch;
  gap:52px 28px;
}

.shop-product,
.shop-bundle,
.campaign-card{
  grid-column:auto!important;
  height:100%;
  padding:0 0 26px;
  border-bottom:1px solid var(--line);
}

.shop-product figure,
.shop-bundle figure,
.campaign-card figure{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  margin:0 0 20px;
  overflow:hidden;
  background:var(--night-2);
}

.shop-product figure img,
.shop-bundle figure img,
.campaign-card figure img{
  display:block;
  width:100%;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}

.shop-bundle figure:after{content:none}

.shop-product-badge{
  position:absolute;
  right:14px;
  bottom:14px;
  padding:7px 10px;
  background:rgba(4,14,13,.9);
  color:var(--gold);
  font-size:9px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.shop-product h3{
  display:-webkit-box;
  min-height:2.3em;
  margin:10px 0 12px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.shop-product .shop-product-summary{
  display:-webkit-box;
  min-height:3em;
  margin:0 0 18px;
  overflow:hidden;
  color:var(--ink-soft);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.shop-product .shop-price{margin-top:auto}
.shop-product .shop-product-link{margin-top:14px}

@media(min-width:801px){
  .shop-product-grid[data-count="1"]{
    grid-template-columns:minmax(0,390px);
    justify-content:center;
  }
  .shop-product-grid[data-count="2"]{
    grid-template-columns:repeat(2,minmax(0,390px));
    justify-content:center;
  }
}

@media(max-width:640px){
  .shop-product-grid{grid-template-columns:1fr;gap:38px}
  .shop-product h3,.shop-product .shop-product-summary{min-height:0}
}
