/* La Bétaillère · Single operational overview, desktop and mobile. */
#trainDetailPanel .lb-train-profile__hero.lb-operational-ready > .lb-train-profile__journey {display:none!important}
#trainDetailPanel .lb-train-profile__hero.lb-operational-ready > .lb-train-profile__statusbar {display:none!important}
#trainDetailPanel .lb-train-profile__hero.lb-operational-ready > #trainDetailNext {display:none!important}
#trainDetailPanel .lb-train-profile__hero.lb-operational-ready[data-lb-operational-phase="live"] > #trainDetailNext,
#trainDetailPanel .lb-train-profile__hero.lb-operational-ready[data-lb-operational-phase="upcoming"] > #trainDetailNext {display:block!important;font-size:12px;line-height:1.4;padding:7px 10px;margin-top:7px;border-left:2px solid #22c1d9;max-width:100%;}
#trainDetailPanel .lb-operational{padding:11px 13px 10px;border:1px solid rgba(46,205,228,.17);border-radius:10px;background:linear-gradient(120deg,rgba(0,37,49,.56),rgba(3,16,29,.46));margin:7px 0 9px;min-width:0}
#trainDetailPanel .lb-operational__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#trainDetailPanel .lb-operational__top>div{display:flex;align-items:baseline;gap:9px;min-width:0}
#trainDetailPanel .lb-operational__top small{font:700 9px/1.4 Orbitron,Rajdhani,sans-serif;color:#73acb9;letter-spacing:.07em;white-space:nowrap}
#trainDetailPanel .lb-operational__top strong{font:700 13px/1.4 Orbitron,Rajdhani,sans-serif;color:#e2f8fd;overflow-wrap:anywhere}
#trainDetailPanel .lb-operational__scheduled{font:600 11px/1.3 Rajdhani,sans-serif;color:#8faeba;white-space:nowrap}
#trainDetailPanel .lb-operational__stations{display:grid;grid-template-columns:repeat(var(--lb-node-count),minmax(0,1fr));gap:5px;align-items:end;min-width:0}
#trainDetailPanel .lb-operational__station{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;gap:2px}
#trainDetailPanel .lb-operational__station:first-child{align-items:flex-start;text-align:left}
#trainDetailPanel .lb-operational__station:last-child{align-items:flex-end;text-align:right}
#trainDetailPanel .lb-operational__caption{font:600 10px/1.15 Rajdhani,sans-serif;color:#9bb8c4;min-height:12px}
#trainDetailPanel .lb-operational__station strong{font:800 13px/1.25 Rajdhani,sans-serif;color:#e6f4fa;max-width:100%;overflow-wrap:anywhere}
#trainDetailPanel .lb-operational__station em{font:800 17px/1.18 Rajdhani,sans-serif;font-style:normal;color:#d8faff}
#trainDetailPanel .lb-operational__station.is-skipped strong,#trainDetailPanel .lb-operational__station.is-skipped em{color:#b8919b;text-decoration:line-through;text-decoration-thickness:1px}
#trainDetailPanel .lb-operational__station.is-pivot strong,#trainDetailPanel .lb-operational__station.is-pivot em{color:#54dcf5}
#trainDetailPanel .lb-operational__rails{display:grid;grid-template-columns:repeat(var(--lb-segments),minmax(0,1fr));align-items:center;gap:5px;margin-top:9px}
#trainDetailPanel .lb-operational__rail{position:relative;display:block;height:5px;border-radius:6px;background:#29bfe5;box-shadow:0 0 8px rgba(41,191,229,.22)}
#trainDetailPanel .lb-operational__rail.is-skipped{background:repeating-linear-gradient(110deg,#ff576d 0 10px,transparent 10px 15px);box-shadow:0 0 6px rgba(255,64,85,.18)}
#trainDetailPanel .lb-operational__rail span{position:absolute;top:8px;width:100%;left:0;text-align:center;font:800 9px/1.2 Rajdhani,sans-serif;letter-spacing:.06em;color:#58d4eb}
#trainDetailPanel .lb-operational__rail.is-skipped span{color:#ff7185}
#trainDetailPanel .lb-operational__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px;min-height:20px}
#trainDetailPanel .lb-operational__chips{display:flex;gap:5px;flex-wrap:wrap}
#trainDetailPanel .lb-operational__chip{font:800 10px/1.35 Rajdhani,sans-serif;padding:2px 7px;border-radius:50px;border:1px solid #298ba4;background:rgba(9,48,59,.6);color:#79daef;white-space:nowrap}
#trainDetailPanel .lb-operational__chip.is-partial{border-color:#df7f52;color:#ffc085;background:rgba(80,38,16,.3)}
#trainDetailPanel .lb-operational__chip.is-cancel{border-color:#ff5067;color:#ff7e91;background:rgba(75,14,30,.4)}
#trainDetailPanel .lb-operational__chip.is-delay{border-color:#ffb031;color:#ffbb4c;background:rgba(75,48,12,.3)}
#trainDetailPanel .lb-operational__source{font:600 10px/1.2 Rajdhani,sans-serif;color:#7d9ba8;white-space:nowrap}
#trainDetailPanel .lb-operational__details{margin:6px 0 3px;border:1px solid rgba(51,195,216,.3);border-radius:9px;background:rgba(1,24,36,.56);overflow:hidden}
#trainDetailPanel .lb-operational__details[hidden]{display:none!important}
#trainDetailPanel .lb-operational__details>summary{display:flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer;list-style:none;padding:10px 12px;color:#a9ecf9;font:800 12px/1.4 Rajdhani,sans-serif}
#trainDetailPanel .lb-operational__details>summary::-webkit-details-marker{display:none}
#trainDetailPanel .lb-operational__details[open]>summary{border-bottom:1px solid rgba(51,195,216,.15)}
#trainDetailPanel .lb-operational__chevron{font-size:17px;transition:transform .2s ease}
#trainDetailPanel .lb-operational__details[open] .lb-operational__chevron{transform:rotate(180deg)}
#trainDetailPanel .lb-operational__details > #trainDetailDisruption{margin:8px 10px 10px}
#trainDetailPanel .lb-operational__details > #trainDetailEvents{margin:6px 10px 10px}
@media(max-width:600px){
 #trainDetailPanel .lb-operational{padding:10px 9px}
 #trainDetailPanel .lb-operational__top{gap:4px;margin-bottom:9px}
 #trainDetailPanel .lb-operational__top>div{gap:4px;flex-wrap:wrap}
 #trainDetailPanel .lb-operational__top strong{font-size:11px}
 #trainDetailPanel .lb-operational__caption{font-size:9px}
 #trainDetailPanel .lb-operational__station strong{font-size:12px}
 #trainDetailPanel .lb-operational__station em{font-size:15px}
 #trainDetailPanel .lb-operational__bottom{gap:6px;flex-wrap:wrap}
 #trainDetailPanel .lb-operational__chip{font-size:9px}
}

