/* =========================
   PRODUCTS GRID
========================= */
.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

/* =========================
   PRODUCT CARD
========================= */
.product {
  background: rgba(25, 25, 25, 0.45);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 16px;
  overflow: hidden;

  cursor: pointer;

  display: flex;
  flex-direction: column;

  transition: all 0.25s ease;

  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.product:hover {
  transform: translateY(-4px);

  border-color: rgba(255, 255, 255, 0.15);

  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}

/* =========================
   IMAGE
========================= */
.product-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.04);
}

.product-image img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;

  display: block;
}

/* =========================
   TITLE
========================= */
.product h3 {
  font-size: 20px;
  font-weight: 400;

  margin: 18px 18px 10px;

  line-height: 1.4;

  color: #fff;
}

/* =========================
   PRICE
========================= */
.product .price {
  margin: 0 18px 12px;

  font-size: 18px;
  font-weight: 400;

  color: #fff;
}

/* =========================
   DESCRIPTION
========================= */
.product-description {
  padding: 0 18px 18px;

  color: rgba(255, 255, 255, 0.72);

  font-size: 14px;
  line-height: 1.6;
}
