.booking-journey { display: grid; gap: 1.25rem; }
.booking-journey .page-heading { margin-bottom: 0; }
.booking-journey .booking-review-section { display: grid; gap: 1rem; min-width: 0; }
.my-bookings-page .booking-review-section { gap: 1.25rem; padding: clamp(1.25rem, 3vw, 1.75rem); }
.booking-journey .booking-review-section h2, .booking-journey .booking-review-section h3, .booking-journey .booking-review-section p { margin: 0; }
.booking-journey .booking-review-item + .booking-review-item { padding-top: 1.25rem; border-top: 1px solid var(--byp-line); }
.booking-journey .booking-review-item .voucher-card { margin-top: 1rem; }
.booking-journey .booking-history-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--byp-line); }
.booking-journey .booking-history-row > div { display: grid; gap: .35rem; min-width: 0; }
.booking-journey .booking-history-row :is(strong, span, small) { overflow-wrap: anywhere; }
.booking-journey .booking-history-row .button { flex: 0 0 auto; }
.my-bookings-page .booking-history-actions { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; flex: 0 0 auto; }
.my-bookings-page .booking-history-row { gap: 1.25rem; padding-block: 1.25rem; }
.booking-journey .check-field { align-items: flex-start; line-height: 1.5; }
.booking-journey .check-field span { min-width: 0; }
.flight-review { grid-template-columns: minmax(0, 1fr); width: min(100%, 1060px); margin-inline: auto; gap: 1.5rem; }
.flight-review .booking-review-section { padding: clamp(1.25rem, 3vw, 2rem); gap: 1.25rem; }
.flight-review :is(.booking-review-item, .voucher-card) { display: grid; min-width: 0; gap: 1rem; }
.flight-review .booking-review-item .voucher-card { margin-top: 0; padding: 1.25rem; background: var(--byp-blue-50); }
.flight-review dl { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 0; margin: 0; }
.flight-review :is(dt, dd) { min-width: 0; margin: 0; padding: .85rem .75rem; border-bottom: 1px solid var(--byp-line); line-height: 1.5; }
.flight-review dd { text-align: right; color: var(--byp-navy-950); font-weight: 650; }
.flight-review dt:last-of-type, .flight-review dd:last-of-type { border-bottom: 0; }
.flight-review .voucher-provider-notice { margin: 0; line-height: 1.6; }
.flight-review .button-row { margin-top: 0; padding-top: .5rem; }
@media (max-width: 420px) {
    .flight-review dl { grid-template-columns: minmax(0, 1fr); }
    .flight-review dt { padding-bottom: .5rem; border-bottom: 0; }
    .flight-review dd { padding-top: .5rem; text-align: left; }
}
.flight-checkout { grid-template-columns: minmax(0, 1fr); width: min(100%, 1060px); margin-inline: auto; gap: 1.5rem; }
.flight-checkout > *, .flight-checkout .checkout-content > * { min-width: 0; }
.flight-checkout .page-heading { padding-bottom: 1.25rem; border-bottom: 1px solid var(--byp-line); }
.flight-checkout .checkout-content { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(17rem, 1fr); align-items: stretch; gap: 1.25rem; }
.flight-checkout :is(.booking-review-section, .checkout-guidance, .voucher-stack) { margin: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.flight-checkout .booking-review-section { gap: 1.25rem; }
.flight-checkout .checkout-guidance { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; background: linear-gradient(160deg, var(--byp-blue-50), #fff 78%); }
.flight-checkout .checkout-guidance > p { margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--byp-line); line-height: 1.65; }
.flight-checkout .checkout-guidance .button { margin-top: auto; }
.flight-checkout .checkout-section-heading, .flight-checkout .checkout-payment-heading > div { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; }
.flight-checkout .checkout-section-heading > div, .flight-checkout .checkout-payment-heading > div > div { min-width: 0; }
.flight-checkout :is(.checkout-section-heading, .checkout-payment-heading) h2 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.55rem); }
.flight-checkout :is(.checkout-section-heading, .checkout-payment-heading) p { margin: .4rem 0 0; line-height: 1.55; }
.flight-checkout .checkout-step { display: grid; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .65rem; color: white; background: var(--byp-blue-700); font-size: .82rem; font-weight: 800; }
.flight-checkout .checkout-flight-highlight { display: grid; gap: .25rem; padding: 1.25rem 1.5rem; border-left: 4px solid var(--byp-orange-600); border-radius: var(--radius-sm); background: #fff8f3; }
.flight-checkout .checkout-flight-highlight .eyebrow { margin: 0; color: #a2421d; }
.flight-checkout .checkout-flight-highlight strong { color: var(--byp-navy-950); font-size: 1.2rem; line-height: 1.25; }
.flight-checkout .checkout-flight-highlight > span:last-child { color: var(--byp-ink); }
.flight-checkout .checkout-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; }
.flight-checkout .checkout-details > div { display: grid; align-content: start; gap: .3rem; min-width: 0; padding: 1rem 1.25rem; border-top: 1px solid var(--byp-line); }
.flight-checkout .checkout-details dt { color: var(--byp-muted); font-size: .78rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.flight-checkout .checkout-details dd { color: var(--byp-navy-950); font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.flight-checkout .checkout-details small { display: block; margin-top: .2rem; font-weight: 400; }
.flight-checkout .voucher-stack { gap: 1.25rem; }
.flight-checkout .checkout-payment-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin: 0; padding-bottom: 1.25rem; border-bottom: 1px solid var(--byp-line); }
.flight-checkout .voucher-card { display: grid; gap: 1rem; padding: 1.25rem; background: var(--byp-blue-50); }
.flight-checkout .voucher-card > :is(h3, p) { margin: 0; }
.flight-checkout .voucher-card dl { margin: 0; gap: 0; }
.flight-checkout .voucher-card :is(dt, dd) { padding: .65rem .75rem; border-bottom: 1px solid var(--byp-line); }
.flight-checkout .voucher-card dd { text-align: right; }
.flight-checkout .voucher-card dt:last-of-type, .flight-checkout .voucher-card dd:last-of-type { color: var(--byp-navy-950); font-weight: 800; border-bottom: 0; }
.flight-checkout .voucher-provider-notice { line-height: 1.6; }
.flight-checkout .voucher-stack form { display: grid; gap: 1.25rem; }
.flight-checkout .voucher-stack .check-field { margin: 0; padding: 1.1rem 1.25rem; border: 1px solid var(--byp-line); border-radius: var(--radius-sm); background: #fff; }
.flight-checkout .voucher-stack form .button-primary { justify-self: start; min-width: min(100%, 18rem); }
.flight-checkout .voucher-stack > .button { justify-self: start; }
@media (max-width: 820px) {
    .flight-checkout .checkout-content { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .booking-journey .booking-history-row { align-items: stretch; flex-direction: column; }
    .booking-journey .booking-history-row .button { width: 100%; }
    .my-bookings-page .booking-history-actions { align-self: stretch; justify-content: flex-end; }
    .my-bookings-page .booking-history-actions .button { width: auto; }
    .my-bookings-page .booking-review-section { gap: 1rem; padding: 1.15rem; }
    .my-bookings-page .booking-history-row { gap: .8rem; padding-block: 1.1rem; }
    .flight-checkout .checkout-details { grid-template-columns: minmax(0, 1fr); }
    .flight-checkout .checkout-details > div { padding-inline: .25rem; }
    .flight-checkout .voucher-card dl { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 0; }
    .flight-checkout .voucher-card :is(dt, dd) { margin: 0; padding-inline: .25rem; }
    .flight-checkout .voucher-stack form .button-primary { width: 100%; }
}
.selection-steps, .selection-row, .selection-total { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; padding:1rem 0; }
.selection-steps { border-bottom:1px solid var(--byp-line); color:var(--byp-muted); }
.selection-steps strong { color:var(--byp-blue-700); }
.selection-child { border-left:4px solid var(--byp-blue-700); }
.selection-child:nth-of-type(even) { border-left-color:#188577; }
.selection-total { border-top:2px solid var(--byp-line); font-size:1.35rem; font-weight:700; }
.selection-row + .selection-row { border-top:1px solid var(--byp-line); }
.selection-costs { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:1rem; margin:0; } .selection-costs dd { text-align:right; font-weight:700; } .selection-costs small { display:block; }