/* BER · en-tête compact et cartes de perturbations identiques au tableau. */
#trainDetailPanel .lb-operational__top{margin:0 0 10px;justify-content:flex-start}
#trainDetailPanel .lb-operational__top>strong{font:800 14px/1.3 Orbitron,Rajdhani,sans-serif;color:#c5ecf6;letter-spacing:0}
#trainDetailPanel .lb-operational__station b{font:800 13px/1.22 Rajdhani,sans-serif;color:#e7f5fa;overflow-wrap:anywhere}
#trainDetailPanel .lb-operational__station.is-skipped b{color:#b8919b;text-decoration:line-through;text-decoration-thickness:1px}
#trainDetailPanel .lb-operational__station.is-pivot b{color:#58d5f0}
#trainDetailPanel .lb-operational__time{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:4px;font:800 17px/1.12 Rajdhani,sans-serif;max-width:100%;min-height:19px}
#trainDetailPanel .lb-operational__station:first-child .lb-operational__time{justify-content:flex-start}
#trainDetailPanel .lb-operational__station:last-child .lb-operational__time{justify-content:flex-end}
#trainDetailPanel .lb-operational__time strong{font:inherit;color:#e5f8fc}
#trainDetailPanel .lb-operational__time s{font:700 12px/1.16 Rajdhani,sans-serif;text-decoration:line-through;color:#819da9}
#trainDetailPanel .lb-operational__time.is-skipped s{font-size:16px;color:#d38a99}
#trainDetailPanel .lb-operational__time.is-pivot strong{color:#43d4ee}
#trainDetailPanel .lb-operational__time.is-changed strong{color:#ffad32;text-shadow:0 0 8px rgba(255,173,50,.23)}
#trainDetailPanel .lb-operational__caption{min-height:unset;font-size:9px;color:#8cabb9}
#trainDetailPanel .lb-operational__rail{height:4px}
#trainDetailPanel .lb-operational__bottom{margin-top:22px;min-height:0}
#trainDetailPanel .lb-operational__details>summary{padding:9px 11px}
#trainDetailPanel #lbOperationalDetails > #trainDetailDisruption{display:none!important}
#trainDetailPanel .lb-operational__cards{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:9px}
#trainDetailPanel .lb-operational__event{--lb-c:#99aebe;--lb-bg:rgba(15,31,40,.87);border:1px solid var(--lb-c);border-radius:8px;background:var(--lb-bg);padding:9px 10px 8px;min-width:0;overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px rgba(255,255,255,.01)}
#trainDetailPanel .lb-operational__event.is-cancel{--lb-c:#ff405c;--lb-bg:rgba(44,8,19,.6)}
#trainDetailPanel .lb-operational__event.is-partial{--lb-c:#ff7880;--lb-bg:rgba(40,14,24,.68)}
#trainDetailPanel .lb-operational__event.is-delay{--lb-c:#ffad32;--lb-bg:rgba(37,26,12,.6)}
#trainDetailPanel .lb-operational__event.is-route{--lb-c:#48c8fa;--lb-bg:rgba(5,35,48,.6)}
#trainDetailPanel .lb-operational__event-title{display:flex;align-items:start;gap:7px;color:var(--lb-c);font:800 12px/1.35 Orbitron,Rajdhani,sans-serif}
#trainDetailPanel .lb-operational__event-title>span{font:800 16px/1 Rajdhani,sans-serif;width:16px;flex:0 0 16px;text-align:center}
#trainDetailPanel .lb-operational__event-title>strong{font:inherit;color:inherit}
#trainDetailPanel .lb-operational__event p{color:#d8eaf1;font:600 14px/1.35 Rajdhani,sans-serif;margin:5px 0 0}
#trainDetailPanel .lb-operational__event-source{color:#8daab7;font:600 11px/1.2 Rajdhani,sans-serif;text-align:right;margin-top:7px}
#trainDetailPanel #trainDetailEvents:not([hidden]){margin:3px 9px 9px;background:transparent;min-height:0}
#trainDetailPanel #trainDetailEvents:not([hidden])>summary{padding:6px 9px;font:700 11px/1.3 Rajdhani,sans-serif;color:#79c8da}
#trainDetailPanel #trainDetailEvents .lb-train-profile__events-body{min-height:0;max-height:240px;overflow-y:auto}
@media(max-width:600px){
 #trainDetailPanel .lb-operational__top>strong{font-size:12px}
 #trainDetailPanel .lb-operational__station b{font-size:11px}
 #trainDetailPanel .lb-operational__time{font-size:15px;gap:3px}
 #trainDetailPanel .lb-operational__time s{font-size:11px}
 #trainDetailPanel .lb-operational__time.is-skipped s{font-size:14px}
 #trainDetailPanel .lb-operational__event{padding:8px}
 #trainDetailPanel .lb-operational__event-title{font-size:11px}
 #trainDetailPanel .lb-operational__event p{font-size:13px}
 #trainDetailPanel .lb-operational__event-source{font-size:10px}
}

