/* Campaign badges: independent left/right anchors; no global layout changes. */
.img-product-container, .product-slider-container { position:relative; }
.ss-campaign-badges { position:absolute; inset:8px 8px auto 8px; z-index:8; pointer-events:none; display:flex; justify-content:space-between; align-items:flex-start; gap:6px; }
.ss-campaign-badge-group { display:flex; flex-direction:column; gap:4px; max-width:49%; }
.ss-campaign-badge-group--right { align-items:flex-end; margin-left:auto; }
.ss-campaign-badge { display:inline-block; position:static; width:max-content; max-width:100%; overflow-wrap:anywhere; padding:6px 9px; border-radius:5px; color:#fff; background:#d82c34; font-size:12px; font-weight:800; line-height:1.2; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.2); }
.ss-campaign-badge-bundle { background:#ef7c16; }
@media(max-width:575px){.ss-campaign-badges{inset:5px 5px auto 5px;gap:3px}.ss-campaign-badge{padding:4px 6px;font-size:10px}}

/* Detail: anchor badges to the image column, not the full gallery including thumbnails. */
.product-slider-container .ss-campaign-detail-image { position: relative; }
.product-slider-container .ss-campaign-detail-image > .ss-campaign-badges {
  position: absolute; top: 8px; right: 8px; bottom: auto; left: 8px;
  width: auto; z-index: 20; pointer-events: none;
}
/* Ensure percentage and bundle labels remain at opposite image corners. */
.product-slider-container .ss-campaign-detail-image .ss-campaign-badge-group--left { margin-right: auto; }
.product-slider-container .ss-campaign-detail-image .ss-campaign-badge-group--right { margin-left: auto; }
@media (max-width:575px) {
  .product-slider-container .ss-campaign-detail-image > .ss-campaign-badges { top: 5px; left: 5px; right: 5px; }
}
