.train-booking-page{background:var(--page);width:100%;box-sizing:border-box;padding-bottom:var(--space-7)}.train-booking-hero{position:relative;width:100%;box-sizing:border-box;overflow:visible;margin-bottom:var(--space-5);padding:var(--space-6) 0 0;color:var(--ink);background:var(--surface);border-bottom:1px solid var(--line)}.train-booking-hero__inner,.train-booking-main{position:relative;z-index:1;width:min(var(--max),calc(100% - 2 * var(--gutter)));max-width:100%;min-width:0;margin:0 auto;box-sizing:border-box}.train-booking-hero__inner{padding-bottom:var(--space-6)}.train-booking-hero .legacy-page-header{width:100%;max-width:none;margin-top:0;margin-bottom:var(--space-4);padding-left:0;padding-right:0}.train-booking-search{margin:0;padding:0;color:var(--ink)}.train-booking-search__fields{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-field-gap);width:100%;min-width:0;align-items:stretch}.train-booking-search__cities{flex:2 1 auto;min-width:calc(var(--space-10) * 9 + var(--space-5));display:flex;background:transparent;border:none;padding:0;position:relative;overflow:visible}.train-booking-search__city-pair{display:flex;flex-direction:row;gap:var(--space-2);align-items:flex-start;align-self:stretch;flex:1 1 auto;min-width:0;width:100%;position:relative}.train-booking-search__city{flex:1 1;display:flex;flex-direction:column;min-width:0;box-sizing:border-box}.train-booking-search__label{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--muted);margin-bottom:var(--space-1);line-height:1.2;flex-shrink:0}.train-booking-search .hz-field-control{height:var(--space-14)!important;min-height:var(--space-14)!important;display:inline-flex!important;align-items:center!important;border-radius:var(--radius-md)!important;font-size:var(--fs-md)!important;font-weight:var(--fw-regular)!important;letter-spacing:0;box-sizing:border-box}.train-booking-search .hz-field-control.is-placeholder,.train-booking-search .hz-field-control__input::placeholder{font-weight:var(--fw-regular)!important;color:var(--subtle)!important}.train-booking-search .hz-field-control__main{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}.train-booking-search .hz-field-control__suffix{flex-shrink:0}.train-booking-search .hz-field-control__suffix svg{width:var(--space-4);height:var(--space-4)}.train-booking-search .hz-field-control__main>.hz-field-control__input{min-width:0!important}.train-booking-search__swap{width:var(--space-10);height:var(--space-14);margin:var(--space-5) 0 0;align-self:flex-start;flex-shrink:0;border-radius:50%;border:0;background:transparent;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;padding:0;line-height:1}.train-booking-search__swap svg{width:calc(var(--space-3_5) + var(--space-1));height:calc(var(--space-3_5) + var(--space-1));display:block;flex-shrink:0}.train-booking-search__swap:disabled{opacity:.45;cursor:not-allowed}.train-booking-search__city .hz-spin-wrap{display:block;width:100%;min-width:0}.train-booking-search__city .hz-spin-wrap>.hz-field-control{width:100%;max-width:100%}.train-booking-filters.flight-booking-results__controls{gap:var(--space-field-gap)}.train-booking-dates.travel-cal--horizon{background:transparent!important;overflow:visible!important;margin-bottom:0}.train-booking-dates.travel-cal--horizon .travel-cal__row{padding:0!important;min-height:0!important;gap:var(--space-3)}.train-booking-dates.travel-cal--horizon .travel-cal__scroller-wrap{height:var(--space-14)!important}.train-booking-dates.travel-cal--horizon .travel-cal__scroller{gap:var(--space-3);scrollbar-width:none;padding-right:0!important}.train-booking-dates.travel-cal--horizon .travel-cal__scroller::-webkit-scrollbar{display:none}.train-booking-dates.travel-cal--horizon .travel-cal__chip{flex:1 0 calc(var(--space-12) * 2);min-width:calc(var(--space-12) * 2);height:var(--space-14);border:0;border-radius:var(--radius);background:transparent;color:var(--ink);padding:var(--space-2) var(--space-3);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;appearance:none}.train-booking-dates.travel-cal--horizon .travel-cal__chip.is-selected{background:var(--brand-soft);box-shadow:none;color:var(--ink)}.train-booking-dates.travel-cal--horizon .travel-cal__chip.is-disabled{color:var(--subtle);cursor:not-allowed;background:transparent}.train-booking-dates.travel-cal--horizon .travel-cal__chip.is-disabled .travel-cal__md,.train-booking-dates.travel-cal--horizon .travel-cal__chip.is-disabled .travel-cal__wd{color:var(--subtle)}.train-booking-dates.travel-cal--horizon .travel-cal__md,.train-booking-dates.travel-cal--horizon .travel-cal__wd{white-space:nowrap}.train-booking-dates.travel-cal--horizon .travel-cal__wd{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--muted);line-height:1.2}.train-booking-dates.travel-cal--horizon .travel-cal__md{margin-top:var(--space-1);font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--ink);line-height:1.2}.train-booking-dates.travel-cal--horizon .travel-cal__chip.is-selected .travel-cal__wd{color:var(--muted)}.train-booking-dates.travel-cal--horizon .travel-cal__chip.is-selected .travel-cal__md{color:var(--ink);font-weight:var(--fw-regular)}.train-booking-dates.travel-cal--horizon .travel-cal__arrow.hz-btn{width:var(--space-10);height:var(--space-10);color:var(--muted);flex-shrink:0}.train-booking-dates.travel-cal--horizon .travel-cal__arrow.hz-btn svg{width:var(--space-5);height:var(--space-5);stroke-width:1.75}.train-booking-dates.travel-cal--horizon .travel-cal__arrow.hz-btn:hover{color:var(--ink);background:var(--brand-soft)}.train-booking-dates.travel-cal--horizon .travel-cal__cal-slot{position:relative;flex:0 0 auto;min-width:var(--space-10);height:var(--space-14);display:flex;align-items:center;justify-content:center}.train-booking-dates.travel-cal--horizon .travel-cal__cal-btn{appearance:none;min-width:4.5em;width:max-content;height:var(--space-14);padding:0 var(--space-2);border:0;border-radius:var(--radius);background:transparent;color:var(--brand);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);cursor:pointer}.train-booking-dates.travel-cal--horizon .travel-cal__cal-btn svg{width:var(--space-5);height:var(--space-5);stroke-width:1.75}.train-booking-dates.travel-cal--horizon .travel-cal__cal-label{font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:1.2;white-space:nowrap}.train-booking-dates.travel-cal--horizon .travel-cal__cal-btn:hover{color:var(--brand-deep);background:var(--brand-soft)}.train-booking-dates.travel-cal--horizon .travel-cal__cal-btn:disabled{opacity:.45;cursor:not-allowed}.train-booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;width:100%;min-width:0;box-sizing:border-box;margin:0}.train-booking-toolbar__left,.train-booking-toolbar__right{display:flex;align-items:center;gap:var(--space-2);flex:0 1 auto;flex-wrap:wrap;width:auto;min-width:0}.train-booking-toolbar__right{margin-left:auto;flex:0 0 auto;width:auto;max-width:100%;justify-content:flex-end}.train-booking-toolbar__filter.hz-field{width:auto;max-width:100%}.train-booking-toolbar__filter .hz-field-control,.train-booking-toolbar__filter .hz-field-control.is-placeholder{width:auto!important;height:var(--space-10)!important;min-height:var(--space-10)!important;border-radius:var(--radius)!important;padding-left:var(--space-3)!important;padding-right:var(--space-2_5)!important;font-size:var(--fs-body)!important;font-weight:var(--fw-regular)!important;color:var(--muted)}.train-booking-list{display:flex;flex-direction:column;gap:var(--space-3_5);container-type:inline-size;container-name:train-journey-list;min-width:0;max-width:100%}.train-journey{--train-journey-book:var(--space-14);--train-journey-split:var(--space-5);--train-journey-end:calc(var(--space-10) * 5);--train-journey-mid:calc(var(--space-10) * 3 + var(--space-4));--train-journey-price:calc(var(--space-10) * 4);cursor:pointer;display:grid;grid-template-columns:minmax(0,var(--train-journey-end)) minmax(0,1fr) minmax(0,var(--train-journey-mid)) minmax(0,1fr) minmax(0,var(--train-journey-end)) minmax(0,1fr) minmax(0,var(--train-journey-price));grid-template-areas:"depart . mid . arrive . price" "seats seats seats seats seats seats seats";align-items:stretch;row-gap:0;width:100%;max-width:100%;min-width:0;padding:var(--space-card);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-surface);box-sizing:border-box}.train-journey__route{display:contents}.train-journey__end{grid-area:depart;min-width:0;width:100%;max-width:100%;overflow:hidden}.train-journey__end--arrive{grid-area:arrive;text-align:right;justify-self:end}.train-journey__time-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2)}.train-journey__end--arrive .train-journey__time-row{flex-wrap:wrap;flex-direction:row-reverse;justify-content:flex-start}.train-journey__time{font-size:var(--fs-4xl);font-weight:var(--fw-regular);letter-spacing:-.03em;line-height:1.1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.train-journey__cross-day{margin-left:var(--space-1);letter-spacing:0;color:var(--danger);vertical-align:super}.train-journey__cross-day,.train-journey__utc{font-size:var(--fs-sm);font-weight:var(--fw-regular)}.train-journey__utc{color:var(--muted);line-height:1.2}.train-journey__station{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--ink);line-height:1.35;min-width:0;max-width:100%}.train-journey__end--arrive .train-journey__station{justify-content:flex-end}.train-journey__station-tag{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-5);height:calc(var(--space-3_5) + var(--space-1));padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:1}.train-journey__station-tag.is-end{background:color-mix(in srgb,var(--ok) 14%,var(--bg));color:var(--ok)}.train-journey__station-tag.is-pass{background:var(--page);color:var(--muted)}.train-journey__station-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.train-journey__mid{grid-area:mid;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:stretch;gap:var(--space-1);width:100%;max-width:100%;min-width:0;overflow:hidden;text-align:center}.train-journey__no{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--muted);line-height:1.2;text-align:center;overflow-wrap:anywhere}.train-journey__channel{margin-left:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--subtle)}.train-journey__axis{display:flex;align-items:center;width:100%;max-width:none}.train-journey__dot{flex:0 0 var(--hz-timeline-dot,var(--space-2));width:var(--hz-timeline-dot,var(--space-2));height:var(--hz-timeline-dot,var(--space-2));border-radius:50%;background:var(--brand)}.train-journey__rail{flex:1 1 auto;min-width:var(--space-4);height:0;border-top:var(--hz-timeline-rail,1px dashed var(--line))}.train-journey__mid-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-1);flex-wrap:wrap;max-width:100%}.train-journey__duration{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--muted);line-height:1.3}.train-journey__stops{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:var(--space-6);height:var(--space-6);margin:0;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--brand);cursor:pointer}.train-journey__stops svg{width:var(--space-4);height:var(--space-4);display:block}.train-journey__stops:focus-visible,.train-journey__stops:hover{color:var(--brand);background:var(--brand-soft)}.train-journey__fare{grid-area:price;display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:flex-end;align-self:center;margin-block:auto;gap:var(--space-1);min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;color:var(--danger)}.train-journey__fare-amount{font-size:var(--fs-3xl);font-weight:var(--fw-regular);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.train-journey__fare-from{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--muted);line-height:1}.train-journey__seats{grid-area:seats;display:grid;grid-template-columns:subgrid;align-content:center;justify-content:stretch;row-gap:var(--space-3);width:auto;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box;margin-top:var(--train-journey-split);padding-top:var(--train-journey-split);border-top:1px solid var(--line)}.train-journey__seat-summary{display:block;grid-column:1/-1;min-width:0}.train-journey__seat-summary .train-journey__seat-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2) var(--space-3);width:100%;min-width:0;overflow:visible}.train-journey__seat-chip{display:inline-flex;align-items:baseline;gap:var(--space-1);min-width:0;white-space:nowrap}.train-journey__seat-chip.is-sold,.train-journey__seat-chip.is-sold .train-journey__seat-price,.train-journey__seat-chip.is-sold .train-journey__seat-stock{color:var(--muted)}.train-journey__seat-detail{display:none;flex-direction:column;gap:var(--space-3)}.train-journey.is-expanded .train-journey__seat-summary{display:none}.train-journey.is-expanded .train-journey__seat-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--space-3);grid-column:1/-1;row-gap:var(--space-3);align-items:center;width:100%}.train-journey__seat-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:var(--space-3);min-width:0}.train-journey.is-expanded .train-journey__seat-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center}.train-journey.is-expanded .train-journey__seat-actions{display:contents}.train-journey.is-expanded .train-journey__seat-name{grid-column:1;justify-self:start}.train-journey.is-expanded .train-journey__seat-price{grid-column:2;justify-self:start}.train-journey.is-expanded .train-journey__seat-stock{grid-column:3;justify-self:start}.train-journey.is-expanded .train-journey__book{grid-column:4;justify-self:end}.train-journey__book.hz-btn{position:relative;flex:0 0 auto}.train-journey__seat-info{display:flex;flex-wrap:nowrap;align-items:baseline;gap:var(--space-2) var(--space-3);min-width:0;color:var(--ink)}.train-journey.is-expanded .train-journey__seat-name,.train-journey.is-expanded .train-journey__seat-price,.train-journey.is-expanded .train-journey__seat-stock,.train-journey__seat-info{font-size:var(--fs-13);font-weight:var(--fw-regular);line-height:1.35}.train-journey__seat-row.is-sold .train-journey__seat-info,.train-journey__seat-row.is-sold .train-journey__seat-name{color:var(--muted)}.train-journey__seat-detail .train-journey__seat-name,.train-journey__seat-detail .train-journey__seat-price{min-width:0}.train-journey__seat-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--danger)}.train-journey__seat-row.is-sold .train-journey__seat-price{color:var(--muted)}.train-journey__seat-stock{min-width:var(--space-5);text-align:center;color:var(--ok)}.train-journey__seat-row.is-sold .train-journey__seat-stock{color:var(--muted)}.train-journey__seat-summary .train-journey__book.hz-btn{flex:0 0 auto}.train-booking-empty{padding:var(--space-14) var(--space-5)}.train-booking-modal-body{font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.75;color:var(--ink);white-space:pre-wrap;max-height:50vh;overflow:auto;overscroll-behavior:contain}.train-booking-stopover-modal.hz-modal{width:min(calc(var(--space-12) * 12),100%)}.train-booking-stopover-modal .hz-modal__header--titled{padding-bottom:var(--space-1)}.train-booking-stopover-modal .hz-modal__title{padding-bottom:0}.train-booking-stopover-modal .hz-modal__body{padding-top:0}.train-booking-stopover-sheet,.train-order-stopover-sheet{overflow:hidden}.train-booking-stopover-sheet .hz-action-sheet__title,.train-order-stopover-sheet .hz-action-sheet__title{padding-bottom:var(--space-1)}.train-booking-stopover-sheet .hz-action-sheet__body,.train-order-stopover-sheet .hz-action-sheet__body{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-top:0;padding-bottom:max(var(--space-6),env(safe-area-inset-bottom,0px))}.train-booking-stopover-sheet .train-booking-stopover-summary,.train-order-stopover-sheet .train-booking-stopover-summary{flex:none}.train-booking-stopover-sheet .train-booking-stopover,.train-order-stopover-sheet .train-booking-stopover{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.train-booking-stopover-summary{margin:0 0 var(--space-3);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--muted);line-height:1.4}.train-booking-stopover-empty{padding:var(--space-8) 0}.train-booking-stopover{list-style:none;margin:0;padding:var(--space-2) 0 0;max-height:min(70vh,calc(var(--space-10) * 13));overflow:auto;overscroll-behavior:contain}.train-booking-stopover__item{display:flex;align-items:stretch;gap:var(--space-3);min-width:0}.train-booking-stopover__axis{--train-stopover-ico:var(--space-5);--train-stopover-leg:var(--space-10);flex:0 0 calc(var(--train-stopover-leg) + var(--space-2) + var(--train-stopover-ico));display:grid;grid-template-columns:var(--train-stopover-leg) var(--train-stopover-ico);grid-template-rows:auto 1fr;column-gap:var(--space-2);overflow:visible}.train-booking-stopover__dot{grid-column:2;grid-row:1;justify-self:center;align-self:center;display:grid;place-items:center;box-sizing:border-box;width:var(--space-5);height:var(--space-5);min-width:var(--space-5);min-height:var(--space-5);flex-shrink:0;overflow:visible;border-radius:50%;background:var(--brand);color:var(--bg);font-size:var(--fs-sm);font-weight:var(--fw-regular);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.train-booking-stopover__leg{grid-column:1;grid-row:2;align-self:center;justify-self:end;font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--muted);line-height:1.3;text-align:right;white-space:nowrap}.train-booking-stopover__rail{grid-column:2;grid-row:2;justify-self:center;width:0;min-height:var(--space-12);margin:var(--space-2) 0 0;border-left:var(--hz-timeline-rail,1px dashed var(--line))}.train-booking-stopover__body{flex:1 1 auto;min-width:0;padding-bottom:var(--space-8)}.train-booking-stopover__item.is-last .train-booking-stopover__body{padding-bottom:0}.train-booking-stopover__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--space-5)}.train-booking-stopover__name{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--ink);line-height:1.35}.train-booking-stopover__tags{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.train-booking-stopover__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-5);margin-top:var(--space-3);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--muted);line-height:1.4}.train-booking-stopover__utc{color:var(--subtle)}@media (max-width:768px){.train-booking-hero{padding:var(--space-4) 0 0;margin-bottom:var(--space-4)}.train-booking-hero__inner,.train-booking-main{width:min(var(--max),calc(100% - 2 * var(--space-5)))}.train-booking-hero__inner{padding-bottom:var(--space-4)}.train-booking-hero .legacy-page-header{margin-bottom:var(--space-3)}.train-booking-search__fields{flex-wrap:wrap}.train-booking-search__cities{flex:1 1 100%;width:100%;max-width:100%;min-width:0;--swap-ctrl-h:var(--space-12)}.train-booking-search__city{flex:1 1}.train-booking-search__swap{height:var(--space-12);margin-top:var(--space-5)}}@container train-journey-list (max-width: 42rem){.train-journey{grid-template-columns:auto minmax(var(--space-4),1fr) auto minmax(var(--space-4),1fr) auto minmax(var(--space-4),1fr) auto}.train-journey__seat-summary .train-journey__seat-info{display:flex;flex-wrap:wrap;align-items:baseline}.train-journey__seat-chip{flex:0 1 auto;max-width:100%}}@container train-journey-list (max-width: 30rem){.train-journey{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"route price" "seats seats";align-items:stretch;row-gap:0}.train-journey__route{display:grid;grid-area:route;grid-template-columns:var(--space-5) max-content minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:none;justify-content:stretch;align-items:stretch;column-gap:var(--space-3);row-gap:var(--space-2);width:100%;min-width:0}.train-journey__mid{display:contents;width:auto;max-width:none}.train-journey__axis,.train-journey__end,.train-journey__end--arrive,.train-journey__mid-meta,.train-journey__no{grid-area:auto}.train-journey__end:not(.train-journey__end--arrive){grid-column:2/4;grid-row:1;text-align:left;justify-self:stretch}.train-journey__no{grid-column:2}.train-journey__mid-meta,.train-journey__no{grid-row:2;align-self:center;text-align:left}.train-journey__mid-meta{grid-column:3;justify-content:flex-start;flex-wrap:nowrap;margin-top:0}.train-journey__end--arrive{grid-column:2/4;grid-row:3;text-align:left;justify-self:stretch}.train-journey__end--arrive .train-journey__station{justify-content:flex-start}.train-journey__axis{grid-column:1;grid-row:1/4;flex-direction:column;align-items:center;justify-self:center;align-self:stretch;width:auto;min-height:0;margin-top:0;padding:var(--space-1) 0}.train-journey__rail{flex:1 1 auto;min-width:0;min-height:var(--space-4);width:0;height:auto;border-top:0;border-left:var(--hz-timeline-rail,1px dashed var(--line))}.train-journey__end--arrive .train-journey__time-row,.train-journey__time-row{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:baseline}.train-journey__seats{grid-area:seats;display:flex;flex-direction:column;grid-template-columns:none;width:100%;max-width:none;min-width:0}.train-journey__fare{margin-left:var(--space-2);align-self:center}.train-journey__fare-amount{font-size:var(--fs-2xl)}}@container train-journey-list (max-width: 640px){.train-journey{--train-journey-book:var(--space-14)}}