/* ==========================================
   PREMIUM MARQUEE
========================================== */

.marquee-wrapper{
    overflow:hidden;
    white-space:nowrap;
    position:relative;
}

.marquee-track{
    display:flex;
    width:max-content;
    will-change:transform;
    animation:marquee 35s linear infinite;
}

.marquee-track:hover{
    animation-play-state:paused;
}

@keyframes marquee{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

/* Slow Bounce for Scroll Indicator */
@keyframes bounce-slow {
  0%, 100% { transform: translateY(0); opacity: 0.4; }
  50% { transform: translateY(10px); opacity: 1; }
}

.animate-bounce-slow {
  animation: bounce-slow 2s ease-in-out infinite;
}

/* Fade Up Stagger Helper */
[data-aos] {
  pointer-events: auto !important;
}

/* Product Card Hover Glow */
.product-card {
  transition: transform 0.5s ease;
}
.product-card:hover {
  transform: translateY(-4px);
}

/* Video Parallax Container */
.parallax-video-container {
  will-change: transform;
}

/* ==========================================
   LUXURY BUTTON SHINE
========================================== */

.shine-effect{
    position:relative;
    overflow:hidden;
}

.shine-effect::after{
    content:'';
    position:absolute;
    inset:-150%;
    background:linear-gradient(
        120deg,
        transparent 40%,
        rgba(255,255,255,.35) 50%,
        transparent 60%
    );
    transform:translateX(-100%);
    transition:transform .9s ease;
}

.shine-effect:hover::after{
    transform:translateX(100%);
}

/* ==========================================
   CATEGORY CARD LUXURY HOVER
========================================== */

.category-card img{
    transition:
        transform 1.2s cubic-bezier(.22,.61,.36,1),
        filter .8s ease;
}

.category-card:hover img{
    transform:scale(1.08);
}

.category-card .category-content{
    transition:transform .4s ease;
}

.category-card:hover .category-content{
    transform:translateY(-8px);
}


/* Marquee Animation */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.marquee-container {
  width: 100%;
  overflow: hidden;
}

.marquee-content {
  animation: marquee 30s linear infinite;
  will-change: transform;
}

/* Floating Particles */
@keyframes float-slow {
  0%, 100% { transform: translateY(0) translateX(0); opacity: 0.3; }
  50% { transform: translateY(-30px) translateX(10px); opacity: 0.6; }
}

@keyframes float-medium {
  0%, 100% { transform: translateY(0) translateX(0); opacity: 0.2; }
  50% { transform: translateY(-20px) translateX(-15px); opacity: 0.5; }
}

@keyframes float-fast {
  0%, 100% { transform: translateY(0) translateX(0); opacity: 0.2; }
  50% { transform: translateY(-40px) translateX(5px); opacity: 0.4; }
}

.animate-float-slow {
  animation: float-slow 8s ease-in-out infinite;
}

.animate-float-medium {
  animation: float-medium 6s ease-in-out infinite;
}

.animate-float-fast {
  animation: float-fast 4s ease-in-out infinite;
}

/* Parallax Background */
.parallax-bg {
  will-change: transform;
}

/* Fade Up Stagger */
[data-aos] {
  pointer-events: auto !important;
}

/* Button Shine */
.shine-effect {
  position: relative;
  overflow: hidden;
}
.shine-effect::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(to right, transparent, rgba(255,255,255,0.2), transparent);
  transform: rotate(30deg) translateX(-100%);
  transition: transform 0.6s;
}
.shine-effect:hover::after {
  transform: rotate(30deg) translateX(100%);
}

/* Image Zoom Transition */
#main-product-image {
  transition: opacity 0.3s ease, transform 0.7s ease;
}

/* Card Entrance */
@keyframes cardEntrance {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html {
    scroll-behavior: auto;
  }
  .marquee-content {
    animation: none;
  }
}