.route-page{position:relative;height:calc(100svh - 136px);min-height:560px;background:var(--cinza-superficie)}
.route-map{position:absolute;inset:0}
.route-map.is-off{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--grafite)}
.route-map.is-off::after{content:"O mapa não abriu neste aparelho. Use um dos botões para ver a rota."}
.route-panel{position:absolute;z-index:2;left:max(48px,calc((100% - 1280px)/2));top:50%;transform:translateY(-50%);width:380px;padding:32px;border-radius:24px;background:#fff;box-shadow:0 24px 60px #17171429}
.route-panel h1{margin:0 0 12px;font:800 44px/1 "SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.025em;color:var(--preto-epsa)}
.route-panel address{margin:0 0 24px;font-style:normal;font-size:16px;line-height:1.5;color:var(--grafite)}
.route-apps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.route-apps a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 18px;border-radius:16px;background:var(--cinza-fundo);color:var(--preto-epsa);text-decoration:none;transition:background .3s,color .3s}
.route-apps li:first-child a{background:var(--vermelho-profundo);color:#fff}
.route-apps b{display:block;font-size:17px;font-weight:800;line-height:1.2}
.route-apps small{display:block;font-size:13px;line-height:1.3;opacity:.8}
.route-apps a:hover,.route-apps a:focus-visible{background:var(--preto-epsa);color:#fff}
.route-apps a:focus-visible{outline:2px solid var(--preto-epsa);outline-offset:3px}
.route-pin{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 8px 14px #17171447)}
.route-pin-logo{display:block;padding:12px 16px;border-radius:14px;background:#fff;border:2px solid var(--vermelho-profundo)}
.route-pin-logo img{display:block;width:120px;height:auto}
.route-pin i{display:block;width:0;height:0;margin-top:-2px;border:11px solid transparent;border-top:15px solid var(--vermelho-profundo);border-bottom:0}
.route-page .maplibregl-ctrl-attrib{font-size:11px}
@media(max-width:1024px){.route-panel{left:32px}.route-page{height:calc(100svh - 121px)}}
@media(max-width:680px){
 .route-page{height:auto;min-height:0}
 .route-map{position:relative;inset:auto;height:48svh;min-height:300px}
 .route-panel{position:relative;left:auto;top:auto;transform:none;width:auto;margin:12px 12px 24px;padding:24px 20px}
 .route-panel h1{font-size:34px}
 .route-pin-logo{padding:9px 12px}
 .route-pin-logo img{width:96px}
}
@media(prefers-reduced-motion:reduce){.route-apps a{transition:none}}
