/* DXCMS — pages/shop.php 에서 분리 */
.sp-wrap{width:100%;padding:0}
.sp-hd{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.sp-title{font-size:1.5rem;font-weight:800;color:#1e293b;margin:0}
.sp-sub{font-size:.85rem;color:#94a3b8;margin:4px 0 0}
.sp-pt{display:flex;align-items:center;gap:4px;padding:10px 18px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;font-size:.875rem}
.sp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.sp-filters a{padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .15s;border:1px solid #e2e8f0;background:#fff;color:#64748b}
.sp-filters a:hover{background:#f1f5f9}
.sp-filters a.a-on{background:#2563eb;color:#fff;border-color:#2563eb}
.sp-filters a.v-on{background:#7c3aed;color:#fff;border-color:#7c3aed}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.sp-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 1px 4px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.sp-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.sp-card.so{opacity:.55}
.sp-img{height:120px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#f0f4ff,#e8f0fe)}
.sp-img img{width:80px;height:80px;object-fit:contain}
.sp-body{padding:14px;display:flex;flex-direction:column;gap:4px;flex:1}
.sp-cat{font-size:.72rem;font-weight:700;color:#7c3aed}
.sp-type{font-size:.72rem;color:#94a3b8}
.sp-name{font-size:.875rem;font-weight:700;color:#1e293b;line-height:1.35;margin:0}
.sp-desc{font-size:.75rem;color:#94a3b8;line-height:1.5;margin:0}
.sp-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px}
.sp-price{font-size:1.1rem;font-weight:800;color:#d97706}
.sp-price small{font-size:.75rem;color:#94a3b8;font-weight:400}
.sp-stock{font-size:.72rem;color:#94a3b8}
.sp-btn{display:block;width:100%;padding:9px;border:none;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:all .15s;margin-top:8px;box-sizing:border-box}
.sp-btn-buy{background:#2563eb;color:#fff}.sp-btn-buy:hover{background:#1d4ed8}
.sp-btn-lack{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}
.sp-btn-login{background:#2563eb;color:#fff}
.sp-btn-so{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}
.sp-empty{padding:60px 20px;text-align:center}
.sp-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:12px 24px;border-radius:14px;font-size:.875rem;font-weight:600;z-index:9999;white-space:nowrap;box-shadow:0 8px 32px rgba(0,0,0,.25);display:none}
@media(max-width:480px){.sp-grid{grid-template-columns:repeat(2,1fr);gap:12px}.sp-img{height:90px;font-size:2rem}}
