/* ==========================================================================
   ABMKeys WooCommerce Product Cards — Phase 5
   ========================================================================== */

/* Grid layout */
.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}
.products.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
}

/* Card base */
.abm-product-card,
ul.products li.product {
  background: var(--abm-white) !important;
  border: 1px solid var(--abm-border) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all 0.22s !important;
  box-shadow: var(--abm-shadow-sm) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}
ul.products li.product:hover {
  box-shadow: var(--abm-shadow-lg) !important;
  transform: translateY(-3px) !important;
  border-color: transparent !important;
}

/* Product image area */
ul.products li.product .woocommerce-LoopProduct-link img,
ul.products li.product .attachment-woocommerce_thumbnail {
  height: 118px !important;
  width: 100% !important;
  object-fit: contain !important;
  padding: 16px !important;
  background: linear-gradient(135deg, #EFF6FF, #DBEAFE) !important;
}

/* Product body padding */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .price,
ul.products li.product .button {
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* Brand / category label */
ul.products li.product .ast-woo-product-category {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--abm-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 18px 0 !important;
  margin: 0 !important;
}

/* Product title */
ul.products li.product .woocommerce-loop-product__title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--abm-ink) !important;
  line-height: 1.35 !important;
  padding-top: 6px !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

/* Price */
ul.products li.product .price {
  font-family: 'Syne', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--abm-blue) !important;
  margin: 8px 0 0 !important;
  border-top: 1px solid var(--abm-border);
  padding-top: 12px !important;
  margin-top: auto !important;
}
ul.products li.product .price del {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--abm-muted) !important;
  display: block !important;
  margin-bottom: 1px !important;
}
ul.products li.product .price ins {
  text-decoration: none !important;
  background: none !important;
}

/* Add to cart button */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  background: var(--abm-blue) !important;
  color: white !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  margin: 12px 18px 18px !important;
  transition: background 0.15s !important;
  display: inline-block !important;
  width: calc(100% - 36px) !important;
  text-align: center !important;
}
ul.products li.product .button:hover {
  background: var(--abm-blue-dark) !important;
  color: white !important;
}

/* Sale badge */
ul.products li.product .onsale {
  background: #FEE2E2 !important;
  color: #DC2626 !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  border-radius: 5px !important;
  padding: 3px 8px !important;
  top: 10px !important;
  left: 10px !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1.6 !important;
}
