/* Final-step additions: keep all payment content in its intended column. */
#screenConfirm .step-body { min-width: 0; }
#screenConfirm .booking-summary,
#screenConfirm .confirm-fare,
#screenConfirm .payment-options,
#screenConfirm #stripeWrap,
#screenConfirm #stripeCardMount { min-width: 0; max-width: 100%; box-sizing: border-box; }
#screenConfirm #stripeWrap { width: 100%; }
#screenConfirm .summary-row > *,
#screenConfirm .booking-summary td { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
#screenConfirm .kb-confirm-map-host { position: relative; overflow: hidden; padding: 0; }
#screenConfirm .kb-confirm-map-host > .kb-pickup-map { margin: 0; width: 100%; height: 100%; min-height: 280px; border: 0; border-radius: inherit; }
#screenConfirm .kb-confirm-map-host > .kb-pickup-map[data-state='unavailable'] { min-height: 150px; }
.kb-confirm-map-notice { margin: 0; padding: 24px; color: #4b5563; font: 14px/1.5 Inter,system-ui,sans-serif; }
.kb-confirm-map-notice[hidden] { display: none; }
@media (min-width: 1024px) {
  #screenConfirm .step-body { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  #screenConfirm #stripeWrap { grid-column: 2; grid-row: auto; align-self: start; }
  #screenConfirm .kb-confirm-map-host > .kb-pickup-map { min-height: 350px; }
}
@media (max-width: 1023px) {
  #screenConfirm #stripeWrap { grid-column: auto; width: 100%; }
}
