/**
 * DomShop product cards — single source of truth.
 *
 * Surfaces: homepage, shop archive, related/upsells, cart & wishlist cross-sells.
 * Loaded last (enqueue priority 999) so WC/block skins cannot restyle cards.
 */

/* -------------------------------------------------------------------------- */
/* Grids                                                                       */
/* -------------------------------------------------------------------------- */

.ds-product-grid,
.woocommerce .related.products > ul.products,
.woocommerce .upsells.products > ul.products,
.woocommerce .ds-products ul.products,
.entry-content .ds-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  float: none !important;
}

.ds-product-grid::before,
.ds-product-grid::after,
.woocommerce .related.products > ul.products::before,
.woocommerce .related.products > ul.products::after,
.woocommerce .upsells.products > ul.products::before,
.woocommerce .upsells.products > ul.products::after,
.woocommerce .ds-products ul.products::before,
.woocommerce .ds-products ul.products::after {
  display: none !important;
  content: none !important;
}

/* Shop archive: cards join .ds-shop-flow columns (sidebar + products) */
.ds-shop-flow > ul.products,
.woocommerce .ds-shop-flow > ul.products,
.woocommerce-page .ds-shop-flow > ul.products {
  display: contents !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
  grid-template-columns: unset !important;
  gap: unset !important;
}

/* Hide WC sale flash — cards use .ds-sale-ribbon */
.ds-product-card span.onsale,
.woocommerce ul.products li.product.ds-product-card span.onsale,
.woocommerce .related.products span.onsale,
.woocommerce .upsells.products span.onsale {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Card shell                                                                  */
/* -------------------------------------------------------------------------- */

.ds-product-card,
body.woocommerce ul.products li.product.ds-product-card,
body.woocommerce-page ul.products li.product.ds-product-card,
body.woocommerce-cart ul.products li.product.ds-product-card,
body.woocommerce-checkout ul.products li.product.ds-product-card {
  --ds-card-pad: 14px;
  display: flex !important;
  flex-direction: column;
  background: #fff !important;
  color: var(--ds-text) !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 14px !important;
  overflow: hidden;
  padding: var(--ds-card-pad) !important;
  position: relative;
  list-style: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  text-align: left !important;
  box-shadow: none;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.ds-product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 6px;
  padding: 12px 2px 2px;
  color: var(--ds-text);
  text-align: left !important;
  min-width: 0;
}

.ds-product-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--ds-peach-soft);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0;
  margin: 0;
}

.ds-product-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 18px;
}

.ds-product-card__media img,
body.woocommerce ul.products li.product.ds-product-card img,
body.woocommerce-page ul.products li.product.ds-product-card img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain;
  margin: 0 auto !important;
  display: block !important;
  transition: transform 0.45s ease;
}

/* -------------------------------------------------------------------------- */
/* Hover / focus                                                               */
/* -------------------------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
  .ds-product-card:hover,
  body.woocommerce ul.products li.product.ds-product-card:hover,
  body.woocommerce-page ul.products li.product.ds-product-card:hover,
  body.woocommerce-cart ul.products li.product.ds-product-card:hover {
    background: #fff !important;
    color: var(--ds-text) !important;
    border-color: rgba(166, 94, 56, 0.28) !important;
    box-shadow: 0 14px 36px rgba(17, 17, 17, 0.08);
    transform: translateY(-3px);
  }

  .ds-product-card:hover .ds-product-card__title,
  body.woocommerce ul.products li.product.ds-product-card:hover .ds-product-card__title {
    color: var(--ds-brand) !important;
  }

  .ds-product-card:hover .ds-product-card__media img {
    transform: scale(1.06);
  }

  .ds-product-card:hover .ds-product-card__actions {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

.ds-product-card:focus-within {
  border-color: rgba(166, 94, 56, 0.28) !important;
  box-shadow: 0 0 0 3px rgba(166, 94, 56, 0.18);
}

/* -------------------------------------------------------------------------- */
/* Ribbon / badges / stock                                                     */
/* Layout: sale top-left, New/Featured top-right, stock bottom-left            */
/* -------------------------------------------------------------------------- */

.ds-sale-ribbon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 78px;
  height: 78px;
  overflow: hidden;
  pointer-events: none;
}

.ds-sale-ribbon__text {
  position: absolute;
  top: 14px;
  left: -28px;
  width: 110px;
  padding: 4px 0;
  background: #e31c23;
  color: #fff;
  font-family: var(--ds-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  transform: rotate(-45deg);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

.ds-product-card__badges {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  max-width: calc(100% - 90px);
  pointer-events: none;
}

.ds-badge-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ds-font);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  padding: 6px 9px;
  border-radius: 999px;
  white-space: nowrap;
}

