/* =========================================================
    Product Card Styling (Minimalist, Black, Grey, White)
   ========================================================= */

/* Global card styling */
.row.products a.card.text-decoration-none {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #1e1e1e !important;
  border: 1px solid #333 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3) !important;
  transition: box-shadow 0.25s ease, transform 0.2s ease;
}

/* Hover effect */
.row.products a.card.text-decoration-none:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .5) !important;
}

/* Image Area */
.row.products a.card.text-decoration-none .card-img-top {
  position: relative !important;
  padding: 8px !important;
  background: transparent !important;
}

.row.products a.card.text-decoration-none img.img-fluid {
  display: block !important;
  width: 100% !important;
  border-radius: 8px !important;
  border: 1px solid #444 !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .3) !important;
}

/* Subtle scanlines on image zone */
.row.products a.card.text-decoration-none .card-img-top::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 0;
  left: 8px;
  right: 8px;
  border-radius: 8px;
  pointer-events: none;
  opacity: 0.1;
  background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, .05) 0px, rgba(255, 255, 255, .05) 1px, transparent 1px, transparent 6px);
  mix-blend-mode: overlay;
}

/* Card Body */
.row.products a.card.text-decoration-none .card-body {
  position: relative !important;
  padding: 16px 20px 16px !important;
  background: #2c2c2c !important;
  color: #fff !important;
  border-top: 1px solid #444 !important;
  border-radius: 0 0 10px 10px;
}

/* Product Info */
.row.products a.card.text-decoration-none .card-body .info {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

/* Price Styling */
.row.products a.card.text-decoration-none .card-body .price {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-shadow: 0 0 6px rgba(0, 0, 0, .15) !important;
}

/* Stock Info Pill */
.row.products a.card.text-decoration-none .card-body .text-primary {
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  border-radius: 999px !important;
  background: #444 !important;
  border: 1px solid #555 !important;
  color: #fff !important;
}

/* Product Title Styling */
.row.products a.card.text-decoration-none .card-title,
.row.products a.card.text-decoration-none .card-body h5,
.row.products a.card.text-decoration-none .card-body h6 {
  margin: 0 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-weight: 800 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: #444 !important;
  border: 1px solid #555 !important;
}

/* Performance + Safe Modes */
@media (prefers-reduced-motion: reduce) {
  .row.products a.card.text-decoration-none::after {
    animation: none !important;
  }
}

@media (max-width: 768px) {
  .row.products a.card.text-decoration-none {
    padding: 12px !important;
    border-radius: 8px !important;
  }

  .row.products a.card.text-decoration-none .card-body .info {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
}