/* WooCommerce default UL loop → responsive grid (scoped to shop + product taxonomies) */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}
@media (min-width: 1280px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}
.woocommerce ul.products li.product { list-style: none; margin: 0; }

/* Sale badge for loop items */
.woocommerce ul.products li.product .onsale {
  position: absolute; top: .75rem; left: .75rem; z-index: 2;
  background-color: #205258; color: #fff; border-radius: 9999px; padding: .25rem .5rem; font-size: .6875rem; font-weight: 600;
}

/* Remove underline on product card links and prices */
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .woocommerce-Price-amount { text-decoration: none; }

/* Loop price styling: bold new price, thin struck-through old price */
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount {
  text-decoration: none;
  font-weight: 700;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
  text-decoration: line-through;
  color: #64748b; /* slate-500 */
  font-weight: 400;
}

/* Minimal styling for top filters (result count + ordering) */
.woocommerce .woocommerce-result-count {
  margin: 1rem 0 .5rem;
  color: #64748b; /* slate-500 */
  font-size: .875rem; /* text-sm */
}
.woocommerce .woocommerce-ordering {
  margin: 1rem 0 .5rem;
}
.woocommerce .woocommerce-ordering select {
  border: 1px solid #e2e8f0; /* slate-200 */
  background-color: #fff;
  padding: .5rem .75rem;
  border-radius: 9999px; /* full */
  font-size: .875rem; /* text-sm */
  color: #0f172a; /* slate-900 */
}
@media (min-width: 768px) {
  .woocommerce .woocommerce-result-count { margin-top: 1.25rem; }
  .woocommerce .woocommerce-ordering { margin-top: 1.25rem; }
}