.ds-badge-tag--new {
  background: var(--ds-brand);
  color: #fff;
}

.ds-badge-tag--feat {
  background: var(--ds-gold);
  color: #111;
}

.ds-product-card__stock {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 3;
  background: rgba(17, 17, 17, 0.88);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 999px;
  max-width: calc(100% - 64px);
}

/* -------------------------------------------------------------------------- */
/* Actions (+ / wishlist)                                                      */
/* -------------------------------------------------------------------------- */

.ds-product-card__actions {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.22s ease, transform 0.22s ease;
  pointer-events: none;
}

@media (hover: none), (pointer: coarse) {
  .ds-product-card__actions {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

.ds-product-card:focus-within .ds-product-card__actions {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

/*
 * Cart bag — same chrome as wishlist heart.
 * Empty outline when not in cart; filled brand bag when .is-in-cart / .added.
 * Icon never flips to white (avoids invisible-on-white hover bugs).
 */
.ds-product-card__action--cart .button,
.ds-product-card__action--cart a.button,
.ds-product-card__action--cart a.button.add_to_cart_button,
.ds-product-card__action--cart .add_to_cart_button,
.ds-product-card__action--cart a.added_to_cart,
body.woocommerce .ds-product-card .ds-product-card__action--cart .button,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.button,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button,
body.woocommerce .ds-product-card .ds-product-card__action--cart .add_to_cart_button,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.added_to_cart,
body.woocommerce-page .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart .add_to_cart_button,
body.woocommerce ul.products li.product.ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button {
  display: block !important;
  align-items: unset !important;
  justify-content: unset !important;
  gap: 0 !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  color: transparent !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 16px rgba(17, 17, 17, 0.1) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-indent: 0 !important;
  position: relative !important;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.ds-product-card__action--cart .button::before,
.ds-product-card__action--cart a.button::before,
.ds-product-card__action--cart a.button.add_to_cart_button::before,
.ds-product-card__action--cart .add_to_cart_button::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart .button::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.button::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart .add_to_cart_button::before,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button::before,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart .add_to_cart_button::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 8.5h11l-1 11h-9l-1-11z' stroke='%23111111' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M9.5 8.5V7.2a2.5 2.5 0 0 1 5 0v1.3' stroke='%23111111' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  speak: never;
}

.ds-product-card__action--cart.is-in-cart .button::before,
.ds-product-card__action--cart.is-in-cart a.button::before,
.ds-product-card__action--cart.is-in-cart .add_to_cart_button::before,
.ds-product-card__action--cart .button.added::before,
.ds-product-card__action--cart a.button.added::before,
.ds-product-card__action--cart .add_to_cart_button.added::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart.is-in-cart .button::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart.is-in-cart a.button::before,
body.woocommerce .ds-product-card .ds-product-card__action--cart .button.added::before,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart.is-in-cart .button::before,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart .button.added::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23a65e38' d='M6.5 8.5h11l-1 11h-9l-1-11z'/%3E%3Cpath fill='none' stroke='%23a65e38' stroke-width='1.8' stroke-linecap='round' d='M9.5 8.5V7.2a2.5 2.5 0 0 1 5 0v1.3'/%3E%3C/svg%3E") !important;
}

.ds-product-card__action--cart .button > *,
.ds-product-card__action--cart a.button > *,
.ds-product-card__action--cart a.added_to_cart,
body.woocommerce .ds-product-card__action--cart .button > *,
body.woocommerce .ds-product-card__action--cart a.button > *,
body.woocommerce .ds-product-card__action--cart a.added_to_cart {
  display: none !important;
}

.ds-product-card .ds-product-card__action--cart .button:hover,
.ds-product-card .ds-product-card__action--cart a.button:hover,
.ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button:hover,
.ds-product-card .ds-product-card__action--cart .add_to_cart_button:hover,
.ds-product-card:hover .ds-product-card__action--cart .button,
.ds-product-card:hover .ds-product-card__action--cart a.button,
.ds-product-card:hover .ds-product-card__action--cart .add_to_cart_button,
.ds-product-card:hover .ds-product-card__action--cart a.button:hover,
.ds-product-card:hover .ds-product-card__action--cart a.button.add_to_cart_button:hover,
.ds-product-card .ds-product-card__action--cart .button:focus-visible,
.ds-product-card .ds-product-card__action--cart a.button:focus-visible,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.button:hover,
body.woocommerce .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button:hover,
body.woocommerce .ds-product-card:hover .ds-product-card__action--cart a.button,
body.woocommerce .ds-product-card:hover .ds-product-card__action--cart a.button:hover,
body.woocommerce .ds-product-card:hover .ds-product-card__action--cart a.button.add_to_cart_button:hover,
body.woocommerce-cart .ds-product-card .ds-product-card__action--cart a.button:hover,
body.woocommerce-cart .ds-product-card:hover .ds-product-card__action--cart a.button:hover,
body.woocommerce-cart .ds-product-card:hover .ds-product-card__action--cart a.button.add_to_cart_button:hover {
  background: #fff !important;
  border-color: var(--ds-brand) !important;
  color: transparent !important;
  box-shadow: 0 8px 20px rgba(166, 94, 56, 0.28) !important;
  outline: none;
}

.ds-product-card .ds-product-card__action--cart .button:focus-visible,
.ds-product-card .ds-product-card__action--cart a.button:focus-visible {
  box-shadow: 0 0 0 3px rgba(166, 94, 56, 0.35) !important;
}

/* Wishlist heart — same chrome as cart bag */
.ds-product-card__action--wish {
  position: relative;
  width: 40px;
  height: 40px;
}

.ds-product-card__action--wish .yith-wcwl-add-to-wishlist,
.ds-product-card__action--wish .yith-add-to-wishlist-button-block {
  margin: 0 !important;
  line-height: 0;
  width: 40px;
  height: 40px;
}

.ds-product-card__action--wish .yith-wcwl-add-button,
.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse {
  margin: 0 !important;
  width: 40px;
  height: 40px;
  position: relative;
}

.ds-product-card__action--wish .yith-wcwl-tooltip,
.ds-product-card__action--wish .separator,
.ds-product-card__action--wish .feedback,
.ds-product-card__action--wish .view-wishlist,
.ds-product-card__action--wish .yith-wcwl-add-to-wishlist-button__label {
  display: none !important;
}

.ds-product-card__action--wish a,
.ds-product-card__action--wish button {
  display: grid !important;
  place-items: center;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 16px rgba(17, 17, 17, 0.1);
  color: transparent !important;
  text-decoration: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.ds-product-card__action--wish a > *,
.ds-product-card__action--wish button > *,
.ds-product-card__action--wish .yith-wcwl-icon,
.ds-product-card__action--wish svg,
.ds-product-card__action--wish img,
.ds-product-card__action--wish i {
  display: none !important;
}

.ds-product-card__action--wish a::before,
.ds-product-card__action--wish button::before,
.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse::before,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12.1 20.3S4 15.2 4 9.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5c0 5.7-8.1 10.8-8.1 10.8z' stroke='%23111111' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ds-product-card__action--wish a:hover,
.ds-product-card__action--wish button:hover,
.ds-product-card__action--wish a:focus-visible,
.ds-product-card__action--wish button:focus-visible {
  background: #fff !important;
  border-color: var(--ds-brand) !important;
  box-shadow: 0 8px 20px rgba(166, 94, 56, 0.28);
}

.ds-product-card__action--wish a:hover::before,
.ds-product-card__action--wish button:hover::before,
.ds-product-card__action--wish a:focus-visible::before,
.ds-product-card__action--wish button:focus-visible::before {
  /* Keep dark heart — never white-on-white */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12.1 20.3S4 15.2 4 9.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5c0 5.7-8.1 10.8-8.1 10.8z' stroke='%23111111' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ds-product-card__action--wish.is-in-wishlist a,
.ds-product-card__action--wish .yith-wcwl-add-to-wishlist.exists a,
.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 10px;
  box-shadow: 0 6px 16px rgba(17, 17, 17, 0.1);
}

.ds-product-card__action--wish.is-in-wishlist a::before,
.ds-product-card__action--wish .yith-wcwl-add-to-wishlist.exists a::before,
.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse::before,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse::before,
.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse a::before,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23a65e38' d='M12.1 20.3S4 15.2 4 9.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5c0 5.7-8.1 10.8-8.1 10.8z'/%3E%3C/svg%3E");
}

.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse {
  display: grid !important;
  place-items: center;
}

.ds-product-card__action--wish .yith-wcwl-wishlistaddedbrowse > a,
.ds-product-card__action--wish .yith-wcwl-wishlistexistsbrowse > a {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Title / price / meta                                                        */
/* -------------------------------------------------------------------------- */

.ds-product-card__title,
body.woocommerce .ds-product-card__title,
body.woocommerce-cart .ds-product-card__title,
body.woocommerce a.ds-product-card__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: var(--ds-font) !important;
  font-weight: 650 !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  color: var(--ds-text) !important;
  text-align: left !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.ds-product-card__excerpt {
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--ds-muted) !important;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ds-product-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-top: auto;
  padding-top: 4px;
}

.ds-product-card__price,
.ds-product-card__price .price,
.ds-product-card__price .amount,
.ds-product-card__price ins,
.ds-product-card__price ins .amount,
body.woocommerce .ds-product-card__price,
body.woocommerce .ds-product-card__price .price,
body.woocommerce .ds-product-card__price .amount,
body.woocommerce .ds-product-card__price ins,
body.woocommerce .ds-product-card__price ins .amount,
body.woocommerce ul.products li.product .ds-product-card__price,
body.woocommerce ul.products li.product .ds-product-card__price .amount,
body.woocommerce-cart .ds-product-card__price,
body.woocommerce-cart .ds-product-card__price .amount {
  font-weight: 700 !important;
  color: var(--ds-text) !important;
  font-size: 1.02rem !important;
  text-align: left !important;
  text-decoration: none !important;
}

.ds-product-card__price ins,
.ds-product-card__price ins .amount,
body.woocommerce .ds-product-card__price ins .amount {
  color: var(--ds-brand) !important;
}

.ds-product-card__price del,
.ds-product-card__price del .amount,
body.woocommerce .ds-product-card__price del,
body.woocommerce .ds-product-card__price del .amount,
body.woocommerce ul.products li.product .ds-product-card__price del,
body.woocommerce ul.products li.product .ds-product-card__price del .amount {
  color: var(--ds-muted) !important;
  font-size: 0.82rem !important;
  margin-left: 6px;
  font-weight: 500 !important;
}

.ds-product-card__rating {
  color: var(--ds-brand-dark);
  font-size: 0.82rem;
  font-weight: 600;
  white-space: nowrap;
}

/* -------------------------------------------------------------------------- */
/* Related / upsells section                                                   */
/* -------------------------------------------------------------------------- */

.woocommerce .related.products,
.woocommerce .upsells.products {
  margin-top: 56px;
  clear: both;
  width: 100%;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
  font-family: var(--ds-font);
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  font-weight: 700;
  margin: 0 0 22px;
  text-align: center;
  color: var(--ds-text);
  letter-spacing: -0.02em;
}

/* -------------------------------------------------------------------------- */
/* Motion preference                                                           */
/* -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .ds-product-card,
  .ds-product-card__media img,
  .ds-product-card__actions,
  .ds-product-card__title {
    transition: none !important;
  }

  .ds-product-card:hover {
    transform: none;
  }

  .ds-product-card:hover .ds-product-card__media img {
    transform: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                  */
/* -------------------------------------------------------------------------- */

/*
 * Widget / homepage / related grids (NOT shop-flow).
 * Align with shop: 4 → 3 → 2 → 1 so cards stay readable on phones.
 */
/* Cart inline cross-sells sit in a ~65% column — keep 2 cards, not 4. */
body.woocommerce-cart .ds-products--cart-inline .ds-product-grid,
body.woocommerce-cart .ds-products--cart-inline ul.products {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 1200px) {
  .ds-product-grid,
  .woocommerce .related.products > ul.products,
  .woocommerce .upsells.products > ul.products,
  .woocommerce .ds-products ul.products,
  .entry-content .ds-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.woocommerce-cart .ds-products--cart-inline .ds-product-grid,
  body.woocommerce-cart .ds-products--cart-inline ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .ds-product-grid,
  .woocommerce .related.products > ul.products,
  .woocommerce .upsells.products > ul.products,
  .woocommerce .ds-products ul.products,
  .entry-content .ds-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 768px) {
  .ds-product-card,
  body.woocommerce ul.products li.product.ds-product-card {
    --ds-card-pad: 12px;
    border-radius: 12px !important;
  }

  .ds-product-card__image {
    padding: 14px;
  }

  .ds-product-card__action--cart .button,
  .ds-product-card__action--cart a.button,
  .ds-product-card__action--wish,
  .ds-product-card__action--wish a,
  .ds-product-card__action--wish button,
  body.woocommerce .ds-product-card .ds-product-card__action--cart a.button.add_to_cart_button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }
}

@media (max-width: 560px) {
  .ds-product-grid,
  .woocommerce .related.products > ul.products,
  .woocommerce .upsells.products > ul.products,
  .woocommerce .ds-products ul.products,
  .entry-content .ds-products ul.products {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.woocommerce-cart .ds-products--cart-inline .ds-product-grid,
  body.woocommerce-cart .ds-products--cart-inline ul.products {
    grid-template-columns: 1fr !important;
  }
}
