/* Phase 6: premium, page-specific motion for Paper product details. */
.product-detail-motion { overflow: clip; }

.product-detail-motion .product-gallery__main { position: relative; isolation: isolate; }
.product-detail-motion .product-gallery__main::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(112deg, transparent 20%, rgb(255 255 255 / 64%) 48%, transparent 72%);
  content: "";
  pointer-events: none;
  transform: translateX(-130%);
}

.product-detail-motion .product-gallery__main img {
  transition: transform 900ms cubic-bezier(.2, .7, .2, 1), filter 700ms ease;
}

.product-detail-motion .product-gallery__main:hover img { transform: scale(1.025); }

.product-detail-motion .product-gallery__thumb {
  transition: border-color 280ms ease, transform 420ms cubic-bezier(.2, .7, .2, 1), box-shadow 420ms ease;
}

.product-detail-motion .product-gallery__thumb:hover {
  transform: translateY(-.25rem);
  box-shadow: 0 .75rem 1.5rem rgb(83 43 19 / 14%);
}

.product-detail-motion .product-info { position: relative; overflow: hidden; }
.product-detail-motion .product-info::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: .22rem;
  background: linear-gradient(180deg, var(--pc-primary), var(--pc-accent));
  content: "";
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1100ms cubic-bezier(.16, 1, .3, 1) 280ms;
}

.product-detail-motion .product-specs tr { transition: background-color 240ms ease; }
.product-detail-motion .product-specs tr:hover { background: rgb(254 85 0 / 5%); }

.product-detail-motion .product-detail__full-desc { position: relative; }
.product-detail-motion .product-detail__full-desc::before {
  position: absolute;
  top: 0;
  left: clamp(1.5rem, 3vw, 2.75rem);
  width: 4.25rem;
  height: .2rem;
  background: var(--pc-primary);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 950ms cubic-bezier(.16, 1, .3, 1) 350ms;
}

.product-detail-motion .related-products__title { position: relative; display: inline-block; }
.product-detail-motion .related-products__title::after {
  display: block;
  width: 100%;
  height: .16rem;
  margin-top: .55rem;
  background: var(--pc-primary);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 900ms cubic-bezier(.16, 1, .3, 1) 220ms;
}

.product-motion-ready [data-product-reveal] {
  opacity: 0;
  transform: translateY(2.25rem);
  transition: opacity 900ms ease, transform 1100ms cubic-bezier(.16, 1, .3, 1);
}

.product-motion-ready [data-product-reveal="gallery"] { transform: translateX(-2.5rem); }
.product-motion-ready [data-product-reveal="panel"] { transform: translateX(2.5rem); }
.product-motion-ready [data-product-reveal="description"] { transform: translateY(2.75rem); }
.product-motion-ready [data-product-reveal="related"] { transform: none; }

.product-motion-ready [data-product-reveal].product-is-visible { opacity: 1; transform: none; }

.product-motion-ready [data-product-reveal="gallery"].product-is-visible .product-gallery__main::after {
  animation: product-gallery-sheen 1350ms cubic-bezier(.2, .7, .2, 1) 700ms both;
}

.product-motion-ready [data-product-reveal="panel"].product-is-visible::before { transform: scaleY(1); }

.product-motion-ready [data-product-detail-item] {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 680ms ease, transform 820ms cubic-bezier(.16, 1, .3, 1);
  transition-delay: calc(280ms + var(--product-item-delay, 0ms));
}

.product-motion-ready .product-is-visible [data-product-detail-item] { opacity: 1; transform: none; }

.product-motion-ready [data-product-specs] tbody tr {
  opacity: 0;
  transform: translateX(1rem);
  transition: opacity 560ms ease, transform 720ms cubic-bezier(.16, 1, .3, 1), background-color 240ms ease;
  transition-delay: calc(540ms + var(--product-row-delay, 0ms));
}

.product-motion-ready .product-is-visible [data-product-specs] tbody tr { opacity: 1; transform: none; }
.product-motion-ready [data-product-reveal="description"].product-is-visible::before,
.product-motion-ready [data-product-reveal="related"].product-is-visible .related-products__title::after { transform: scaleX(1); }

.product-motion-ready [data-related-product] {
  opacity: 0;
  transform: translateY(2rem) scale(.985);
  transition: opacity 720ms ease, transform 950ms cubic-bezier(.16, 1, .3, 1), box-shadow 300ms ease;
  transition-delay: var(--product-card-delay, 0ms);
}

.product-motion-ready .product-is-visible [data-related-product] { opacity: 1; transform: none; }

@keyframes product-gallery-sheen {
  from { transform: translateX(-130%); }
  to { transform: translateX(130%); }
}

@media (max-width: 47.99rem) {
  .product-motion-ready [data-product-reveal="gallery"],
  .product-motion-ready [data-product-reveal="panel"] { transform: translateY(2rem); }
  .product-motion-ready [data-product-reveal].product-is-visible { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail-motion *,
  .product-detail-motion *::before,
  .product-detail-motion *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }

  .product-motion-ready [data-product-reveal],
  .product-motion-ready [data-product-detail-item],
  .product-motion-ready [data-product-specs] tbody tr,
  .product-motion-ready [data-related-product] { opacity: 1; transform: none; }
}
