/*
 * BnBike GPS — Page Parcours reconstruite depuis une feuille blanche.
 * Aucun sélecteur de l'ancienne page n'est réutilisé.
 */

#routesCleanPage {
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:block !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  padding:0 0 88px !important;
  background:#fff !important;
  color:#071b3b !important;
  font-family:Poppins,Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased !important;
}

#routesCleanPage.hidden {
  display:none !important;
}

#routesCleanPage,
#routesCleanPage * {
  box-sizing:border-box !important;
}

#routesCleanPage button {
  font:inherit !important;
  -webkit-tap-highlight-color:transparent !important;
}

#routesCleanPage .routes-clean-shell {
  width:100% !important;
  margin:0 !important;
  padding:13px 13px 0 !important;
  background:#fff !important;
}

#routesCleanPage .routes-clean-hero {
  position:relative !important;
  width:100% !important;
  height:116px !important;
  margin:0 !important;
  padding:18px 44% 15px 18px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:22px !important;
  background:linear-gradient(116deg,#0967ee 0%,#087fe9 48%,#10c9df 100%) !important;
  box-shadow:0 10px 22px rgba(6,102,199,.16) !important;
}

#routesCleanPage .routes-clean-hero::after {
  content:"" !important;
  position:absolute !important;
  width:145px !important;
  height:145px !important;
  right:-58px !important;
  bottom:-78px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.07) !important;
}

#routesCleanPage .routes-clean-copy {
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  text-align:left !important;
}

#routesCleanPage .routes-clean-kicker {
  display:block !important;
  margin:0 0 9px !important;
  color:rgba(255,255,255,.97) !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  white-space:nowrap !important;
}

#routesCleanPage .routes-clean-title {
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:clamp(25px,7.3vw,31px) !important;
  line-height:.96 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  text-shadow:none !important;
}

#routesCleanPage .routes-clean-subtitle {
  margin:0 !important;
  color:rgba(255,255,255,.97) !important;
  font-size:clamp(11px,3.2vw,14px) !important;
  line-height:1.15 !important;
  font-weight:550 !important;
  white-space:nowrap !important;
}

#routesCleanPage .routes-clean-art {
  position:absolute !important;
  z-index:2 !important;
  top:9px !important;
  right:8px !important;
  width:43% !important;
  height:98px !important;
}

#routesCleanPage .routes-clean-art svg {
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:100% !important;
  height:78px !important;
  overflow:visible !important;
}

#routesCleanPage .routes-clean-art-line,
#routesCleanPage .routes-clean-art-pin,
#routesCleanPage .routes-clean-art-trees,
#routesCleanPage .routes-clean-art-cloud {
  fill:none !important;
  stroke:rgba(255,255,255,.91) !important;
  stroke-width:2.6 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

#routesCleanPage .routes-clean-art-line {
  stroke-dasharray:5 5 !important;
}

#routesCleanPage .routes-clean-art-dot {
  fill:#fff !important;
  stroke:none !important;
}

#routesCleanPage .routes-clean-art-trees,
#routesCleanPage .routes-clean-art-cloud {
  opacity:.50 !important;
  stroke-width:2 !important;
}

#routesCleanPage .routes-clean-selection {
  position:absolute !important;
  right:1px !important;
  bottom:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:22px !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#ff8e14,#ff6800) !important;
  color:#fff !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  box-shadow:0 5px 12px rgba(214,73,0,.22) !important;
}

#routesCleanFilterBar {
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:7px !important;
  width:100% !important;
  margin:12px 0 0 !important;
  padding:0 0 1px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  background:#fff !important;
  scrollbar-width:none !important;
}

#routesCleanFilterBar::-webkit-scrollbar {
  display:none !important;
}

#routesCleanFilterBar .routes-clean-filter {
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  height:37px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:1.4px solid #b9cde8 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#071c3f !important;
  box-shadow:none !important;
  font-size:clamp(10px,2.85vw,12px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
}

#routesCleanFilterBar .routes-clean-filter.active {
  border-color:#ff7900 !important;
  background:linear-gradient(135deg,#ff9319,#ff6800) !important;
  color:#fff !important;
  box-shadow:0 7px 15px rgba(255,105,0,.22) !important;
}

#routesCleanPage .routes-clean-map-wrap {
  position:relative !important;
  width:auto !important;
  height:182px !important;
  margin:11px 13px 0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:19px !important;
  background:#dff0f6 !important;
  box-shadow:0 9px 20px rgba(16,75,130,.12) !important;
}

