.ds-card{position:relative;background:#fff;border:0;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s}
.ds-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.1)}
.ds-card-media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#f4f4f4}
.ds-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s,transform .4s}
.ds-card-media.is-contain{background:#fff}
.ds-card-media.is-contain .ds-card-img{object-fit:contain;padding:6%;box-sizing:border-box}
.ds-card-img--hover{opacity:0}
@media(hover:hover){.ds-card:hover .ds-card-img--hover{opacity:1}.ds-card:hover .ds-card-img:not(.ds-card-img--hover){transform:scale(1.03)}}
.is-soldout .ds-card-img{opacity:.6}
.ds-card-badges{position:absolute;left:6px;top:6px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.ds-badge{background:#fff;color:#000;border:1px solid #000;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 6px;line-height:1.2;border-radius:2px}
.ds-badge--dark{background:#000;color:#fff}
.ds-badge--sale{background:#e02020;color:#fff;border-color:#e02020}
.ds-card-wish{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15);z-index:2}
.ds-card-wish:hover{background:#000;color:#fff}
.ds-card-wish.is-wishlisted svg{fill:#000;stroke:#000}
.ds-card-wish.is-wishlisted:hover svg{fill:#fff;stroke:#fff}
.ds-card-top{position:relative}
.ds-card-add{position:absolute;left:8px;right:8px;bottom:8px;z-index:2;background:#000;color:#fff;border:0;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:10px 8px;text-align:center;text-decoration:none;cursor:pointer;opacity:0;transition:opacity .2s;display:block;box-sizing:border-box;border-radius:3px}
.ds-card:hover .ds-card-add,.ds-card-add:focus-visible{opacity:1}
.ds-card-add:hover{background:#333}
.ds-card-add.is-loading span{visibility:hidden}
.ds-card-add.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:ds-spin .7s linear infinite}
.ds-card-add.is-added{background:#fff;color:#000;border:1px solid #000;opacity:1}
@keyframes ds-spin{to{transform:rotate(360deg)}}
.ds-card-body{padding:7px 8px 9px;display:flex;flex-direction:column;gap:3px}
.ds-card-title{font-size:13px;line-height:1.3;color:#222;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-card-title:hover{text-decoration:underline}
.ds-card-best{font-size:11px;color:#b45309;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-card-best-tag{font-weight:700}
.ds-card-rating{display:flex;align-items:center;gap:4px;font-size:11px;color:#555;line-height:1}
.ds-stars{position:relative;display:inline-block;width:60px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 .8l1.6 3.3 3.6.5-2.6 2.5.6 3.6L6 9l-3.2 1.7.6-3.6L.8 4.6l3.6-.5z' fill='%23ddd'/%3E%3C/svg%3E") repeat-x;background-size:12px 12px}
.ds-stars-on{position:absolute;inset:0;width:var(--r,0%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 .8l1.6 3.3 3.6.5-2.6 2.5.6 3.6L6 9l-3.2 1.7.6-3.6L.8 4.6l3.6-.5z' fill='%23000'/%3E%3C/svg%3E") repeat-x;background-size:12px 12px}
.ds-card-sold{font-size:11px;color:#555}
.ds-card-price{display:flex;align-items:baseline;gap:6px;margin-top:1px;min-width:0}
.ds-card-price-now{font-size:18px;font-weight:700;color:#000;line-height:1;white-space:nowrap}
.ds-card-price-now.is-sale{color:#e02020}
.ds-card-price-sym{font-size:12px;font-weight:700;vertical-align:baseline}
.ds-card-price-dec{font-size:12px;font-weight:700}
.ds-card-price-was{font-size:11px;color:#888;white-space:nowrap}
.ds-card-colors{margin-left:auto;font-size:11px;color:#777;white-space:nowrap}
.ds-card-add-ico{display:none}
@media(hover:none){.ds-card-add{opacity:1;left:auto;right:6px;bottom:6px;width:30px;height:30px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}.ds-card-add span{display:none}.ds-card-add-ico{display:block}.ds-card-add.is-loading::after{width:12px;height:12px;margin:-6px 0 0 -6px}}
