/* 2026-10-16: product ribbons "BEST SELLER" / "RESTOCKED" (App_Code/ItemBadges.cs).
   Cards: folded ribbons top-left of the photo, same shape as the category page's ETA ribbon (.ribbon-delivery).
   The % OFF badge stays top-right. Product page / Quick View: small tags above the product name. */
.jb-wrap { position: absolute; top: 8px; left: -4px; z-index: 11; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; pointer-events: none; }
.jb-wrap.jb-low { top: 40px; }   /* PRE-ORDER page: below the ETA ribbon */
.jb-wrap .jb { position: relative; box-shadow: 1px 2px 4px rgba(0,0,0,.3); }
.jb-wrap .jb::after { content: ''; position: absolute; bottom: -4px; left: 0; border-width: 4px 0 0 4px; border-style: solid; border-color: transparent; }
.jb { display: inline-block; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .5px; padding: 5px 10px; white-space: nowrap; }
.jb b { color: #f5b301; font-weight: 700; }
.jb-best { background: #111; }
.jb-wrap .jb-best::after { border-top-color: #000; }
.jb-restock { background: #0e8a6d; }
.jb-wrap .jb-restock::after { border-top-color: #075543; }
@media (max-width: 767px) {
    .jb-wrap { top: 6px; gap: 5px; }
    .jb-wrap.jb-low { top: 34px; }
    .jb { font-size: 9px; padding: 4px 7px; letter-spacing: .3px; }
}
.jb-inline { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.jb-inline .jb { border-radius: 2px; font-size: 11px; padding: 5px 9px; }
