/* RailSaver split-ticket hub - 9 November 2026.
   Scoped additions to the supplied homepage design. */
.page-split-ticket-hub [hidden] { display: none !important; }
.page-split-ticket-hub .style99 { display: none !important; }
.page-split-ticket-hub .compact-hero .hero-copy p:not(.eyebrow) { max-width: 330px; }
.page-split-ticket-hub .core-sticky-header .slim-booking { border: 2px solid var(--navy); box-shadow: 0 2px 8px rgb(27 42 103 / 14%); }
.page-split-ticket-hub .slim-planner-title { white-space: normal; font-size: 15px; }
.page-split-ticket-hub .home-section-nav { border: 0; padding-bottom: 0; gap: 10px; margin-top: 0; }
.page-split-ticket-hub .home-section-nav a { padding: 9px 15px; font-size: 12px; }
.page-split-ticket-hub .planning-section { padding-bottom: 30px; }
.page-split-ticket-hub .split-guide-search { margin-bottom: 18px; }
.page-split-ticket-hub .split-guide-search h2 { font-size: clamp(25px, 2.7vw, 32px); }
.split-search-tools { display: flex; justify-content: space-between; align-items: start; gap: 18px; margin-top: 12px; }
.split-clear-search { flex: 0 0 auto; color: var(--navy); background: transparent; border: 0; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; padding: 0 0 7px; }
.split-search-results-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; margin: 18px 0 0; padding: 0; }
.split-search-result { min-width: 0; }
.split-search-result-link { display: flex; flex-direction: column; justify-content: center; height: 100%; min-height: 78px; padding: 13px 15px; border: 1px solid #c6d1e3; border-radius: 6px; background: #fff; line-height: 1.45; }
.split-search-result-link:hover { background: #e9eef8; border-color: var(--navy); text-decoration: none; }
.split-search-result-name { color: var(--navy); font-weight: 700; font-size: 14px; overflow-wrap: anywhere; }
.split-search-result-label { color: var(--muted); font-size: 11px; margin-top: 3px; }
.split-more-button { display: block; border: 1px solid var(--navy); padding: 10px 18px; border-radius: 5px; background: #fff; color: var(--navy); font-size: 13px; font-weight: 700; margin-top: 16px; }
.split-more-button:hover { background: #e9eef8; }
.split-quick-guides { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12px; }
.split-quick-guides > span { font-weight: 700; color: var(--muted); }
.split-quick-guides a { text-decoration: underline; text-underline-offset: 3px; }
.split-benefit-note { margin: 22px 0 0; font-size: 12px; color: var(--muted); }
.page-split-ticket-hub .split-guide-section { padding-top: 34px; padding-bottom: 0; }
.page-split-ticket-hub .split-guide-section .home-copy-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; }
.page-split-ticket-hub .home-copy-card .eyebrow { font-size: 11px; color: var(--red); }
.split-booking-steps, .split-booking-checks { padding-left: 21px; color: var(--muted); font-size: 14px; line-height: 1.8; margin: 20px 0; }
.split-booking-steps li, .split-booking-checks li { margin: 10px 0; padding-left: 3px; }
.split-booking-steps strong, .split-booking-checks strong { color: var(--ink); }
.split-fare-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.split-fare-comparison > div { padding: 17px; border: 1px solid var(--line); border-radius: 7px; }
.split-fare-comparison h3 { font-size: 15px; line-height: 1.45; margin: 0 0 10px; }
.split-fare-comparison strong { display: block; font-size: 34px; color: var(--navy); line-height: 1.2; }
.page-split-ticket-hub .split-fare-comparison p { font-size: 12px; line-height: 1.6; margin: 8px 0 0; }
.split-fare-comparison .split-fare-option { border: 2px solid var(--navy); background: var(--pale); }
.split-example-note { border-left: 4px solid var(--red); padding-left: 14px; }
.page-split-ticket-hub .home-copy-card .small-copy { font-size: 12px; }
.page-split-ticket-hub .split-before-travel { margin-top: 34px; }
.split-faq-section { padding-top: 5px; }
.split-faq-section .information-card { padding: 28px; margin-bottom: 0; }
.split-faq-section .information-card summary { line-height: 1.5; }
.split-faq-section .information-card details p { margin-bottom: 0; }
.split-source-links { display: flex; flex-wrap: wrap; gap: 8px 16px; border-top: 1px solid var(--line); margin-top: 16px; padding-top: 18px; font-size: 12px; }
.split-source-links a { text-decoration: underline; }
.split-directory-section { padding-top: 38px; padding-bottom: 24px; }
.split-directory-section > p { color: var(--muted); font-size: 14px; }
.split-alphabet { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0; }
.split-alphabet a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #b9c7dc; border-radius: 4px; background: var(--pale); color: var(--navy); font-size: 14px; font-weight: 700; }
.split-alphabet a:hover { background: var(--navy); color: #fff; text-decoration: none; }
.split-directory-groups { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.split-letter-group + .split-letter-group { border-top: 1px solid var(--line); }
.split-letter-group > summary { padding: 14px 20px; color: var(--navy); font-weight: 700; cursor: pointer; line-height: 1.5; background: #fff; }
.split-letter-group[open] > summary { background: var(--pale); border-bottom: 1px solid var(--line); }
.split-letter-group > summary:hover { background: var(--pale); }
.split-letter-count { float: right; color: var(--muted); font-size: 12px; font-weight: 400; padding-top: 3px; }
.split-station-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; padding: 15px 20px 20px; list-style: none; margin: 0; }
.split-station-links li { min-width: 0; border-bottom: 1px solid #edf0f5; }
.split-directory-link { display: block; padding: 9px 0; min-height: 40px; color: var(--navy); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.split-hub-breadcrumb { font-size: 12px; color: var(--muted); padding-bottom: 28px; }
.page-split-ticket-hub .footer-brand img { content: normal; filter: none; }
.page-split-ticket-hub .button { max-width: 100%; white-space: normal; }
.page-split-ticket-hub .pseudo-field { min-width: 0; }
.page-split-ticket-hub .field-value { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .split-search-results-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-split-ticket-hub .split-guide-section .home-copy-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 620px) {
  .page-split-ticket-hub .compact-hero .hero-copy p:not(.eyebrow) { max-width: none; }
  .split-station-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; padding-inline: 16px; }
  .split-faq-section .information-card { padding: 23px 20px; }
  .split-directory-section .section-heading { align-items: start; gap: 14px; }
  .split-search-tools { gap: 12px; }
}
@media (max-width: 440px) {
  .split-search-results-list, .split-station-links { grid-template-columns: minmax(0,1fr); }
  .split-fare-comparison { gap: 9px; }
  .split-fare-comparison > div { padding: 13px; }
  .split-fare-comparison h3 { font-size: 13px; }
  .split-fare-comparison strong { font-size: 30px; }
  .split-search-tools { flex-direction: column; gap: 8px; }
}
@media print {
  .page-split-ticket-hub .core-sticky-header { position: static; }
  .split-guide-search form, .split-search-results-list, .split-alphabet { display: none; }
}
