/* V242 — shine hardening and cache-safe badge rendering.
   One automatic badge by default; explicit assignments remain multi-badge.
   Design tokens from Badge Studio are authoritative on both cards and PDP. */

.product-badge[data-ct-badge]{}

.product-card-topline{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;min-height:36px!important;height:36px!important;margin:0 0 10px!important;overflow:visible!important}
.product-card-topline .product-badges{position:static!important;inset:auto!important;z-index:2!important;display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;min-height:34px!important;height:34px!important;padding:0!important;margin:0!important;gap:6px!important;overflow:hidden!important;pointer-events:none!important}
.product-card-topline .product-badge{position:relative!important;inset:auto!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;max-width:100%!important;min-width:0!important;min-height:28px!important;height:28px!important;padding:6px 11px!important;border-radius:var(--ct-badge-radius,999px)!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-family:var(--ct-badge-font,'IBM Plex Mono',monospace)!important;font-size:clamp(8px,var(--ct-badge-size,9px),10px)!important;font-weight:var(--ct-badge-weight,800)!important;letter-spacing:var(--ct-badge-spacing,.045em)!important;line-height:1!important;text-transform:uppercase!important;background:var(--ct-badge-bg,#252b33)!important;color:var(--ct-badge-text,#fff)!important;border:1px solid var(--ct-badge-border,rgba(255,255,255,.22))!important;box-shadow:0 5px 16px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.20)!important;animation:ctBadge241Pulse 3.4s ease-in-out infinite!important;isolation:isolate}

/* V242 shine hardening: use transform-based motion so the highlight remains visible even when older badge rules/theme layers are present. */
.product-card-topline .product-badge::after,
.luxury-product-page .product-badges-pdp .product-badge::after,
.product-badges-pdp .product-badge::after{
 content:""!important;
 position:absolute!important;
 top:-85%!important;
 bottom:-85%!important;
 left:0!important;
 width:48%!important;
 min-width:18px!important;
 transform:translate3d(-230%,0,0) skewX(-18deg)!important;
 transform-origin:center!important;
 background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 28%,rgba(255,255,255,.45) 43%,rgba(255,255,255,1) 50%,rgba(255,255,255,.45) 57%,rgba(255,255,255,0) 72%,transparent 100%)!important;
 background-repeat:no-repeat!important;
 animation:ctBadge242Shine var(--ct-badge-speed,2.35s) linear infinite!important;
 animation-play-state:running!important;
 opacity:var(--ct-badge-shine,1)!important;
 pointer-events:none!important;
 z-index:20!important;
 display:block!important;
 will-change:transform,opacity!important;
}
.product-card-topline .product-badge,
.luxury-product-page .product-badges-pdp .product-badge,
.product-badges-pdp .product-badge{
 position:relative!important;
 overflow:hidden!important;
 isolation:isolate!important;
}
@keyframes ctBadge242Shine{
 0%{transform:translate3d(-230%,0,0) skewX(-18deg);opacity:0}
 10%{opacity:.85}
 24%{opacity:1}
 42%{transform:translate3d(330%,0,0) skewX(-18deg);opacity:0}
 100%{transform:translate3d(330%,0,0) skewX(-18deg);opacity:0}
}
@keyframes ctBadge242Pulse{
 0%,100%{box-shadow:0 5px 16px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18)}
 50%{box-shadow:0 6px 20px rgba(0,0,0,.25),0 0 18px rgba(255,255,255,.24),inset 0 1px 0 rgba(255,255,255,.34)}
}

/* Hero CTA: text is geometrically centered inside its pill, not baseline-shifted. */
.ck-featured-hero__copy .btn-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;box-sizing:border-box!important;line-height:1!important;text-align:center!important;min-height:48px!important;padding:0 24px!important}
@media(max-width:700px){
 .product-card-topline{min-height:32px!important;height:32px!important;margin-bottom:8px!important;gap:6px!important}
 .product-card-topline .product-badges{min-height:30px!important;height:30px!important;gap:5px!important}
 .product-card-topline .product-badge{min-height:25px!important;height:25px!important;padding:5px 9px!important;font-size:8px!important}
 .product-card-topline .wishlist-heart-btn{flex-basis:29px!important;width:29px!important;height:29px!important}
 .luxury-product-page .product-badges-pdp,.product-badges-pdp{min-height:31px!important;gap:5px!important;margin-bottom:8px!important}
 .luxury-product-page .product-badges-pdp .product-badge,.product-badges-pdp .product-badge{min-height:25px!important;height:25px!important;padding:5px 9px!important;font-size:8px!important}
 .ck-featured-hero__copy .btn-primary{min-height:48px!important;padding:0 18px!important;line-height:1!important;font-size:.68rem!important}
}
