/* H45B — fluxo público do roteiro: isolado das classes legadas */
.h45b-route-flow{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:12px 18px!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:0!important;
  overflow:visible!important;
  list-style:none!important;
  box-sizing:border-box!important;
}
.h45b-route-flow-item{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:flex-start!important;
  gap:12px!important;
  min-width:0!important;
  width:auto!important;
  max-width:min(330px,100%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  list-style:none!important;
}
.h45b-route-flow-arrow{
  display:inline-flex!important;
  flex:0 0 22px!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#7890a7!important;
  font:400 20px/1 'Fira Sans',sans-serif!important;
  white-space:nowrap!important;
}
.h45b-route-flow-stop{
  display:flex!important;
  flex:0 1 auto!important;
  flex-direction:column!important;
  min-width:0!important;
  width:auto!important;
  max-width:280px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.h45b-route-flow-main{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  min-height:30px!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0754a6!important;
  text-decoration:none!important;
  overflow:visible!important;
}
.h45b-route-flow-main:hover .h45b-route-flow-city{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.h45b-route-flow-number{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 26px!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #b9d7f3!important;
  border-radius:999px!important;
  background:#eef7ff!important;
  box-shadow:none!important;
  color:#0754a6!important;
  font:400 12px/1 'Fira Sans',sans-serif!important;
  box-sizing:border-box!important;
}
.h45b-route-flow-city{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  max-width:230px!important;
  margin:0!important;
  padding:0!important;
  color:#0754a6!important;
  font:400 14px/1.3 'Fira Sans',sans-serif!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.h45b-route-flow-visits{
  display:block!important;
  max-width:230px!important;
  margin:4px 0 0 34px!important;
  padding:0!important;
  color:#6b7c8d!important;
  font:400 12px/1.35 'Fira Sans',sans-serif!important;
  white-space:normal!important;
  overflow:visible!important;
}
.h45b-route-flow-return{
  align-items:center!important;
  gap:9px!important;
}
.h45b-route-flow-return-arrow{
  flex-basis:26px!important;
  width:26px!important;
  color:#0754a6!important;
  font-size:21px!important;
}
.h45b-route-flow-return-name{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  max-width:230px!important;
  color:#0754a6!important;
  font:700 14px/1.3 'Fira Sans',sans-serif!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:700px){
  .h45b-route-flow{gap:11px 12px!important;}
  .h45b-route-flow-item{gap:8px!important;max-width:100%!important;}
  .h45b-route-flow-arrow{flex-basis:18px!important;width:18px!important;font-size:18px!important;}
  .h45b-route-flow-stop{max-width:calc(100vw - 96px)!important;}
  .h45b-route-flow-city,.h45b-route-flow-visits,.h45b-route-flow-return-name{max-width:calc(100vw - 132px)!important;}
}
