/* AN Transporte 1.3.0: tudo escopado em .an-tra-wrap */
.an-tra-wrap { --azul: #1d4ed8; --tinta: #1b2230; --cinza: #5b6475; --borda: #d8dde5; --fundo: #f6f8fb; margin: 1.6em 0; font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--tinta); }
.an-tra-wrap *, .an-tra-wrap *::before, .an-tra-wrap *::after { box-sizing: border-box; }
.an-tra-wrap [hidden] { display: none !important; }
.an-tra-wrap button { cursor: pointer; font: 700 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; border-radius: 8px; color: inherit; }
.an-tra-wrap button:focus-visible, .an-tra-wrap input:focus-visible, .an-tra-wrap [role="button"]:focus-visible { outline: 3px solid rgba(29,78,216,.45); outline-offset: 2px; }

/* topo e abas */
.an-tra-wrap .an-tra-topo { background: #fff; border: 1px solid var(--borda); border-bottom: 0; border-radius: 10px 10px 0 0; padding: 0 14px 12px; }
.an-tra-wrap .an-tra-abas { display: flex; gap: 2px; margin: 0 -14px 12px; padding: 6px 8px 0; background: var(--fundo); border-bottom: 1px solid var(--borda); border-radius: 10px 10px 0 0; overflow-x: auto; scrollbar-width: none; }
.an-tra-wrap .an-tra-abas::-webkit-scrollbar { display: none; }
.an-tra-wrap .an-tra-aba-bt { flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 10px 14px; background: none; border: 0; border-bottom: 3px solid transparent; border-radius: 8px 8px 0 0; color: var(--cinza); font-size: 14.5px; white-space: nowrap; }
.an-tra-wrap .an-tra-aba-bt:hover { color: var(--tinta); background: #eef2f7; }
.an-tra-wrap .an-tra-aba-bt[aria-selected="true"] { color: var(--azul); background: #fff; border-bottom-color: var(--azul); }
.an-tra-wrap .an-tra-aba-ic { font-size: 16px; line-height: 1; }

/* como chegar: modos */
.an-tra-wrap .an-tra-curto { display: none; }
.an-tra-wrap .an-tra-modos, .an-tra-wrap .an-tra-equip { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.an-tra-wrap .an-tra-modo, .an-tra-wrap .an-tra-eq { min-height: 40px; padding: 8px 12px; background: #fff; border: 1px solid #c9d0db; border-radius: 999px; font-size: 13.5px; font-weight: 600; }
.an-tra-wrap .an-tra-modo[aria-checked="true"] { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.an-tra-wrap .an-tra-equip { padding: 8px 10px; margin-top: -4px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; }
.an-tra-wrap .an-tra-equip::before { content: "Com o quê?"; align-self: center; font-size: 13px; font-weight: 700; color: #166534; margin-right: 2px; }
.an-tra-wrap .an-tra-eq { min-height: 36px; padding: 6px 11px; }
.an-tra-wrap .an-tra-eq[aria-checked="true"] { background: #15803d; border-color: #15803d; color: #fff; }

/* campos A e B */
.an-tra-wrap .an-tra-campos { position: relative; display: grid; grid-template-columns: 1fr; gap: 8px; padding-right: 46px; }
.an-tra-wrap .an-tra-campo { position: relative; min-width: 0; }
.an-tra-wrap .an-tra-campo label { display: flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13.5px; margin: 0 0 4px; }
.an-tra-wrap .an-tra-campo__linha { display: flex; gap: 6px; }
.an-tra-wrap .an-tra-rq { flex: 1 1 auto; min-width: 0; width: 100%; min-height: 44px; font: inherit; font-size: 16px; padding: 9px 11px; border: 1px solid #c9d0db; border-radius: 8px; background: #fff; color: inherit; }
.an-tra-wrap .an-tra-rq:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px rgba(29,78,216,.15); }
.an-tra-wrap .an-tra-rota-geo { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 0; background: #fff; border: 1px solid #c9d0db; color: var(--azul); font-size: 20px; }
.an-tra-wrap .an-tra-rota-geo:hover { border-color: var(--azul); background: #eef4ff; }
.an-tra-wrap .an-tra-rota-trocar { position: absolute; right: 0; top: 50%; transform: translateY(-10%); width: 40px; height: 40px; padding: 0; background: #fff; border: 1px solid #c9d0db; font-size: 18px; line-height: 1; }
.an-tra-wrap .an-tra-rota-trocar:hover { border-color: var(--azul); color: var(--azul); }
.an-tra-wrap .an-tra-rota-passo { margin: 10px 0 0; padding: 8px 10px; background: #fff7e6; border-left: 4px solid #f08a24; border-radius: 6px; font-size: 13.5px; }
.an-tra-wrap .an-tra-rota-passo:empty { display: none; }
.an-tra-wrap .an-tra-rota-acoes { margin: 8px 0 0; text-align: right; }
.an-tra-wrap .an-tra-rota-limpar { min-height: 36px; padding: 6px 12px; background: none; border: 1px solid transparent; color: var(--cinza); font-weight: 600; font-size: 13.5px; text-decoration: underline; }
.an-tra-wrap .an-tra-rota-limpar:hover { color: var(--azul); }

/* sugestões */
.an-tra-wrap .an-tra-sug { position: absolute; left: 0; right: 0; top: 100%; z-index: 1200; list-style: none; margin: 4px 0 0; padding: 4px; background: #fff; border: 1px solid #c9d0db; border-radius: 10px; box-shadow: 0 10px 28px rgba(15,23,42,.2); max-height: 340px; overflow: auto; }
.an-tra-wrap .an-tra-sug li { margin: 0; }
.an-tra-wrap .an-tra-sug__item { display: flex; gap: 10px; align-items: baseline; width: 100%; min-height: 44px; text-align: left; background: none; border: 0; padding: 8px; border-radius: 8px; font-weight: 400; }
.an-tra-wrap .an-tra-sug__item:hover, .an-tra-wrap .an-tra-sug__item:focus { background: #eef4ff; outline: none; }
.an-tra-wrap .an-tra-sug__item b { display: block; font-size: 14.5px; }
.an-tra-wrap .an-tra-sug__item small { display: block; font-size: 12.5px; color: var(--cinza); margin-top: 2px; }
.an-tra-wrap .an-tra-sug__nada { padding: 8px; font-size: 13px; color: var(--cinza); }
.an-tra-wrap .an-tra-pin-mini { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--c); color: #fff; font: 800 11px/1 system-ui, Arial, sans-serif; vertical-align: middle; flex: 0 0 auto; }

/* perto de mim e busca */
.an-tra-wrap .an-tra-ponto { margin: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; color: #4a5568; }
.an-tra-wrap .an-tra-geo { min-height: 44px; padding: 10px 16px; background: var(--azul); color: #fff; border: 1px solid var(--azul); }
.an-tra-wrap .an-tra-busca label { display: block; font-weight: 700; font-size: 13.5px; margin: 0 0 6px; }
.an-tra-wrap .an-tra-busca__linha { display: flex; gap: 8px; flex-wrap: wrap; }
.an-tra-wrap .an-tra-q { flex: 1 1 200px; min-width: 0; min-height: 44px; font: inherit; font-size: 16px; padding: 9px 12px; border: 1px solid #c9d0db; border-radius: 8px; background: #fff; color: inherit; }
.an-tra-wrap .an-tra-q:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px rgba(29,78,216,.15); }
.an-tra-wrap .an-tra-ir { min-height: 44px; padding: 10px 16px; background: var(--azul); color: #fff; border: 1px solid var(--azul); }
.an-tra-wrap .an-tra-limpar-busca { min-height: 44px; padding: 10px 14px; background: #fff; color: #4a5568; border: 1px solid #c9d0db; }
.an-tra-wrap .an-tra-res { margin: 12px 0 0; padding: 10px 12px; background: #eef4ff; border-left: 4px solid var(--azul); border-radius: 6px; font-size: 14px; }
.an-tra-wrap .an-tra-res small { display: block; margin-top: 6px; color: var(--cinza); font-size: 12px; }
.an-tra-wrap .an-tra-res__tit { margin: 0 0 4px; font-weight: 700; }
.an-tra-wrap .an-tra-perto { list-style: none; margin: 0; padding: 0; }
.an-tra-wrap .an-tra-perto li { display: flex; gap: 9px; align-items: baseline; margin: 4px 0; }
.an-tra-wrap .an-tra-ic { flex: 0 0 12px; width: 12px; height: 12px; border-radius: 50%; position: relative; top: 1px; }
.an-tra-wrap .an-tra-ic--ponto { background: var(--azul); }
.an-tra-wrap .an-tra-ic--metro { background: #fff; border: 3px solid #0455A1; }
.an-tra-wrap .an-tra-ic--trem { background: #fff; border: 3px solid #CA016B; }
.an-tra-wrap .an-tra-ic--ter { background: #111827; border-radius: 3px; }
.an-tra-wrap .an-tra-ic--end { background: #fff; border: 3px solid #b91c1c; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.an-tra-wrap .an-tra-ver, .an-tra-wrap .an-tra-limpar { background: none; border: 0; padding: 0; color: var(--azul); text-decoration: underline; font-weight: 600; font-size: 14px; }
.an-tra-wrap .an-tra-limpar { margin-left: 4px; }
.an-tra-wrap .an-tra-sent { display: inline-block; padding: 0 6px; border-radius: 4px; background: var(--c); color: #fff; font-size: 12px; font-weight: 700; }

/* mapa */
.an-tra-wrap .an-tra-stage { position: relative; border: 1px solid var(--borda); border-radius: 0 0 10px 10px; overflow: hidden; background: #eef1f5; }
.an-tra-wrap .an-tra-map { width: 100%; height: min(var(--h, 620px), 72vh); min-height: 360px; }
.an-tra-wrap .an-tra-map img { max-width: none; }
.an-tra-wrap .an-tra-chips { position: absolute; top: 10px; left: 10px; right: 10px; z-index: 900; display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.an-tra-wrap .an-tra-chips::-webkit-scrollbar { display: none; }
.an-tra-wrap .an-tra-chip { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; margin: 0; min-height: 38px; padding: 6px 12px 6px 9px; background: #fff; border: 1px solid #d5dae2; border-radius: 999px; box-shadow: 0 1px 4px rgba(15,23,42,.18); font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer; user-select: none; }
.an-tra-wrap .an-tra-chip:hover { border-color: #9fb3d9; }
.an-tra-wrap .an-tra-chip:has(input:checked) { background: #eef4ff; border-color: #9fb3d9; }
/* convite para ligar os pontos de ônibus */
.an-tra-wrap .an-tra-chip.is-convite { border-color: var(--azul); }
.an-tra-wrap .an-tra-chip.is-convite .an-tra-sw--pontos { box-shadow: 0 0 0 0 rgba(29,78,216,.6); animation: an-tra-pulso 1.8s ease-out infinite; }
.an-tra-wrap .an-tra-chip.is-forte { background: var(--azul); color: #fff; }
.an-tra-wrap .an-tra-chip.is-forte .an-tra-sw--pontos { background: #fff; }
@keyframes an-tra-pulso { 0% { box-shadow: 0 0 0 0 rgba(29,78,216,.55); } 70% { box-shadow: 0 0 0 9px rgba(29,78,216,0); } 100% { box-shadow: 0 0 0 0 rgba(29,78,216,0); } }
@media (prefers-reduced-motion: reduce) { .an-tra-wrap .an-tra-chip.is-convite .an-tra-sw--pontos { animation: none; } }
.an-tra-wrap .an-tra-chip input { width: 18px; height: 18px; margin: 0; accent-color: var(--tinta); }
.an-tra-wrap .an-tra-chip:has(input:not(:checked)):not(.is-convite) { opacity: .75; }
.an-tra-wrap .an-tra-sw { display: inline-block; flex: 0 0 auto; width: 22px; height: 0; border-top: 5px solid var(--c); border-radius: 2px; }
.an-tra-wrap .an-tra-sw--metro { border-image: linear-gradient(90deg, #0455A1 0 20%, #007E5E 20% 40%, #EE372F 40% 60%, #F4C400 60% 80%, #9B3894 80%) 1; }
.an-tra-wrap .an-tra-sw--trem { border-image: linear-gradient(90deg, #CA016B 0 15%, #97A098 15% 30%, #01A9A7 30% 45%, #049FC3 45% 60%, #F68368 60% 75%, #133C8D 75% 90%, #00B352 90%) 1; }
.an-tra-wrap .an-tra-sw--projetado { border-top-style: dotted; }
.an-tra-wrap .an-tra-sw--terminais { width: 14px; height: 14px; border: 0; border-radius: 3px; background: var(--c); }
.an-tra-wrap .an-tra-sw--pontos { width: 10px; height: 10px; border: 0; border-radius: 50%; background: var(--c); }
.an-tra-wrap .an-tra-dica { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 800; margin: 0; max-width: calc(100% - 130px); padding: 8px 14px; background: rgba(27,34,48,.92); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; text-align: center; pointer-events: none; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.an-tra-wrap .an-tra-zoom { position: absolute; left: 50%; top: 58px; transform: translateX(-50%); z-index: 800; background: rgba(27,34,48,.92); color: #fff; border: 0; min-height: 40px; padding: 9px 14px; border-radius: 999px; font: 600 13px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; max-width: calc(100% - 24px); text-align: center; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.an-tra-wrap .an-tra-rota-aviso { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 810; background: var(--azul); color: #fff; border: 0; min-height: 44px; padding: 10px 18px; border-radius: 999px; font: 700 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; box-shadow: 0 3px 10px rgba(0,0,0,.3); white-space: nowrap; max-width: calc(100% - 120px); overflow: hidden; text-overflow: ellipsis; }
.an-tra-wrap .an-tra-nota { margin: 10px 0 0; font-size: 12.5px; color: var(--cinza); }

/* marcadores e balões */
.an-tra-wrap .an-tra-ter { display: flex; align-items: center; justify-content: center; background: #111827; color: #fff; border: 2px solid #fff; border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,.4); font: 800 13px/1 system-ui, Arial, sans-serif; }
.an-tra-wrap .an-tra-ter--emtu { background: #475569; }
.an-tra-wrap .an-tra-ter--rodoviario { background: #7c2d12; }
.an-tra-wrap .an-tra-pino { background: none; border: 0; }
.an-tra-wrap .an-tra-pino span { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--c); color: #fff; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,.4); font: 800 13px/1 system-ui, Arial, sans-serif; }
.an-tra-wrap .an-tra-pop strong { display: block; font-size: 14.5px; margin: 0 0 2px; }
.an-tra-wrap .an-tra-pop span { display: block; font-size: 12.5px; color: var(--cinza); line-height: 1.6; }
.an-tra-wrap .an-tra-pop p { margin: 6px 0 0; font-size: 13px; line-height: 1.45; }
.an-tra-wrap .an-tra-selo { display: inline-flex !important; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 50%; background: var(--c); color: #fff !important; font: 800 11px/1 system-ui, Arial, sans-serif; vertical-align: middle; margin-right: 2px; }
.an-tra-wrap .an-tra-lista { list-style: none; margin: 6px 0 0; padding: 0; max-height: 190px; overflow: auto; }
.an-tra-wrap .an-tra-lista li { margin: 0; border-top: 1px solid #eef1f5; }
.an-tra-wrap .an-tra-lin { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 7px 2px; font-weight: 500; font-size: 12.5px; border-radius: 4px; }
.an-tra-wrap .an-tra-lin:hover { background: #eef4ff; color: var(--azul); }
.an-tra-wrap .an-tra-mais summary { cursor: pointer; font-size: 12.5px; color: var(--azul); margin-top: 4px; }
.an-tra-wrap .leaflet-popup-content { margin: 12px 14px; max-width: 280px; }
.an-tra-wrap .an-tra-escolha__bts { display: flex; gap: 6px; margin: 8px 0 0 !important; }
.an-tra-wrap .an-tra-escolha__bts button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 7px 10px; background: #fff; border: 1px solid #c9d0db; font-size: 13.5px; }
.an-tra-wrap .an-tra-escolha__bts button:hover { border-color: var(--azul); }
.an-tra-wrap .an-tra-dica-mapa { font: 600 12px/1.3 system-ui, Arial, sans-serif; }

/* resultados do Como chegar */
.an-tra-wrap .an-tra-rota-res { margin: 12px 0 0; }
.an-tra-wrap .an-tra-rota-res:empty { display: none; }
.an-tra-wrap .an-tra-rota-res > small { display: block; margin-top: 10px; color: var(--cinza); font-size: 12px; }
.an-tra-wrap .an-tra-rota-tit { margin: 0 0 8px; font-size: 14px; line-height: 1.9; }
.an-tra-wrap .an-tra-rota-calc { margin: 0; font-size: 14px; color: #4a5568; }
.an-tra-wrap .an-tra-rota-nota { margin: 8px 0 0; padding: 8px 10px; background: #fff7e6; border-radius: 6px; font-size: 13px; }
.an-tra-wrap .an-tra-op { cursor: pointer; display: block; width: 100%; text-align: left; margin: 8px 0 0; padding: 12px; background: #fff; border: 1px solid var(--borda); border-radius: 10px; font-weight: 400; }
.an-tra-wrap .an-tra-op:hover { border-color: #9fb3d9; }
.an-tra-wrap .an-tra-op.is-ativo { border: 2px solid var(--azul); padding: 11px; box-shadow: 0 2px 10px rgba(29,78,216,.12); }
.an-tra-wrap .an-tra-op--pe { font-size: 14px; }
.an-tra-wrap .an-tra-op--rua { cursor: default; }
.an-tra-wrap .an-tra-op__topo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 15.5px; }
.an-tra-wrap .an-tra-op__topo small { color: var(--cinza); font-size: 12.5px; }
.an-tra-wrap .an-tra-op__mais { display: block; margin-top: 6px; font-size: 13px; color: var(--azul); font-weight: 600; }
.an-tra-wrap .an-tra-op.is-ativo .an-tra-op__mais { display: none; }
.an-tra-wrap .an-tra-bus { display: inline-block; padding: 1px 6px; border-radius: 4px; background: #e85d04; color: #fff; font: 700 12px/1.4 system-ui, Arial, sans-serif; }
.an-tra-wrap .an-tra-seta { color: #8a94a6; }
.an-tra-wrap .an-tra-passos { margin: 10px 0 0; padding-left: 22px; font-size: 14px; line-height: 1.5; }
.an-tra-wrap .an-tra-passos li { margin: 0; padding: 6px 4px; border-radius: 6px; }
.an-tra-wrap .an-tra-passos li[data-trecho], .an-tra-wrap .an-tra-passos li[data-passo] { cursor: pointer; }
.an-tra-wrap .an-tra-passos li[data-trecho]:hover, .an-tra-wrap .an-tra-passos li[data-passo]:hover { background: #f1f5fb; }
.an-tra-wrap .an-tra-passos small { color: var(--cinza); }
.an-tra-wrap .an-tra-op:not(.is-ativo) .an-tra-passos { display: none; }
.an-tra-wrap .an-tra-lin--inline { display: inline; width: auto; padding: 0 2px; color: var(--azul); text-decoration: underline; font-size: inherit; }
.an-tra-wrap .an-tra-barra { display: flex; height: 8px; margin: 10px 0 6px; border-radius: 4px; overflow: hidden; background: #e5e7eb; }
.an-tra-wrap .an-tra-barra i, .an-tra-wrap .an-tra-barra-leg i { display: block; height: 100%; }
.an-tra-wrap .is-ciclo { background: #15803d; }
.an-tra-wrap .is-rua { background: #2563eb; }
.an-tra-wrap .is-empurra { background: #94a3b8; }
.an-tra-wrap .an-tra-barra-leg { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--cinza); }
.an-tra-wrap .an-tra-barra-leg span { display: inline-flex; align-items: center; gap: 6px; }
.an-tra-wrap .an-tra-barra-leg i { width: 10px; height: 10px; border-radius: 2px; }
.an-tra-wrap .an-tra-avisos { margin: 10px 0 0; padding: 8px 10px 8px 26px; background: #fff7e6; border-radius: 8px; font-size: 13px; }
.an-tra-wrap .an-tra-avisos li { margin: 2px 0; }
.an-tra-wrap .an-tra-tag { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 4px; font-size: 11.5px; font-weight: 700; color: #fff; background: #15803d; vertical-align: 1px; }
.an-tra-wrap .an-tra-tag--ciclorrota { background: #16a34a; }
.an-tra-wrap .an-tra-tag--empurrando { background: #64748b; }

@media (min-width: 720px) {
	.an-tra-wrap .an-tra-campos { grid-template-columns: 1fr auto 1fr; align-items: end; padding-right: 0; }
	.an-tra-wrap .an-tra-campos .an-tra-campo:nth-child(2) { order: 3; }
	.an-tra-wrap .an-tra-rota-trocar { position: static; order: 2; transform: rotate(90deg); margin-bottom: 2px; }
}
@media (max-width: 600px) {
	.an-tra-wrap .an-tra-topo { padding: 0 10px 10px; }
	.an-tra-wrap .an-tra-abas { margin: 0 -10px 10px; padding: 4px 4px 0; }
	.an-tra-wrap .an-tra-aba-bt { flex: 1 1 0; padding: 8px 6px; font-size: 13px; flex-direction: column; gap: 2px; white-space: normal; line-height: 1.15; text-align: center; }
	.an-tra-wrap .an-tra-modo { flex: 1 1 auto; font-size: 13px; padding: 8px 10px; }
	.an-tra-wrap .an-tra-dica { font-size: 12.5px; padding: 7px 11px; }
	.an-tra-wrap .an-tra-longo { display: none; }
	.an-tra-wrap .an-tra-curto { display: inline; }
	.an-tra-wrap .an-tra-modos { flex-wrap: nowrap; }
	.an-tra-wrap .an-tra-modo { flex: 1 1 0; padding: 8px 6px; white-space: nowrap; }
	.an-tra-wrap .an-tra-equip::before { display: none; }
	.an-tra-wrap .an-tra-equip { flex-wrap: nowrap; }
	.an-tra-wrap .an-tra-eq { flex: 1 1 0; padding: 6px 4px; font-size: 13px; white-space: nowrap; }
	.an-tra-wrap .an-tra-rota-aviso { font-size: 13.5px; padding: 10px 14px; }
}
.an-tra-wrap.tem-rota .leaflet-overlay-pane, .an-tra-wrap.tem-rota .leaflet-marker-pane { opacity: .38; transition: opacity .2s; }

/* 1.3.1: tempo de cada modo, tela cheia, controles à direita */
.an-tra-wrap .an-tra-modo { display: inline-flex; align-items: center; gap: 5px; }
.an-tra-wrap .an-tra-modo-t { font-size: 12px; font-weight: 700; opacity: .85; }
.an-tra-wrap .an-tra-modo-t:empty { display: none; }
.an-tra-wrap .an-tra-modo-t::before { content: "· "; }
.an-tra-wrap .an-tra-cheia { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 8px !important; padding: 0; background: #fff; border: 2px solid rgba(0,0,0,.2); border-radius: 8px; font-size: 20px; line-height: 1; cursor: pointer; }
.an-tra-wrap .an-tra-cheia:hover { background: #f4f4f4; }
.an-tra-wrap .leaflet-control-zoom a { width: 40px; height: 40px; line-height: 40px; font-size: 20px; }
.an-tra-wrap.is-cheia .an-tra-stage { position: fixed; inset: 0; z-index: 100000; border: 0; border-radius: 0; }
.an-tra-wrap.is-cheia .an-tra-map { height: 100vh; height: 100dvh; min-height: 0; }
html.an-tra-trava, html.an-tra-trava body { overflow: hidden !important; }
@media (max-width: 600px) {
	.an-tra-wrap .an-tra-modo { flex-direction: column; gap: 0; line-height: 1.15; padding: 6px 4px; }
	.an-tra-wrap .an-tra-modo-t::before { content: ""; }
	.an-tra-wrap .an-tra-chip { min-height: 36px; font-size: 13px; padding: 5px 11px 5px 8px; }
}

/* 1.4.0: navegação ao vivo */
.an-tra-wrap .an-tra-iniciar { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; margin-top: 8px; padding: 8px 16px; background: #15803d; color: #fff; border: 0; border-radius: 999px; font-size: 14px; }
.an-tra-wrap .an-tra-iniciar:hover { background: #166534; }
.an-tra-wrap .an-tra-op:not(.is-ativo) .an-tra-iniciar { display: none; }
.an-tra-wrap .an-tra-iniciar-linha { margin: 8px 0 0; }
.an-tra-wrap .an-tra-iniciar-mapa { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 820; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 24px; background: #15803d; color: #fff; border: 0; border-radius: 999px; font: 800 16px/1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.an-tra-wrap.pode-iniciar .an-tra-rota-aviso { top: 56px; bottom: auto; min-height: 38px; padding: 8px 14px; font-size: 13px; background: rgba(27,34,48,.92); }
.an-tra-wrap.pode-iniciar .an-tra-dica { display: none; }
.an-tra-wrap .an-tra-nav { position: absolute; inset: 0; z-index: 950; pointer-events: none; }
.an-tra-wrap .an-tra-nav > * { pointer-events: auto; }
.an-tra-wrap .an-tra-nav-topo { position: absolute; top: 10px; left: 10px; right: 10px; display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: #0f5132; color: #fff; border-radius: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.an-tra-wrap .an-tra-nav-ic { flex: 0 0 48px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; font-size: 34px; line-height: 1; }
.an-tra-wrap .an-tra-nav-ic .an-tra-selo { transform: scale(1.4); }
.an-tra-wrap .an-tra-nav-tx { min-width: 0; }
.an-tra-wrap .an-tra-nav-dist { display: block; font-size: 22px; font-weight: 800; line-height: 1.1; }
.an-tra-wrap .an-tra-nav-dist:empty { display: none; }
.an-tra-wrap .an-tra-nav-txt { display: block; font-size: 17px; line-height: 1.25; }
.an-tra-wrap .an-tra-nav-txt .an-tra-selo { vertical-align: -3px; }
.an-tra-wrap .an-tra-nav-depois { display: block; margin-top: 4px; font-size: 13px; opacity: .9; }
.an-tra-wrap .an-tra-nav-depois:empty { display: none; }
.an-tra-wrap .an-tra-nav-recalc { margin-top: 6px; padding: 7px 12px; background: #fff; color: #0f5132; border: 0; font-size: 13px; }
.an-tra-wrap .an-tra-nav-base { position: absolute; left: 10px; right: 10px; bottom: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; background: #fff; border-radius: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.an-tra-wrap .an-tra-nav-resumo { font-size: 15px; color: var(--tinta); }
.an-tra-wrap .an-tra-nav-resumo b { font-size: 19px; color: #15803d; }
.an-tra-wrap .an-tra-nav-bts { display: flex; gap: 6px; }
.an-tra-wrap .an-tra-nav-bts button { min-height: 40px; padding: 8px 12px; background: #fff; border: 1px solid #c9d0db; font-size: 13.5px; }
.an-tra-wrap .an-tra-nav-fim { background: #b91c1c !important; border-color: #b91c1c !important; color: #fff; }
.an-tra-wrap.is-nav .an-tra-chips, .an-tra-wrap.is-nav .an-tra-dica, .an-tra-wrap.is-nav .an-tra-zoom, .an-tra-wrap.is-nav .an-tra-rota-aviso, .an-tra-wrap.is-nav .an-tra-iniciar-mapa, .an-tra-wrap.is-nav .an-tra-cheia { display: none !important; }
.an-tra-wrap.is-nav .leaflet-bottom.leaflet-right { bottom: 92px; }
.an-tra-wrap.is-nav .leaflet-control-scale { display: none; }
.an-tra-wrap .an-tra-eu { background: none; border: 0; }
.an-tra-wrap .an-tra-eu span { position: relative; display: block; width: 26px; height: 26px; border-radius: 50%; background: #1d4ed8; border: 4px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.45); }
.an-tra-wrap .an-tra-eu.tem-rumo span i { position: absolute; left: 50%; top: -15px; width: 0; height: 0; margin-left: -7px; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 12px solid #1d4ed8; transform-origin: 50% 24px; transform: rotate(var(--r, 0deg)); }
@media (max-width: 600px) {
	.an-tra-wrap .an-tra-nav-dist { font-size: 20px; }
	.an-tra-wrap .an-tra-nav-txt { font-size: 16px; }
	.an-tra-wrap .an-tra-nav-bts button { padding: 8px 10px; font-size: 13px; }
	.an-tra-wrap.is-nav .leaflet-bottom.leaflet-right { bottom: 132px; }
}
