/* RADARCESKA TRAIN BOTTOM SHEET v1.0.5
   One edge-attached mobile train detail sheet, not a floating nested dialog.
   Scoped to train mode, no impact on desktop, bus, radar, weather or train data.
*/
@media (max-width:700px) {
  /* The original 38px fixed header slots are the single alignment truth.
     Neutralize train-specific header offsets without changing other modes. */
  html[data-rc-mobile-header="v2401"] #app[data-mode="trains"] .top-shell .search-wrap.rc-v2401-search-shell {
    position:fixed;
    top:var(--rc-v2401-top,calc(env(safe-area-inset-top,0px) + 7px))!important;
    height:var(--rc-v2401-h,38px)!important;
    margin-top:0!important;
    margin-bottom:0!important;
    align-self:center;
    transform:none!important;
  }

  /* Sheet replaces the train bottom filter dock ONLY while a train is open.
     No reparenting and no additional scrollable panel around the data. */
  #app[data-mode="trains"].rc-train-sheet-open #mobileTrainNav {
    display:none!important;
  }
  #app[data-mode="trains"] #trainDetailCard.mobile-map-sheet:not([hidden]) {
    position:absolute!important;
    z-index:120!important;
    top:auto!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    height:auto;
    max-height:min(81dvh,calc(100dvh - 98px))!important;
    min-height:0;
    margin:0!important;
    padding:30px 14px calc(16px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;
    border-top:1px solid rgba(34,79,88,.11)!important;
    border-radius:20px 20px 0 0!important;
    background:#fff!important;
    box-shadow:0 -12px 38px rgba(20,47,55,.16)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    transform:translate3d(0,var(--sheet-drag-y,0px),0);
    transition:transform .21s cubic-bezier(.22,.72,.22,1),max-height .2s ease;
  }
  /* The handle stays in the top strip; no second floating title bar. */
  #app[data-mode="trains"] #trainDetailCard .mobile-sheet-grabber {
    display:grid!important;
    top:3px!important;
    height:22px!important;
    z-index:130!important;
  }
  #app[data-mode="trains"] #trainDetailCard .train-detail-topline {
    min-height:27px;
    margin-top:0;
    touch-action:none;
  }
  #app[data-mode="trains"] #trainDetailCard #trainDetailClose {
    top:31px!important;
    right:12px!important;
    z-index:130!important;
  }
  /* A single sheet scroll owns the journey and timetable content. */
  #app[data-mode="trains"] #trainDetailCard :is(.train-journey-list,#trainJourneyList,.rc-full-tt-list,#rcFullTtList) {
    max-height:none!important;
    overflow:visible!important;
  }
  #app[data-mode="trains"] #trainDetailCard:not([hidden]).is-collapsed {
    height:116px!important;
    min-height:116px!important;
    max-height:116px!important;
    overflow:hidden!important;
  }
  #app[data-mode="trains"] #trainDetailCard.is-collapsed .train-detail-topline {
    margin-top:0;
  }
  /* Preserve shared drag transform; avoid two different compositor offsets. */
  #app[data-mode="trains"] #trainDetailCard.rc-train-sheet-dragging {
    transform:translate3d(0,var(--rc-train-drag-y,0px),0)!important;
    translate:none!important;
    transition:none!important;
  }
  #app[data-mode="trains"] #trainDetailCard:not(.rc-train-sheet-dragging) {
    translate:none;
  }
  #app[data-mode="trains"] #trainDetailCard .train-detail-title-row,
  #app[data-mode="trains"] #trainDetailCard .train-detail-topline {
    box-sizing:border-box;
  }
}
@media (max-width:360px) {
  #app[data-mode="trains"] #trainDetailCard.mobile-map-sheet:not([hidden]) {
    padding-left:11px!important;
    padding-right:11px!important;
  }
}
@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  #app[data-mode="trains"] #trainDetailCard.mobile-map-sheet:not([hidden]) {
    transition:none!important;
  }
}
