@media (min-width: 960px) {
  .product-card.product-card-border-shadow {
    overflow: visible;
  }
}

.product-card.product-card-border-shadow .product-card__image {
  border-start-start-radius: calc(var(--product-card-border-radius) - var(--product-card-border-thickness));
  border-start-end-radius: calc(var(--product-card-border-radius) - var(--product-card-border-thickness));
}

.product-card.product-card-overflow-hidden .product-card__image {
  border-radius: calc(var(--product-card-border-radius) - var(--product-card-border-thickness));
  ;
}

.product-card__info {
  color: rgb(var(--color-text));
}

.product-card__image .media-secondary,
.product-card__model {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.product-card__model {
  transition: opacity 0.3s ease;
}

.product-card__image-wrapper .product-card__info {
  position: absolute;
  inset-block-end: 16px;
  inset-inline-start: 16px;
  max-width: calc(100% - 16px * 2);
  pointer-events: none;
}

.product-card__image-wrapper .product-card__title {
  pointer-events: auto;
}

@media (min-width: 960px) {
  .product-card__image-wrapper .product-card__info {
    inset-block-end: 36px;
    inset-inline-start: calc(var(--column-gap) / -2);
    max-width: unset;
  }

  @media (pointer: fine) {
    .product-card__image-wrapper .product-card__info,
    .product-card__image-wrapper .product-card__price {
      transition: transform 1s cubic-bezier(.19, 1, .22, 1);
    }

    .product-card__image-wrapper :is(img, svg) {
      transition: transform 2s cubic-bezier(.19, 1, .22, 1);
    }

    .product-card__image-wrapper:hover :is(img, svg) {
      transform: scale(1.08);
    }

    .product-card__image-wrapper:hover .product-card__info {
      transform: translateY(-16px);
    }

    .product-card__image-wrapper:hover .product-card__price {
      transform: translateY(-4px);
    }

    .product-card__image-wrapper:hover .product-card__title .link {
      background-position-x: var(--transform-origin-start);
      background-size: 100% var(--underline-thickness), 100% var(--underline-thickness);
    }
  }
}

@media (pointer: fine) {
  .product-card__image-wrapper .media-secondary {
    transition: opacity 0.3s ease;
  }

  .product-card__image-wrapper:has(.media-secondary) .media:not(.product-card__model) :is(img, svg) {
    transform: none;
  }

  .product-card__image-wrapper:hover .media-secondary {
    opacity: 1;
    pointer-events: auto;
  }
}

.product-card__title {
  line-height: 0;
}

.product-card__image-wrapper .product-card__badges {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-start: 16px;
  flex-direction: column;
  pointer-events: none;
  width: auto;
}

@media (min-width: 960px) {
  .product-card__image-wrapper .product-card__badges {
    inset-inline-start: -12px;
  }
}

.product-card__badge {
  padding-block: 8px;
  padding-inline: 14px;
  background-color: rgb(var(--color-base-background));
  color: rgb(var(--color-base-text));
  border: 2px solid currentColor;
}

.product-card__badge-discount {
  --color-base-text: var(--color-tag-text);
  --color-base-background: var(--color-tag-background);
}

.product-card__image-wrapper .product-card__swatches {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-end: 16px;
  width: auto;
}

.product-card__swatches.swatches--color .color-swatch {
  --swatch-size: 12px;
}

@media (pointer: fine) {
  .product-card__swatches .color-swatch:hover::before {
    inset: calc(var(--swatch-offset) * -1);
  }
}

.product-card__layer>* {
  pointer-events: auto;
}

@media (min-width: 960px) {
  @media (pointer: fine) {
    .product-card__image-wrapper .product-card__buy-buttons {
      position: absolute;
      inset-inline-start: calc(var(--column-gap) / 2);
      inset-block-end: -32px;
      opacity: 0;
      transform: translateY(0);
      transition: 1s cubic-bezier(.19, 1, .22, 1);
      transition-property: opacity, transform;
    }

    .product-card__image-wrapper:hover .product-card__buy-buttons {
      opacity: 1;
      transform: translateY(20px);
    }

    .product-card__image-wrapper:hover .product-card__info:has(>.product-card__buy-buttons) {
      transform: translateY(-40px);
    }
  }
}

.product-card__buy-buttons {
  padding-inline: 1px;
}

.product-card__buy-buttons .button {
  --button-border-thickness: 1px;
  padding-block: 0;
  padding-inline: 20px;
  height: 40px;
  min-width: 40px;
  margin-inline: -1px;
  text-transform: none;
}

.product-card__buy-buttons :is(.quickview_button, .wishlist_button, .compare_button) {
  padding: 0;
}

@media (min-width: 960px) and (max-width: 1279px){
  .product-card__buy-buttons .quickadd_button {
    padding: 0;
  }
}

.product-card__buy-buttons .product-list-collect-btn {
  position: absolute !important;
  inset: 0 !important;
  background: none;
  padding: 0;
}

.product-card__buy-buttons .product-list-collect-btn svg path {
  fill: currentColor;
}

.product-card__buy-buttons .compare_button[active] .icon-compare {
  display: none;
}

.product-card__buy-buttons .compare_button[active] .icon-compare-check {
  display: block;
}

.product-card__buy-buttons theme-popover-content {
  background-color: rgb(var(--color-text));
  inset-block-end: calc(100% + 12px);
  color: rgb(var(--color-background));
  padding: 7px 6px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  width: max-content;
  visibility: hidden;
  animation: animation-tooltip-out 0.3s ease;
  transition: visibility 0.3s ease;
}

.product-card__buy-buttons theme-popover-content::after {
  position: absolute;
  inset-inline-start: 50%;
  transform: translateX(calc(-50% * var(--transform-logical)));
}

.product-card__buy-buttons theme-popover-content::after {
  content: '';
  border-color: rgb(var(--color-text)) transparent;
  border-style: solid;
  border-width: 10px 10px 0;
  inset-block-end: -7px;
  display: block;
  width: 0;
}

.product-card__buy-buttons theme-popover[open] theme-popover-content {
  visibility: visible;
  animation-name: animation-tooltip-in;
  animation-fill-mode: forwards;
}

.product-card__buy-buttons theme-popover[closing] theme-popover-content {
  visibility: hidden;
  animation-name: animation-tooltip-out;
}

.product-card__buy-buttons theme-quick-add-modal details::before {
  content: none;
}

@media (max-width: 959px) or (pointer: coarse)  {
  .product-card__image-wrapper .product-card__info {
    position: static;
    max-width: 100%;
    transform: none;
  }

  .product-card__image-wrapper .product-card__buy-buttons {
    order: -1;
  }

  .product-card__image-wrapper .product-card__buy-buttons .button {
    --button-border-opacity: 0.1;
    flex: 1 1 auto;
    padding-inline: 0;
  }

  .product-card__info {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .product-card__info>* {
    width: 100%;
    text-align: inherit;
  }

  .product-card__info .product-card__title {
    margin-block-start: 16px;
  }

  .product-card__info .product-card__title .link {
    font-size: var(--body3-font-size);
    font-weight: var(--sort-body-weight);
  }

  .product-card__price .product-price {
    display: flex;
    gap: 6px;
  }

  .product-card__price .product-price__item {
    order: -1;
  }

  .product-card__buy-buttons :is(theme-popover, theme-quick-add-modal, theme-quick-add-modal>details, theme-product-form, theme-product-form>form) {
    display: contents;
  }

  .product-card__buy-buttons theme-popover-content {
    display: none;
  }
}
