.m-product-card {
  --product-card-background-color-hover: rgb(var(--color-background-hover));
  --product-card-quantity-background-color: rgb(var(--color-quantity-wrapper));
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  transition: transform var(--default-transition-easing) var(--default-transition-timing);
  gap: var(--spacing-sm);
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 990px) {
  .m-product-card {
    gap: 0;
  }
}
.m-product-card::after {
  position: absolute;
  content: "";
  top: calc(var(--spacing-md) / 2 * -1);
  left: calc(var(--spacing-md) / 2 * -1);
  height: calc(100% + var(--spacing-md));
  width: calc(100% + var(--spacing-md));
  z-index: 0;
  border-radius: var(--border-radius-16);
  background-color: transparent;
  box-shadow: none;
  transition: background-color var(--default-transition-easing) var(--default-transition-timing), box-shadow var(--default-transition-easing) var(--default-transition-timing);
}
.m-product-card--zero .m-product-card__image::before {
  border: 0.25rem solid rgb(var(--color-na-light-rgb));
  border-radius: var(--spacing-xs);
  position: absolute;
  content: "";
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.m-product-card:has(*:focus-visible), .m-product-card:has(*:focus), .m-product-card:has(.m-product-card__url:focus-visible), .m-product-card:has(.m-product-card__url:focus), .m-product-card:has(button:focus-visible), .m-product-card:has(button:focus), .m-product-card:has(input:focus-visible), .m-product-card:has(input:focus) {
  --color-heading: var(--color-heading-hover);
  --color-text: var(--color-text-hover);
  transform: translateY(-var(--spacing-sm));
}
.m-product-card:has(*:focus-visible)::after, .m-product-card:has(*:focus)::after, .m-product-card:has(.m-product-card__url:focus-visible)::after, .m-product-card:has(.m-product-card__url:focus)::after, .m-product-card:has(button:focus-visible)::after, .m-product-card:has(button:focus)::after, .m-product-card:has(input:focus-visible)::after, .m-product-card:has(input:focus)::after {
  box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.08);
  background-color: var(--product-card-background-color-hover);
}
.m-product-card:has(*:focus-visible) .m-product-card__quick-add, .m-product-card:has(*:focus) .m-product-card__quick-add, .m-product-card:has(.m-product-card__url:focus-visible) .m-product-card__quick-add, .m-product-card:has(.m-product-card__url:focus) .m-product-card__quick-add, .m-product-card:has(button:focus-visible) .m-product-card__quick-add, .m-product-card:has(button:focus) .m-product-card__quick-add, .m-product-card:has(input:focus-visible) .m-product-card__quick-add, .m-product-card:has(input:focus) .m-product-card__quick-add {
  opacity: 1;
  pointer-events: all;
}
.m-product-card:has(*:focus-visible) .m-product-card__wishlist, .m-product-card:has(*:focus) .m-product-card__wishlist, .m-product-card:has(.m-product-card__url:focus-visible) .m-product-card__wishlist, .m-product-card:has(.m-product-card__url:focus) .m-product-card__wishlist, .m-product-card:has(button:focus-visible) .m-product-card__wishlist, .m-product-card:has(button:focus) .m-product-card__wishlist, .m-product-card:has(input:focus-visible) .m-product-card__wishlist, .m-product-card:has(input:focus) .m-product-card__wishlist {
  opacity: 1;
  visibility: visible;
}
.m-product-card__url {
  text-decoration: none;
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}
.m-product-card__heading {
  font-size: var(--h7-fs);
  line-height: var(--h7-lh);
}
@media screen and (min-width: 375px) {
  .m-product-card__heading {
    font-size: var(--h6-fs);
    line-height: var(--h6-lh);
  }
}
.m-product-card__country {
  color: rgb(var(--color-text-60));
}
.m-product-card__country span {
  font-size: var(--body-fs-sm);
  line-height: var(--body-lh-sm);
}
@media screen and (min-width: 375px) {
  .m-product-card__country span {
    font-size: var(--body-fs-xs);
    line-height: var(--body-lh-xs);
  }
}
.m-product-card .m-product-card__url {
  text-decoration: none;
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}
.m-product-card .m-product-card__media {
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: flex;
  flex-basis: unset;
  width: 100%;
}
.m-product-card .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);
}
.m-product-card .m-product-card__media.show-secondary-image:hover img:nth-of-type(2) {
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.m-product-card .m-product-card__image {
  background-color: rgb(var(--color-sand-saturated-rgb));
  border-radius: var(--spacing-xs);
  height: 100%;
  width: 100%;
}
.m-product-card .m-product-card__image img {
  padding: var(--spacing-sm);
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  font-size: 0;
  object-fit: contain;
}
@media screen and (min-width: 990px) {
  .m-product-card .m-product-card__image img {
    padding: 2rem;
  }
}
.m-product-card .m-product-card__list-content {
  display: none;
  margin: var(--spacing-xs-2) 0;
  opacity: 0.6;
}
.m-product-card .m-product-card__list-content ul {
  list-style-type: disc;
  padding-left: var(--spacing-md);
  margin: 0;
}
.m-product-card .m-product-card__list-content li {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  color: rgb(var(--color-text));
}
.m-product-card .m-product-card__content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.m-product-card .m-product-card__quick-add-wrapper {
  position: relative;
  z-index: 1;
  margin-top: auto;
}
.m-product-card .m-product-card__quick-add-wrapper .m-product-card__price {
  display: none;
}
.m-product-card .m-product-card__heading.h6 {
  font-size: var(--h6-fs);
  line-height: var(--h6-lh);
}
.m-product-card .m-product-card__badges {
  position: absolute;
  left: 0;
  top: 1.4rem;
  z-index: 9;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.m-product-card .m-product-card__badges .a-badge:nth-child(2) {
  display: none;
}
@media screen and (min-width: 990px) {
  .m-product-card .m-product-card__badges .a-badge:nth-child(2) {
    display: block;
  }
}
.m-product-card .m-product-card__promo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: var(--spacing-sm);
  z-index: 9;
  width: 100%;
  justify-content: center;
  display: flex;
}
.m-product-card .m-product-card__content {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 990px) {
  .m-product-card .m-product-card__content {
    margin-top: var(--spacing-sm);
  }
}
.m-product-card .m-product-card__content.u-text-center .m-price__sale {
  justify-content: center;
}
.m-product-card .m-product-card__country {
  margin-bottom: var(--spacing-xs);
  color: rgb(var(--color-text-60));
}
.m-product-card .m-product-card__appellation {
  margin-top: var(--spacing-xxs);
  font-weight: 500;
  font-size: var(--body-fs-xs);
  line-height: var(--body-lh-xs);
}
.m-product-card .m-product-card__price-change {
  color: rgb(var(--color-text-60));
}
.m-product-card .m-product-card__price-unit, .m-product-card .m-product-card__appellation,
.m-product-card .m-product-card .m-quantity__unit {
  color: rgb(var(--color-text));
}
.m-product-card .m-product-card__price {
  margin-top: var(--spacing-xs);
  display: flex;
  gap: var(--spacing-xs);
  align-items: center;
}
.m-product-card .m-product-card__price .o-product__tax {
  display: none;
}
.m-product-card .m-product-card__form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.m-product-card .m-product-card__form .m-quantity__wrapper {
  background-color: var(--product-card-quantity-background-color);
  gap: var(--spacing-xxs);
  transition: background-color var(--default-transition-easing) var(--default-transition-timing);
}
@media screen and (min-width: 768px) {
  .m-product-card .m-product-card__form .m-quantity__wrapper {
    padding: 0.5rem 0.75rem;
  }
}
.m-product-card .m-product-card__form .m-quantity__wrapper .m-quantity__input {
  font-size: var(--body-fs-md);
}
.m-product-card .m-product-card__unavailable {
  width: 100%;
  display: none;
  position: absolute;
  bottom: var(--spacing-sm);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  justify-content: center;
}
.m-product-card .m-product-card__unavailable span {
  padding: 0.7rem var(--spacing-xs) var(--spacing-xs);
  border-radius: var(--border-radius-8);
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-text));
  text-transform: uppercase;
  font-family: var(--ff-secondary);
  letter-spacing: 0.044rem;
}
.m-product-card--quantity-alternate .m-product-card__form .m-quantity__wrapper {
  background-color: var(--product-card-quantity-background-color);
}
@media screen and (min-width: 990px) {
  .m-product-card--quantity-alternate .m-product-card__form .m-quantity__wrapper {
    background-color: rgb(var(--color-background));
  }
}
.m-product-card .m-price-item--price {
  font-size: 1rem;
  font-weight: 600;
}
@media screen and (min-width: 375px) {
  .m-product-card .m-price-item--price {
    font-size: 1.25rem;
  }
}
.m-product-card .m-price-item--unit {
  font-weight: 400;
}
.m-product-card.m-product-card--simple .m-product-card__url {
  gap: var(--spacing-md);
  color: inherit;
  margin-bottom: 2rem;
}
.m-product-card.m-product-card--simple .m-product-card__media {
  max-width: 8.6rem;
  position: relative;
}
.m-product-card.m-product-card--simple .m-product-card__image {
  background-color: rgba(var(--color-black), 0.2);
}
.m-product-card.m-product-card--simple .m-product-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0;
  margin: 0;
}
.m-product-card.m-product-card--simple .m-product-card__price {
  margin-bottom: var(--spacing-sm);
}
.m-product-card.m-product-card--simple .m-product-card__heading {
  letter-spacing: 0.028rem;
  text-decoration: none;
  text-transform: capitalize;
  margin-bottom: 0;
  font-size: var(--h6-fs);
}
.m-product-card.m-product-card--simple .m-product-form__submit {
  text-align: left;
}
.m-product-card.m-product-card--simple .m-variants__label {
  margin-bottom: var(--spacing-sm);
}
.m-product-card.m-product-card--simple .m-product-card__quick-add {
  margin-top: auto;
  opacity: 1;
  position: relative;
  margin-bottom: 0;
  transform: initial;
  width: auto;
  left: 0;
  bottom: 0;
}
.m-product-card.m-product-card--simple .m-product-card__quick-add .m-quick-add-variants__button {
  text-decoration: underline;
  text-align: left;
  border-bottom: none;
  padding: 0;
}
.m-product-card.m-product-card--simple .m-product-card__quick-add .m-quick-add-variants__items {
  padding: 0;
}
.m-product-card__form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.m-product-card__wishlist.m-product-card__wishlist-wrapper {
  position: absolute;
  top: var(--spacing-sm);
  right: var(--spacing-sm);
  z-index: 13;
  opacity: 1;
  visibility: visible;
  transition: opacity var(--default-transition-easing) var(--default-transition-timing);
}
@media screen and (min-width: 990px) {
  .m-product-card__wishlist.m-product-card__wishlist-wrapper {
    opacity: 0;
    visibility: hidden;
  }
}
.m-product-card__unavailable {
  width: 100%;
  display: none;
  position: absolute;
  bottom: var(--spacing-sm);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  justify-content: center;
}
.m-product-card__unavailable span {
  padding: 0.7rem var(--spacing-xs) var(--spacing-xs);
  border-radius: var(--border-radius-8);
  background-color: rgb(var(--color-sand-rgb));
  color: rgb(var(--color-green-dark-rgb));
  text-transform: uppercase;
  font-family: var(--ff-secondary);
  letter-spacing: 0.044rem;
}
.m-product-card.unavailable .m-product-card__unavailable {
  display: flex;
  align-items: center;
  text-align: center;
  width: auto;
}
.m-product-card.unavailable .m-product-card__content, .m-product-card.unavailable .m-product-card__image img {
  opacity: 0.4;
}
.m-product-card.quick-add .m-product-card__quick-add {
  margin-top: var(--spacing-sm);
  z-index: 1;
  transition: opacity var(--default-transition-easing) var(--default-transition-timing);
}
@media screen and (min-width: 990px) {
  .m-product-card.quick-add .m-product-card__quick-add {
    opacity: 0;
    pointer-events: none;
    width: 100%;
  }
}
.m-product-card.quick-add .m-product-card__quick-add .m-product-form__submit-text {
  display: none;
}
.m-product-card.quick-add .m-product-card__quick-add .m-product-form__submit {
  width: fit-content;
}
@media screen and (min-width: 990px) {
  .m-product-card.quick-add:not(.unavailable):not(.m-product-card--autocomplete):hover .m-product-card__quick-add, .m-product-card.quick-add:not(.unavailable):not(.m-product-card--autocomplete):focus .m-product-card__quick-add, .m-product-card.quick-add:not(.unavailable):not(.m-product-card--autocomplete):focus-visible .m-product-card__quick-add {
    opacity: 1;
    pointer-events: all;
  }
}
.m-product-card__form .m-quantity__wrapper {
  background-color: var(--product-card-quantity-background-color);
}
.m-product-card__form .m-quantity__wrapper .m-quantity__unit {
  display: none;
}
.m-product-card--quantity-alternate .m-quantity__wrapper {
  background-color: var(--product-card-quantity-background-color);
}
@media screen and (min-width: 990px) {
  .m-product-card--quantity-alternate .m-quantity__wrapper {
    background-color: rgb(var(--color-background));
  }
}
@media screen and (min-width: 990px) {
  .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):hover, .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):focus, .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):focus-visible {
    --color-heading: var(--color-heading-hover);
    --color-text: var(--color-text-hover);
    transform: translateY(-var(--spacing-sm));
  }
  .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):hover::after, .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):focus::after, .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):focus-visible::after {
    box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.08);
    background-color: var(--product-card-background-color-hover);
  }
  .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):hover .m-product-card__wishlist, .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):focus .m-product-card__wishlist, .m-product-card:not(.unavailable, .m-product-card--no-hover):not(.m-product-card--autocomplete):focus-visible .m-product-card__wishlist {
    opacity: 1;
    visibility: visible;
  }
}
.m-product-card.side, .m-product-card.autocomplete {
  align-items: center;
  flex-direction: row;
}
.m-product-card.side .m-product-card__media, .m-product-card.autocomplete .m-product-card__media {
  flex-basis: calc(50% - var(--spacing-xs));
}
@media screen and (min-width: 990px) {
  .m-product-card.side .m-product-card__media, .m-product-card.autocomplete .m-product-card__media {
    flex-basis: unset;
  }
}
.m-product-card.side .m-product-card__promo, .m-product-card.autocomplete .m-product-card__promo {
  left: 50%;
  bottom: var(--spacing-sm);
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: fit-content;
}
@media screen and (min-width: 990px) {
  .m-product-card.side .m-product-card__promo, .m-product-card.autocomplete .m-product-card__promo {
    top: unset;
    bottom: var(--spacing-sm);
    left: 0;
    transform: unset;
  }
}
.m-product-card.side .m-product-card__badges .a-badge, .m-product-card.autocomplete .m-product-card__badges .a-badge {
  font-size: var(--label-fs-sm);
}
.m-product-card.side .m-product-card__badges--has-promo, .m-product-card.autocomplete .m-product-card__badges--has-promo {
  display: none;
}
@media screen and (min-width: 990px) {
  .m-product-card.side .m-product-card__badges--has-promo, .m-product-card.autocomplete .m-product-card__badges--has-promo {
    display: flex;
  }
}
.m-product-card.side .m-product-card__image img, .m-product-card.autocomplete .m-product-card__image img {
  aspect-ratio: 1/1;
}
@media screen and (min-width: 990px) {
  .m-product-card.side .m-product-card__image img.a-img__ratio--1x1, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--1x1 {
    aspect-ratio: 1/1;
  }
  .m-product-card.side .m-product-card__image img.a-img__ratio--2x3, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--2x3 {
    aspect-ratio: 2/3;
  }
  .m-product-card.side .m-product-card__image img.a-img__ratio--3x2, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--3x2 {
    aspect-ratio: 3/2;
  }
  .m-product-card.side .m-product-card__image img.a-img__ratio--3x4, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--3x4 {
    aspect-ratio: 3/4;
  }
  .m-product-card.side .m-product-card__image img.a-img__ratio--4x3, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--4x3 {
    aspect-ratio: 4/3;
  }
  .m-product-card.side .m-product-card__image img.a-img__ratio--4x5, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--4x5 {
    aspect-ratio: 4/5;
  }
  .m-product-card.side .m-product-card__image img.a-img__ratio--16x9, .m-product-card.autocomplete .m-product-card__image img.a-img__ratio--16x9 {
    aspect-ratio: 16/9;
  }
}
.m-product-card.side:not(.unavailable) .m-product-card__quick-add-wrapper, .m-product-card.autocomplete:not(.unavailable) .m-product-card__quick-add-wrapper {
  display: none;
}
@media screen and (min-width: 990px) {
  .m-product-card.side:not(.unavailable) .m-product-card__quick-add-wrapper, .m-product-card.autocomplete:not(.unavailable) .m-product-card__quick-add-wrapper {
    display: flex;
  }
}
@media screen and (min-width: 990px) {
  .m-product-card.autocomplete {
    gap: var(--spacing-sm);
  }
}
@media screen and (min-width: 990px) {
  .m-product-card.autocomplete .m-product-card__media {
    flex-basis: calc(50% - var(--spacing-xs));
  }
}
@media screen and (min-width: 990px) {
  .m-product-card.autocomplete .m-product-card__promo {
    top: var(--spacing-sm);
    left: 50%;
    bottom: auto;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 990px) {
  .m-product-card--primeurs.quick-add .m-product-card__quick-add {
    opacity: 1;
    pointer-events: auto;
  }
}
.m-product-card--primeurs.quick-add .m-product-card__quick-add .m-quantity__wrapper {
  background-color: rgb(var(--color-background-hover));
}
.m-product-card--primeurs.quick-add:hover .m-quantity__wrapper {
  background-color: var(--product-card-quantity-background-color);
}
.m-product-card--primeurs .m-product-card__list-content {
  display: block;
}
.m-product-card--primeurs .m-product-card__country {
  display: none;
}

.m-cart-drawer__upsell .m-product-card .m-quantity__unit {
  display: none;
}
@media screen and (min-width: 990px) {
  .m-cart-drawer__upsell .m-product-card:not(.unavailable) .m-product-card__quick-add {
    opacity: 1;
    pointer-events: unset;
  }
  .m-cart-drawer__upsell .m-product-card:not(.unavailable):hover, .m-cart-drawer__upsell .m-product-card:not(.unavailable):focus, .m-cart-drawer__upsell .m-product-card:not(.unavailable):focus-visible {
    transform: none;
  }
  .m-cart-drawer__upsell .m-product-card:not(.unavailable):hover::after, .m-cart-drawer__upsell .m-product-card:not(.unavailable):focus::after, .m-cart-drawer__upsell .m-product-card:not(.unavailable):focus-visible::after {
    background-color: rgb(var(--color-background));
    box-shadow: none;
  }
}
@media screen and (min-width: 990px) {
  .m-cart-drawer__upsell .m-product-card--quantity-alternate .m-quantity__wrapper {
    background-color: var(--product-card-quantity-background-color);
  }
}
.m-cart-drawer__upsell .m-product-card .h6 {
  font-size: var(--h7-fs);
  line-height: var(--h7-lh);
}
.m-cart-drawer__upsell .m-product-card__appellation {
  font-size: var(--body-fs-xs);
  line-height: var(--body-lh-xs);
}
.m-cart-drawer__upsell .m-product-card__unavailable span {
  font-size: var(--body-fs-xs);
  line-height: var(--body-lh-xs);
}
.m-cart-drawer__upsell .m-product-card .m-price.m-price--card {
  font-size: var(--body-fs-md);
}
.m-cart-drawer__upsell .m-product-card .a-badge {
  font-size: var(--body-fs-xs);
  padding: var(--spacing-xxs) var(--spacing-xs) var(--spacing-xxs);
}

@keyframes wishlistBounce {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.1);
  }
  70% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