#routesCleanOverviewMap {
  width:100% !important;
  height:100% !important;
  min-height:182px !important;
  border-radius:19px !important;
  overflow:hidden !important;
  background:#dff0f6 !important;
}

#routesCleanPage .routes-clean-map-loading {
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  color:#54708d !important;
  font-size:12px !important;
  font-weight:750 !important;
}

#routesCleanLocateBtn {
  position:absolute !important;
  left:10px !important;
  bottom:10px !important;
  z-index:500 !important;
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.98) !important;
  color:#0875e6 !important;
  box-shadow:0 7px 16px rgba(11,70,132,.17) !important;
}

#routesCleanLocateBtn svg {
  width:22px !important;
  height:22px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
}

#routesCleanLocateBtn.is-loading {
  opacity:.7 !important;
  transform:scale(.94) !important;
}

#routesCleanMapCount {
  position:absolute !important;
  right:9px !important;
  bottom:9px !important;
  z-index:500 !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#ff8e14,#ff6500) !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850 !important;
  box-shadow:0 7px 15px rgba(255,101,0,.24) !important;
}

#routesCleanMapCount::before {
  content:"🚶" !important;
  margin-right:5px !important;
  font-size:13px !important;
}

#routesCleanPage .routes-clean-marker-wrap {
  border:0 !important;
  background:transparent !important;
}

#routesCleanPage .routes-clean-marker {
  display:grid !important;
  place-items:center !important;
  width:32px !important;
  height:32px !important;
  border:2.5px solid #fff !important;
  border-radius:50% !important;
  background:#1976f3 !important;
  color:#fff !important;
  box-shadow:0 5px 12px rgba(0,73,158,.30),0 1px 3px rgba(5,42,91,.16) !important;
}

#routesCleanPage .routes-clean-marker-flag {
  display:block !important;
  width:19px !important;
  height:19px !important;
  overflow:visible !important;
  color:#fff !important;
}

#routesCleanPage .routes-clean-flag-pole {
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.15 !important;
  stroke-linecap:round !important;
}

#routesCleanPage .routes-clean-flag-cloth {
  fill:currentColor !important;
  stroke:currentColor !important;
  stroke-width:.8 !important;
  stroke-linejoin:round !important;
}

#routesCleanPage .routes-clean-heading {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:14px 14px 8px !important;
}

#routesCleanPage .routes-clean-heading h2 {
  margin:0 !important;
  color:#061a35 !important;
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
  white-space:nowrap !important;
}

#routesCleanVisibleCount {
  display:none !important;
}

#routesCleanVisibleCount::after {
  content:"" !important;
  display:none !important;
}

#routesCleanList {
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  width:auto !important;
  max-width:none !important;
  margin:12px 0 0 !important;
  padding:0 13px 100px !important;
  overflow:visible !important;
  background:#fff !important;
}

#routesCleanList .routes-clean-card {
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:171px !important;
  min-height:171px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:19px !important;
  background:#0a2848 !important;
  box-shadow:0 10px 22px rgba(5,44,83,.16) !important;
  isolation:isolate !important;
}

#routesCleanList .routes-clean-media {
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
}

#routesCleanList .routes-clean-media::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(180deg,rgba(3,20,38,0) 33%,rgba(3,20,38,.10) 48%,rgba(3,20,38,.91) 100%) !important;
  pointer-events:none !important;
}

#routesCleanList .routes-clean-media img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:none !important;
}

#routesCleanList .routes-clean-category {
  position:absolute !important;
  top:9px !important;
  left:10px !important;
  z-index:5 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  min-height:28px !important;
  padding:5px 10px !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#ff8d13,#ff6800) !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  box-shadow:0 6px 14px rgba(218,74,0,.24) !important;
  white-space:nowrap !important;
}

#routesCleanList .routes-clean-category > span {
  font-size:14px !important;
  line-height:1 !important;
}

#routesCleanList .routes-clean-fav {
  position:absolute !important;
  top:9px !important;
  right:9px !important;
  z-index:6 !important;
  display:grid !important;
  place-items:center !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.98) !important;
  color:#061a45 !important;
  box-shadow:0 6px 15px rgba(3,34,65,.18) !important;
  font-size:25px !important;
  line-height:1 !important;
  text-shadow:none !important;
}

#routesCleanList .routes-clean-fav.active,
#routesCleanList .routes-clean-fav.is-active {
  color:#ef334e !important;
}

#routesCleanList .routes-clean-body {
  position:absolute !important;
  left:0 !important;
  right:58px !important;
  bottom:11px !important;
  z-index:3 !important;
  padding:0 12px !important;
  color:#fff !important;
  text-align:left !important;
}

