/* Core grid + cards */
:root{--jdm-gap:16px;--jdm-radius:14px;--jdm-line:#eee;--jdm-muted:#6b7280}
.jdm-wrap{max-width:1200px;margin:0 auto;padding:0 12px}
.jdm-btn{display:inline-block;padding:10px 14px;border-radius:12px;background:#111;color:#fff;text-decoration:none;font-weight:700}
/* Single page */
.jdm-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-end;margin:16px 0}
.jdm-hero h1{margin:0;font-size:28px}
.jdm-hero .jdm-price{font-size:28px;font-weight:800}
.jdm-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.jdm-badge{padding:6px 10px;border:1px solid var(--jdm-line);border-radius:999px;font-size:13px;color:#111;background:#fff}
.jdm-main{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.jdm-gallery{border:1px solid var(--jdm-line);border-radius:var(--jdm-radius);padding:8px;background:#fff}
.jdm-gallery .big{width:100%;height:520px;object-fit:cover;border-radius:10px;background:#f6f6f6}
.jdm-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.jdm-thumbs img{width:100%;height:90px;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer}
.jdm-thumbs img.active{border-color:#111}
.jdm-card{border:1px solid var(--jdm-line);border-radius:var(--jdm-radius);padding:14px;background:#fff}
.jdm-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jdm-specs .row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--jdm-line);padding:6px 0}
.jdm-desc{margin-top:16px}
.jdm-share{display:flex;gap:8px;margin-top:10px}
/* Listings grid + filters */
.jdm-filter{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:8px 0 16px}
.jdm-filter input,.jdm-filter select{padding:10px;border:1px solid #ddd;border-radius:10px}
.jdm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jdm-card-grid{border:1px solid var(--jdm-line);border-radius:var(--jdm-radius);overflow:hidden;background:#fff}
.jdm-card-grid img{width:100%;height:220px;object-fit:cover;background:#f6f6f6}
.jdm-card-grid .body{padding:12px}
/* Responsive */
@media (max-width:980px){.jdm-main{grid-template-columns:1fr}.jdm-thumbs{grid-template-columns:repeat(5,1fr)}.jdm-grid{grid-template-columns:repeat(2,1fr)}.jdm-filter{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.jdm-thumbs{grid-template-columns:repeat(4,1fr)}.jdm-grid{grid-template-columns:1fr}.jdm-filter{grid-template-columns:1fr}}
