product-price {
  display: block;
}

.price {
  font-size: calc(1.6rem * var(--font-body-scale));
  color: rgb(var(--color-price-foreground));
}

.price--small {
  font-size: calc(1.4rem * var(--font-body-scale));
}

.price.price--unavailable {
  visibility: hidden;
}

.price--end {
  text-align: end;
}

.price__regular .price-item--regular {
  margin-inline-end: 0;
}

.price:not(.price--show-badge) .price-item--last:last-of-type {
  margin: 0;
}

.price--out-card.price--show-badge.price--on-sale {
  column-gap: 1rem;
  flex-wrap: wrap;
  align-items: baseline;
}

@media screen and (max-width: 749px) {
  .price--in-card {
    font-size: calc(1.4rem * var(--font-body-scale));
  }
}

@media screen and (min-width: 750px) {
  .price {
    margin-bottom: 0;
  }
}

.price--large {
  font-size: calc(2rem * var(--font-body-scale));
}

.price--on-sale .price__sale {
  display: flex;
  column-gap: 1.2rem;
}

.price--on-sale .price-item--regular {
  text-decoration: line-through;
  font-size: 1.4rem;
  color: rgb(var(--color-compare-at-price));
}

.price--large.price--on-sale .price-item--regular {
  font-size: 1.8rem;
}

.price--on-sale .price-item--sale {
  color: rgb(var(--color-sale-off-price));
  font-weight: var(--font-body-weight-medium);
}

.price--on-sale .price-item--sale-in-card {
  color: rgb(var(--color-sale-off-price), 0.8);
}

.price__badge {
  background: rgb(var(--color-highlight), 0.05);
  border-radius: 0.3rem;
  font-size: 1rem;
  padding: 0.4rem 0.8rem;
}

.price__badge--in-card {
  margin-inline-start: 0.5rem;
}

.unit-price {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.04rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  margin-top: 0.2rem;
  --color-foreground: var(--color-price-foreground);
}
