/* Une langue graphique BER, utilisée sur fiches, favoris et carte. Aucun reflow lourd. */
.lb-operational__rails,.fav-line div[style*="height:5px"],.trip-progress-bar{position:relative!important;overflow:visible!important}
.lb-progress-cursor{position:absolute;z-index:4;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);border:2px solid #c4faff;border-radius:50%;background:#16d6f3;box-shadow:0 0 0 3px rgba(2,26,38,.96),0 0 12px rgba(0,225,255,.65);pointer-events:none;transition:left 0.8s linear;will-change:left}
.lb-progress-cursor.is-live::after{content:'';position:absolute;inset:-5px;border:1px solid rgba(38,228,248,.22);border-radius:50%}
.lb-progress-caption{color:#89d2e5;font:700 11px/1.35 Rajdhani,system-ui,sans-serif;margin-top:10px;text-align:center;min-height:15px;letter-spacing:.02em}
.lb-progress-caption[data-state="arrived"],.lb-fav-progress-caption[data-state="arrived"]{color:#78cddf}
.lb-progress-caption[data-state="cancelled"]{color:#ff8391}
#trainDetailPanel .lb-operational__rail.is-served span{display:none!important}
#trainDetailPanel .lb-operational__rails{isolation:isolate}
#trainDetailPanel .lb-operational__bottom{margin-top:9px!important}
.lb-fav-progress-caption{text-align:center;font:700 11px/1.3 Rajdhani,system-ui,sans-serif;color:#87cbda;margin-top:5px}
.fav-line .lb-progress-cursor{width:10px;height:10px}
#trip-progress .trip-progress-bar{overflow:visible!important;border-radius:999px;background:#163144!important}
#trip-progress #trip-progress-fill{background:linear-gradient(90deg,#168fb3,#2cddf2)!important;border-radius:999px;transition:width .8s linear}
#trip-progress .trip-progress-text,#trip-progress-text{font:700 11px/1.35 Rajdhani,system-ui,sans-serif;color:#91d4e5!important}
#trip-progress .lb-progress-cursor{width:12px;height:12px}
@media(max-width:600px){.lb-progress-caption{font-size:10.5px}.lb-fav-progress-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.lb-progress-cursor,#trip-progress #trip-progress-fill{transition:none!important}}

/* 2026-10-28 — En-têtes harmonisés fiche / carte, sans changer la géolocalisation. */
#lbOperationalDiagram .lb-progress-next,
#trip-progress .lb-progress-next {
  margin:6px auto 0;padding:5px 9px;max-width:100%;width:max-content;
  border:1px solid rgba(57,194,228,.25);border-radius:8px;
  background:rgba(6,39,55,.45);color:#d0eaf3;
  font:800 11.5px/1.3 Rajdhani,system-ui,sans-serif;text-align:center;
  font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}
#lbOperationalDiagram .lb-progress-caption,#trip-progress .trip-progress-text {
  text-align:center;color:#7fd5e8!important;font:700 11px/1.3 Rajdhani,system-ui,sans-serif;
}
/* Un bloc premium identique à la fiche, limité au panneau train de la carte. */
#trip-panel:not(.station-board-mode) .trip-panel-summary:has(.lb-map-route-header) {
  border:1px solid rgba(25,192,213,.30);border-bottom:0;
  background:linear-gradient(155deg,rgba(7,39,55,.88),rgba(2,21,33,.85));
  border-radius:12px 12px 0 0;padding:10px 11px 4px;
}
#trip-panel:not(.station-board-mode) .trip-panel-summary:has(.lb-map-route-header) + #trip-progress:not(.hidden) {
  border:1px solid rgba(25,192,213,.30);border-top:0;
  background:linear-gradient(155deg,rgba(7,39,55,.88),rgba(2,21,33,.85));
  border-radius:0 0 12px 12px;padding:4px 11px 10px;
  margin-top:-6px;
}
#trip-panel .lb-map-route-name{display:block;color:#d5eff9;font:800 13px/1.35 Rajdhani,system-ui,sans-serif;overflow-wrap:anywhere}
#trip-panel .lb-map-route-ends{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:7px 0 2px}
#trip-panel .lb-map-route-end{min-width:0;max-width:48%;display:flex;flex-direction:column;gap:3px}
#trip-panel .lb-map-route-end span{font:700 10.5px/1.2 Rajdhani,system-ui,sans-serif;color:#aecbd9;overflow-wrap:anywhere}
#trip-panel .lb-map-route-end strong{color:#e5f7fc;font:800 14px/1.12 Rajdhani,system-ui,sans-serif;font-variant-numeric:tabular-nums}
#trip-panel .lb-map-route-end.is-destination{text-align:right;align-items:flex-end}
#trip-panel #trip-progress .trip-progress-bar{height:5px;background:#0e2938;border-radius:999px;overflow:visible}
#trip-panel #trip-progress #trip-progress-fill{background:linear-gradient(90deg,#168cbd,#29cfea)!important}
#trip-panel #trip-progress .trip-progress-text{margin-top:6px}
/* Harmonisation de la liste d'arrêts sans changer les calculs de temps ni les classes métiers. */
#trip-panel:not(.station-board-mode) #trip-stops{gap:0;padding:5px 4px 3px 0}
#trip-panel:not(.station-board-mode) .trip-stop{padding:6px 2px 6px 11px;gap:9px;min-height:38px;box-sizing:border-box;align-items:center;border-bottom:1px solid rgba(51,159,185,.08)}
#trip-panel:not(.station-board-mode) .trip-stop:last-child{border-bottom:0}
#trip-panel:not(.station-board-mode) .trip-stop::before{top:50%;transform:translateY(-50%);width:8px;height:8px;left:1px;background:#0d2936;border:1.5px solid #458eaa;box-shadow:0 0 0 3px rgba(15,42,57,.75)}
#trip-panel:not(.station-board-mode) .trip-stop.current::before,
#trip-panel:not(.station-board-mode) .trip-stop.approaching::before{border-color:#ffb459;background:#f6ab49;box-shadow:0 0 9px rgba(255,169,65,.45)}
#trip-panel:not(.station-board-mode) .trip-stop.passed::before{border-color:#4c9bb5;background:#0d2936;opacity:1;box-shadow:none}
#trip-panel:not(.station-board-mode) .trip-stop.cancelled::before{background:#c44655;border-color:#f16a7c}
#trip-panel:not(.station-board-mode) .trip-stop:not(:last-child)::after{top:calc(50% + 5px);bottom:calc(-50% + 5px);left:4.5px;width:2px;background:#32617a;border-radius:1px}
#trip-panel:not(.station-board-mode) .trip-stop .stop-name{font:800 12px/1.25 Rajdhani,system-ui,sans-serif;color:#d9edf5}
#trip-panel:not(.station-board-mode) .trip-stop .stop-time{font-variant-numeric:tabular-nums}
#trip-panel:not(.station-board-mode) .trip-stop.current .stop-name,
#trip-panel:not(.station-board-mode) .trip-stop.approaching .stop-name{color:#ffe3be}
#trip-panel:not(.station-board-mode) .trip-stop.current{background:linear-gradient(90deg,rgba(254,167,60,.08),transparent 72%);border-radius:7px}
#trip-panel:not(.station-board-mode) .trip-stops-title{color:#60bdd5;font:800 10.5px/1.2 Rajdhani,system-ui,sans-serif;letter-spacing:.07em}
@media(max-width:600px){#lbOperationalDiagram .lb-progress-next,#trip-progress .lb-progress-next{font-size:11px;padding:5px 7px}}

/* BER · LIVE : une seule indication du prochain arrêt, sous la barre.
   Le bloc narratif historique reste pour les autres phases. */
#trainDetailPanel .lb-train-profile__hero.lb-operational-ready[data-lb-operational-phase="live"] > #trainDetailNext {
 display:none!important;
}

/* Le retard LIVE SNCF/CFL est visible dans l'en-tête sans alourdir le parcours. */
#trainDetailPanel .lb-operational__top .lb-operational__live-delay{
 display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
 color:#ffb757!important;background:rgba(115,58,14,.20);
 border:1px solid rgba(255,178,71,.56);border-radius:7px;
 padding:3px 7px;font:800 12px/1.25 Rajdhani,system-ui,sans-serif;
 font-variant-numeric:tabular-nums;flex-shrink:0;
}
#trainDetailPanel .lb-operational__top .lb-operational__live-delay small{
 font:800 9px/1.25 Rajdhani,system-ui,sans-serif;color:#f7c989;
 letter-spacing:.04em;
}

/* BER v9 — deux extrémités, aucun titre de trajet redondant. */
#trainDetailPanel .lb-operational__top.is-delay-only{justify-content:flex-end;margin:0 0 6px!important;min-height:0}
#favTrainsWidget .fav-primary-route{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;width:100%;}
#favTrainsWidget .fav-primary-route .fav-route-origin,#favTrainsWidget .fav-primary-route .fav-route-dest{display:block;min-width:0;max-width:49%;overflow-wrap:anywhere;font:800 12px/1.18 Rajdhani,system-ui,sans-serif;color:#cce9f4}
#favTrainsWidget .fav-primary-route .fav-route-dest{text-align:right}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:start!important;gap:14px!important;max-width:100%}
#favTrainsWidget .fav-time-column{display:flex;flex-wrap:wrap;min-width:0;max-width:50%;gap:3px;align-items:baseline}
#favTrainsWidget .fav-time-column.is-destination{justify-content:flex-end;text-align:right}
#favTrainsWidget .fav-primary-times .fav-time-part{min-width:0}
@media(max-width:420px){#favTrainsWidget .fav-primary-route .fav-route-origin,#favTrainsWidget .fav-primary-route .fav-route-dest{font-size:11px}}
