/* ####################################################
:: Template Name: Essence - Fashion Ecommerce Template
:: Author: Colorlib
:: Author URL: https://colorlib.com
:: Description: Essence is smart & elegant fashion e-commerce Template. It's suitable for all e-commerce business platform.
:: Version: 1.0.0
:: Created: April 27, 2018
:: Last Updated: May 2, 2018
#################################################### */

/* ---------------------------------------
##### - PLACE YOUR CUSTOM CSS HERE - #####
--------------------------------------- */

/* Ensure catalog product images keep a consistent card aspect ratio */
.single-product-wrapper .product-img {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.single-product-wrapper .product-img::before {
  content: "";
  display: block;
  padding-top: 75%; /* 4:3 fallback for browsers without aspect-ratio support */
}

.single-product-wrapper .product-img img,
.single-product-wrapper .product-img .hover-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product-wrapper .product-img .hover-img {
  z-index: 2;
}

.product-main-image {
  height: 26rem;
}

.product-card-tight {
  padding-bottom: calc(1.5rem - 10px);
}

.add-to-cart-overlay,
.product-info-overlay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #f5f7fa;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.add-to-cart-overlay img,
.product-info-overlay img {
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.add-to-cart-overlay:hover,
.product-info-overlay:hover {
  background-color: #fbb710;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18);
}

.add-to-cart-overlay.loading,
.product-info-overlay.loading {
  opacity: 0.6;
  pointer-events: none;
}

.catalog-notification {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 5000;
  background: linear-gradient(135deg, #1a73e8, #4285f4);
  color: #fff;
  padding: 12px 18px;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 500;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.catalog-notification.visible {
  opacity: 1;
  transform: translateY(0);
}

.catalog-notification.error {
  background: linear-gradient(135deg, #ff4b5c, #d7263d);
}

.catalog-notification.success {
  background: linear-gradient(135deg, #00c851, #00a843);
}
