/* Bliss — Shop/Card styles (works with Woo Blocks + classic templates) */
:root {
  --bliss-radius: 16px;
  --bliss-card-pad: 14px;
  --bliss-border: 1px solid #e6e6e6;
  --bliss-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* Grid gap */
.wc-block-grid__products,
ul.products {
  gap: 1.25rem;
}

/* Card containers */
.wc-block-grid__product,
ul.products li.product {
  border: var(--bliss-border);
  border-radius: var(--bliss-radius);
  padding: var(--bliss-card-pad);
  background: #fff;
  transition: transform .12s ease, box-shadow .12s ease;
  position: relative;
}
.wc-block-grid__product:hover,
ul.products li.product:hover {
  transform: translateY(-2px);
  box-shadow: var(--bliss-shadow);
}

/* Images */
.wc-block-components-product-image img,
ul.products li.product a img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  aspect-ratio: 1 / 1;     /* modern, keeps thumbnails square */
  object-fit: cover;
  display: block;
}

/* Titles */
.wc-block-components-product-title,
ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  line-height: 1.3;
  margin: .6rem 0 .25rem;
  font-weight: 600;
}

/* Prices */
.wc-block-components-product-price,
ul.products li.product .price {
  font-weight: 700;
  margin-bottom: .5rem;
  display: block;
}

/* Buttons */
.wc-block-grid__product-add-to-cart .wp-element-button,
ul.products li.product .button {
  border-radius: 999px;
  padding: .55rem 1rem;
  line-height: 1.2;
}

/* Sale badge (both systems) */
.onsale,
.wc-block-components-product-sale-badge {
  position: absolute !important;
  top: .75rem;
  right: .75rem;
  left: auto;
  background: #e11d48 !important; /* rose-600 */
  color: #fff !important;
  border-radius: 999px !important;
  padding: .25rem .5rem !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 10px rgba(225,29,72,.25);
}

/* “New” badge from our PHP hook */
.bliss-badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
  padding: .28rem .55rem;
  font-size: .72rem;
  font-weight: 600;
  color: #fff;
  border-radius: 999px;
  background: #111;
  z-index: 2;
}

/* Filters/sort spacing (Blocks) */
.wc-block-active-filters,
.wc-block-product-catalog-sorting {
  margin-bottom: 1rem;
}

/* Responsive tweaks */
@media (max-width: 782px) {
  .wc-block-grid__products,
  ul.products { gap: 1rem; }
}