/* 28/10/2026 — codes partagés : départ exceptionnel bleu, arrêt supplémentaire vert. */
#trainDetailPanel .lb-operational__stations{margin-top:2px}
#trainDetailPanel .lb-operational__station{gap:3px}
#trainDetailPanel .lb-operational__station.is-pivot b,
#trainDetailPanel .lb-operational__station.is-pivot .lb-operational__time strong {color:#359eff!important}
#trainDetailPanel .lb-operational__time.is-pivot strong{color:#359eff!important}
#trainDetailPanel .lb-operational__event.is-departure{--lb-c:#359eff;--lb-bg:rgba(5,29,56,.72)}
#trainDetailPanel .lb-operational__chip.is-add{border-color:#20dfa0;color:#3ef3b3;background:rgba(2,48,31,.52)}
#trainDetailPanel .lb-operational__event.is-added{--lb-c:#22e5a6;--lb-bg:rgba(4,42,31,.69)}
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-effective-endpoint:not(.is-cancel) .lb-train-profile__delay{color:#359eff!important;border-color:rgba(53,158,255,.65)!important}
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-effective-endpoint:not(.is-cancel) .lb-train-profile__dot{border-color:#359eff!important;background:#359eff!important;box-shadow:0 0 8px rgba(53,158,255,.35)!important}
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-effective-endpoint:not(.is-cancel) .lb-train-profile__times b{color:#359eff!important}
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-added:not(.is-cancel) .lb-train-profile__delay{color:#27eeb0!important;border-color:rgba(39,238,176,.7)!important}
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-added:not(.is-cancel) .lb-train-profile__dot{border-color:#27eeb0!important;background:#27eeb0!important;box-shadow:0 0 8px rgba(39,238,176,.38)!important}
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-added:not(.is-cancel) .lb-train-profile__times b{color:#27eeb0!important}
.fav-route-row.is-added .fav-route-stop{color:#28e5a8!important}
.fav-route-row.is-added .fav-added-stop-label{color:#28e5a8!important}
.fav-route-row.is-added .fav-route-node{box-shadow:0 0 8px rgba(39,238,176,.4)!important}
.lb-fav-operational__node.is-pivot b,.lb-fav-operational__node.is-pivot em{color:#359eff!important}

/* Les points du parcours indiquent une gare desservie, jamais la ponctualité. */
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-passed:not(.is-cancel):not(.is-current):not(.is-effective-endpoint) .lb-train-profile__dot,
#trainDetailPanel #trainDetailStops .lb-train-profile__stop.is-added:not(.is-cancel):not(.is-current):not(.is-effective-endpoint) .lb-train-profile__dot {
  border-color: #5c9daa !important;
  background: #0d2a35 !important;
  box-shadow: 0 0 0 4px #09202b !important;
}

/* BER — rail reliant les centres réels des points d'arrêt, sans décaler les colonnes.
   Mesuré : décalage historique de 4.5px du trait vers la gauche. */
#trainDetailPanel #trainDetailStops .lb-train-profile__stop::after {
  left: 79.5px;
  top: 8.5px;
  bottom: -8.5px;
  width: 2px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(42,146,174,.40),rgba(104,217,239,.78),rgba(42,146,174,.40));
  box-shadow: 0 0 6px rgba(66,189,218,.22);
  pointer-events: none;
  z-index: 0;
}
/* Les lignes compactes centrent le point verticalement, contrairement au PC. */
@media (max-width: 600px), (pointer: coarse) {
  #trainDetailPanel #trainDetailStops .lb-train-profile__stop::after { top: 50%; bottom: -50%; }
}
@media (max-width: 600px) {
  #trainDetailPanel #trainDetailStops .lb-train-profile__stop::after { left: 69.5px; }
}

/* BER v6 · regular route typography and spacing across desktop and mobile. */
#trainDetailPanel #trainDetailPlatform:empty {display:none!important}
html[data-lb-v4-live="1"] body.lb-v3 #trainDetailPanel.lb-train-profile:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop,
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop {
  min-height:42px!important;
  padding:3px 0!important;
  box-sizing:border-box;
  align-items:center!important;
  column-gap:7px;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__times {
  padding-top:0!important;
  justify-content:center;
  line-height:1.18!important;
  font-variant-numeric:tabular-nums;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__times b {
  font-size:12px;
  line-height:1.22;
  font-weight:800;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__times s {
  font-size:10px;
  line-height:1.2;
  font-weight:600;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop-name {
  min-width:0;
  align-self:center;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop-name strong {
  display:block;
  font-size:12.5px!important;
  line-height:1.24!important;
  font-weight:800;
  letter-spacing:0;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop-name span {
  display:block;
  font-size:10.5px;
  line-height:1.22;
  margin-top:2px;
  font-weight:600;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__delay {
  align-self:center;
  padding-top:0;
  font-size:10.5px;
  font-weight:800;
  line-height:1.2;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__dot {
  margin-top:0!important;
}
#trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop::after {
  top:50%;
  bottom:-50%;
}
@media (max-width:600px){
  #trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__stop-name strong {font-size:12px!important}
  #trainDetailPanel:not(.lbmj-inline) #trainDetailStops .lb-train-profile__delay {font-size:10px}
}
