.route-shell{max-width:1180px;margin:auto;padding:48px 24px 90px}
.route-intro{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:stretch}
.route-intro>div,.route-intro>aside{padding:27px;background:#26382f;color:#f9edda}
.route-intro h2{font:700 36px/1 'Barlow Condensed',sans-serif;margin:8px 0 14px}
.route-intro p,.route-intro li{color:#e8ddc8;font-size:13px;text-align:left}
.route-intro aside{background:#79472c}
.route-intro ul{padding-left:18px}
.route-form{margin-top:22px;background:#fff7e7;border:1px solid #bca17a;padding:25px;box-shadow:0 14px 35px #57401f1a}
.route-form h2{font:700 32px/1 'Barlow Condensed',sans-serif;margin:0 0 18px}
.route-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.route-form label{display:grid;gap:6px;font-size:13px;font-weight:700}
.route-form input,.route-form select{display:block;width:100%;min-height:44px;margin:0;padding:9px 12px;border:1px solid #8a6842;background:#fffdf6;color:#2a241b;font:inherit}
.route-form .route-options{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px}
.route-form button{min-height:44px;padding:10px 15px;border:1px solid #79472c;background:#edd4a5;color:#271b10;font-weight:700}
.route-form button[type=submit]{background:#26382f;color:#fff0d9;border-color:#26382f}
.route-form button:disabled{opacity:.6;cursor:not-allowed}
.route-form [role=alert]{margin-top:12px;color:#852b1a;font-weight:700}
.route-form .stop-row{display:flex;align-items:end;gap:10px;margin-top:12px}.route-form .stop-row label{flex:1}.route-form .stop-row button{flex:0 0 auto}
.route-result{margin-top:25px}
.route-result[hidden]{display:none}
.route-result-header{padding:25px 28px;background:#26382f;color:#fff0d9}
.route-result-header h2{font:700 36px/1 'Barlow Condensed',sans-serif;margin:7px 0 10px}
.route-result-header p{font-size:13px;color:#e5d9c6;text-align:left}
.route-result-header a{display:inline-block;margin-top:8px;padding:11px 14px;border:1px solid #efd08c;color:#fff0d9;font-size:12px;font-weight:700}
.route-result-header button{margin:8px 0 0 8px;padding:11px 14px;border:1px solid #efd08c;background:transparent;color:#fff0d9;font-size:12px;font-weight:700}
.route-result ol{margin:0;padding:0;list-style:none;display:grid;gap:1px;background:#bb9d78}
.route-result li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;padding:20px 25px;background:#fff8e9}
.route-result li>span{font:700 29px/1 'Barlow Condensed',sans-serif;color:#945633}
.route-result li strong{display:block;font:700 25px/1 'Barlow Condensed',sans-serif}
.route-result li p{margin:5px 0 0;font-size:13px;color:#5c4a36;text-align:left}
.route-result li a{display:inline-block;margin-top:8px;border-bottom:1px solid #8e5732;font-size:12px;font-weight:700}
.route-result .route-source{padding:18px 22px;background:#f0dfbf;font-size:12px;line-height:1.55}
.route-map-panel{display:grid;grid-template-columns:minmax(180px,290px) minmax(0,1fr);gap:20px;padding:22px 25px;background:#e5d7bd;color:#26382f}
.route-map-panel h3,.route-support-panel h3{font:700 29px/1.1 'Barlow Condensed',sans-serif;margin:5px 0 10px}
.route-map-panel p,.route-support-panel>p{font-size:13px;line-height:1.5;margin:0;text-align:left}
#route-map{min-width:0}
#route-map svg{display:block;width:100%;height:200px;background:linear-gradient(145deg,#fff9e8,#d7dfd1);border:1px solid #a1a991}
.route-map-caption{font-size:12px!important;margin-top:8px!important;overflow-wrap:anywhere}
.route-support-panel{padding:26px;background:#f5e8d0}
#route-support{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;margin-top:18px}
#route-support article{background:#fff9ed;border:1px solid #baa386;border-top:3px solid #975735;padding:16px;min-width:0}
#route-support h4{font:700 24px/1.1 'Barlow Condensed',sans-serif;margin:0 0 12px}
.route-support-item{border-top:1px solid #ddd0bb;padding:10px 0}
.route-support-item strong{display:block;font-size:14px}
.route-support-item p{font-size:12px;line-height:1.5;margin:5px 0;text-align:left}
.route-support-item a{display:inline-block;font-size:12px;font-weight:700}
.route-support-item small{display:block;color:#5d594f;margin-top:5px}
@media(max-width:700px){.route-intro,.route-fields,.route-map-panel{grid-template-columns:1fr}.route-shell{padding:32px 18px 65px}.route-form{padding:20px}.route-form .stop-row{align-items:stretch;flex-direction:column}.route-result li{grid-template-columns:44px minmax(0,1fr);padding:18px 16px}}
@media print{header,footer,.ticker,.route-form,.route-intro,.route-result-header a{display:none!important}.route-result{display:block!important}.route-result li{break-inside:avoid}}
