:root{
  --bg:#f9fafc;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --orange:#eb8e03;
  --orange-d:#c87402;
}
.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;padding:20px;}
.ds-card{background:var(--card);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease;}
.ds-card:hover{transform:translateY(-6px);}
.ds-img-wrap{width:100%;height:180px;overflow:hidden;background:#f3f4f6;}
.ds-img{width:100%;height:100%;object-fit:cover;display:block;}
.ds-body{padding:14px;display:flex;flex-direction:column;min-height:190px;}
.ds-title{font-weight:800;font-size:1.06rem;color:var(--text);margin-bottom:2px;}
.ds-meta{font-size:.9rem;color:var(--muted);}
.ds-price{font-weight:900;color:var(--orange);margin:.45rem 0 .7rem;}
.ds-actions{margin-top:auto;display:flex;gap:10px;}
.ds-btn{flex:1;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;border:0;font-weight:800;cursor:pointer;text-decoration:none;transition:.15s;box-shadow:0 8px 20px rgba(235,142,3,.25);background:var(--orange);color:#fff;}
.ds-btn:hover{background:var(--orange-d);transform:translateY(-1px);}
#ds-quickview{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);align-items:center;justify-content:center;z-index:100000;}
.ds-qv-inner{background:#fff;padding:22px;border-radius:16px;max-width:880px;width:92%;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.12);animation:dsPop .2s ease;}
@keyframes dsPop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.ds-qv-close{position:absolute;top:10px;right:12px;font-size:28px;line-height:1;border:0;background:transparent;color:var(--orange);cursor:pointer;font-weight:700;}
.ds-qv-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start;}
.ds-qv-media img{width:100%;height:320px;object-fit:cover;border-radius:12px;display:block;background:#f3f4f6;}
.ds-qv-info h2{margin:0 0 6px 0;color:#111827;font-size:1.25rem;}
.ds-qv-price{font-weight:900;margin-bottom:8px;color:var(--orange);}
.ds-qv-desc{color:#111827;opacity:.95;line-height:1.6;max-height:220px;overflow:auto;}
.ds-qv-actions{display:flex;gap:10px;margin-top:14px;}
.ds-add{background:var(--orange);}
.ds-add:hover{background:var(--orange-d);}
@media (max-width:760px){
  .ds-qv-wrap{grid-template-columns:1fr;}
  .ds-qv-media img{height:220px;}
}
