.shop-main{
  max-width:1280px;
  margin:0 auto;
  padding:50px 32px 90px;
}
.shop-main .section-head{
  text-align:left;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:32px;
}
.shop-main .section-head p{font-family:var(--font-mono);font-size:.8rem;}

.shop-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:20px;
}

.shop-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  transition:transform .2s ease, border-color .2s ease;
  cursor:pointer;
}
.shop-card:hover{transform:translateY(-4px);border-color:var(--gold-dim);}
.shop-card .sc-media{
  height:160px;
  display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;
  position:relative;
  cursor:pointer;
  color:var(--text);
}
.shop-card .sc-name{cursor:pointer;display:block;color:inherit;}
.shop-card .sc-badge{
  position:absolute;top:10px;left:10px;
  font-family:var(--font-mono);
  font-size:.66rem;font-weight:700;
  padding:4px 8px;border-radius:999px;
  letter-spacing:.03em;
  z-index:1;
}
.shop-card .sc-badge--promo{background:var(--gold);color:#1b1a16;}
.shop-card .sc-badge--out{background:rgba(0,0,0,.62);color:#fff;}
.shop-card .sc-oldprice{color:var(--text-dim);text-decoration:line-through;opacity:.7;margin-right:4px;}
.shop-card .sc-add:disabled{opacity:.4;cursor:not-allowed;}
.shop-card .sc-add:disabled:hover{background:transparent;border-color:var(--border);color:var(--text);}
.shop-card .sc-body{padding:14px 16px 18px;}
.shop-card .sc-cat{
  font-family:var(--font-mono);
  font-size:.66rem;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.shop-card .sc-name{font-size:.95rem;font-weight:600;margin:6px 0 8px;}
.shop-card .sc-row{display:flex;align-items:center;justify-content:space-between;}
.shop-card .sc-price{font-family:var(--font-mono);color:var(--gold-soft);font-size:.88rem;}
.shop-card .sc-add{
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
  width:30px;height:30px;
  border-radius:50%;
  font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s ease;
}
.shop-card .sc-add:hover{background:var(--gold);border-color:var(--gold);color:#1b1a16;}

.shop-empty{
  text-align:center;
  color:var(--text-dim);
  padding:60px 0;
}