#routesCleanList .routes-clean-body h2 {
  width:100% !important;
  margin:0 0 3px !important;
  overflow:hidden !important;
  color:#fff !important;
  font-size:clamp(20px,6.2vw,27px) !important;
  line-height:1.02 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  text-shadow:0 2px 8px rgba(0,17,38,.52) !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}

#routesCleanList .routes-clean-meta {
  margin:0 !important;
  color:rgba(255,255,255,.93) !important;
  font-size:clamp(11px,3.35vw,14px) !important;
  line-height:1.1 !important;
  font-weight:650 !important;
  text-shadow:0 2px 6px rgba(0,16,34,.48) !important;
  white-space:nowrap !important;
}

#routesCleanList .routes-clean-electric {
  display:none !important;
}

#routesCleanList .routes-clean-cta {
  position:absolute !important;
  right:9px !important;
  bottom:9px !important;
  z-index:6 !important;
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#168ff0,#0873df) !important;
  color:#fff !important;
  box-shadow:0 7px 16px rgba(8,115,223,.28) !important;
  font-size:22px !important;
  line-height:1 !important;
}

#routesCleanPage .routes-clean-empty {
  padding:26px 16px !important;
  border-radius:16px !important;
  background:#f1f7ff !important;
  color:#315473 !important;
  text-align:center !important;
  font-size:13px !important;
  font-weight:700 !important;
}

@media (min-width:600px) {
  #routesCleanPage .routes-clean-shell,
  #routesCleanPage .routes-clean-map-wrap,
  #routesCleanPage .routes-clean-heading,
  #routesCleanList {
    width:min(100%,720px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width:1024px) {
  #routesCleanPage .routes-clean-shell,
  #routesCleanPage .routes-clean-map-wrap,
  #routesCleanPage .routes-clean-heading,
  #routesCleanList {
    width:480px !important;
  }
}


/* v452 — Badges de catégorie verts dans les cartes Parcours. */
#routesCleanList .routes-clean-category {
  background:linear-gradient(135deg,#22c55e,#129447) !important;
  color:#fff !important;
  box-shadow:0 6px 14px rgba(18,148,71,.24) !important;
}

/* Header compact et zone carte modernisée — Tous les parcours */
#routesCleanPage .routes-clean-hero.routes-ideal-hero {
  height:178px !important;
  min-height:178px !important;
  padding:11px 13px 10px !important;
}
#routesCleanPage .routes-ideal-hero .routes-clean-copy {
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
#routesCleanPage .routes-ideal-hero .routes-clean-title {
  position:relative !important;
  z-index:3 !important;
  max-width:72% !important;
  margin:0 0 3px !important;
  font-size:clamp(23px,6.4vw,27px) !important;
  line-height:.98 !important;
  white-space:normal !important;
}
#routesCleanPage .routes-ideal-hero .routes-clean-subtitle {
  position:relative !important;
  z-index:3 !important;
  max-width:78% !important;
  margin:0 !important;
  font-size:clamp(10px,2.7vw,11px) !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
#routesCleanPage .routes-ideal-hero .routes-clean-art {
  z-index:1 !important;
  top:3px !important;
  right:4px !important;
  width:38% !important;
  height:69px !important;
  opacity:.72 !important;
  pointer-events:none !important;
}
#routesCleanPage .routes-ideal-hero .routes-clean-art svg {
  height:67px !important;
}
#routesCleanPage .routes-ideal-controls {
  position:relative !important;
  z-index:4 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  width:100% !important;
  margin-top:auto !important;
}
#routesCleanPage .routes-ideal-topline,
#routesCleanPage .routes-duration-filters {
  display:flex !important;
  align-items:center !important;
  width:100% !important;
}
#routesCleanPage .routes-duration-filters {
  gap:8px !important;
}
#routesCleanPage .routes-duration-filters button {
  flex:1 1 0 !important;
}
#routesCleanPage .routes-duration-filters button,
#routesCleanPage .routes-ideal-hero #routesCleanFilterBar .routes-clean-filter {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:0 !important;
  height:30px !important;
  margin:0 !important;
  padding:0 8px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.90) !important;
  color:#082b58 !important;
  box-shadow:0 4px 10px rgba(0,49,103,.10) !important;
  font-size:clamp(9px,2.55vw,10.5px) !important;
  line-height:1 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  backdrop-filter:blur(7px) !important;
}
#routesCleanPage .routes-duration-filters button.active,
#routesCleanPage .routes-ideal-hero #routesCleanFilterBar .routes-clean-filter.active {
  border-color:#ff8a13 !important;
  background:linear-gradient(135deg,#ff941b,#ff6800) !important;
  color:#fff !important;
  box-shadow:0 5px 12px rgba(182,67,0,.24) !important;
}
#routesCleanPage .route-duration-icon {
  flex:0 0 auto !important;
  font-size:15px !important;
  line-height:1 !important;
}
#routesCleanPage .routes-ideal-divider {
  width:100% !important;
  height:1px !important;
  background:rgba(255,255,255,.52) !important;
}
#routesCleanPage .routes-ideal-hero #routesCleanFilterBar {
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  align-items:center !important;
  gap:4px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
