
      .page-route .brand-tagline {
        width: 270px;
        font-size: 11px;
        line-height: 1.5;
        white-space: nowrap;
        overflow-wrap: normal;
      }
      .page-route .brand-tagline > span { flex: 0 0 auto; }
      .page-route .breadcrumbs { display: none; }
      @media (min-width: 801px) {
        .page-route .brand-tagline { display: flex; justify-content: space-between; }
        .page-route .jump-links {
          width: calc(100% - 330px);
          justify-content: center;
          text-align: center;
        }
        .page-route .quick-label { flex: 1.2; min-width: 0; }
        .page-route .quick-label > .icon { flex-shrink: 0; }
        .page-route .quick-journey { flex: 1; min-width: 0; }
        .page-route .quick-journey > span { min-width: 0; overflow-wrap: anywhere; }
        .page-route .quick-cta, .page-route .quick-date { flex-shrink: 0; }
      }
      .page-route .route-intro-grid {
        display: grid;
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
        gap: 24px;
        align-items: stretch;
        padding-top: 18px;
        margin-bottom: 24px;
      }
      .page-route .route-intro-grid > * { min-width: 0; }
      .page-route .route-intro-grid .route-booking { margin: 0; }
      .page-route .route-intro-grid .booking-panel {
        height: 100%;
        padding: 18px 20px !important;
        border-radius: 8px;
      }
      .page-route .route-intro-grid .booking-heading {
        display: flex;
        font-size: 17px;
        margin-bottom: 12px;
      }
      .page-route .route-intro-grid .booking-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
      }
      .page-route .route-intro-grid .pseudo-field {
        display: flex;
        padding: 8px 11px;
      }
      .page-route .route-intro-grid .field-value {
        min-height: 22px;
        font-size: 13px;
        line-height: 1.4;
        overflow-wrap: anywhere;
      }
      .page-route .route-intro-grid .field-value .icon { flex-shrink: 0; }
      .page-route .route-intro-grid .booking-bottom {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 9px;
        margin-top: 11px;
      }
      .page-route .route-intro-grid .passengers { display: block; font-size: 11px; }
      .page-route .route-intro-grid .booking-bottom .button {
        width: 100%;
        min-height: 44px;
        padding: 10px 15px;
        font-size: 13px;
        white-space: normal;
      }
      .page-route .route-intro-grid .booking-hint {
        margin-top: 7px;
        text-align: center;
        font-size: 10px;
      }
      .page-route .route-intro-grid .route-hero {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
        gap: 0;
        padding: 20px 22px;
        border: 1px solid var(--line);
        border-radius: 8px;
        overflow-wrap: anywhere;
      }
      .page-route .route-intro-grid .route-hero .eyebrow { margin-bottom: 9px; }
      .page-route .route-intro-grid .route-hero h1 {
        font-size: 31px;
        line-height: 1.15;
        letter-spacing: -.65px;
        margin-bottom: 11px;
      }
      .page-route .route-intro-grid .route-guide-copy > p:not(.eyebrow) {
        font-size: 14px;
        line-height: 1.55;
      }
      .page-route .route-split-savings {
        padding-top: 16px;
        margin-top: 16px;
        border-top: 1px solid var(--line);
      }
      .page-route .route-savings-copy h2 strong {
        color: var(--red);
        font-size: 26px;
        white-space: nowrap;
      }
      .page-route .route-savings-copy h2 {
        font-size: 18px;
        line-height: 1.3;
        letter-spacing: 0;
        margin-bottom: 7px;
      }
      .page-route .route-hero .route-savings-copy p { font-size: 12px; line-height: 1.5; }
      .page-route .route-hero .route-savings-copy .route-savings-note {
        margin-top: 7px;
        font-size: 10px;
      }
      .page-route .route-booking-footer { margin-top: 8px; margin-bottom: 30px; }
      .page-route .banner-card { margin-top: 24px; padding: 0; overflow: hidden; }
      .page-route .banner-frame {
        display: block;
        width: 100%;
        min-height: 250px;
        border: 0;
        background: #fff;
      }
      @media (max-width: 1100px) {
        .page-route .route-intro-grid { gap: 20px; }
        .page-route .route-intro-grid .route-hero h1 { font-size: 28px; }
        .page-route .route-intro-grid .route-hero { padding: 18px 20px; }
      }
      @media (min-width: 801px) and (max-width: 1050px) {
        .page-route .jump-links { width: calc(100% - 297px); }
      }
      @media (max-width: 800px) {
        .page-route .route-intro-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
        .page-route .route-intro-grid .booking-panel { height: auto; }
        .page-route .route-intro-grid .route-hero h1 { font-size: 30px; }
      }
      @media (max-width: 620px) {
        .page-route .route-intro-grid .booking-panel { padding: 15px !important; }
        .page-route .route-intro-grid .booking-heading { font-size: 16px; margin-bottom: 10px; }
        .page-route .route-intro-grid .pseudo-field { padding: 7px 9px; }
        .page-route .route-intro-grid .field-value { font-size: 12px; }
        .page-route .route-intro-grid .route-hero { padding: 18px; }
        .page-route .route-intro-grid .route-hero h1 { font-size: 27px; }
        .page-route .route-savings-copy h2 { font-size: 17px; }
        .page-route .route-savings-copy h2 strong { font-size: 24px; }
      }
      /* Let the blank advertising tile reach the lower booking panel on desktop.
         Natural banner content can grow either column; mobile stays content-sized. */
      @media (min-width: 801px) {
        .page-route .inner-columns > .main-column,
        .page-route .inner-columns > .side-column {
          display: flex;
          flex-direction: column;
          min-width: 0;
        }
        .page-route .inner-columns > .main-column > *,
        .page-route .inner-columns > .side-column > * { flex: 0 0 auto; }
        .page-route .main-column > .route-booking-footer {
          margin-top: auto;
          margin-bottom: 0;
        }
        .page-route .side-column > .banner-card {
          display: flex;
          flex-direction: column;
          flex: 1 0 auto;
          min-height: 252px;
          margin-bottom: 0;
        }
        .page-route .banner-card > .banner-frame { flex: 1 0 auto; }
      }
    

      /* RailSaver route navigation and booking panels — 8 November 2026.
         Kept in each template so generated pages inherit the same layout. */
      .page-route .route-savings-heading-row {
        display: grid;
        grid-template-columns: max-content minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        margin-bottom: 7px;
      }
      
      .page-route .route-savings-heading-row .route-savings-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 44px;
        padding: 9px 14px;
        border-radius: 6px;
        background: var(--red);
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        text-decoration: none;
        white-space: nowrap;
      }
      
      .page-route .route-savings-heading-row .route-savings-cta:hover {
        background: #a82319;
        color: #fff;
        text-decoration: none;
      }
      
      .page-route .route-savings-heading-row .route-savings-cta:focus-visible {
        outline: 3px solid var(--navy);
        outline-offset: 3px;
      }
      
      .page-route .route-savings-heading-row h2 {
        min-width: 0;
        margin: 0;
        font-size: 18px;
        line-height: 1.3;
        letter-spacing: 0;
      }
      
      .page-route .route-savings-heading-row h2 strong {
        color: var(--red);
        font-size: 26px;
        white-space: nowrap;
      }
      
      .page-route .route-plan-links {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin: 18px 0 0;
      }
      
      .page-route .route-plan-links a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 6px 12px;
        border: 1px solid #d9e1ef;
        border-radius: 999px;
        background: #f2f5fa;
        color: var(--navy);
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        text-decoration: none;
        white-space: nowrap;
      }
      
      .page-route .route-plan-links a:hover {
        border-color: #bcc9de;
        background: #e5edf8;
        color: var(--navy);
        text-decoration: none;
      }
      
      .page-route .route-plan-links a:focus-visible {
        outline: 3px solid var(--navy);
        outline-offset: 3px;
      }
      
      .page-route .route-booking .booking-panel {
        border: 2px solid var(--navy);
        box-shadow: 0 2px 8px rgb(27 42 103 / 14%);
      }
      
      .page-route .route-booking .booking-panel:hover,
      .page-route .route-booking .booking-panel:focus-visible {
        border-color: var(--navy-dark);
        box-shadow: 0 3px 10px rgb(27 42 103 / 18%);
      }
      
      .page-route .route-booking .booking-panel:focus-visible {
        outline: 3px solid var(--red);
        outline-offset: 3px;
      }
      
      .page-route .route-example-savings {
        padding: 20px 24px;
        margin: 0 0 24px;
        border: 1px solid var(--line);
        border-radius: 8px;
      }
      
      .page-route .route-example-savings p {
        margin-bottom: 0;
        font-size: 12px;
        line-height: 1.5;
      }
      
      .page-route .route-example-savings .route-savings-note {
        margin-top: 7px;
        font-size: 10px;
      }
      
      /* Allow the supplied main menu to wrap within tablet-width screens. */
      @media (min-width: 621px) and (max-width: 800px) {
        .page-route > .site-nav .nav-inner {
          flex-wrap: wrap;
          justify-content: flex-start;
        }
      }
      
      @media (max-width: 800px) {
        .page-route .route-savings-heading-row .route-savings-cta {
          padding: 8px 11px;
          font-size: 11px;
        }
      
        .page-route .route-savings-heading-row .route-savings-cta .icon {
          width: 14px;
          height: 14px;
        }
      }
      
      @media (max-width: 620px) {
        .page-route .route-savings-heading-row { gap: 10px; }
        .page-route .route-savings-heading-row h2 { font-size: 17px; }
        .page-route .route-savings-heading-row h2 strong { font-size: 24px; }
        .page-route .route-example-savings { padding: 18px; }
      }
    

