.snippet-product-card {
  cursor: pointer;
}

.snippet-product-card__modal__header-small {
  font-weight: 300;
  font-size: .85rem;
}

.snippet-product-card__container {
  cursor: pointer;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden;
  position: relative;
}

.snippet-product-card__card {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  flex-grow: 1;
}

.snippet-product-card__badge-container {
  position: absolute;
  top: 1rem;
  left: 1rem;
  pointer-events: none;
  z-index: 1;
  gap: .5rem;
  display: flex;
  align-items: center;
}

.snippet-product-card__badge {
  display: flex;
  align-items: center;
  width: auto;
  height: 2rem;
  padding: 0.375rem 0.5rem;

  border-radius: 0.25rem;
  box-shadow: 0 1px 3px rgba(7, 14, 35, 0.06), 0px 2px 8px -1px rgba(7, 14, 35, 0.05);
  border: 1px solid var(--borderColor);
  background: var(--backgroundAccentLight);

  color: var(--lightFontColor);
  font-weight: 500;
  font-size: 13px;
  line-height: 16px;
}
.snippet-product-card__badge.icon-badge {
  padding: 0.5rem 0.5rem;
}
.snippet-product-card__badge.icon-badge svg {
  height: 1rem;
  width: 1rem;
}

.snippet-product-card__image {
  position: relative;
  min-height: 247px;
  height: 247px;
  margin: 0 auto 1rem auto;
  width: 100%;

  overflow: hidden;
}

.snippet-product-card__image.image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--backgroundAccentDark);
}

.snippet-product-card__image.image-placeholder i {
  font-size: 3rem;
}
.snippet-product-card__image img {
  width: 100%;
  height: inherit;
  object-fit: cover;
}

.snippet-product-card__image.dark,
.snippet-product-card__image.light {
  margin-bottom: 0;
}
.snippet-product-card__image.image-placeholder.dark {
  color: #454C56!important;
  background: #1B1F23!important;
}

.snippet-product-card__image.image-placeholder.light {
  color: #E9EDF0!important;
  background: #F5F7F8!important;
}

.snippet-product-card__info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1 1 auto;
  row-gap: 0.5rem;
}

.snippet-product-card__title {
  display: flex;
  width: 100%;
  align-items: center;
  word-break: break-word;
}

.snippet-product-card__description {
  display: flex;
  column-gap: 0.75rem;
  justify-content: space-between;
  line-height: 1.25rem;
  align-items: flex-start;
}

.snippet-product-card__info-comment {
  color: var(--lightFontColor);
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
}

.snippet-product-card__group-description-info {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.25rem;
}

.snippet-product-card__group-description-info span {
  white-space: nowrap;
}

.snippet-product-card__group-description-info .snippet-product-card__starting-at {
  white-space: nowrap;
  font-weight: 400;
  color: var(--lightFontColor);
}

.snippet-product-card__price {
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  color: var(--buttonColor);
}

.snippet-product-card__price-with-discount {
  display: flex;
  justify-content: flex-start;
}

.snippet-product-card__price-with-discount i {
  font-weight: 300;
  font-style: normal;
  font-size: 0.75rem;
  margin-left: 0.5rem;
  text-decoration: line-through;
}

.snippet-product-card__description-additional {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: end;
}

.snippet-product-card__tax {
  text-wrap: nowrap;
  color: var(--lightFontColor);
  font-weight: 400;
  font-size: 13px;
  line-height: normal;
}

