/**
 * Page transitions + entrance motion.
 */

.adwatkm-page-veil {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: #0a1c33;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.adwatkm-theme.is-page-leaving .adwatkm-page-veil {
  opacity: 0.55;
  visibility: visible;
}

.adwatkm-main {
  animation: adwatkmPageIn 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes adwatkmPageIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.adwatkm-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.adwatkm-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.adwatkm-reveal--fade {
  transform: none;
}

.adwatkm-reveal--left {
  transform: translateX(18px);
}

.adwatkm-reveal--right {
  transform: translateX(-18px);
}

.adwatkm-reveal--left.is-visible,
.adwatkm-reveal--right.is-visible {
  transform: none;
}

/* Shop polish */
body.adwatkm-shop-page .adwatkm-shop-card {
  transition:
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

body.adwatkm-shop-page .adwatkm-shop-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}

body.adwatkm-shop-page .adwatkm-shop-card__img,
body.adwatkm-shop-page .adwatkm-shop-card__media img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

body.adwatkm-shop-page .adwatkm-shop-card:hover .adwatkm-shop-card__img,
body.adwatkm-shop-page .adwatkm-shop-card:hover .adwatkm-shop-card__media img {
  transform: scale(1.05);
}

body.adwatkm-shop-page .adwatkm-shop-card__cta {
  transition: filter 0.2s ease, transform 0.2s ease;
}

body.adwatkm-shop-page .adwatkm-shop-card:hover .adwatkm-shop-card__cta {
  transform: translateY(-1px);
}

body.adwatkm-shop-page .adwatkm-shop__cat {
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

body.adwatkm-shop-page .adwatkm-shop__cat:active {
  transform: scale(0.97);
}

@media (prefers-reduced-motion: reduce) {
  .adwatkm-main,
  .adwatkm-page-veil,
  .adwatkm-reveal,
  body.adwatkm-shop-page .adwatkm-shop-card,
  body.adwatkm-shop-page .adwatkm-shop-card__img,
  body.adwatkm-shop-page .adwatkm-shop-card__media img,
  body.adwatkm-shop-page .adwatkm-shop-card__cta,
  body.adwatkm-shop-page .adwatkm-shop__cat {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .adwatkm-theme.is-page-leaving .adwatkm-page-veil {
    opacity: 0 !important;
    visibility: hidden !important;
  }
}
