.product-photo .offer-pill {
  top: 16px;
  left: 16px;
  padding: 10px 15px;
  border-radius: 9px;
  background: #782a3f;
  color: #fff;
  box-shadow: 0 7px 20px rgba(42, 15, 23, .25);
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .015em;
  text-transform: none;
}
.product-copy > .product-price-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
}
.offer-name {
  color: #782a3f;
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.3;
}
.price-stack {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.product-price-row .price-stack { justify-content: end; text-align: right; }
.original-price {
  color: #85858a;
  font-size: .9rem;
  font-weight: 550;
  text-decoration-color: #782a3f;
  text-decoration-thickness: 2px;
}
.current-price { color: #20232b; font-size: 1.24rem; font-weight: 800; }
.modal-offer {
  display: inline-block;
  margin-top: 18px;
  padding: 8px 12px;
  border-radius: 8px;
  background: #f6e6eb;
  color: #782a3f;
  font-size: .83rem;
  font-weight: 800;
}
.modal-price-row { margin-top: 16px; }
.modal-price-row .current-price { font-size: 1.75rem; }
.modal-price-row .original-price { font-size: 1.1rem; }
.bag-price { display: grid; justify-items: start; gap: 5px; margin: 8px 0 15px; }
.bag-price .current-price { font-size: 1.18rem; }
.event-highlight { gap: 24px; }
.event-highlight-copy { flex: 1; min-width: 0; }
.event-highlight-photo {
  flex: 0 0 148px;
  height: 128px;
  overflow: hidden;
  border-radius: 15px;
  background: #c5c9d1;
}
.event-highlight-photo img, .event-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.events-list > article.has-image { grid-template-columns: 90px minmax(0, 1fr) minmax(170px, 230px); align-items: center; }
.events-list .event-copy > span { color: #777e87; font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.event-photo { width: 100%; height: 158px; overflow: hidden; border-radius: 16px; background: #dfe2e8; }
.event-form-preview { display: block; width: 100%; max-height: 220px; object-fit: cover; border-radius: 12px; }
@media (max-width: 620px) {
  .product-copy > .product-price-row { align-items: start; }
  .event-highlight { flex-wrap: wrap; }
  .event-highlight-photo { flex: 0 0 100%; height: 170px; }
  .event-highlight .round-link { width: 46px; height: 46px; }
  .events-list > article.has-image { grid-template-columns: 70px minmax(0, 1fr); align-items: start; }
  .events-list .event-photo { grid-column: 2; height: 180px; }
}