#routesCleanPage .routes-ideal-hero #routesCleanFilterBar .routes-clean-filter {
  width:100% !important;
  height:29px !important;
  padding:0 3px !important;
  gap:3px !important;
  font-size:9.5px !important;
}
#routesCleanPage .route-filter-icon {
  flex:0 0 auto !important;
  font-size:12px !important;
  line-height:1 !important;
}
#routesCleanPage .routes-clean-map-wrap {
  height:clamp(300px,45svh,420px) !important;
  margin-top:10px !important;
}
#routesCleanOverviewMap {
  min-height:300px !important;
}
#routesCleanPage .routes-clean-map-invite {
  position:absolute !important;
  top:15px !important;
  left:50% !important;
  z-index:500 !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  max-width:calc(100% - 36px) !important;
  min-height:47px !important;
  padding:8px 16px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.96) !important;
  color:#092e66 !important;
  box-shadow:0 8px 18px rgba(13,71,126,.18) !important;
  font-size:clamp(12px,3.4vw,15px) !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
}
#routesCleanPage .routes-clean-map-invite-icon {
  flex:0 0 auto !important;
  font-size:23px !important;
  line-height:1 !important;
}
#routesCleanPage .routes-clean-map-invite-chevron {
  position:absolute !important;
  left:50% !important;
  bottom:-18px !important;
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:23px !important;
  border-radius:0 0 18px 18px !important;
  background:rgba(255,255,255,.96) !important;
  color:#1976d2 !important;
  font-size:24px !important;
  line-height:.6 !important;
  transform:translateX(-50%) !important;
}
#routesCleanPage .routes-clean-discover-cue {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  margin:7px 0 12px !important;
  color:#111b2d !important;
  text-align:center !important;
  pointer-events:none !important;
}
#routesCleanPage .routes-clean-discover-arrow {
  height:18px !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
#routesCleanPage .routes-clean-discover-text {
  font-size:12px !important;
  line-height:1.12 !important;
  font-weight:650 !important;
}
#routesCleanPage .routes-clean-discover-dots {
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-top:4px !important;
}
#routesCleanPage .routes-clean-discover-dots i {
  display:block !important;
  width:17px !important;
  height:5px !important;
  border-radius:999px !important;
  background:#dbe4ee !important;
}
#routesCleanPage .routes-clean-discover-dots i:first-child {
  width:25px !important;
  background:#0875e6 !important;
}
@media (max-width:360px) {
  #routesCleanPage .routes-clean-hero.routes-ideal-hero {
    height:181px !important;
    min-height:181px !important;
    padding:10px 11px 9px !important;
  }
  #routesCleanPage .routes-ideal-hero #routesCleanFilterBar .routes-clean-filter {
    padding:0 2px !important;
    gap:2px !important;
    font-size:8.4px !important;
  }
  #routesCleanPage .route-filter-icon {
    font-size:11px !important;
  }
  #routesCleanPage .routes-clean-map-invite {
    padding-right:12px !important;
    padding-left:12px !important;
    font-size:11.5px !important;
  }
}


/* Ajustement ciblé v505 — disposition des badges et actions de carte */
#routesCleanPage .routes-clean-hero.routes-ideal-hero {
  height:208px !important;
  min-height:208px !important;
}
#routesCleanPage .routes-ideal-hero #routesCleanFilterBar {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
#routesCleanMapCount {
  top:9px !important;
  right:9px !important;
  bottom:auto !important;
}
#routesCleanPage .routes-clean-map-invite {
  top:auto !important;
  right:9px !important;
  bottom:9px !important;
  left:auto !important;
  min-height:40px !important;
  max-width:calc(100% - 78px) !important;
  padding:7px 12px !important;
  gap:6px !important;
  border-radius:999px !important;
  font-size:12px !important;
  transform:none !important;
}
#routesCleanPage .routes-clean-map-invite-icon {
  font-size:19px !important;
}
#routesCleanPage .routes-clean-map-invite-chevron {
  display:none !important;
}
@media (max-width:360px) {
  #routesCleanPage .routes-clean-hero.routes-ideal-hero {
    height:211px !important;
    min-height:211px !important;
  }
  #routesCleanPage .routes-ideal-hero #routesCleanFilterBar .routes-clean-filter {
    font-size:9.5px !important;
  }
}

