:root{--brand:#9ecb48;--brand-dark:#6d991e;--ink:#222;--line:#ececec}
.mall-list-page{background:#fff}
.mall-list-head{padding:18px 16px 12px}
.mall-list-head>div{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mall-list-head h1{margin:0;font-size:22px;line-height:1.25}
.mall-list-sort{display:flex;align-items:center;gap:12px}
.mall-list-sort a{position:relative;color:#999;font-size:13px;white-space:nowrap}
.mall-list-sort a+a::before{content:"";position:absolute;left:-6px;top:50%;width:1px;height:11px;background:#ddd;transform:translateY(-50%)}
.mall-list-sort a.active{color:#222;font-weight:900}
.mall-list-tabs{position:sticky;top:104px;z-index:40;display:flex;gap:6px;overflow-x:auto;padding:10px 16px 13px;border-bottom:8px solid #f5f5f5;background:#fff;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mall-list-tabs::-webkit-scrollbar{display:none}
.mall-list-tabs a{flex:0 0 auto;height:34px;display:flex;align-items:center;padding:0 12px;border:1px solid #e5e5e5;border-radius:7px;background:#fff;color:#555;font-size:13px;font-weight:800;white-space:nowrap}
.mall-list-tabs a.active{border-color:var(--brand);background:var(--brand);color:#fff}
.mall-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px;padding:18px 16px 28px}
.mall-list-item{min-width:0}
.mall-list-image{width:100%;aspect-ratio:1/1;display:grid;place-items:center;border-radius:10px;background:#f1f1f1;color:#aaa;overflow:hidden}
.mall-list-image::before{content:"상품 이미지";font-size:12px}
.mall-list-image.has-image::before{display:none}
.mall-list-image img{width:100%;height:100%;display:block;object-fit:cover}
.mall-list-cart{height:36px;margin-top:7px;border-radius:8px;font-size:13px}
.mall-list-info{display:block}
.mall-list-info strong{display:-webkit-box;margin:8px 2px 0;color:var(--ink);font-size:14px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mall-list-info em{display:block;margin:5px 2px 0;color:#111;font-style:normal;font-size:14px;font-weight:900}
.mall-list-empty{grid-column:1/-1;margin:0;padding:54px 0;color:#999;text-align:center;font-size:14px}
.mall-list-sentinel{height:52px;display:flex;align-items:center;justify-content:center;color:#888;font-size:13px}
.mall-list-page .footer{margin-top:0;border-top:8px solid #f5f5f5}
@media (min-width:768px){
  .mall-list-head{padding-left:22px;padding-right:22px}
  .mall-list-tabs{padding-left:22px;padding-right:22px}
  .mall-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 14px;padding-left:22px;padding-right:22px}
}
