.product-card{
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: calc(0.625rem * var(--body-scale));
  z-index: 0;
}
.product-card .media-container,
.product-card .placeholder-container{
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: calc(0.2px * var(--layout-radius));
}
.product-card .placeholder-container{
  box-sizing: content-box;
  background-color: rgb(var(--secondary-background) / 0.2);
}
.product-card.adapt .media-container{
  flex-grow: 1;
}
.product-card .text-container{
  display: flex;
  flex-direction: column;
}
.product-card:not(.adapt) .text-container{
  flex-grow: 1;
  justify-content: flex-start;
}
.product-card .media-container.media-background,
.product-card .placeholder-container.media-background{
  background-color: rgb(var(--secondary-background));
}
.product-card img{
  width: 100%;
  height: auto;
}
.product-card .media-container{
  position: relative;
  z-index: 0;
}
.product-card .media-container img:nth-child(2){
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0;
}
.product-card .media-container img:nth-child(2).image-aspect-ratio-adapt{
  max-height: 100%;
}
.product-card .media-container img:nth-child(2).image-aspect-ratio-adapt.image-fit-cover{
  object-fit: contain;
}
.product-card .media-container.image-fit-cover svg{
  width: 100%;
  height: 100%;
}
.product-card .placeholder-container:not(.image-aspect-ratio-adapt){
  position: relative;
}
.product-card .placeholder-container:not(.image-aspect-ratio-adapt) svg{
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
}
.product-card .placeholder-container:not(.image-aspect-ratio-adapt).image-fit-cover svg{
  width: 100%;
  height: 100%;
}
.product-card .placeholder-container.image-fit-contain svg{
  width: auto;
  height: auto;
}
.product-card:hover .placeholder-container:not(.image-aspect-ratio-adapt) svg{
  transform: translate(-50%, -50%) scale(1.02);
}
.product-card img:only-child,
.product-card svg{
  transition: transform 200ms ease-in-out;
}
.product-card .media-container img:not(:only-child){
  transition: opacity 200ms ease-in-out;
}
.product-card:hover img:only-child,
.product-card:hover svg{
  transform: scale(1.02);
}
.product-card:hover .media-container img:nth-last-child(2){
  opacity: 0;
}
.product-card:hover .media-container img:nth-child(2){
  opacity: 1;
}
.product-card .product-vendor{
  font-size: var(--text-size);
}
.product-card .product-card-vendor:not(:last-child){
  margin-bottom: 1em;
}
.product-card .product-title{
  font-size: var(--text-size-lg);
}
.product-card .product-card-title:not(:last-child){
  margin-bottom: 1.5em;
}
.product-card[data-product-url]{
  cursor: pointer;
}
.product-card .link-heading a::before{
  content: none;
}
.product-card > .product-badges{
  position: absolute;
  top: calc(0.625rem * var(--body-scale));
  right: calc(0.625rem * var(--body-scale));
  z-index: 1;
}
.product-card .text-container .product-badges{
  align-self: flex-start;
  margin-bottom: calc(0.75rem * var(--body-scale));
}
.product-card .status-badge{
  display: block;
  border-radius: calc(.1px * var(--layout-radius));
  background-color: rgb(var(--primary-background));
  padding-block: calc(0.125rem * var(--body-scale));
  padding-inline: calc(0.375rem * var(--body-scale));
  color: rgb(var(--preheading-color));
  font-size: var(--text-size-sm);
  letter-spacing: calc(var(--preheading-letter-spacing) * 1px);
  box-shadow: 1px 2px 3px 0 rgb(var(--overlay-background) / 0.2);
  text-transform: uppercase;
}
.product-card .status-badge.sold{
  background-color: rgb(var(--disabled-background));
  color: rgb(var(--disabled-label));
}
.product-card .product-card-price:not(:last-child){
  margin-bottom: calc(1.25rem * var(--body-scale));
}
.product-card .action-container{
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  column-gap:calc(0.625rem * var(--body-scale));
}
.product-card .action-container .icon-btn{
  position: relative;
  z-index: 3;
  border-radius: calc(.22px * var(--layout-radius));
  cursor: pointer;
}
.product-card .action-container .add-to-cart{
  transition: z-index 200ms ease-in-out;
}
.product-card .action-container .add-to-cart:hover{
  z-index: 4;
}
.product-card .action-container .quick-action.hidden{
  display: none;
}
.product-card .action-container .action-tooltip{
  --_swatch-tooltip-background: rgb(var(--secondary-button-background));
  font-size: var(--text-size-sm);
  white-space: nowrap;
  display: block;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  background-color: var(--_swatch-tooltip-background);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0px);
  z-index: 1;
  border-radius: calc(0.1px * var(--layout-radius));
  opacity: 0;
  visibility: hidden;
  transition: transform 200ms ease-in-out, opacity 200ms ease-in-out, visibility 200ms ease-in-out;
}
.product-card .action-container .action-tooltip::after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform-origin: 50% 50%;
  transform: translate(-50%,calc(50% - 2px)) rotate(45deg);
  border: 5px solid transparent;
  border-right-color: var(--_swatch-tooltip-background);
  border-bottom-color: var(--_swatch-tooltip-background);
  border-radius: calc(0.02px * var(--layout-radius));
}
.product-card .action-container .icon-btn:not(:disabled):hover .action-tooltip,
.product-card .action-container .icon-btn:not(:disabled):focus-visible .action-tooltip{
  transform: translate(-50%, -8px);
  opacity: 1;
  visibility: visible;
}