/* Animation aléatoire des parcours sur la carte d'aperçu */
#routesCleanOverviewMap .routes-clean-marker {
  transition:opacity .22s ease, transform .22s ease, box-shadow .22s ease !important;
}
#routesCleanOverviewMap.is-preview-animating .routes-clean-marker-wrap:not(.is-preview-selected) .routes-clean-marker {
  opacity:.48 !important;
  transform:scale(.82) !important;
}
#routesCleanOverviewMap.is-preview-animating .routes-clean-marker-wrap.is-preview-selected .routes-clean-marker {
  opacity:1 !important;
  transform:scale(1) !important;
  box-shadow:0 0 0 4px rgba(25,118,243,.20),0 8px 18px rgba(0,73,158,.34) !important;
}
#routesCleanOverviewMap .routes-overview-bike-wrap {
  border:0 !important;
  background:transparent !important;
}
#routesCleanOverviewMap .routes-overview-bike-pointer {
  display:grid !important;
  place-items:center !important;
  width:26px !important;
  height:29px !important;
  background:#1976f3 !important;
  clip-path:polygon(50% 0,96% 30%,82% 94%,50% 77%,18% 94%,4% 30%) !important;
  filter:drop-shadow(0 3px 5px rgba(4,54,111,.22)) drop-shadow(0 0 3px rgba(25,118,243,.22)) !important;
  transform:rotate(var(--routes-overview-bike-angle,0deg)) !important;
  transform-origin:50% 50% !important;
  transition:transform .12s linear !important;
  will-change:transform !important;
}
#routesCleanOverviewMap .routes-overview-bike-symbol {
  width:16px !important;
  height:16px !important;
  margin-top:2px !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
#routesCleanOverviewMap .routes-clean-marker-wrap.arrived .routes-clean-marker {
  animation:routes-overview-arrival-bounce .38s cubic-bezier(.2,.8,.2,1) !important;
}
#routesCleanOverviewMap .routes-overview-arrival-ring {
  transform-box:fill-box !important;
  transform-origin:center !important;
  animation:routes-overview-arrival-ring .72s ease-out forwards !important;
}
@keyframes routes-overview-arrival-bounce {
  0%,100% { transform:scale(1); }
  45% { transform:translateY(-5px) scale(1.08); }
  70% { transform:translateY(1px) scale(.98); }
}
@keyframes routes-overview-arrival-ring {
  from { opacity:.72; transform:scale(.65); }
  to { opacity:0; transform:scale(1.9); }
}
@media (prefers-reduced-motion:reduce) {
  #routesCleanOverviewMap .routes-clean-marker,
  #routesCleanOverviewMap .routes-overview-bike-pointer,
  #routesCleanOverviewMap .routes-clean-marker-wrap.arrived .routes-clean-marker,
  #routesCleanOverviewMap .routes-overview-arrival-ring {
    transition:none !important;
    animation:none !important;
  }
}

/* Carte des balades déplacée sous le premier encart de l’accueil. */
#homeRoutesOverview{
  position:relative!important;
  width:auto!important;
  height:182px!important;
  margin:12px 13px 0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:19px!important;
  background:#dff0f6!important;
  box-shadow:0 9px 20px rgba(16,75,130,.12)!important;
}
#homeRoutesOverview #routesCleanOverviewMap{
  width:100%!important;
  height:100%!important;
  min-height:182px!important;
  border-radius:19px!important;
  overflow:hidden!important;
  background:#dff0f6!important;
}
#homeRoutesOverview .routes-clean-map-invite{
  position:absolute!important;
  top:15px!important;
  left:50%!important;
  z-index:500!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:8px 15px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
  color:#092e66!important;
  box-shadow:0 8px 18px rgba(13,71,126,.18)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
}
#homeRoutesOverview .routes-clean-map-invite-icon{
  flex:0 0 auto!important;
  font-size:20px!important;
  line-height:1!important;
}
#homeRoutesOverview #routesCleanLocateBtn{
  position:absolute!important;
  left:10px!important;
  bottom:10px!important;
  z-index:500!important;
}
#homeRoutesOverview #routesCleanMapCount{
  position:absolute!important;
  right:9px!important;
  bottom:9px!important;
  z-index:500!important;
}
