html {
  scroll-behavior: smooth;
}

[class*="rounded"] {
  border-radius: 5px !important;
}

body {
  scroll-padding-top: 80px;
}

#site-header.scrolled {
  box-shadow: 0 4px 20px rgba(11, 27, 51, 0.25);
}

@keyframes cart-badge-pop {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.5); }
  65%  { transform: scale(0.85); }
  100% { transform: scale(1); }
}
.cart-badge-pop {
  animation: cart-badge-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes cart-link-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}
.cart-link-pulse {
  animation: cart-link-pulse 0.35s ease;
}

.add-to-cart-btn {
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.15s ease;
}
.add-to-cart-btn:active {
  transform: scale(0.97);
}
.add-to-cart-btn.is-added {
  background-color: #16a34a !important;
  color: #ffffff !important;
}

/* ===== New Product Badge ===== */
.badge-new-sweep {
  position: relative;
  overflow: hidden;
}

.badge-new-sweep::after {
  content: '';
  position: absolute;
  inset: -60%;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.85) 50%, transparent 65%);
  transform: translateX(-160%);
  animation: badge-new-sweep-move 2.8s ease-in-out infinite;
}

@keyframes badge-new-sweep-move {
  0%, 40%  { transform: translateX(-160%); }
  70%, 100% { transform: translateX(160%); }
}

@media (prefers-reduced-motion: reduce) {
  .badge-new-sweep::after {
    animation: none;
    display: none;
  }
}
