.tax-note {
  display: block;
  margin-top: 3px;
  color: #718a9b;
  font: 500 11px Barlow, sans-serif;
  letter-spacing: .02em;
}

.sale-ticker {
  position: sticky;
  top: 0;
  z-index: 30;
  width: 100%;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 159, 159, .34);
  background: linear-gradient(90deg, #861b25, #b52230 48%, #861b25);
  color: #fff7f7;
  box-shadow: 0 7px 20px rgba(83, 9, 18, .28);
}

.sale-ticker-track,
.sale-ticker-group {
  display: flex;
  align-items: center;
  flex: none;
  width: max-content;
}

.sale-ticker-group {
  min-width: 100vw;
  justify-content: space-around;
}

.sale-ticker-track {
  min-height: 36px;
  animation: sale-ticker-run 24s linear infinite;
  will-change: transform;
}

.sale-ticker-group span {
  position: relative;
  min-width: max-content;
  padding: 8px 34px;
  font: 700 13px/20px Rajdhani, sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.sale-ticker-group span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -2px;
  width: 4px;
  height: 4px;
  transform: translateY(-50%) rotate(45deg);
  background: rgba(255, 255, 255, .7);
}

.has-sale-ticker header {
  top: 36px;
}

@keyframes sale-ticker-run {
  to { transform: translateX(-50%); }
}

@media (max-width: 620px) {
  .sale-ticker-track { min-height: 34px; }
  .sale-ticker-group span { padding: 7px 25px; font-size: 12px; }
  .has-sale-ticker header { top: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .sale-ticker-track {
    width: 100%;
    justify-content: center;
    animation: none;
    will-change: auto;
  }
  .sale-ticker-group:last-child,
  .sale-ticker-group span:not(:first-child) { display: none; }
  .sale-ticker-group span::after { display: none; }
}

.price-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 9px;
}

.sale-original {
  margin: 0;
  color: #718a9b;
  font-size: .62em;
  font-weight: 600;
  text-decoration-thickness: 1px;
}

.sale-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid rgba(45, 180, 232, .42);
  border-radius: 5px;
  background: rgba(45, 180, 232, .13);
  color: #8bdfff;
  font: 700 11px/1 Rajdhani, sans-serif;
  font-style: normal;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.sale-badge[hidden],
.sale-original[hidden] {
  display: none;
}

.cart-price {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 7px;
}

.cart-price b {
  color: #7fc9ec;
  font-weight: 600;
}

.cart-price del {
  color: #60798a;
  font-size: 11px;
}

.cart-price em {
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(45, 180, 232, .13);
  color: #8bdfff;
  font: 700 9px Rajdhani, sans-serif;
  font-style: normal;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.visual img.contain {
  object-fit: contain;
  object-position: center;
  background: #050b11;
}

.product:hover .visual img.contain {
  transform: none;
}
