
.grid-list-product-wrapper,
.product-wrapper,
.product-list-details { overflow: hidden; }
.grid-list-product-wrapper *,
.product-wrapper *,
.product-list-details * { box-sizing: border-box; }

.st-title{ margin:0 0 6px; font-weight:900; }
.st-title a{ text-decoration:none; color:#1f2d3d; }
.st-title a:hover{ color:#ff4d4f; }

.st-price{ margin-bottom:8px; }
.st-price .current{ font-weight:900; }

.st-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin-bottom:10px;
}
.st-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border:1px solid #eee;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#333;
  background:#fff;
}
.st-pill-sale{ border-color: rgba(231,76,60,.35); color:#b02a37; background: rgba(231,76,60,.08); }
.st-pill-top{ border-color: rgba(241,196,15,.35); color:#8a6d00; background: rgba(241,196,15,.12); }
.st-pill-new{ border-color: rgba(46,204,113,.35); color:#1e7e34; background: rgba(46,204,113,.12); }

.st-comp-title{
  margin:0 0 8px;
  font-size:13px;
  font-weight:900;
  color:#444;
}
.st-comp-inner{
  padding:0 2px 8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.st-ing-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #eee;
  background:#fff;
  font-size:12px;
  font-weight:800;
  color:#333;
}
.st-after-comp-space{ margin-bottom:16px; } /* красивый отступ после состава */

.st-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.st-cart-form{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:0;
}

.st-qty{
  display:inline-flex;
  align-items:center;
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.st-qty-btn{
  width:36px;
  height:36px;
  border:0;
  background:#f7f7f7;
  font-weight:900;
  cursor:pointer;
}
.st-qty-btn:hover{ filter:brightness(.97); }
.st-qty-input{
  width:56px;
  height:36px;
  border:0;
  text-align:center;
  font-weight:900;
  outline:none;
}

.st-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:36px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid #eee;
  background:#fff;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
  text-decoration:none;
  max-width:100%;
  white-space:nowrap;
}
.st-btn-cart{
  background: linear-gradient(90deg, #ff4d4f 0%, #ff8a00 100%);
  color:#fff;
  border:0;
  box-shadow: 0 10px 22px rgba(255, 77, 79, .22);
}
.st-btn-cart:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.st-btn-cart:active{ transform: translateY(0); }

.st-btn-fav{ color:#111; }
.st-btn-fav.is-active{
  border-color: rgba(231,76,60,.35);
  background: rgba(231,76,60,.10);
  color:#b02a37;
}
.st-btn-fav i{ font-size:15px; }

.st-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:10px;
}
.st-check{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-weight:800;
  font-size:13px;
  user-select:none;
}
.st-check input{ width:16px; height:16px; }

@media (max-width: 576px){
  .product-list-wrapper{ display:block !important; }
  .product-list-wrapper .product-img{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 12px 0 !important;
  }
  .product-list-wrapper .product-img img{
    width:100% !important;
    height:auto !important;
    display:block;
  }
  .product-list-wrapper .product-list-details{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }
  .st-actions{ flex-direction:column; align-items:stretch; }
  .st-cart-form{ width:100%; flex-direction:column; align-items:stretch; }
  .st-qty{ width:100%; justify-content:space-between; }
  .st-qty-input{ width:70px; }
  .st-btn-cart, .st-btn-fav{
    width:100%;
    height:44px;
    border-radius:14px;
    font-size:14px;
  }
}
