/* Train booking block (application/views/partials/train_booking_block.php).
   Same tokens as the RTX pages (.rtx), scoped to .tbb so it renders the same on pages without RTX. */
.tbb{--ink:#0e1d24;--ink-2:#3a4a52;--ink-3:#6b7a82;--paper-2:#eef2f6;--line:#dde3ea;--navy:#447089;--navy-deep:#1a3b5c;--navy-soft:#e8eef4;--green:#37b004;--green-deep:#2d8c03;--radius:14px;
  box-sizing:border-box;width:100%;max-width:1500px;margin:28px auto 32px;padding:0 24px;color:var(--ink);font-family:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.55;text-align:left}
.tbb *{box-sizing:border-box}
.tbb.tbb--flush{padding:0}
.tbb-in{background:var(--navy-soft);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:var(--radius);padding:24px 28px}
.tbb .tbb-title{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:clamp(22px,2.6vw,30px);line-height:1.15;letter-spacing:-.02em;margin:0 0 10px;color:var(--navy-deep);text-transform:none;text-align:left}
.tbb .tbb-text{font-size:16px;color:var(--ink-2);margin:0 0 18px;max-width:900px}
.tbb .tbb-cta{display:inline-flex;align-items:center;background:var(--green);color:#fff;padding:12px 26px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;transition:background .15s}
.tbb .tbb-cta:hover,.tbb .tbb-cta:focus{background:var(--green-deep);color:#fff;text-decoration:none}
.tbb .tbb-company{font-size:13px;color:var(--ink-3);margin:16px 0 0}
.tbb .tbb-company a{color:var(--navy);text-decoration:underline}
/* Spacing to what follows: the block's bottom margin (32px, 24px on mobile) is the whole gap, so the next
   element drops its own top spacing. An .rtx-block.alt keeps its padding: its grey band then starts 32px
   below the card. HTML comments between the two do not break the + selector. */
.tbb + .rtx-block:not(.alt){padding-top:0}
.tbb + hr{margin-top:0}
@media(max-width:640px){.tbb{padding:0 16px;margin-bottom:24px}.tbb-in{padding:20px 18px}.tbb .tbb-text{font-size:15px}}
