/* La Bétaillère — Favoris premium compact v1
 * Refonte VISUELLE uniquement de la page Favoris.
 * Aucune donnée, aucun calcul, aucun état ni événement n'est modifié.
 */

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget.lb4-favorites-page {
  --lb-fav-surface: rgba(3, 18, 29, .94);
  --lb-fav-surface-2: rgba(6, 31, 44, .88);
  --lb-fav-line: rgba(83, 227, 241, .23);
  --lb-fav-line-soft: rgba(83, 227, 241, .12);
  --lb-fav-text: #edfaff;
  --lb-fav-soft: #9fc5ce;
  --lb-fav-muted: #7397a1;
  --lb-fav-cyan: #55e7f4;
  padding: clamp(10px, 2vw, 18px) !important;
}

/* En-tête de page : barre de contexte, pas une grosse carte. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro {
  min-height: 48px !important;
  margin-bottom: 10px !important;
  padding: 9px 14px !important;
  border-radius: 14px !important;
  border-color: rgba(83, 227, 241, .27) !important;
  background:
    linear-gradient(110deg, rgba(20, 91, 111, .18), rgba(3, 18, 29, .88) 64%) !important;
  box-shadow:
    inset 0 1px 0 rgba(220, 253, 255, .06),
    0 6px 18px rgba(0,0,0,.18) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro .lb-page-intro__eyebrow,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro p {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro h1 {
  color: var(--lb-fav-text) !important;
  font-size: clamp(.92rem, 2.6vw, 1.08rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: .01em !important;
}

/* Une pile propre, peu de vide entre les deux favoris. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget.lb4-favorites-page .fav-grid {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-items: start !important;
}

/* Carte unique et cohérente : l'état devient un ACCENT, jamais un autre thème. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
  --lb4-fav-state: var(--lb-fav-cyan);
  position: relative !important;
  margin: 0 !important;
  padding: 9px 11px 9px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--lb4-fav-state) 30%, var(--lb-fav-line)) !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 100% -20%, color-mix(in srgb, var(--lb4-fav-state) 7%, transparent), transparent 170px),
    linear-gradient(155deg, var(--lb-fav-surface-2), var(--lb-fav-surface) 70%) !important;
  box-shadow:
    inset 0 1px 0 rgba(225, 253, 255, .07),
    inset 0 0 0 1px rgba(83, 227, 241, .025),
    0 7px 20px rgba(0,0,0,.22) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet::before {
  inset: 7px auto 7px 0 !important;
  width: 2px !important;
  border-radius: 0 99px 99px 0 !important;
  opacity: .92 !important;
  box-shadow: 0 0 8px color-mix(in srgb, var(--lb4-fav-state) 42%, transparent) !important;
}

/* Les cartes perturbées restent bleu nuit : rouge/orange = information, pas fond. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet:is(
  [data-lb4-state="partial"],
  [data-lb4-state="cancelled"],
  [data-lb4-state="delay"]
) {
  background:
    radial-gradient(circle at 100% -20%, color-mix(in srgb, var(--lb4-fav-state) 8%, transparent), transparent 165px),
    linear-gradient(155deg, rgba(7, 31, 43, .92), rgba(3, 17, 28, .97) 72%) !important;
}

/* En-tête compact : TER à gauche, composition + état à droite. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-head,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card-head {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 0 7px !important;
  border-bottom: 1px solid var(--lb-fav-line-soft) !important;
  background: transparent !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-tag {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-block {
  order: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  color: var(--lb-fav-text) !important;
  font: 850 .78rem/1 "Orbitron", system-ui, sans-serif !important;
  letter-spacing: .015em !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-profile-link {
  gap: 4px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-badge {
  order: 2 !important;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-state-badge,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cancel-badge {
  box-sizing: border-box !important;
  min-height: 19px !important;
  height: 19px !important;
  padding: 3px 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  font-family: "Orbitron", system-ui, sans-serif !important;
  font-size: .52rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: .025em !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-live-chip {
  order: 3 !important;
  min-height: 19px !important;
  height: 19px !important;
  padding: 3px 6px !important;
  gap: 4px !important;
  font-size: .49rem !important;
  box-shadow: none !important;
}

/* Rail de statut : on évite le doublon pour partiel/retard.
   La suppression totale, elle, conserve ce message indispensable. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="partial"] .lb4-fav-state-rail,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="delay"] .lb4-fav-state-rail {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="cancelled"] .lb4-fav-state-rail {
  min-height: 27px !important;
  margin: 7px 0 5px !important;
  padding: 5px 8px !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 7px !important;
  border-radius: 8px !important;
  background: rgba(80, 17, 26, .24) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="cancelled"] .lb4-fav-state-rail strong {
  font-size: .58rem !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="cancelled"] .lb4-fav-state-rail span {
  font-size: .65rem !important;
  line-height: 1.15 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Trajet / horaires : une hiérarchie nette sans grosse boîte intermédiaire. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-meta,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-meta {
  margin: 6px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--lb-fav-text) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
  margin: 0 !important;
  color: #d8eef2 !important;
  font-size: .72rem !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
  margin: 4px 0 0 !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  color: #71e9f4 !important;
  font: 850 .94rem/1 "Orbitron", system-ui, sans-serif !important;
  letter-spacing: -.025em !important;
  text-shadow: 0 0 7px rgba(59, 225, 241, .16) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-separator {
  color: #54747c !important;
  font-size: .72em !important;
  opacity: .9 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-service {
  margin-top: 5px !important;
  color: #b7d5dc !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-mini-alert {
  width: max-content !important;
  max-width: 100% !important;
  margin: 5px 0 0 !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255, 92, 106, .34) !important;
  border-radius: 999px !important;
  background: rgba(109, 18, 31, .22) !important;
  color: #ff8f9b !important;
  font-size: .56rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

/* Barre historique de progression : fine et discrète. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line {
  min-height: 0 !important;
  height: auto !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] {
  margin: 5px 0 4px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] > div {
  height: 3px !important;
  box-shadow: none !important;
}

/* Cause : une ligne compacte, pas un troisième conteneur rouge. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline {
  margin: 5px 0 2px !important;
  padding: 4px 7px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--lb4-fav-state) 28%, transparent) !important;
  border-radius: 7px !important;
  background: color-mix(in srgb, var(--lb4-fav-state) 6%, transparent) !important;
  color: color-mix(in srgb, var(--lb4-fav-state) 68%, #dffaff) !important;
  font-size: .61rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Prochain train : métadonnée, pas une carte dans la carte. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-train {
  margin: 5px 0 0 !important;
  padding: 0 1px !important;
  border: 0 !important;
  background: transparent !important;
  color: #a9cbd2 !important;
  font-size: .63rem !important;
  line-height: 1.15 !important;
}

/* AFFLUENCE : une seule ligne compacte au repos. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-box.fav-aff {
  margin: 6px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--lb-fav-line-soft) !important;
  border-radius: 9px !important;
  background: rgba(1, 12, 20, .34) !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff > summary,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-box-head {
  min-height: 34px !important;
  padding: 5px 8px !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-summary {
  min-height: 23px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) 12px !important;
  align-items: center !important;
  gap: 7px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-title {
  color: #a9cbd2 !important;
  font-size: .61rem !important;
  font-weight: 750 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-schema {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-toggleline {
  width: 12px !important;
  min-width: 12px !important;
  height: 18px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 0 !important;
  color: var(--lb-fav-cyan) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-toggleline::after {
  content: "›" !important;
  display: block !important;
  font: 900 15px/1 system-ui, sans-serif !important;
  transform: rotate(0deg);
  opacity: .72 !important;
  transition: transform .15s ease;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff[open] .fav-aff-toggleline::after {
  transform: rotate(90deg);
  opacity: 1 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-box-body,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-body {
  padding: 7px !important;
  border-top: 1px solid rgba(83, 227, 241, .08) !important;
  background: rgba(1, 12, 20, .22) !important;
}

/* FIABILITÉ : simple ligne de contrôle homogène avec Affluence. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-history,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details {
  margin: 6px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--lb-fav-line-soft) !important;
  border-radius: 9px !important;
  background: rgba(1, 12, 20, .28) !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary {
  box-sizing: border-box !important;
  min-height: 32px !important;
  padding: 5px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #9fc5ce !important;
  font-size: .61rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  list-style: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary::-webkit-details-marker {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary::after {
  content: "›" !important;
  width: 12px !important;
  margin-left: auto !important;
  color: var(--lb-fav-cyan) !important;
  font: 900 15px/1 system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  opacity: .72 !important;
  transform: rotate(0deg);
  transition: transform .15s ease;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details[open] .fav-details-summary::after {
  content: "›" !important;
  transform: rotate(90deg);
  opacity: 1 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-pct {
  margin-left: 2px !important;
  color: var(--lb4-fav-state) !important;
  font-family: "Orbitron", system-ui, sans-serif !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-body {
  padding: 7px 8px !important;
  border-top: 1px solid rgba(83, 227, 241, .08) !important;
  background: rgba(1, 12, 20, .24) !important;
}

/* Métriques ouvertes : même grammaire, moins de sous-cartes. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-metrics {
  gap: 5px 10px !important;
  margin-bottom: 5px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-metrics > div {
  min-height: 24px !important;
  padding: 3px 1px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(83, 227, 241, .07) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* Mobile : dense, tactile, lisible. */
