.wcdpt-products > .wcdpt-card.wcdpt-ready {
  will-change: transform, opacity, filter;
  transition-property: opacity, transform, filter;
  transition-duration: 680ms;
  transition-timing-function: cubic-bezier(.2, .8, .2, 1);
  transition-delay: var(--wcdpt-delay, 0ms);
}

.wcdpt-products > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  opacity: 0;
  pointer-events: none;
}

.wcdpt-effect-fade-up > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  transform: translateY(34px);
}

.wcdpt-effect-zoom-in > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  transform: scale(.88);
}

.wcdpt-effect-slide-left > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  transform: translateX(42px);
}

.wcdpt-effect-flip-in {
  perspective: 1200px;
}

.wcdpt-effect-flip-in > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  transform: rotateX(18deg) translateY(28px);
  transform-origin: center bottom;
}

.wcdpt-effect-blur-rise > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  transform: translateY(26px) scale(.98);
  filter: blur(10px);
}

.wcdpt-effect-cascade > .wcdpt-card.wcdpt-ready:not(.wcdpt-visible) {
  transform: translateY(22px) scale(.96) rotate(-.5deg);
  filter: saturate(.7);
}

.wcdpt-products > .wcdpt-card.wcdpt-visible {
  opacity: 1;
  transform: none;
  filter: none;
}

.wcdpt-status {
  min-height: 32px;
  margin: 24px auto;
  text-align: center;
  font-size: 14px;
  opacity: .78;
}

.wcdpt-status.is-active::after {
  content: '';
  display: inline-block;
  width: 1.4em;
  text-align: left;
  animation: wcdpt-dots 1.1s steps(4, end) infinite;
}

.wcdpt-sentinel {
  height: 1px;
}

.wcdpt-hidden-pagination {
  display: none !important;
}

@keyframes wcdpt-dots {
  0% { content: ''; }
  25% { content: '.'; }
  50% { content: '..'; }
  75%, 100% { content: '...'; }
}

@media (prefers-reduced-motion: reduce) {
  .wcdpt-products > .wcdpt-card.wcdpt-ready {
    transition: none;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
}
