/* MJT 2026 — Motion system (premium, respects reduced motion) */

/* Visible by default; JS enables entrance animation (avoids blank page if scripts fail). */
.mjt-fade-in {
  opacity: 1;
  transform: none;
}

html.mjt-js .mjt-fade-in:not(.is-visible) {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s var(--mjt-ease-out),
    transform 0.7s var(--mjt-ease-out);
}

.mjt-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.mjt-fade-in--left { transform: translateX(-20px); }
.mjt-fade-in--left.is-visible { transform: translateX(0); }
.mjt-fade-in--right { transform: translateX(20px); }
.mjt-fade-in--right.is-visible { transform: translateX(0); }
.mjt-fade-in--scale { transform: scale(0.97); }
.mjt-fade-in--scale.is-visible { transform: scale(1); }
.mjt-fade-in--blur {
  opacity: 0;
  transform: translateY(20px) scale(0.985);
  filter: blur(6px);
  transition:
    opacity 0.75s var(--mjt-ease-out),
    transform 0.75s var(--mjt-ease-out),
    filter 0.75s var(--mjt-ease-out);
}
.mjt-fade-in--blur.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.mjt-stagger > .mjt-fade-in:nth-child(1) { transition-delay: 0.04s; }
.mjt-stagger > .mjt-fade-in:nth-child(2) { transition-delay: 0.08s; }
.mjt-stagger > .mjt-fade-in:nth-child(3) { transition-delay: 0.12s; }
.mjt-stagger > .mjt-fade-in:nth-child(4) { transition-delay: 0.16s; }
.mjt-stagger > .mjt-fade-in:nth-child(5) { transition-delay: 0.2s; }
.mjt-stagger > .mjt-fade-in:nth-child(6) { transition-delay: 0.24s; }
.mjt-stagger > .mjt-fade-in:nth-child(7) { transition-delay: 0.28s; }
.mjt-stagger > .mjt-fade-in:nth-child(8) { transition-delay: 0.32s; }

.mjt-hover-lift {
  transition: transform var(--mjt-transition), box-shadow var(--mjt-transition);
}
.mjt-hover-lift:hover {
  transform: translateY(var(--mjt-lift-hover));
  box-shadow: var(--mjt-shadow-md);
}

.mjt-cat-tile,
.mjt-room-tile,
.mjt-category-card,
.mjt-testimonial-card,
.mjt-product-card__inner {
  transition: transform var(--mjt-transition), box-shadow var(--mjt-transition);
}

.mjt-category-card__image,
.mjt-cat-tile img,
.mjt-room-tile img {
  transform: translate3d(var(--mjt-float-x, 0), var(--mjt-float-y, 0), 0) scale(1.03);
  transition: transform 0.65s var(--mjt-ease-out);
}
.mjt-category-card:hover .mjt-category-card__image,
.mjt-cat-tile:hover img,
.mjt-room-tile:hover img {
  transform: translate3d(var(--mjt-float-x, 0), var(--mjt-float-y, 0), 0) scale(1.07);
}

/* Organic image masks + lively silhouettes */
.mjt-cat-tile,
.mjt-room-tile,
.mjt-category-card,
.mjt-collection-card,
.mjt-collections-room,
.mjt-page-split__media,
.mjt-about-gallery__item {
  position: relative;
}

.mjt-cat-tiles__grid > :nth-child(4n + 1),
.mjt-categories__grid:not(.mjt-categories__grid--premium) > :nth-child(4n + 1),
.mjt-collections-grid > :nth-child(4n + 1) {
  border-radius: 26px 18px 30px 14px / 22px 34px 16px 28px;
}
.mjt-cat-tiles__grid > :nth-child(4n + 2),
.mjt-categories__grid:not(.mjt-categories__grid--premium) > :nth-child(4n + 2),
.mjt-collections-grid > :nth-child(4n + 2) {
  border-radius: 16px 28px 18px 32px / 28px 18px 34px 16px;
}
.mjt-cat-tiles__grid > :nth-child(4n + 3),
.mjt-categories__grid:not(.mjt-categories__grid--premium) > :nth-child(4n + 3),
.mjt-collections-grid > :nth-child(4n + 3) {
  border-radius: 30px 16px 24px 20px / 18px 30px 20px 28px;
}
.mjt-cat-tiles__grid > :nth-child(4n + 4),
.mjt-categories__grid:not(.mjt-categories__grid--premium) > :nth-child(4n + 4),
.mjt-collections-grid > :nth-child(4n + 4) {
  border-radius: 20px 30px 14px 28px / 30px 14px 28px 20px;
}

@keyframes mjtFloatOrganic {
  0% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -8px, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

@keyframes mjtGlowSweep {
  0% { transform: translateX(-120%) rotate(8deg); opacity: 0; }
  25% { opacity: 0.24; }
  100% { transform: translateX(140%) rotate(8deg); opacity: 0; }
}

.mjt-collection-card::before,
.mjt-category-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -32%;
  width: 34%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.26), transparent);
  z-index: 3;
  pointer-events: none;
  opacity: 0;
}
.mjt-collection-card:hover::before,
.mjt-category-card:hover::before {
  animation: mjtGlowSweep 0.9s var(--mjt-ease-out);
}

.mjt-room-tile:hover,
.mjt-collection-card:hover {
  animation: mjtFloatOrganic 2.6s ease-in-out infinite;
}

/* Add to cart success pulse */
@keyframes mjtAtcSuccess {
  0% { transform: scale(1); }
  40% { transform: scale(1.03); }
  100% { transform: scale(1); }
}
.add_to_cart_button.is-added,
.mjt-product-card__actions .button.is-added {
  animation: mjtAtcSuccess 0.45s var(--mjt-ease-out);
  background: #2D6A4F !important;
}

/* Points counter */
.mjt-points-counter.is-animating {
  transition: color 0.3s ease;
  color: var(--mjt-color-gold);
}

.mjt-back-to-top {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 700;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--mjt-color-accent);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(143, 29, 29, 0.35);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background 0.2s ease;
}
.mjt-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mjt-back-to-top:hover {
  background: color-mix(in srgb, var(--mjt-color-accent) 85%, #000);
  transform: translateY(var(--mjt-lift-hover));
}

@media (prefers-reduced-motion: reduce) {
  .mjt-fade-in,
  .mjt-fade-in--left,
  .mjt-fade-in--right,
  .mjt-fade-in--scale,
  .mjt-fade-in--blur {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
  .mjt-hover-lift:hover,
  .mjt-category-card:hover,
  .mjt-cat-tile:hover,
  .mjt-room-tile:hover {
    transform: none;
  }
  .mjt-category-card:hover .mjt-category-card__image,
  .mjt-cat-tile:hover img,
  .mjt-room-tile:hover img {
    transform: none;
  }
  .mjt-room-tile:hover,
  .mjt-collection-card:hover,
  .mjt-collection-card:hover::before,
  .mjt-category-card:hover::before {
    animation: none !important;
  }
  .add_to_cart_button.is-added,
  .mjt-product-card__actions .button.is-added {
    animation: none;
  }
  .mjt-back-to-top:hover {
    transform: none;
  }
}