@media (max-width: 760px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget.lb4-favorites-page {
    padding: 9px 10px 14px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro {
    min-height: 42px !important;
    margin-bottom: 9px !important;
    padding: 8px 11px !important;
    border-radius: 13px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro h1 {
    font-size: .86rem !important;
    text-align: left !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget.lb4-favorites-page .fav-grid {
    gap: 9px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
    padding: 8px 10px 8px !important;
    border-radius: 14px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-head,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card-head {
    min-height: 26px !important;
    padding-bottom: 6px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train {
    font-size: .72rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-state-badge,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cancel-badge {
    min-height: 18px !important;
    height: 18px !important;
    padding: 3px 6px !important;
    font-size: .48rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
    font-size: .68rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
    margin-top: 3px !important;
    font-size: .88rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline {
    font-size: .58rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-schema--compact .affls-unit,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-stop-schema .affls-unit {
    width: calc(var(--seg-count, 3) * 22px) !important;
    height: 10px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-schema--compact .affls-dot {
    width: 5px !important;
    height: 5px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-title,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary {
    font-size: .58rem !important;
  }
}

@media (min-width: 761px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget.lb4-favorites-page .fav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* Aucun mouvement permanent. */
@media (prefers-reduced-motion: reduce) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget *,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget *::before,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget *::after {
    transition: none !important;
    animation: none !important;
  }
}


/* ==========================================================
   FAVORIS BER V2 — cockpit homogène, compact, sans fond chaud
   VISUEL UNIQUEMENT : aucun état / donnée / événement modifié.
   ========================================================== */

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget {
  --fav2-bg-a: rgba(5, 31, 44, .96);
  --fav2-bg-b: rgba(2, 16, 27, .985);
  --fav2-line: rgba(84, 233, 246, .20);
  --fav2-line-soft: rgba(84, 233, 246, .09);
  --fav2-cyan: #55e7f4;
  --fav2-text: #f0fbff;
  --fav2-soft: #acd0d8;
  --fav2-muted: #7297a1;
  --fav2-red: #ff6574;
  --fav2-orange: #ffad4d;
  --fav2-green: #51e3a4;
}

/* Titre de page = barre de contexte, pas carte supplémentaire */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro {
  min-height: 40px !important;
  margin: 0 0 9px !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(84,233,246,.18) !important;
  border-radius: 13px !important;
  background:
    linear-gradient(105deg, rgba(21,102,121,.13), rgba(4,24,35,.92) 58%, rgba(2,16,27,.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 5px 14px rgba(0,0,0,.16) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro h1 {
  margin: 0 !important;
  color: var(--fav2-text) !important;
  font-size: .86rem !important;
  line-height: 1.05 !important;
  letter-spacing: .005em !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro .lb-page-intro__eyebrow,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget > .lb-page-intro p {
  display: none !important;
}

/* Grille compacte */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-grid {
  gap: 9px !important;
  align-items: start !important;
}

/* Une seule grammaire de carte, quel que soit l’état */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
  --fav2-state: var(--fav2-cyan);
  position: relative !important;
  margin: 0 !important;
  padding: 9px 10px 8px !important;
  overflow: hidden !important;
  border: 1px solid rgba(84,233,246,.18) !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 105% -18%, rgba(84,233,246,.045), transparent 135px),
    linear-gradient(158deg, var(--fav2-bg-a), var(--fav2-bg-b) 72%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 6px 17px rgba(0,0,0,.21) !important;
}

/* état = seulement accent fin */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="normal"] {
  --fav2-state: var(--fav2-cyan);
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="delay"] {
  --fav2-state: var(--fav2-orange);
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="partial"] {
  --fav2-state: #ff875e;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="cancelled"] {
  --fav2-state: var(--fav2-red);
}

/* écrase les anciens fonds brun/orange/rouge */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="delay"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="partial"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="cancelled"] {
  background:
    radial-gradient(circle at 105% -18%, color-mix(in srgb, var(--fav2-state) 5%, transparent), transparent 130px),
    linear-gradient(158deg, rgba(5,31,44,.965), rgba(2,16,27,.99) 72%) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet::before {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  left: 0 !important;
  top: 8px !important;
  bottom: 8px !important;
  width: 2px !important;
  border-radius: 0 99px 99px 0 !important;
  background: var(--fav2-state) !important;
  box-shadow: 0 0 8px color-mix(in srgb, var(--fav2-state) 42%, transparent) !important;
  opacity: .92 !important;
}

/* HEADER : numéro / compo / statut alignés */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card-head,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-head {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 27px !important;
  margin: 0 0 5px !important;
  padding: 0 0 6px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fav2-line-soft) !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-tag {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-block {
  display: contents !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--fav2-text) !important;
  font: 850 .79rem/1 "Orbitron", system-ui, sans-serif !important;
  letter-spacing: .012em !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-profile-link {
  min-width: 0 !important;
  gap: 4px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  min-width: 0 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-state-badge,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cancel-badge {
  box-sizing: border-box !important;
  min-height: 18px !important;
  height: 18px !important;
  padding: 3px 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid color-mix(in srgb, var(--fav2-state) 36%, rgba(255,255,255,.12)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--fav2-state) 8%, rgba(0,11,18,.82)) !important;
  color: color-mix(in srgb, var(--fav2-state) 56%, white) !important;
  font: 850 .48rem/1 "Orbitron", system-ui, sans-serif !important;
  letter-spacing: .025em !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-live-chip {
  min-height: 18px !important;
  height: 18px !important;
  padding: 3px 6px !important;
  gap: 3px !important;
  border-radius: 999px !important;
  font-size: .46rem !important;
  box-shadow: none !important;
}

/* PARTIEL / RETARD : le badge suffit, on supprime le gros rail doublon */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="partial"] .lb4-fav-state-rail,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="delay"] .lb4-fav-state-rail {
  display: none !important;
}

/* Suppression totale : garder l’info, mais compacte */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="cancelled"] .lb4-fav-state-rail {
  min-height: 26px !important;
  margin: 0 0 6px !important;
  padding: 5px 7px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,101,116,.20) !important;
  border-radius: 8px !important;
  background: rgba(101,20,29,.13) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="cancelled"] .lb4-fav-state-rail strong {
  flex: 0 0 auto !important;
  color: #ff8d98 !important;
  font-size: .54rem !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget [data-lb4-state="cancelled"] .lb4-fav-state-rail span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #d6e9ee !important;
  font-size: .58rem !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Trajet + horaires, sans conteneur interne */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-meta,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-meta {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
  margin: 0 !important;
  color: #c4dfe5 !important;
  font-size: .65rem !important;
  font-weight: 720 !important;
  line-height: 1.15 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  color: var(--fav2-cyan) !important;
  font: 850 .92rem/1 "Orbitron", system-ui, sans-serif !important;
  letter-spacing: -.025em !important;
  text-shadow: 0 0 6px rgba(84,233,246,.12) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-separator {
  color: #54737b !important;
  font-size: .68em !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times .delay,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times .deleted-label,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times .delay,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times .deleted-label {
  color: var(--fav2-state) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-service {
  margin-top: 4px !important;
  color: #9fc0c8 !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
}

/* Perturbation en mini capsule */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-mini-alert {
  width: max-content !important;
  max-width: 100% !important;
  margin: 5px 0 0 !important;
  padding: 3px 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid color-mix(in srgb, var(--fav2-state) 28%, transparent) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--fav2-state) 7%, transparent) !important;
  color: color-mix(in srgb, var(--fav2-state) 65%, white) !important;
  font-size: .50rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

/* Zone dynamique : plus de gros cadre vide */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line {
  min-height: 0 !important;
  height: auto !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline {
  margin: 5px 0 3px !important;
  padding: 4px 7px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--fav2-state) 22%, transparent) !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.018) !important;
  color: #cce2e7 !important;
  font-size: .56rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* progression fine */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] {
  margin: 4px 0 4px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] > div {
  height: 3px !important;
  box-shadow: none !important;
}

/* prochain train = simple métadonnée */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-train {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #92b4bd !important;
  font-size: .57rem !important;
  line-height: 1.1 !important;
}

/* Affluence et fiabilité = deux lignes jumelles */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-box.fav-aff,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details {
  margin: 5px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--fav2-line-soft) !important;
  border-radius: 9px !important;
  background: rgba(1,12,20,.28) !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff > summary,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-box-head {
  min-height: 30px !important;
  padding: 4px 7px !important;
  border: 0 !important;
  background: transparent !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-summary {
  min-height: 21px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) 12px !important;
  align-items: center !important;
  gap: 6px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-title {
  color: #9fc0c8 !important;
  font-size: .56rem !important;
  font-weight: 720 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-schema {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-toggleline {
  width: 12px !important;
  min-width: 12px !important;
  height: 18px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: var(--fav2-cyan) !important;
  font-size: 0 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-toggleline::after {
  content: "›" !important;
  font: 900 14px/1 system-ui,sans-serif !important;
  opacity: .72 !important;
  transform: rotate(0deg);
  transition: transform .15s ease;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff[open] .fav-aff-toggleline::after {
  transform: rotate(90deg);
  opacity: 1 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary {
  box-sizing: border-box !important;
  min-height: 30px !important;
  padding: 4px 7px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #9fc0c8 !important;
  font-size: .56rem !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  list-style: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary::-webkit-details-marker {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary::after {
  content: "›" !important;
  width: 12px !important;
  margin-left: auto !important;
  color: var(--fav2-cyan) !important;
  font: 900 14px/1 system-ui,sans-serif !important;
  opacity: .72 !important;
  transform: rotate(0deg);
  transition: transform .15s ease;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details[open] .fav-details-summary::after {
  content: "›" !important;
  transform: rotate(90deg);
  opacity: 1 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-pct {
  margin-left: 2px !important;
  color: var(--fav2-state) !important;
  font: 900 .64rem/1 "Orbitron",system-ui,sans-serif !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-box-body,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-body,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-body {
  padding: 7px !important;
  border-top: 1px solid rgba(84,233,246,.065) !important;
  background: rgba(255,255,255,.012) !important;
}

/* métriques ouvertes : pas de mini cartes */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-metrics {
  gap: 4px 9px !important;
  margin-bottom: 4px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-metrics > div {
  min-height: 22px !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(84,233,246,.055) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* mobile : encore plus dense sans réduire la zone tactile des details */
@media (max-width:760px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget.lb4-favorites-page {
    padding: 8px 9px 14px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
    padding: 8px 9px 8px !important;
    border-radius: 13px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train {
    font-size: .74rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
    font-size: .62rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
    font-size: .87rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-aff-schema--compact .affls-unit,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-stop-schema .affls-unit {
    width: calc(var(--seg-count,3) * 20px) !important;
    height: 9px !important;
  }
}

@media (min-width:761px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 11px !important;
  }
}


/* ==========================================================
   FAVORIS BER V3 — lisibilité restaurée + affluence visible
   VISUEL UNIQUEMENT.
   ========================================================== */

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
  --fav3-cyan: #58e8f4;
  --fav3-red: #ff6472;
  --fav3-orange: #ff9f55;
  --fav3-text: #eefcff;
  --fav3-soft: #bfdbe1;
  padding: 12px 12px 11px !important;
  border: 1px solid rgba(83,229,242,.24) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 100% -10%, rgba(83,229,242,.055), transparent 160px),
    linear-gradient(160deg, rgba(7,34,48,.98), rgba(2,17,28,.995) 72%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 8px 20px rgba(0,0,0,.22) !important;
}

/* Perturbé = même carte bleu nuit, pas de fond ni contour orange. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="delay"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="partial"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="cancelled"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet.is-delayed,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet.is-canceled {
  border-color: rgba(83,229,242,.24) !important;
  background:
    radial-gradient(circle at 100% -10%, rgba(83,229,242,.055), transparent 160px),
    linear-gradient(160deg, rgba(7,34,48,.98), rgba(2,17,28,.995) 72%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 8px 20px rgba(0,0,0,.22) !important;
}

/* L’état reste visible uniquement par le fin repère latéral. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="normal"]::before {
  background: var(--fav3-cyan) !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="delay"]::before {
  background: var(--fav3-orange) !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="partial"]::before,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="cancelled"]::before {
  background: var(--fav3-red) !important;
}

/* En-tête moins miniaturisé. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card-head,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-head {
  min-height: 31px !important;
  margin-bottom: 7px !important;
  padding-bottom: 7px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train {
  font-size: .90rem !important;
  line-height: 1.05 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-badge {
  gap: 7px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-state-badge,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cancel-badge {
  min-height: 20px !important;
  height: 20px !important;
  padding: 4px 8px !important;
  font-size: .53rem !important;
}

/* Route et horaires : taille confortable. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
  margin-bottom: 3px !important;
  color: var(--fav3-soft) !important;
  font-size: .70rem !important;
  line-height: 1.2 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
  margin-top: 4px !important;
  gap: 5px !important;
  color: var(--fav3-cyan) !important;
  font-size: 1.08rem !important;
  line-height: 1.05 !important;
}

/* Suppression = rouge explicite, jamais cyan/orange. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time.fav-time-rt.deleted-label,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times .deleted-label,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times .deleted-label {
  color: var(--fav3-red) !important;
  text-shadow: 0 0 7px rgba(255,100,114,.18) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-planned.is-strike,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-planned.deleted {
  color: #90a4aa !important;
  text-decoration-color: #ff6573 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times .delay,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times .delay {
  color: #ff7a86 !important;
}

/* Capsule et cause redevenues lisibles. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-mini-alert {
  margin-top: 6px !important;
  padding: 4px 8px !important;
  border-color: rgba(255,100,114,.30) !important;
  background: rgba(255,100,114,.075) !important;
  color: #ff9ca5 !important;
  font-size: .58rem !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline {
  margin: 6px 0 4px !important;
  padding: 5px 8px !important;
  color: #d7ebef !important;
  font-size: .61rem !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-service,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-train {
  margin-top: 6px !important;
  color: #aecbd2 !important;
  font-size: .64rem !important;
}

/* Progression plus visible sans reprendre de place. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] {
  margin: 6px 0 6px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] > div {
  height: 4px !important;
}

/* AFFLUENCE : visible au premier niveau, taille utile. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-box.fav-aff {
  display: block !important;
  margin-top: 7px !important;
  border: 1px solid rgba(83,229,242,.12) !important;
  border-radius: 11px !important;
  background: rgba(1,12,20,.34) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff > summary,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-box-head {
  min-height: 38px !important;
  padding: 6px 9px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-summary {
  min-height: 25px !important;
  grid-template-columns: auto minmax(0,1fr) 14px !important;
  gap: 8px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-title {
  color: #bdd8de !important;
  font-size: .65rem !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-schema {
  transform: scale(1.04) !important;
  transform-origin: right center !important;
}

/* Fiabilité : même hauteur que l'affluence. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details {
  margin-top: 7px !important;
  border: 1px solid rgba(83,229,242,.12) !important;
  border-radius: 11px !important;
  background: rgba(1,12,20,.34) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary {
  min-height: 38px !important;
  padding: 6px 9px !important;
  color: #bdd8de !important;
  font-size: .65rem !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-pct {
  font-size: .75rem !important;
}

/* Le pourcentage n'est rouge que s'il est réellement mauvais. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct {
  color: #8fe7ef !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct.bad,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct.danger {
  color: var(--fav3-red) !important;
}

/* Mobile : plus lisible, sans redevenir mastoc. */
@media (max-width:760px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
    padding: 11px 11px 10px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train {
    font-size: .86rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
    font-size: .68rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
    font-size: 1.02rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-title,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-service,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-train,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline {
    font-size: .62rem !important;
  }
}


/* ==========================================================
   FAVORIS BER V4 — lisibilité premium, état en accent seulement
   VISUEL UNIQUEMENT : aucune donnée / logique / interaction modifiée.
   ========================================================== */

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
  padding: 12px 12px 11px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(84,233,246,.18) !important;
  background:
    radial-gradient(circle at 100% -10%, rgba(84,233,246,.04), transparent 160px),
    linear-gradient(180deg, rgba(5,30,44,.98), rgba(2,16,27,.995)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 8px 18px rgba(0,0,0,.22) !important;
}

/* Perturbé = même carte BER bleu nuit, aucune teinte orange/brune. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="partial"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="delay"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet[data-lb4-state="cancelled"],
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet.is-delayed,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet.is-canceled {
  background:
    radial-gradient(circle at 100% -10%, rgba(84,233,246,.04), transparent 160px),
    linear-gradient(180deg, rgba(5,30,44,.98), rgba(2,16,27,.995)) !important;
  border-color: rgba(84,233,246,.18) !important;
}

/* Etat visible uniquement via le fin repère latéral. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card::before {
  width: 2px !important;
  top: 9px !important;
  bottom: 9px !important;
  border-radius: 0 999px 999px 0 !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="normal"]::before {
  background: #55e7f4 !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="delay"]::before {
  background: #ffb24a !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="partial"]::before,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card[data-lb4-state="cancelled"]::before,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.is-canceled::before {
  background: #ff6674 !important;
}

/* HEADER */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card-head,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-head {
  min-height: 30px !important;
  padding-bottom: 7px !important;
  margin-bottom: 7px !important;
  border-bottom: 1px solid rgba(84,233,246,.10) !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train {
  font-size: .92rem !important;
  font-weight: 850 !important;
  color: #eefcff !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train-badge {
  gap: 6px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-state-badge,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cancel-badge {
  height: 20px !important;
  min-height: 20px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  font-size: .52rem !important;
  border: 1px solid rgba(84,233,246,.20) !important;
  background: rgba(255,255,255,.04) !important;
  color: #edfaff !important;
  box-shadow: none !important;
}

/* Route + horaires */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
  font-size: .70rem !important;
  color: #c6e0e6 !important;
  margin-bottom: 2px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
  font-size: 1.10rem !important;
  line-height: 1.05 !important;
  gap: 5px !important;
  color: #56e8f4 !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-separator {
  color: #698891 !important;
  font-size: .72em !important;
}

/* Ancien horaire barré. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-planned.is-strike,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time-planned.deleted {
  color: #93a7ad !important;
  text-decoration: line-through !important;
  text-decoration-color: #ff6674 !important;
}

/* Suppression / retard = rouge explicite. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-time.fav-time-rt.deleted-label,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times .deleted-label,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times .deleted-label,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times .delay,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times .delay {
  color: #ff6674 !important;
  text-shadow: 0 0 7px rgba(255,102,116,.16) !important;
}

/* Capsule perturbation + cause. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-mini-alert {
  margin-top: 6px !important;
  padding: 4px 8px !important;
  border: 1px solid rgba(255,102,116,.28) !important;
  background: rgba(255,102,116,.08) !important;
  color: #ff9ca6 !important;
  font-size: .58rem !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline {
  margin: 6px 0 5px !important;
  padding: 5px 8px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(84,233,246,.08) !important;
  background: rgba(255,255,255,.02) !important;
  color: #d9edf1 !important;
  font-size: .61rem !important;
  line-height: 1.18 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: initial !important;
}

/* Progression et prochain service. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] {
  margin: 6px 0 6px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-line > div[style*="margin:8px"] > div {
  height: 4px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-service,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-train {
  font-size: .64rem !important;
  color: #b7d4da !important;
  margin-top: 6px !important;
}

/* AFFLUENCE : première info secondaire visible, lisible et homogène. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-box.fav-aff {
  display: block !important;
  margin-top: 8px !important;
  border: 1px solid rgba(84,233,246,.11) !important;
  border-radius: 12px !important;
  background: rgba(1,12,20,.28) !important;
  overflow: hidden !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff > summary,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff .fav-box-head {
  min-height: 36px !important;
  padding: 6px 9px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-summary {
  display: grid !important;
  grid-template-columns: auto 1fr 12px !important;
  align-items: center !important;
  gap: 8px !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-title {
  font-size: .64rem !important;
  color: #bad7dd !important;
  font-weight: 750 !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-schema {
  justify-content: flex-end !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-toggleline::after {
  content: "›" !important;
  font: 900 14px/1 system-ui,sans-serif !important;
  color: #55e7f4 !important;
}

/* FIABILITE : même hauteur et même grammaire que l'affluence. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details {
  margin-top: 8px !important;
  border: 1px solid rgba(84,233,246,.11) !important;
  border-radius: 12px !important;
  background: rgba(1,12,20,.28) !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary {
  min-height: 36px !important;
  padding: 6px 9px !important;
  color: #bad7dd !important;
  font-size: .64rem !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-pct,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-reliability-pct {
  font-size: .76rem !important;
  font-weight: 900 !important;
  color: #8fe7ef !important;
}

/* Mobile : plus lisible, sans redevenir massif. */
@media (max-width:760px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-card.lb4-favorite-sheet {
    padding: 11px 11px 10px !important;
  }
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-train,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .lb4-fav-sheet-train {
    font-size: .88rem !important;
  }
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-route {
    font-size: .68rem !important;
  }
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-primary-times,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-times {
    font-size: 1.03rem !important;
  }
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-mini-alert,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-cause-inline,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-next-service,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-aff-title,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-details-summary {
    font-size: .62rem !important;
  }
}


/* ==========================================================
   FAVORIS BER V5 — parcours / arrêts / voies comme la fiche train
   Past = grisé + check, Next = cyan, Deleted = rouge barré.
   ========================================================== */

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details {
  margin: 8px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(84,233,246,.12) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(180deg, rgba(3,18,28,.44), rgba(1,10,17,.34)) !important;
  box-shadow: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary {
  min-height: 42px !important;
  padding: 7px 9px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 14px !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary::-webkit-details-marker {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-main {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #d9eef2 !important;
  font-size: .66rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-sub {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  color: #88abb4 !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-chevron {
  width: 14px !important;
  color: #55e7f4 !important;
  font: 900 16px/1 system-ui,sans-serif !important;
  text-align: center !important;
  opacity: .78 !important;
  transform: rotate(0deg);
  transition: transform .16s ease, opacity .16s ease;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details[open] .fav-route-summary-chevron {
  transform: rotate(90deg);
  opacity: 1 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-timeline {
  position: relative !important;
  padding: 5px 9px 8px !important;
  border-top: 1px solid rgba(84,233,246,.07) !important;
  background: rgba(1,10,17,.18) !important;
}

/* colonne temps | rail | gare | voie */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 68px 14px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 3px 0 !important;
  color: #cfe6eb !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row + .fav-route-row {
  border-top: 1px solid rgba(84,233,246,.045) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-time {
  min-width: 0 !important;
  color: #9fc4cc !important;
  font-family: "Orbitron",system-ui,sans-serif !important;
  font-size: .61rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  font-variant-numeric: tabular-nums !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-time .fav-time {
  font-size: inherit !important;
  line-height: inherit !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-node {
  position: relative !important;
  width: 10px !important;
  height: 10px !important;
  justify-self: center !important;
  border: 2px solid rgba(84,233,246,.48) !important;
  border-radius: 50% !important;
  background: #061923 !important;
  box-sizing: border-box !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-node::before,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-node::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 1px !important;
  height: 15px !important;
  background: rgba(84,233,246,.18) !important;
  transform: translateX(-50%) !important;
  z-index: -1 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-node::before {
  bottom: 8px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-node::after {
  top: 8px !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row:first-child .fav-route-node::before,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row:last-child .fav-route-node::after {
  display: none !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-stop {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #d6ebef !important;
  font-size: .67rem !important;
  font-weight: 760 !important;
  line-height: 1.16 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-trackcell {
  min-width: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-track,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-trackcell .voie-badge,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-sub .voie-badge {
  margin: 0 !important;
  padding: 2px 6px !important;
  border: 1px solid rgba(117,132,255,.28) !important;
  border-radius: 999px !important;
  background: rgba(76,61,161,.14) !important;
  color: #c7bdff !important;
  font-size: .52rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

/* ARRÊT PASSÉ : lisible mais secondaire, jamais barré. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-past {
  opacity: .50 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-past .fav-route-node {
  border-color: #6a858d !important;
  background: #6a858d !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-past .fav-route-node::after {
  content: "✓" !important;
  position: absolute !important;
  inset: -4px auto auto -2px !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: #d7e4e7 !important;
  font: 900 8px/1 system-ui,sans-serif !important;
  transform: none !important;
  z-index: 2 !important;
}

/* PROCHAIN ARRÊT : repère principal comme la fiche train. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-next {
  margin: 2px -4px !important;
  padding: 5px 4px !important;
  border-radius: 8px !important;
  border-top-color: transparent !important;
  background: rgba(84,233,246,.055) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-next .fav-route-node {
  width: 12px !important;
  height: 12px !important;
  border-color: #59eff9 !important;
  background: #59eff9 !important;
  box-shadow: 0 0 9px rgba(89,239,249,.42) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-next .fav-route-stop {
  color: #f0feff !important;
  font-weight: 900 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-next .fav-route-time {
  color: #66edf7 !important;
}

/* ARRÊT SUPPRIMÉ : rouge + barré. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-deleted {
  opacity: .82 !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-deleted .fav-route-node {
  border-color: #ff6674 !important;
  background: rgba(255,102,116,.14) !important;
}

html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-deleted .fav-route-stop,
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row.is-deleted .fav-route-time {
  color: #ff8c98 !important;
  text-decoration: line-through !important;
  text-decoration-color: rgba(255,102,116,.75) !important;
}

/* Train en circulation : la section s'ouvre d'elle-même. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details[data-route-state="running"] {
  border-color: rgba(84,233,246,.20) !important;
}

/* Train terminé : résumé plus discret, liste disponible au clic. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details[data-route-state="after"] .fav-route-summary-main {
  color: #a9c3ca !important;
}

/* Train totalement supprimé */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details[data-route-state="cancelled"] {
  border-color: rgba(255,102,116,.20) !important;
}
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details[data-route-state="cancelled"] .fav-route-summary-main {
  color: #ff8f9b !important;
}

/* L'affluence suit le parcours ; même rythme vertical. */
html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-details + .fav-aff {
  margin-top: 7px !important;
}

@media (max-width:760px) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary {
    min-height: 40px !important;
    padding: 7px 8px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-main {
    font-size: .64rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-sub {
    font-size: .56rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-timeline {
    padding: 5px 8px 7px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-row {
    grid-template-columns: 62px 13px minmax(0,1fr) auto !important;
    gap: 5px !important;
    min-height: 33px !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-time {
    font-size: .58rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-stop {
    font-size: .64rem !important;
  }

  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-track,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-trackcell .voie-badge,
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-sub .voie-badge {
    padding: 2px 5px !important;
    font-size: .50rem !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  html[data-lb-v4-live="1"] body.lb-v3 #favTrainsWidget .fav-route-summary-chevron {
    transition: none !important;
  }
}
