/* Corridor layout only. The existing BO card and sidebar designs remain authoritative. */
.mt-corridor-bo-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
.mt-corridor-bo-results, .mt-corridor-bo-rail { min-width: 0; }
.mt-corridor-bo-rail { width: 100%; max-width: 420px; justify-self: center; align-self: stretch; }
.mt-corridor-bo-stack { display: flex; flex-direction: column; gap: 24px; min-width: 0; scroll-margin-top: var(--mt-bo-header-gap, 9rem); }

/* Only the combined rail sticks. Independent sticky children would overlap. */
.mt-corridor-bo-rail .rb-bo.rb-bo-sidebar, .mt-corridor-bo-rail .rb-bbo.rb-bbo-sidebar { position: static; top: auto; }

/* Keep enough width for the existing four-column money-transfer cards. */
@media (min-width: 1200px) {
    #comparison-results > .container-xl.mt-corridor-bo-container { width: calc(100% - 48px); max-width: 1520px; }
    .mt-corridor-bo-layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; }
    .mt-corridor-bo-rail { max-width: none; justify-self: stretch; }
}
@media (min-width: 1200px) and (min-height: 600px) {
    /* A tall stack scrolls into view before sticking at its bottom edge.
       This keeps Banking reachable without adding an outer nested scrollbar. */
    .mt-corridor-bo-stack[data-mt-bo-sticky-ready] { position: sticky; top: var(--mt-bo-sticky-top, 9rem); }
}
/* Slimmer sidebar and gutters on smaller laptop screens. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    #comparison-results > .container-xl.mt-corridor-bo-container { width: calc(100% - 24px); }
    .mt-corridor-bo-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; }
    .mt-corridor-bo-results .mt-provider-column img { max-width: 100% !important; }
}
@media print {
    #comparison-results > .container-xl.mt-corridor-bo-container { width: 100%; max-width: none; }
    .mt-corridor-bo-layout { display: block; }
    .mt-corridor-bo-rail { display: none; }
}

/* Money-transfer BO rail: blue frame and fitted navy headings only. */
.mt-corridor-bo-stack { border: 3px solid #2458bd; border-radius: 12px; padding: 6px; background: #fff; box-sizing: border-box; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__heading-row, .rb-bbo__heading-row) { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; min-height: 42px; padding: 6px 8px; border-radius: 7px; background: #102c57; box-sizing: border-box; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__heading-row, .rb-bbo__heading-row) > h2 { flex: 1 1 0%; min-width: 0; margin: 0; color: #fff; font-size: var(--mt-bo-heading-size, 13px); font-weight: 750; line-height: 1.3; letter-spacing: -.2px; white-space: nowrap; text-wrap: nowrap; overflow-wrap: normal; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo-sidebar__month, .rb-bbo-sidebar__month) { color: #fff; font-size: inherit; font-weight: inherit; white-space: nowrap; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__controls, .rb-bbo__controls) { flex: 0 0 auto; gap: 3px; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__arrow, .rb-bbo__arrow) { color: #fff; background: #214779; border-color: #7899c2; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__arrow, .rb-bbo__arrow):hover { color: #102c57; background: #fff; border-color: #fff; }
.mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__arrow, .rb-bbo__arrow):focus-visible { outline: 2px solid #facc15; outline-offset: 2px; }

/* Below the desktop sidebar breakpoint: normal page flow, one offer per row.
   Keep the existing headings, six-offer cap and card actions; omit the outer frame. */
@media screen and (max-width: 1199.98px) {
    .mt-corridor-bo-rail { max-width: 680px; }
    .mt-corridor-bo-stack[data-mt-bo-stack] { position: static; top: auto; border: 0; }
    .mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) { position: static; top: auto; }
    .mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo-sidebar__track, .rb-bbo-sidebar__track) { display: flex; flex-direction: column; height: auto; max-height: none; overflow: visible; scrollbar-gutter: auto; }
    .mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo-sidebar__track, .rb-bbo-sidebar__track) > :is(.rb-bo__item, .rb-bbo__item) { flex: 0 0 auto; width: 100%; min-width: 0; }
    .mt-corridor-bo-stack :is(.rb-bo.rb-bo-sidebar, .rb-bbo.rb-bbo-sidebar) :is(.rb-bo__controls, .rb-bbo__controls) { display: none !important; }
}