.snippet-product-card  .snippet-product-card__cart {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (hover: hover) {
  .snippet-product-card__card .snippet-product-card__image {
    transform: translateZ(0);
  }
  .snippet-product-card__card:hover .snippet-product-card__image img {
    transform: scale(1.025);
  }

  .snippet-product-card__card .snippet-product-card__image img {
    transition: transform .25s ease-in-out;
    transform: scale(1);
  }

  .snippet-product-card__card .snippet-cart-button-2, .snippet-product-card__card .snippet-cart-button-2.empty {
    opacity: 0;
    transform: translate(0, 30px);
  }

  .snippet-product-card__card .snippet-cart-button-2:not(.empty), .snippet-product-card__card .snippet-cart-button-2.empty.clicked {
    opacity: 1;
    transform: translate(0, 0);
  }

  .snippet-product-card__card:hover .snippet-cart-button-2 {
    opacity: 1;
    transform: translate(0, 0);
    transition: opacity .10s ease, transform .15s ease-in;
  }

  .snippet-product-card__card svg .item-first, .snippet-product-card__card svg .item-second {
    transition: all .3s ease;
  }

  .snippet-product-card__card:hover svg .item-first {
    transform: scale(1.05);
    /*transform: scale(1) rotate(-7deg) translate(-10px, -10px)*/
  }

  .snippet-product-card__card:hover svg .item-second {
    transform: scale(1.04) rotate(6deg) translate(3px, -2px);
  }
}

.cart-button-animation-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  background: var(--backgroundAccentLight);
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
}

.cart-button-animation {
  position: relative;
  padding: 0;
  max-width: 300px;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: .5rem;
  outline: none;
  cursor: pointer;
  transition: .3s ease-in-out;
  overflow: hidden;
  display: block;
}

.cart-button-animation .fa-shopping-cart {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: -20%;
  transform: translate(-50%,-50%);
  color: var(--darkFontColor);
  font-size: 1.25rem !important;
}

.cart-button-animation .fa-box {
  position: absolute;
  z-index: 3;
  top: -50%;
  left: 52%;
  transform: translate(-50%,-50%);
  color: var(--darkFontColor);
  font-size: .8rem !important;
}
.cart-button-animation span {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  color: var(--darkFontColor);
}
.cart-button-animation span.add-to-cart {
  opacity: 1;
}

.clicked .cart-button-animation .fa-shopping-cart {
  animation: cartAnimation 1.25s ease-in-out forwards;
}
.clicked .cart-button-animation .fa-box {
  animation: boxAnimation 1.25s ease-in-out forwards;
}
.clicked .cart-button-animation span.add-to-cart {
  animation: titleAnimation 1.25s ease-in-out forwards;
}

.snippet-product-card.single-card .snippet-product-card__card {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-column-gap: 40px;
}

.snippet-product-card.single-card .snippet-product-card__image {
  min-height: 130px;
  height: 130px;
  border-radius: 0.5rem 0 0 0.5rem !important;
}

.snippet-product-card.single-card .snippet-product-card__image img {
  border-radius: 0.5rem 0 0 0.5rem !important;
}

.snippet-product-card.single-card .snippet-product-card__info {
  padding-left: 0;
}
.snippet-product-card.single-card .snippet-product-card__image svg {
  transform: scale(.75);
}
.snippet-product-card.single-card .snippet-product-card__description {
  justify-content: start;
}

@media (max-width: 768px) {
  .snippet-product-card.single-card .snippet-product-card__card {
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 20px;
  }
}

@media (max-width: 400px) {
  .snippet-product-card.single-card .snippet-product-card__card {
    grid-template-columns: 1fr 1fr;
  }

  .snippet-product-card.single-card .snippet-product-card__description {
    flex-direction: column;
  }
  .snippet-product-card.single-card .snippet-product-card__description-additional {
    margin-top: 0.5rem;
  }
}

@keyframes cartAnimation {
  0% {
    left: -10%;
  }
  40%, 60% {
    left: 50%;
  }
  100% {
    left: 110%;
  }
}

@keyframes boxAnimation {
  0%, 40% {
    top: -20%;
  }
  60% {
    top: 37%;
    left: 50.5%;
  }
  100% {
    top: 37.6%;
    left: 112%;
  }
}

@keyframes titleAnimation {
  0% {
    opacity: 1;
  }
  20%, 100% {
    opacity: 0;
  }
}
