/* ============================= */
/* PHOTOKIT — Woo Shop as Gallery */
/* ============================= */

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

@media (max-width: 980px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* Card reset */
.woocommerce ul.products li.product {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

/* Make the whole tile a “frame” */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

/* Image */
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  transform: scale(1);
  transition: transform .7s ease;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.04);
}

/* Hide everything that makes it look like “a store grid” */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product-category {
  display: none !important;
}

/* Move title + price into overlay mode even if Astra places them outside the link */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  z-index: 5 !important;
  color: #fff !important;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none; /* prevents weird hover flicker */
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  bottom: 44px !important;
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}

.woocommerce ul.products li.product .price {
  bottom: 16px !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: rgba(255,255,255,.92) !important;
}

/* Gradient overlay on the PRODUCT TILE itself (not the link) */
.woocommerce ul.products li.product::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.70), rgba(0,0,0,0));
  opacity: 0;
  transition: opacity .35s ease;
  z-index: 3;
}

.woocommerce ul.products li.product:hover::after {
  opacity: 1;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover .price {
  opacity: 1;
  transform: translateY(0);
}

/* Sale badge */
.woocommerce span.onsale {
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  min-height: unset !important;
  line-height: 1 !important;
  font-size: 12px !important;
  z-index: 6 !important;
}

/* Optional: clean link underlines */
.woocommerce ul.products li.product a {
  text-decoration: none !important;
}