/* Comfortrek V255 — single authoritative badge renderer.
 * V255 removes selector coupling to the inline style attribute and makes the
 * persisted design tokens authoritative on product cards, PDP and admin preview.
 * The glow is a tight colour-matched halo; shine is a contained highlight.
 */
.product-card-topline .product-badge,
.product-badges-pdp .product-badge,
.pm-badge-preview-stage .product-badge,
.pm-badge-library-trigger .product-badge {
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  isolation:isolate !important;
  min-width:0 !important;
  color:var(--ct-badge-text,#fff) !important;
  -webkit-text-fill-color:var(--ct-badge-text,#fff) !important;
  font-family:var(--ct-badge-font,IBM Plex Mono,monospace) !important;
  font-size:clamp(8px,var(--ct-badge-size,9px),24px) !important;
  font-weight:var(--ct-badge-weight,900) !important;
  letter-spacing:var(--ct-badge-spacing,.055em) !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  border-radius:var(--ct-badge-radius,999px) !important;
  border:1px solid var(--ct-badge-border,rgba(255,255,255,.24)) !important;
  padding:var(--ct-badge-py,5px) var(--ct-badge-px,9px) !important;
  background:var(--ct-badge-bg,#1d2430) !important;
  text-shadow:none !important;
  transform:none !important;
  filter:none !important;
  transition:box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease !important;
  box-shadow:
    0 5px 14px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 0 0 rgba(0,0,0,0) !important;
  animation:ctBadge255Glow 3.8s ease-in-out infinite !important;
}
.product-card-topline .product-badge[data-ct-badge-visual="gradient"],
.product-badges-pdp .product-badge[data-ct-badge-visual="gradient"],
.pm-badge-preview-stage .product-badge[data-ct-badge-visual="gradient"],
.pm-badge-library-trigger .product-badge[data-ct-badge-visual="gradient"] {
  background:linear-gradient(135deg,var(--ct-badge-bg,#1d2430),var(--ct-badge-gradient,#33465d)) !important;
}
.product-card-topline .product-badge[data-ct-badge-visual="glass"],
.product-badges-pdp .product-badge[data-ct-badge-visual="glass"],
.pm-badge-preview-stage .product-badge[data-ct-badge-visual="glass"],
.pm-badge-library-trigger .product-badge[data-ct-badge-visual="glass"] {
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.055)) !important;
  backdrop-filter:blur(8px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(8px) saturate(135%) !important;
}
.product-card-topline .product-badge[data-ct-badge-visual="metallic"],
.product-badges-pdp .product-badge[data-ct-badge-visual="metallic"],
.pm-badge-preview-stage .product-badge[data-ct-badge-visual="metallic"],
.pm-badge-library-trigger .product-badge[data-ct-badge-visual="metallic"] {
  background:linear-gradient(110deg,var(--ct-badge-bg,#454b55) 0%,#f0f2f4 48%,var(--ct-badge-gradient,#5a616b) 100%) !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
.product-card-topline .product-badge[data-ct-badge-visual="neon"],
.product-badges-pdp .product-badge[data-ct-badge-visual="neon"],
.pm-badge-preview-stage .product-badge[data-ct-badge-visual="neon"],
.pm-badge-library-trigger .product-badge[data-ct-badge-visual="neon"] {
  background:linear-gradient(135deg,var(--ct-badge-bg,#1d2430),var(--ct-badge-gradient,#33465d)) !important;
}
.product-card-topline .product-badge[data-ct-badge-visual="outline"],
.product-badges-pdp .product-badge[data-ct-badge-visual="outline"],
.pm-badge-preview-stage .product-badge[data-ct-badge-visual="outline"],
.pm-badge-library-trigger .product-badge[data-ct-badge-visual="outline"] {
  background:transparent !important;
  border-width:1.5px !important;
}
.product-card-topline .product-badge::before,
.product-badges-pdp .product-badge::before,
.pm-badge-preview-stage .product-badge::before,
.pm-badge-library-trigger .product-badge::before {
  content:var(--ct-badge-icon,"✦") !important;
  position:absolute !important;
  left:7px !important;
  top:50% !important;
  width:13px !important;
  height:13px !important;
  transform:translateY(-50%) !important;
  display:grid !important;
  place-items:center !important;
  color:var(--ct-badge-text,#fff) !important;
  -webkit-text-fill-color:var(--ct-badge-text,#fff) !important;
  font-family:system-ui,sans-serif !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  z-index:3 !important;
  opacity:.96 !important;
  pointer-events:none !important;
  text-shadow:none !important;
}
.product-card-topline .product-badge,
.product-badges-pdp .product-badge { padding-left:max(25px,var(--ct-badge-px,9px)) !important; }
.product-card-topline .product-badge::after,
.product-badges-pdp .product-badge::after,
.pm-badge-preview-stage .product-badge::after,
.pm-badge-library-trigger .product-badge::after {
  content:"" !important;
  position:absolute !important;
  top:-55% !important;
  bottom:-55% !important;
  left:-12% !important;
  width:20% !important;
  min-width:12px !important;
  border-radius:999px !important;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,.42) 45%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.42) 55%,rgba(255,255,255,0) 68%,transparent 100%) !important;
  transform:translate3d(-320%,0,0) skewX(-18deg) !important;
  mix-blend-mode:normal !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:4 !important;
  animation:ctBadge255Shine var(--ct-badge-speed,2.35s) linear infinite !important;
}
@keyframes ctBadge255Glow {
  0%,100% { box-shadow:0 5px 14px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.12),0 0 5px var(--ct-badge-glow-color-weak,rgba(0,0,0,0)); }
  50% { box-shadow:0 6px 16px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(0,0,0,.12),0 0 11px var(--ct-badge-glow-color-strong,rgba(0,0,0,0)); }
}
@keyframes ctBadge255Shine {
  0%,14% { transform:translate3d(-320%,0,0) skewX(-18deg); opacity:0; }
  22% { opacity:calc(.82 * var(--ct-badge-shine,1)); }
  34% { opacity:calc(.92 * var(--ct-badge-shine,1)); }
  48%,100% { transform:translate3d(620%,0,0) skewX(-18deg); opacity:0; }
}
.product-card-topline .product-badge[style*="--ct-badge-glow:0"],
.product-badges-pdp .product-badge[style*="--ct-badge-glow:0"],
.pm-badge-preview-stage .product-badge[style*="--ct-badge-glow:0"],
.pm-badge-library-trigger .product-badge[style*="--ct-badge-glow:0"] {
  animation:none !important;
  box-shadow:0 5px 14px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.12) !important;
}
.product-card-topline .product-badge[style*="--ct-badge-shine:0"]::after,
.product-badges-pdp .product-badge[style*="--ct-badge-shine:0"]::after,
.pm-badge-preview-stage .product-badge[style*="--ct-badge-shine:0"]::after,
.pm-badge-library-trigger .product-badge[style*="--ct-badge-shine:0"]::after { animation:none !important; opacity:0 !important; }
@media(prefers-reduced-motion:reduce){
  .product-card-topline .product-badge,.product-badges-pdp .product-badge,.pm-badge-preview-stage .product-badge,.pm-badge-library-trigger .product-badge,
  .product-card-topline .product-badge::after,.product-badges-pdp .product-badge::after,.pm-badge-preview-stage .product-badge::after,.pm-badge-library-trigger .product-badge::after { animation:none !important; }
}
