

/* Split-ticket additions only. The approved RailSaver shared files remain intact. */
.page-splittickets .slim-booking,
.page-splittickets .booking-panel.booking-panel-emphasis {
  border: 2px solid var(--navy);
  box-shadow: 0 2px 8px rgb(27 42 103 / 14%);
}
.page-splittickets .booking-panel.booking-panel-emphasis:hover {
  border-color: var(--navy-dark);
  box-shadow: 0 3px 10px rgb(27 42 103 / 18%);
}
.page-splittickets .site-nav a { padding-inline: 15px; }
.page-splittickets .slim-planner-title { white-space: normal; font-size: 15px; line-height: 1.2; }
.page-splittickets .button { max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.page-splittickets .booking-fields > span { min-width: 0; }
.page-splittickets .field-value { min-width: 0; overflow-wrap: anywhere; }
.page-splittickets .station-hero { background: #fff; }
.page-splittickets .station-hero h1 { font-size: clamp(27px, 3vw, 34px); }
.page-splittickets .station-guide-copy .split-intro {
  margin-bottom: 11px; font-size: 17px; font-weight: 700; color: var(--navy);
}
.page-splittickets .station-savings-heading-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px;
}
.page-splittickets .station-savings-heading-row .quick-cta {
  display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
  padding: 10px 15px; font-size: 13px; min-height: 44px;
}
.page-splittickets .station-savings-heading-row h2 {
  flex: 1 1 230px; margin: 0; font-size: 18px; line-height: 1.4;
}
.page-splittickets .station-savings-copy h2 strong {
  font-size: inherit; white-space: normal;
}
.page-splittickets .station-hero .station-savings-copy .station-savings-note {
  margin: 11px 0 0; font-size: 12px; line-height: 1.6;
}
.page-splittickets .split-plan { background: var(--pale); }
.page-splittickets .split-plan h2 { font-size: 24px; }
.page-splittickets .split-pills {
  display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0;
}
.page-splittickets .split-pills a {
  display: inline-flex; justify-content: center; align-items: center;
  min-height: 42px; padding: 9px 14px; border: 2px solid var(--navy);
  border-radius: 999px; background: #fff; font-size: 12px;
  font-weight: 700; line-height: 1.4; text-align: center;
}
.page-splittickets .split-pills a:hover { background: #eaf0ff; text-decoration: none; }
.page-splittickets .information-card h3 {
  margin: 22px 0 9px; font-size: 19px; line-height: 1.4;
}
.page-splittickets .information-card h2 { overflow-wrap: anywhere; }
.page-splittickets .split-steps { margin: 20px 0 0; padding: 0; list-style: none; }
.page-splittickets .split-steps li {
  display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px;
  padding: 13px 0; border-top: 1px solid var(--line); font-size: 14px;
}
.page-splittickets .step-number {
  display: grid; place-items: center; width: 30px; height: 30px;
  border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700;
}
.page-splittickets .split-steps strong { display: block; color: var(--navy); }
.page-splittickets .split-steps p { margin: 3px 0 0; }
.page-splittickets .fare-example { margin: 21px 0 16px; }
.page-splittickets .fare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.page-splittickets .fare-card { border: 1px solid var(--line); border-radius: 8px; padding: 19px; }
.page-splittickets .fare-card.split-fare { border: 2px solid var(--navy); background: var(--pale); }
.page-splittickets .fare-card h3 { font-size: 15px; margin: 0 0 10px; }
.page-splittickets .fare-card .fare-amount { color: var(--navy); font-size: 32px; font-weight: 700; line-height: 1.1; }
.page-splittickets .fare-card p { margin: 8px 0 0; font-size: 13px; line-height: 1.55; }
.page-splittickets .fare-example figcaption { margin-top: 11px; font-size: 12px; color: var(--muted); }
.page-splittickets .example-saving { border-left: 4px solid var(--red); padding-left: 13px; }
.page-splittickets .split-checks { padding-left: 21px; margin: 14px 0 0; color: var(--muted); font-size: 14px; }
.page-splittickets .split-checks li { padding-left: 2px; margin: 8px 0; }
.page-splittickets .split-checks strong { color: var(--ink); }
.page-splittickets .split-callout { padding: 16px 18px; margin-top: 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--pale); }
.page-splittickets .split-callout p { margin: 0; }
.page-splittickets .station-guide-button { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-decoration: underline; }
.page-splittickets .side-booking { border: 1px solid var(--line); }
.page-splittickets .side-booking h2 { font-size: 23px; overflow-wrap: anywhere; }
.page-splittickets .side-booking .button { width: 100%; text-align: center; }
.page-splittickets .side-booking .small-copy { margin: 12px 0 0; font-size: 12px; }
.page-splittickets .split-side-links { margin: 0; padding: 0; list-style: none; }
.page-splittickets .split-side-links li + li { border-top: 1px solid var(--line); }
.page-splittickets .split-side-links a { display: block; padding: 10px 0; font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.page-splittickets .source-note h2 { font-size: 18px; }
.page-splittickets .source-note p { font-size: 13px; }
.page-splittickets .split-sources { padding-left: 19px; margin: 10px 0 0; font-size: 13px; }
.page-splittickets .split-sources li { margin: 9px 0; }
.page-splittickets .split-sources a { text-decoration: underline; text-underline-offset: 3px; }
.page-splittickets .split-breadcrumbs { font-size: 12px; padding-bottom: 24px; color: var(--muted); }
.page-splittickets .split-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 0; }
.page-splittickets .split-breadcrumbs li + li::before { content: '/'; margin-right: 7px; color: var(--muted); }
.page-splittickets .inner-columns { padding-bottom: 26px; }
.page-splittickets .footer-brand img { content: normal; filter: none; }
.page-splittickets .footer-grid .footer-intro p { overflow-wrap: anywhere; }
.page-splittickets .information-card details { padding: 15px 0; }
.page-splittickets .information-card summary { line-height: 1.55; }
.page-splittickets .information-card details p { margin-bottom: 0; }
@media (min-width: 801px) {
  .page-splittickets .nav-inner { flex-wrap: wrap; }
  .page-splittickets .slim-booking { left: max(280px, 33%); grid-template-columns: 132px minmax(0,1fr) 132px; }
}
@media (max-width: 800px) {
  .page-splittickets .site-nav a { padding-inline: 12px; }
  .page-splittickets .side-column { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
  .page-splittickets .side-column > * { margin: 0; }
  .page-splittickets .side-column .banner-card { grid-column: 1 / -1; min-height: 250px; }
  .page-splittickets .station-booking-footer { margin-bottom: 24px; }
}
@media (max-width: 520px) {
  .page-splittickets .side-column, .page-splittickets .fare-grid { grid-template-columns: 1fr; }
  .page-splittickets .split-pills { gap: 8px; }
  .page-splittickets .split-pills a { padding: 8px 12px; }
  .page-splittickets .station-savings-heading-row h2 { flex-basis: 100%; }
  .page-splittickets .station-savings-heading-row .quick-cta { width: 100%; justify-content: center; }
  .page-splittickets .fare-card { padding: 16px; }
}
@media print {
  .page-splittickets .station-sticky-header { position: static; }
  .page-splittickets .split-pills, .page-splittickets .banner-card { display: none; }
}

    
/* Scoped SEO pass: keep the existing RailSaver design and reduce repeated space. */
.page-splittickets .information-card{margin-bottom:18px}
.page-splittickets .split-plan{padding-block:18px}
.page-splittickets .split-plan h2{font-size:21px;margin-bottom:10px}
.page-splittickets .split-pills{margin-top:10px;gap:8px}
.page-splittickets .split-reviewed{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 16px}
.page-splittickets .split-route-grid{margin:16px 0}
.page-splittickets .split-route-grid h3{margin-top:0;font-size:18px}
.page-splittickets .split-route-evidence{font-size:13px}
.page-splittickets .split-calculator{border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--pale);margin-top:14px}
.page-splittickets .split-calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.page-splittickets .split-calculator label{display:block;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:6px}
.page-splittickets .split-calculator input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;border:1px solid #64748b;border-radius:5px;padding:8px 10px;background:white;color:var(--ink);font:inherit}
.page-splittickets .split-calculator input[aria-invalid=true]{border:2px solid #a62018}
.page-splittickets .split-calculator .small-copy{font-size:12px;margin:12px 0}
.page-splittickets .split-calculator output{display:block;margin-top:12px;font-weight:700;line-height:1.6;color:var(--navy)}
.page-splittickets .split-calculator output[data-result-state=error]{color:#a62018}
.page-splittickets [hidden]{display:none!important}
.page-splittickets .split-illustration{margin-top:12px}
.page-splittickets .split-illustration summary,.page-splittickets .split-faq summary{cursor:pointer;font-weight:700;color:var(--navy)}
.page-splittickets .split-status{border-left:4px solid var(--red)}
.page-splittickets .split-station-photo{margin:18px 0 0}
.page-splittickets .split-station-photo img{display:block;max-width:100%;width:100%;height:auto;border-radius:7px}
.page-splittickets .split-station-photo figcaption{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}
.page-splittickets .split-route-links{padding-left:20px}
.page-splittickets .split-route-links li{margin:8px 0}
.page-splittickets .main-column,.page-splittickets .side-column,.page-splittickets .fare-card{min-width:0}
.page-splittickets .information-card a,.page-splittickets .station-hero h1{overflow-wrap:anywhere}
@media(max-width:520px){.page-splittickets .split-calculator-fields{grid-template-columns:1fr}.page-splittickets .split-calculator{padding:14px}.page-splittickets .information-card{margin-bottom:14px}}
