/* BCSHP v3.0.7 — WooCommerce product-archive card presentation only.
 * Enqueued only for Shop and product-taxonomy archives (including pagination).
 * Uses original product HTML/URLs, never touches a Builder preview or single product.
 * On each card: equal-size media box, no image crop, no truncated product name.
 */
#tm-main ul.products > li.product {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#tm-main ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
#tm-main ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  object-position: center;
}
#tm-main ul.products > li.product .woocommerce-loop-product__title {
  min-height: 3.75em;
  overflow-wrap: anywhere;
}
#tm-main ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .price {
  margin-top: auto;
}
#tm-main ul.products > li.product > .button-buy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  margin-top: 12px;
  margin-bottom: 0;
}
#tm-main ul.products > li.product > .button-buy > a:is(.button,.uk-button,.added_to_cart) {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto !important;
  max-width: 100%;
  min-width: 0 !important;
  min-height: 40px;
  height: auto;
  margin: 0 !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1.3 !important;
  text-transform: none !important;
  text-align: center;
  letter-spacing: normal;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
#tm-main ul.products > li.product > .button-buy > a:is(.button,.uk-button,.added_to_cart):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (max-width: 600px) {
  #tm-main ul.products > li.product > .button-buy { gap: 6px; }
  #tm-main ul.products > li.product > .button-buy > a:is(.button,.uk-button,.added_to_cart) {
    padding: 8px 7px !important;
    font-size: 11px !important;
  }
}
