
/* ================================
   SushiTime — Sets list only + mobile
   ================================ */

.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); }

/* composition title */
.st-comp-title{
  margin:0 0 8px;
  font-size:13px;
  font-weight:900;
  color:#444;
}

/* ==== roll pills list ==== */
.st-rolls{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0 0 16px; /* отступ после состава */
}
.st-roll-row{ display:block; }

/* pill button */
.st-roll-pill{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #eee;
  background:#fff;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
  text-align:left;
}
.st-roll-pill .x{ color:#ff4d4f; font-weight:900; }
.st-roll-pill .chev{
  width:22px; height:22px;
  display:inline-flex;
  align-items:center; justify-content:center;
  border-radius:999px;
  background:rgba(255,77,79,.10);
  color:#ff4d4f;
  font-weight:900;
  transition: transform 220ms ease;
  flex: 0 0 auto;
}
.st-roll-pill.is-open .chev{ transform: rotate(180deg); }

/* smooth panel */
.st-roll-ingredients{
  overflow:hidden;
  height:0;
  transition: height 260ms ease;
  will-change: height;
}
.st-roll-ingredients-inner{
  padding:10px 10px 0;
  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;
}

/* actions row */
.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;
}

/* qty control */
.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;
}

/* Buttons */
.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;
}

/* BUY button */
.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; }

/* Filters row */
.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; }

/* Mobile */
@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;
  }
}
