/**
 * Price snippet — current price, compare-at strikethrough, sale badge.
 * Loaded by snippets/price.liquid.
 */
.price {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.price__current {
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: 16px;
}

.price--on-sale .price__current {
  color: var(--color-ink);
  font-weight: 600;
}

.price__compare {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--color-muted);
}

.price__compare s {
  text-decoration: line-through;
}

.price__badge {
  margin-inline-start: var(--space-1);
}

/* Follows the .price block for a variant sold by weight/volume/length. */
.unit-price {
  display: block;
  color: var(--color-muted);
  margin-block-start: var(--space-1);
}

/* Before a drop the price is held back (snippets/price.liquid). A quiet
   line with a small lock, not an empty gap where a price used to be. */
.price--tba {
  display: inline-flex;
  align-items: center;
}

.price__tba {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--color-muted);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.price__tba::before {
  content: '';
  width: 12px;
  height: 12px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