/* Abbey Wood route review: preserve the established cards and brand. */
.page-route .breadcrumbs{display:flex!important;flex-wrap:wrap;gap:7px;font-size:12px;padding:0!important;margin:12px 0 4px!important;color:#526079}
.page-route .route-intro-grid{gap:20px;margin-bottom:16px;padding-top:12px}
.page-route .information-card{padding:24px;margin-bottom:18px}
.page-route .information-card h2{margin-top:0}.page-route .information-card h3{margin:20px 0 9px;font-size:18px}
.page-route .route-direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.page-route .route-direction-grid h3{margin-top:0}.page-route .route-direction-grid article{min-width:0}
.page-route .route-review-note{font-size:12px;color:#526079;margin:0 0 16px;line-height:1.6}
.page-route .route-status{border-left:4px solid #aa6518;background:#fff8eb;padding:16px 20px;margin:0 0 18px;border-radius:6px}
.page-route .route-status p{margin:7px 0 0}.page-route .route-source-links{padding-left:20px;line-height:1.65}
.page-route .route-status strong{display:block;margin-bottom:4px}
.page-route .route-source-links li{margin:5px 0}.page-route .route-source-links a{overflow-wrap:anywhere}
.page-route .route-local-photo{margin:0}.page-route .route-local-photo img{display:block;width:100%;height:auto;border-radius:6px}
.page-route .route-local-photo figcaption{font-size:12px;color:#526079;line-height:1.5;margin-top:7px}
.page-route .route-tour-panel{margin-top:20px}.page-route .route-tour-panel>summary{font-weight:700;cursor:pointer}
.page-route [data-viator-status]{display:block;line-height:1.5;margin-top:8px}
.page-route [data-vi-partner-id]{max-width:100%;overflow:hidden;margin-top:14px}
.page-route [data-route-finder]{margin:18px 0}.page-route [data-route-finder] label{display:block;font-weight:700;margin-bottom:7px}
.page-route [data-route-finder] input{display:block;width:100%;max-width:520px;padding:11px 12px;border:1px solid #99a3b5;border-radius:5px;font:inherit}
.page-route [data-route-count]{display:block;margin-top:8px;font-size:13px;color:#526079}
.page-route .route-origin-list ul{columns:2;column-gap:24px;padding-left:20px}.page-route .route-origin-list li{break-inside:avoid;margin:0 0 9px}
.page-route .route-status-label{display:block;font-size:12px;color:#6d541b}
.page-route .route-origin-list details>summary{cursor:pointer;font-weight:700;padding:10px 0}
.page-route .route-photo-credit-link{font-size:12px}.page-route [hidden]{display:none!important}
.page-route .information-card .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.page-route .button:focus-visible,.page-route summary:focus-visible,.page-route input:focus-visible{outline:3px solid #be2b1d;outline-offset:3px}
@media(max-width:800px){.page-route .information-card{padding:20px;margin-bottom:16px}.page-route .route-direction-grid{grid-template-columns:1fr;gap:8px}.page-route .route-intro-grid{gap:16px}.page-route .breadcrumbs{font-size:11px}.page-route .route-origin-list ul{columns:1}.page-route .route-savings-heading-row{flex-wrap:wrap}}
