/* One full-width favorite at a time, overrides mobile two-column legacy layout */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe {
 display:block!important;
 grid-template-columns:none!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 overflow:hidden!important;
 padding:0!important;
 touch-action:pan-y!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe > [data-fav-k]{
 box-sizing:border-box!important;
 width:100%!important;min-width:0!important;max-width:100%!important;
 margin:0!important;
 transform:none!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe > [data-fav-k]:not(.lb-fav-active) {
 display:none!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe > [data-fav-k].lb-fav-active {
 display:grid!important;
 animation:lbFavArrive .28s ease-out both;
}
@keyframes lbFavArrive {from{opacity:.68;translate:12px 0}to{opacity:1;translate:0 0}}
html[data-lb-v4-live="1"] body.lb-v3 #home .lb-fav-switch{
 display:flex!important;align-items:center;justify-content:center;gap:12px;
 height:18px!important;min-height:18px!important;max-height:18px!important;margin:3px 0 0!important;padding:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home .lb-fav-switch-dot{
 appearance:none;-webkit-appearance:none;cursor:pointer;display:block;
 box-sizing:border-box!important;width:9px!important;height:9px!important;min-width:9px!important;min-height:9px!important;max-width:9px!important;max-height:9px!important;flex:0 0 9px!important;
 border-radius:50%!important;border:1px solid rgba(109,230,244,.64)!important;
 background:rgba(74,146,159,.30);padding:0!important;margin:0!important;line-height:0!important;font-size:0!important;box-shadow:none;
 transition:background .22s,box-shadow .22s,transform .22s;
}
html[data-lb-v4-live="1"] body.lb-v3 #home .lb-fav-switch-dot[aria-pressed="true"]{
 background:#49e1f1;border-color:#8bf4ff;
 box-shadow:0 0 8px rgba(27,219,243,.65);transform:none!important
}
html[data-lb-v4-live="1"] body.lb-v3 #home .lb-fav-switch-dot:focus-visible{outline:2px solid #f9ca61;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe > [data-fav-k].lb-fav-active{animation:none}}

html[data-lb-v4-live="1"] body.lb-v3 #home .lb-fav-switch-dot::before,html[data-lb-v4-live="1"] body.lb-v3 #home .lb-fav-switch-dot::after{content:none!important;display:none!important}

/* 2026-11-09: compact navigation, the global min-height on buttons does not apply. */
html[data-lb-v4-live="1"] body.lb-v3 #home .home-card:has(#homeFavSlot) .lb-fav-switch{
 height:11px!important;min-height:11px!important;max-height:11px!important;
 padding:0!important;margin:0!important;gap:9px!important;
 line-height:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home .home-card:has(#homeFavSlot) .lb-fav-switch-dot{
 width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important;
 max-width:7px!important;max-height:7px!important;flex:0 0 7px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home .home-card:has(#homeFavSlot) {
 padding-bottom:2px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe{
 margin-bottom:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .home-fav-badge > .fav-type-wrap,
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .home-fav-badge > .home-fav-compo-loading{
 display:none!important;
}
/* Same vehicle design and car markup as the LIVE mini-composition.
   Shown in the original Composition footer, not in the status pill. */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo{
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;
 gap:8px!important;min-height:15px!important;min-width:0!important;
 margin-left:7px!important;white-space:nowrap!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__drawing{
 display:flex!important;position:static!important;align-items:center!important;
 justify-content:flex-start!important;flex-wrap:nowrap!important;
 width:calc(var(--car-count,3) * 12px + 3px)!important;max-width:120px!important;
 height:12px!important;min-height:12px!important;max-height:12px!important;
 margin:0!important;padding:0!important;border:0!important;background:none!important;
 box-shadow:none!important;overflow:visible!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car{
 position:relative!important;box-sizing:border-box!important;display:inline-flex!important;flex:1 1 0!important;
 align-items:center!important;justify-content:center!important;
 gap:1px!important;min-width:0!important;height:10px!important;max-height:10px!important;
 border:1px solid #72c8d0!important;border-left:0!important;
 background:linear-gradient(to bottom,#e9faf7 0 24%,#67b8c3 25% 34%,#effaf7 35% 71%,#0d3440 72% 100%)!important;
 box-shadow:inset 0 -1px #194955!important;overflow:hidden!important;margin:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car:first-child,
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car.is-unit-start{
 border-left:1px solid #72c8d0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car.is-front{border-radius:6px 0 0 2px!important}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car.is-rear{border-radius:0 6px 2px 0!important}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car.is-unit-end:not(.is-rear){margin-right:2px!important}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car i{
 display:block!important;flex:0 0 1.7px!important;width:1.7px!important;min-width:1.7px!important;
 max-width:1.7px!important;height:3px!important;min-height:3px!important;
 border:0!important;border-radius:0!important;background:#083442!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo__label{
 color:#a9ced8!important;font:700 .56rem/1 Rajdhani,system-ui,sans-serif!important;
 letter-spacing:.01em!important;white-space:nowrap!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo.is-unknown .lb-train-profile__car{
 border-color:#607784!important;
 background:linear-gradient(to bottom,#99a7ae 0 24%,#6e8290 25% 36%,#a4b1b8 37% 71%,#344854 72% 100%)!important;
 opacity:.62!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo.is-unknown .lb-home-fav-compo__label{color:#93a7b0!important}

/* Fav composition polish: larger miniature, centered on its own full-width row. */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .home-fav-route.lb-home-fav-route-empty{
 display:none!important;
 height:0!important;min-height:0!important;margin:0!important;
 padding:0!important;border:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo-host{
 grid-column:1 / -1!important;
 justify-self:stretch!important;
 width:100%!important;
 min-width:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 padding:5px 0 1px!important;
 margin:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo{
 width:100%!important;max-width:100%!important;
 display:flex!important;
 justify-content:center!important;align-items:center!important;
 gap:12px!important;
 min-height:24px!important;
 margin:0!important;padding:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__drawing{
 flex:0 0 auto!important;
 width:calc(var(--car-count,3) * 22px + 6px)!important;
 max-width:min(72%,220px)!important;
 height:22px!important;min-height:22px!important;max-height:22px!important;
 align-items:center!important;justify-content:flex-start!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car{
 height:19px!important;min-height:19px!important;max-height:19px!important;
 gap:2px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__car i{
 flex:0 0 3px!important;width:3px!important;min-width:3px!important;
 max-width:3px!important;height:5px!important;min-height:5px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo__label{
 font-size:.71rem!important;
 letter-spacing:.01em!important;
}
@media(max-width:360px){
 html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo{
 gap:7px!important;
 }
 html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo .lb-train-profile__drawing{
 width:calc(var(--car-count,3) * 18px + 6px)!important;
 }
}

/* Horaires et gares rassemblés : lecture immédiate départ / arrivée */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey {
 display:grid!important;
 grid-column:1/-1!important;
 grid-template-columns:minmax(0,1fr) minmax(28px,.36fr) minmax(0,1fr)!important;
 align-items:center!important;
 width:100%!important;
 gap:5px!important;
 padding:2px 3px 1px!important;
 margin:1px 0 1px!important;
 box-sizing:border-box!important;
 min-height:40px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__stop {
 display:flex!important;flex-direction:column!important;gap:2px!important;
 min-width:0!important;align-items:flex-start!important;text-align:left!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__stop.is-arrival {
 align-items:flex-end!important;text-align:right!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__time {
 display:flex!important;align-items:center!important;justify-content:flex-start!important;
 gap:2px!important;color:#f0faff!important;
 font:800 clamp(1rem,4.3vw,1.3rem)/1 Rajdhani,system-ui,sans-serif!important;
 white-space:nowrap!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__station {
 color:#ceeef6!important;
 font:750 clamp(.76rem,3vw,.88rem)/1.05 Rajdhani,system-ui,sans-serif!important;
 white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
 max-width:100%!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__link{
 width:100%!important;min-width:0!important;align-self:center!important;
 display:flex!important;align-items:center!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__track{
 display:block!important;width:100%!important;height:2px!important;border-radius:3px!important;
 background:linear-gradient(90deg,#26cce1 0%,rgba(83,198,219,.3) 55%,#26cce1 100%)!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__track::before,
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__track::after{
 content:none!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey .home-fav-time-part{
 display:inline-flex!important;align-items:baseline!important;gap:3px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey .home-fav-time-planned,
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey .home-fav-time-live{
 font-size:inherit!important;line-height:1!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey .home-fav-time-planned.is-strike{
 font-size:.76em!important;
 text-decoration:line-through!important;opacity:.7!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey + .lb-home-fav-compo-host{
 margin-top:0!important;
}

/* 09/11 : repères ferroviaires, pas un simple trait */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__link{
 justify-content:center!important;gap:4px!important;
 align-self:center!important;padding-top:1px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__dot{
 position:static!important;box-sizing:border-box!important;
 width:8px!important;height:8px!important;
 min-width:8px!important;min-height:8px!important;
 border-radius:50%!important;flex:0 0 8px!important;
 box-shadow:none!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__dot.is-start{
 background:#38d6eb!important;border:1px solid #38d6eb!important;
 box-shadow:0 0 5px rgba(42,210,234,.35)!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__dot.is-end{
 background:#082737!important;border:2px solid #38d6eb!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__track{
 flex:1 1 auto!important;min-width:4px!important;
 height:2px!important;
 background:repeating-linear-gradient(90deg,rgba(67,205,225,.65) 0 3px,transparent 3px 6px)!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__next-service{
 grid-column:1/-1!important;
 justify-self:center!important;
 align-self:center!important;
 width:100%!important;max-width:100%!important;
 padding:1px 0 0!important;margin:0!important;
 text-align:center!important;white-space:nowrap!important;
 overflow:hidden!important;text-overflow:ellipsis!important;
 color:#b2d7e2!important;
 font:650 .64rem/1.1 Rajdhani,system-ui,sans-serif!important;
 letter-spacing:.012em!important;
}

/* Accueil favoris — explicit single-column flow. Must override the old active-card grid.
   Keeps header, time/stations, service-date and composition in independent vertical rows. */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot.lb-fav-swipe > .home-fav-row[data-fav-k].lb-fav-active {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .home-fav-head {
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:23px!important;
  margin:0 0 4px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey {
  display:grid!important;
  flex:0 0 auto!important;
  min-height:0!important;
  margin:2px 0 4px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__next-service {
  position:static!important;
  grid-column:1/-1!important;
  grid-row:auto!important;
  margin-top:5px!important;
  padding:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-fav-compo-host {
  position:static!important;
  flex:0 0 auto!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:2px 0 0!important;
}

/* Both times share one baseline; both station labels share the next baseline.
   A platform indicator on only one end must never vertically re-center the other. */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey{
 align-items:start!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__stop{
 align-self:start!important;
 justify-content:flex-start!important;
 gap:2px!important;
 margin:0!important;
 padding:0!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__stop.is-arrival{
 align-self:start!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__link{
 align-self:start!important;
 margin-top:11px!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__time{
 height:18px!important;min-height:18px!important;
 line-height:18px!important;
 margin:0!important;padding:0!important;
 align-items:center!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__station{
 height:14px!important;min-height:14px!important;
 line-height:14px!important;
 margin:0!important;padding:0!important;
}

/* Only the service-date caption is taken out of the grid flow.
   It sits in unused horizontal center space, at the level of the track labels. */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey{
 position:relative!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__next-service{
 position:absolute!important;
 top:32px!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 grid-column:auto!important;
 width:calc(100% - 112px)!important;
 max-width:245px!important;
 height:13px!important;
 min-height:13px!important;
 margin:0!important;
 padding:0!important;
 font-size:.62rem!important;
 line-height:13px!important;
 pointer-events:none!important;
 text-align:center!important;
 white-space:nowrap!important;
}

/* Wider visual rail connection, maintaining the original station/time alignment. */
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey {
  grid-template-columns:minmax(72px,1fr) minmax(90px,1.1fr) minmax(72px,1fr)!important;
}
html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey__link {
  width:100%!important;
  margin-top:11px!important;
}
@media(max-width:350px){
 html[data-lb-v4-live="1"] body.lb-v3 #home #homeFavSlot .lb-home-journey {
  grid-template-columns:minmax(65px,1fr) minmax(85px,1fr) minmax(65px,1fr)!important;
 }
}
