.m-product-card {
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
}
.m-product-card__url {
  text-decoration: none;
}
.m-product-card__view, .m-product-card__select {
  z-index: 9;
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.m-product-card__view .icon.icon-select, .m-product-card__select .icon.icon-select {
  --icon-display: inline;
}
.m-product-card__view .icon.icon-selected, .m-product-card__select .icon.icon-selected {
  --icon-display: none;
}
.m-product-card__view.is-selected .icon.icon-select, .m-product-card__select.is-selected .icon.icon-select {
  --icon-display: none;
}
.m-product-card__view.is-selected .icon.icon-selected, .m-product-card__select.is-selected .icon.icon-selected {
  --icon-display: inline;
}
.m-product-card__view svg, .m-product-card__select svg {
  display: var(--icon-display);
  width: 2rem;
  height: 2rem;
}
.m-product-card__media {
  z-index: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .m-product-card__media.quick-add:hover .m-product-card__quick-add {
    opacity: 1;
    margin-bottom: 0;
  }
}
.m-product-card__media.show-secondary-image img:nth-of-type(2) {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity var(--default-transition-easing) var(--default-transition-timing);
}
@media screen and (min-width: 768px) {
  .m-product-card__media.show-secondary-image:hover img:nth-of-type(2) {
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.m-product-card__image img {
  max-width: 100%;
  height: auto;
  display: block;
}
.m-product-card__wishlist {
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  transition: opacity var(--default-transition-easing) var(--default-transition-timing);
}
@media screen and (min-width: 768px) {
  .m-product-card__wishlist {
    opacity: 0;
  }
}
.m-product-card__wishlist .wishlist-engine[data-added=true] .wishlist-icon::after {
  mask-image: url(wishlist-filled.svg);
  -webkit-mask-image: url(wishlist-filled.svg);
}
.m-product-card__wishlist .wishlist-engine .wishlist-icon {
  display: flex;
}
.m-product-card__wishlist .wishlist-engine .wishlist-icon::after {
  content: "";
  background-color: var(--color-primary);
  mask-image: url(wishlist-empty.svg);
  -webkit-mask-image: url(wishlist-empty.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50%;
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .m-product-card__wishlist .wishlist-engine .wishlist-icon::after {
    width: 2rem;
    height: 2rem;
  }
}
.m-product-card__wishlist .wishlist-engine .wishlist-icon svg {
  display: none;
}
.m-product-card__wishlist:hover {
  cursor: pointer;
}
.m-product-card__artist {
  font-size: 1.4rem;
}
.m-product-card__quick-add {
  display: block;
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 4rem);
  transition: opacity var(--default-transition-easing) var(--default-transition-timing), margin-bottom var(--default-transition-easing) var(--default-transition-timing);
}
@media screen and (min-width: 990px) {
  .m-product-card__quick-add {
    display: block;
    opacity: 0;
    margin-bottom: -1rem;
  }
}
.m-product-card__quick-add .a-link {
  width: unset;
  border-bottom: none;
}
@media screen and (min-width: 990px) {
  .m-product-card__quick-add .a-link {
    display: inline-block;
  }
}
.m-product-card__quick-add .m-product-form__submit-text {
  display: none;
}
@media screen and (min-width: 990px) {
  .m-product-card__quick-add .m-product-form__submit-text {
    display: inline-block;
    text-decoration: underline;
  }
}
.m-product-card__quick-add .m-product-form__sold-out-message {
  display: none;
}
@media screen and (min-width: 990px) {
  .m-product-card__quick-add .m-product-form__sold-out-message {
    display: block;
  }
}
@media screen and (min-width: 990px) {
  .m-product-card__quick-add .m-product-form__submit-icon {
    display: none;
  }
}
.m-product-card__quick-add .m-product-form__submit-icon svg {
  width: 2rem;
  height: 2rem;
  display: block;
}
.m-product-card__designer {
  font-weight: 400;
  color: var(--color-primary);
  font-family: var(--ff-secondary);
}
.m-product-card__designer:first-of-type {
  margin-top: 0.4rem;
}
@media screen and (min-width: 768px) {
  .m-product-card__designer:first-of-type {
    margin-top: 1rem;
  }
}
.m-product-card__title {
  color: var(--color-primary);
  font-weight: 400;
}
.m-product-card__badges {
  position: absolute;
  left: 2rem;
  top: 2rem;
  z-index: 9;
}
.m-product-card__content {
  margin-top: 1rem;
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  .m-product-card__content {
    margin-top: 2.3rem;
  }
}
.m-product-card__content--margin {
  margin-top: 5.5rem;
}
@media screen and (min-width: 768px) {
  .m-product-card__content--margin {
    margin-top: 2.3rem;
  }
}
.m-product-card__content .m-price {
  margin-top: 0.4rem;
  color: inherit;
  font-weight: 500;
  font-family: var(--ff-tertiary);
  letter-spacing: 0.06rem;
}
@media screen and (min-width: 768px) {
  .m-product-card__content .m-price {
    margin-top: 1rem;
  }
}
.m-product-card__content .m-price.m-price--sm {
  letter-spacing: 0.09em;
}
@media screen and (min-width: 768px) {
  .m-product-card__content .m-price.m-price--sm {
    font-size: 1.2rem;
    margin-top: 0.7rem;
  }
}
.m-product-card__content.u-text-center .m-price__sale {
  justify-content: center;
}
.m-product-card .registry-form__buttons {
  display: none;
}
.m-product-card.gifted {
  pointer-events: none;
  opacity: 0.6;
}
.m-product-card.gifted .a-badge-gifted {
  display: block;
}
.m-product-card .a-badge--sold {
  display: block;
  pointer-events: none;
  opacity: 0.6;
}
.m-product-card .a-badge {
  border: 1px solid var(--color-primary);
  border-radius: 3rem;
  font-family: var(--ff-secondary);
  padding: 0rem 1.5rem;
}
.m-product-card .a-badge-gifted {
  display: none;
}
.m-product-card__card__media {
  width: 100%;
  height: 36rem;
  position: relative;
}
.m-product-card__card__media .media {
  width: 100%;
  height: 100%;
}
.m-product-card__card__media .media img {
  object-fit: contain;
}
.m-product-card__registry {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 999;
}
.m-product-card__registry .icon-registry {
  width: 2rem;
  height: 2rem;
}
.m-product-card__registry .js-registry-empty-lists-popup {
  display: none;
}
.m-product-card__price-on-demand {
  font-weight: 500;
  font-family: var(--ff-tertiary);
  letter-spacing: 0.09em;
}
@media screen and (min-width: 768px) {
  .m-product-card__price-on-demand {
    font-size: 1.2rem;
    margin-top: 0.7rem;
  }
}
.m-product-card__quantity-update {
  color: var(--color-quaternary-body);
  font-family: var(--ff-secondary);
  font-size: var(--body-fs-xs);
  line-height: var(--body-lh-xs);
}
.m-product-card .registry-form {
  --gap: 2rem;
  display: grid;
  gap: 0 var(--gap);
  grid-template-columns: 10rem 1fr;
  grid-auto-flow: row;
  margin-top: 2rem;
}
.m-product-card .registry-form .o-product__quantity {
  grid-column: 1;
  grid-row: 1;
  margin-block: 0;
}
.m-product-card .registry-form .m-product-form__submit {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  width: unset;
}
.m-product-card .registry-form .o-product__innerbox--message {
  margin-top: var(--gap);
  grid-column: 1/-1;
  font-size: var(--body-fs-xs);
}

.o-registry-products .m-product-card__title {
  --lh: 1.65;
  --lines: 1;
  min-height: calc(var(--lh) * var(--lines) * 1rem);
  display: -webkit-box;
  -webkit-line-clamp: var(--lines);
  -webkit-box-orient: vertical;
  overflow: hidden;
}
