.basket-summary { margin: 1rem 0; }
.basket-line, .basket-totals>div { display: flex; justify-content: space-between; gap: 1rem; margin: .65rem 0; }
.basket-totals { margin: 1rem 0; }
.basket-totals dd { margin: 0; font-weight: 700; white-space: nowrap; }
.basket-grand-total { border-top: 1px solid currentColor; padding-top: .85rem; font-size: 1.15rem; }
.mobile-basket-bar { display: none; }
.checkout-edit-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1rem 0; }
.checkout-edit-actions form { margin: 0; }
.checkout-summary-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .75rem; }
.field-error { display: block; color: #842f30; font-weight: 650; margin: .35rem 0 .75rem; }
.delivery-form>[name], .delivery-form>.delivery-address-field { margin-bottom: 1rem; }
.delivery-form>.delivery-address-field .field-label { display: block; font-weight: 700; margin-bottom: .4rem; }
.delivery-form .form-error a { color: inherit; text-decoration: underline; }
.delivery-form [aria-invalid="true"] { border-color: #842f30; }
.reservation-recovery { border: 2px solid #842f30; margin-bottom: 1rem; }
.reservation-recovery[hidden], .mobile-basket-bar[hidden] { display: none; }
.edit-portion-row { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding: 1rem 0; border-bottom: 1px solid #e4cdc6; }
.edit-portion-row span small { display: block; font-weight: 400; }
.edit-portion-row select { width: 6rem; flex-shrink: 0; }
#basket { scroll-margin-top: 1rem; }
@media (max-width: 760px) {
  body:has(.mobile-basket-bar:not([hidden])) { padding-bottom: calc(145px + env(safe-area-inset-bottom)); }
  .mobile-basket-bar { position: fixed; z-index: 20; bottom: calc(68px + env(safe-area-inset-bottom)); left: 12px; right: 12px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 58px; padding: .7rem 1rem; color: #fffaf5; background: #7b4143; border-radius: 14px; box-shadow: 0 4px 20px #3c292530; }
  .mobile-basket-bar span { display: grid; }
  .mobile-basket-bar small { font-size: .75rem; }
  .mobile-basket-bar strong { white-space: nowrap; }
  #basket { scroll-margin-bottom: 145px; }
}
