/* Hot sale marquee — shop/category pages do not load animate.css (WOW only on home, etc.) */
@keyframes infiniteScroll {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

.card-product .marquee-product .marquee-wrapper {
  animation: infiniteScroll 12s linear infinite;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .card-product .marquee-product .marquee-wrapper {
    animation: none;
  }
}

/* Show sliding hot-sale bar from tablet up (theme default was desktop-only at 1200px) */
@media (min-width: 768px) {
  .card-product .marquee-product {
    display: flex !important;
  }

  /* Hot sale + sizes: size strip sits above the marquee bar */
  .card-product.card-product-size:has(.marquee-product) .variant-wrap.size-list {
    bottom: 28px;
    z-index: 4;
  }

  .card-product.card-product-size:has(.marquee-product) .card-product-wrapper .list-btn-main {
    bottom: 68px;
  }
}

@media (min-width: 1200px) {
  .card-product.card-product-size:has(.marquee-product):hover .variant-wrap.size-list {
    bottom: 0;
  }

  .card-product.card-product-size:has(.marquee-product):hover .card-product-wrapper .list-btn-main {
    bottom: 44px;
  }
}

/* Mobile: circular add-to-cart icon — above size strip when present */
@media (max-width: 767px) {
  .card-product .card-product-wrapper .list-btn-main {
    position: absolute;
    bottom: 8px;
    right: 8px;
    left: auto;
    top: auto;
    width: auto;
    z-index: 6;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: flex;
    pointer-events: auto;
    gap: 0;
  }

  /* Products with sizes: float icon above the size bar (not on top of it) */
  .card-product.card-product-size .card-product-wrapper .list-btn-main {
    bottom: 48px !important;
    right: 8px !important;
  }

  .card-product .list-btn-main .jaf-card-add-btn {
    flex-grow: 0;
    width: 40px;
    height: 40px;
    min-width: 40px;
    max-width: 40px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
    background-color: var(--white);
    color: var(--main);
    display: flex !important;
    -webkit-box-orient: unset;
    -webkit-line-clamp: unset;
    overflow: visible;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
  }

  .card-product .list-btn-main .jaf-card-add-btn:hover,
  .card-product .list-btn-main .jaf-card-add-btn:focus-visible {
    background-color: var(--main);
    color: var(--white);
    border-color: var(--main);
  }

  .jaf-card-add-btn__label {
    display: none !important;
  }

  .jaf-card-add-btn__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 0;
  }

  .jaf-card-add-btn__icon svg {
    display: block;
    width: 20px;
    height: 20px;
  }

  .card-product.style-list .variant-wrap-list .jaf-list-card-add-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .jaf-card-add-btn__icon {
    display: none;
  }

  .jaf-card-add-btn__label {
    display: inline;
  }
}

.card-product-oos .card-product-wrapper .jaf-oos-badge {
  background-color: var(--secondary-2);
  color: var(--white);
}

.card-product-oos .list-btn-main {
  display: none;
}

/* Product details — stock */
.jaf-pd-stock-status {
  margin-top: 0.75rem;
}
.variant-picker-values .size-btn.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}
.jaf-size-oos-hint {
  display: block;
  font-size: 0.65rem;
  line-height: 1.2;
  opacity: 0.85;
}
.pd-product-actions__btns .is-disabled,
.tf-sticky-atc-btns .is-disabled {
  opacity: 0.55;
  pointer-events: none;
  cursor: not-allowed;
}
