
.bl16{background:#f4f8ff;padding:54px 0 72px;color:#132747}.bl16 h1{font-size:clamp(33px,4.8vw,58px);line-height:1.12;max-width:820px;margin:15px 0}.bl16-lead{font-size:18px;line-height:1.6;max-width:780px;color:#48627f}.bl16-eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;color:#1757bd;letter-spacing:.09em}.bl16-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;margin-top:32px}.bl16-panel{background:#fff;border:1px solid #e1e8f2;border-radius:18px;box-shadow:0 12px 30px rgba(25,69,119,.05);padding:25px}.bl16-panel h2{font-size:22px;margin:0 0 8px}.bl16-panel p{color:#49627b;line-height:1.6}.bl16-search{display:flex;gap:9px;margin:18px 0}.bl16-search input{min-width:0;flex:1;border:1px solid #cbd8ea;border-radius:10px;padding:13px;font:inherit;font-size:16px}.bl16-search button,.bl16-chip{border:0;border-radius:10px;background:#155dcc;color:#fff;padding:12px 17px;font:inherit;font-weight:700;cursor:pointer}.bl16-search button:disabled{opacity:.55;cursor:wait}.bl16-quick{display:flex;gap:8px;flex-wrap:wrap}.bl16-chip{background:#e5efff;color:#144d9d;padding:8px 13px}.bl16-chip:hover{background:#cfe1fc}.bl16-map{width:100%;display:block;border-radius:14px;overflow:hidden;margin:14px 0}.bl16-status{font-size:14px;color:#38516e}.bl16-list{list-style:none;padding:0;margin:15px 0;display:grid;gap:8px;max-height:340px;overflow:auto}.bl-vehicle{border:1px solid #e2eaf4;padding:11px;border-radius:10px;display:flex;flex-direction:column;gap:4px}.bl-vehicle a{color:#155dcc;text-decoration:none;font-weight:650}.bl-vehicle small{color:#617790}.bl-error{background:#fff4ee;border:1px solid #f5d6c8;color:#8b3b27!important;padding:12px;border-radius:10px}.bl16-disclaimer{font-size:13px;color:#5f738e;line-height:1.65;border-left:3px solid #d4e4fa;padding-left:13px;margin-top:18px}.bl-arrival-list{list-style:none;margin:12px 0;padding:0}.bl-arrival-list li{padding:10px 0;border-top:1px solid #edf1f8;display:flex;gap:10px;flex-wrap:wrap}.bl-arrival-list b{margin-left:auto;color:#195ac3}.bl16-links{margin-top:25px;display:flex;gap:16px;flex-wrap:wrap}.bl16-links a{color:#195ac3;font-weight:700}.bl16-report{border-radius:14px;background:#e9f2ff;padding:15px;margin-top:18px}.bl16-report p{margin:0;font-size:14px}.bl16-meta{color:#5e7089;font-size:13px;margin-top:22px}@media(max-width:850px){.bl16-shell{grid-template-columns:1fr}.bl16{padding:30px 0 48px}.bl16-panel{padding:18px}.bl16-search{flex-wrap:wrap}.bl16-search input{width:100%;flex:auto}.bl16-search button{width:100%}}


/* BusLink 1.7 / Street map */
.bl17-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.82fr);gap:22px;margin-top:30px;align-items:start}
.bl17-panel{background:#fff;border:1px solid #e0e9f4;border-radius:19px;padding:23px;box-shadow:0 14px 35px rgba(16,50,95,.06);min-width:0}
.bl17-panel h2{margin:0 0 8px;font-size:22px;line-height:1.35}
.bl17-panel p{color:#536a86;line-height:1.55}
.bl17-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bl17-label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#eaf2ff;color:#175bb9;border-radius:999px;font-size:12px;font-weight:800}
.bl17-form{display:flex;gap:9px;margin:20px 0 12px}
.bl17-form input,.bl17-form select{min-width:0;flex:1;padding:12px 14px;border:1px solid #c3d2e5;border-radius:11px;color:#193653;background:#fff;font-size:16px}
.bl17-form button,.bl17-btn{background:#155dcc;color:#fff;font:inherit;border:1px solid #155dcc;border-radius:11px;padding:12px 15px;font-weight:750;cursor:pointer}
.bl17-btn.secondary{background:#fff;color:#155dcc;border-color:#a8c7f1}
.bl17-btn:disabled{opacity:.5;cursor:wait}
.bl17-chip{border:0;background:#edf4ff;color:#15519c;padding:8px 11px;border-radius:10px;font-size:13px;font-weight:800;cursor:pointer}
.bl17-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.bl17-chips .is-active{background:#155dcc;color:#fff}
.bl17-map-shell{border:1px solid #c7d9ed;border-radius:15px;overflow:hidden;position:relative;background:#e5edf6}
#bl17-map{height:480px;width:100%;z-index:1}
.bl17-map-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.bl17-map-tools button{font-size:13px;padding:9px 12px}
.bl17-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#53647d;margin-bottom:10px}
.bl17-key{display:inline-flex;align-items:center;gap:6px}
.bl17-dot{width:10px;height:10px;border-radius:50%;background:#155dcc;display:inline-block}
.bl17-dot.delayed{background:#d88727}.bl17-dot.unknown{background:#737e8a}.bl17-dot.stop{background:#16856c}
.bl17-result{padding:11px 13px;background:#f2f7ff;border-radius:12px;margin:12px 0;font-size:14px;color:#244b75;line-height:1.55}
.bl17-result.error{background:#fff3ee;color:#864324}
.bl17-vehicle-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px;max-height:310px;overflow:auto}
.bl17-vehicle-list li{border:1px solid #e2ebf5;border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.bl17-vehicle-list button{border:0;background:none;color:#135dcc;text-align:left;cursor:pointer;font:inherit;font-weight:700}
.bl17-vehicle-list small{font-size:12px;color:#58708b;display:block}
.bl17-empty{padding:14px;background:#f9fbff;border:1px dashed #bbcee5;border-radius:12px;color:#536b89;font-size:13px;margin:14px 0}
.bl17-side-card{border-top:1px solid #e6ecf5;padding-top:18px;margin-top:20px}
.bl17-side-card h3{font-size:17px;margin:0 0 8px}
.bl17-side-card label{display:block;font-size:13px;font-weight:750;color:#415a75;margin-bottom:6px}
.bl17-side-card input{width:100%;padding:12px;border:1px solid #c5d4e6;border-radius:10px}
.bl17-small{font-size:12px;color:#59708a;line-height:1.6}
.bl17-map-status{font-size:12px;color:#3d5e88;padding:8px 12px;background:#fff;position:absolute;top:12px;left:12px;max-width:68%;border-radius:10px;box-shadow:0 3px 10px #0f30562c;z-index:500;pointer-events:none}
.bl17-marker{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:18px;background:#165dc9;border:3px solid white;box-shadow:0 3px 10px #07346c55;color:white;font-weight:800;font-size:11px}
.bl17-marker.delayed{background:#d88727}.bl17-marker.unknown{background:#65758a}
.bl17-stop-marker{background:#167b65;border:2px solid white;width:12px;height:12px;border-radius:50%;box-shadow:0 1px 5px #1b4f4799}
.bl17-footerlink{color:#145ac5;text-decoration:underline}
.bl17-map-shell .leaflet-container{font-family:inherit}
.bl17-map-shell .leaflet-popup-content{line-height:1.6;margin:12px 14px}
.bl17-map-shell .leaflet-popup-content a{color:#0e58c6;text-decoration:underline}
.bl17-map-shell .leaflet-control-attribution{font-size:10px}
.bl17-note{font-size:13px;border-left:3px solid #b9d0ef;padding:12px 15px;background:#f6f9ff;color:#4a6381;margin:17px 0}
.bl17-loading{border-radius:13px;background:#edf4fb;padding:20px}
@media(max-width:900px){.bl17-layout{grid-template-columns:1fr}.bl17-panel{padding:17px}#bl17-map{height:min(58vh,470px);min-height:330px}}
@media(max-width:570px){.bl17-form{flex-wrap:wrap}.bl17-form input{flex-basis:100%}.bl17-form button{width:100%}.bl17-map-tools button{flex:1;min-width:120px}.bl17-vehicle-list li{align-items:flex-start}}

/* v1.8: verified mapping notice */
.bl17-result.error{border-left:4px solid #ca5726}

/* BusLink Live official GTFS v1.8.1 */


.bl181-directions{margin:12px 0 14px;padding:14px;background:#f4f8ff;border:1px solid #d7e5f7;border-radius:12px}
.bl181-directions label{display:block;font-size:13px;font-weight:750;margin:0 0 8px;color:#264a76}
.bl181-directions select{width:100%;padding:11px 12px;background:#fff;color:#193653;border:1px solid #bed1ec;border-radius:9px;font:inherit;font-size:15px}
.bl181-help{font-size:12px;line-height:1.55;color:#60768d;margin:9px 0 0!important}
.bl181-stop-search{margin-top:18px}
.bl181-stop-search input{width:100%;border:1px solid #bdcee6;border-radius:9px;padding:12px;font:inherit;font-size:15px}
.bl181-stop-count{font-size:12px;color:#536b86;margin:10px 0}
.bl181-stop-list{max-height:300px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:10px;scrollbar-width:thin}
.bl181-stop-button{min-width:0;border:1px solid #dae5f4;background:#f9fbff;text-align:left;border-radius:9px;padding:9px 10px;cursor:pointer;color:#153f73;font:inherit}
.bl181-stop-button:hover,.bl181-stop-button:focus-visible{background:#e8f2ff;border-color:#6598e0}
.bl181-stop-button strong{display:block;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.bl181-stop-button small{display:block;font-size:10px;color:#647c97;margin-top:3px}
.bl181-empty{font-size:13px;color:#61748b}
.bl181-distance{font-size:12px;color:#47627d;background:#eff6fe;border-left:3px solid #6c9cdb;border-radius:6px;padding:9px 12px;margin:10px 0}
.bl181-toggle{display:flex;align-items:center;gap:9px;font-size:12px;color:#3d5772;margin:12px 0 4px}
.bl181-toggle input{width:17px;height:17px;accent-color:#155dcc}
.bl17-marker.bl181-far{background:#6e7681;border:3px dashed #ffe3b3;box-shadow:0 2px 9px #303a4977}
.bl181-popup-btn{display:inline-block;margin-top:6px;padding:7px 8px;color:#155dcc;font-size:12px;font-weight:700;background:#f2f7ff;border:1px solid #afcbee;border-radius:7px;cursor:pointer}
.bl181-source{font-size:12px;line-height:1.6;color:#506b8a;background:#f6f9fe;border:1px solid #dfebf7;border-radius:10px;padding:12px;margin-top:12px}
@media(max-width:570px){.bl181-stop-list{grid-template-columns:1fr 1fr}.bl181-directions{padding:10px}}

.bl17-dot.far{background:#69717b;border:2px dashed #efd5b2}
