/* Motion that follows the existing floral branding without changing card layout. */
.gallery figure,
.catalog-card {
  transition: translate .45s cubic-bezier(.2,.7,.2,1),
    box-shadow .45s ease, border-color .35s ease;
}

.gallery figure img,
.catalog-card .product-image-button img {
  transition: transform .65s cubic-bezier(.2,.7,.2,1),
    filter .5s ease;
}

.gallery figcaption {
  transition: color .3s ease, translate .35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .gallery figure:hover {
    translate: 0 -8px;
  }

  .gallery figure:hover img,
  .gallery .scroll-reveal.is-visible:hover img {
    transform: scale(1.035);
    filter: saturate(1.08);
    box-shadow: 0 20px 35px rgba(89, 45, 67, .18);
  }

  .gallery figure:hover figcaption {
    color: #a70d60;
    translate: 0 2px;
  }

  .catalog-card:hover {
    translate: 0 -7px;
    border-color: #d9a7bc;
    box-shadow: 0 23px 42px rgba(89, 45, 67, .18);
  }

  .catalog-card:hover .product-image-button img {
    transform: scale(1.045);
    filter: saturate(1.07);
  }

  .catalog-card:hover h4 {
    color: #a70d60;
  }
}

.catalog-card h4 {
  transition: color .3s ease;
}

@media (prefers-reduced-motion: reduce) {
  .gallery figure,
  .catalog-card,
  .gallery figure img,
  .catalog-card .product-image-button img,
  .gallery figcaption,
  .catalog-card h4 {
    transition: none !important;
  }

  .gallery figure:hover,
  .catalog-card:hover,
  .gallery figure:hover figcaption {
    translate: none;
  }

  .gallery figure:hover img,
  .catalog-card:hover .product-image-button img {
    transform: none;
  }
}
