diff --git a/apps/edr-passenger-web/portal/src/app/booking/reschedule/page.tsx b/apps/edr-passenger-web/portal/src/app/booking/reschedule/page.tsx
index 8e58b8585..816d2547d 100644
--- a/apps/edr-passenger-web/portal/src/app/booking/reschedule/page.tsx
+++ b/apps/edr-passenger-web/portal/src/app/booking/reschedule/page.tsx
@@ -513,7 +513,11 @@ function ReschedulePageContent() {
)}
-
+ {/* No `items-start` here on purpose: it shrinks each column to its own content height, and a
+ sticky child can only travel inside its containing block — so the summary would scroll
+ away like a normal card. The grid default (stretch) gives the right column the full row
+ height to stick within. */}
+
{/* Left column — the choices */}
@@ -726,7 +730,9 @@ function ReschedulePageContent() {
{/* Right column — sticky change summary (desktop only) */}
-
+ {/* Caps at the viewport and scrolls inside itself, so a long passenger list can't push
+ the total and the confirm button off the bottom of the screen. */}
+