.price-row .price-book-button {
  align-self: center;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .65rem .95rem;
  border-radius: 99px;
  background: var(--wine-v2);
  color: #fff;
  font: 700 .72rem var(--sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (max-width: 720px) {
  .price-row .price-book-button { grid-column: 1; grid-row: auto; justify-self: start; }
}

.amount-stepper { max-width: 330px; gap: 10px; }
.amount-stepper .amount-step { display: grid; width: 2.1rem; height: 2.1rem; flex: 0 0 2.1rem; place-items: center; border: 1px solid #c6b4a5; border-radius: 50%; background: transparent; color: var(--wine-v2); font: 1.5rem/1 var(--sans); cursor: pointer; }
.amount-stepper .amount-step:hover { background: var(--wine-v2); color: #fff; }
.payment-summary { display: grid; gap: 7px; padding-bottom: 14px; border-bottom: 1px solid #d8c9bb; }
.payment-summary > div, .payment-total { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.payment-summary span { color: #6f6260; font: .87rem var(--sans); }
.payment-summary strong { font-size: .92rem; }
.payment-total { padding-top:14px; font-size: 1.1rem; }
.payment-total > span { font: 1.6rem var(--serif); color: var(--wine-v2); }

.service-note { display: inline-flex; align-items: center; gap: .35rem; margin: .8rem 0 .35rem !important; padding: .38rem .58rem; border: 1px solid rgba(198, 160, 100, .55); border-radius: 6px; background: #f8efe0; color: #704b22 !important; font-size: .74rem !important; font-weight: 700; line-height: 1.35; }
