.planned-route{background:#e5f1ec;border-radius:28px;padding:clamp(.6rem,3vw,2rem);overflow:hidden}
.planned-route>svg{width:100%;height:auto;margin:0 auto;max-height:650px}
.route-land{fill:#b4c9ad;stroke:#e5f1ec;stroke-width:1}
.planned-route-line{fill:none;stroke:#a25131;stroke-width:2;stroke-dasharray:5 5}
.plan-pin{cursor:pointer}.plan-pin line{stroke:#365649;stroke-width:1}.plan-pin circle{fill:#fff9ed;stroke:#245649;stroke-width:2}
.plan-pin .route-location{fill:#245649;stroke:none}
.plan-pin text{font:700 12px system-ui,sans-serif;text-anchor:middle;fill:#193a32;pointer-events:none}
.plan-pin:hover circle:not(.route-location),.plan-pin:focus-visible circle:not(.route-location),.plan-pin[aria-pressed=true] circle:not(.route-location){fill:#f3b985;stroke-width:3}
.route-stop-buttons{display:flex;gap:.4rem;overflow-x:auto;padding:.7rem 0}
.route-stop-buttons button{white-space:nowrap;border-radius:999px;background:#fff}
.route-stop-buttons button[aria-pressed=true]{background:#245649;color:#fff}
.route-stop-info{background:#fffaf0;border-radius:18px;padding:1rem}
.route-stop-info h3{font:700 1.8rem Georgia,serif;margin:.25rem 0}
@media(max-width:600px){.plan-pin circle:not(.route-location){r:16px}.plan-pin text{font-size:14px}}
