/* Route explorer: preserve the independent accessible list and on-demand tiles. */
#wege{scroll-margin-top:120px}
#wege .map-heading{max-width:760px;margin:0 0 28px}
#wege .map-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:6px 0 12px}
#wege .route-filters{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(180px,1fr) minmax(160px,1fr);gap:16px;padding:22px;background:#eaf5f9;border-radius:16px;align-items:end}
#wege .route-filters .toggle{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
#wege .route-filters input,#wege .route-filters select{width:100%;min-height:48px;box-sizing:border-box}
#wege .map-filter-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0}
#wege .map-filter-summary p{margin:0}
#wege button{min-height:44px}
#wege #reset-filters{font-size:.9rem;text-decoration:underline;background:none;border:0;color:#173d32;padding:8px}
#wege #maplayout{grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:24px;align-items:start}
#wege #map{border:1px solid #a8bab4;border-radius:16px;min-width:0}
#wege .map-intro{padding:20px 22px}
#wege .map-intro h3{font-size:1.4rem;margin:6px 0}
#wege #map-status{font-size:.9rem;margin:8px 0}
#wege .map-intro:has(#load-map[hidden])>p:last-child{display:none}
#wege #real-map{height:470px;border-radius:0}
#wege #skip-map{font-size:.85rem;margin:0 20px 14px;padding:8px 12px}
#wege .map-quick-controls{padding:14px 20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;background:#f1f7f4}
#wege .map-quick-controls label{font-size:.85rem;display:flex;gap:8px;align-items:center;flex:1 1 170px}
#wege input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
#wege .map-settings,#wege .map-notes{margin:0;border:0;border-top:1px solid #bbc8c2;border-radius:0;padding:0;background:#fff;font-size:.9rem}
#wege .map-settings summary,#wege .map-notes summary{padding:16px 20px;min-height:44px;box-sizing:border-box;cursor:pointer}
#wege .map-notes p{padding:0 20px}
#wege .map-help{padding:0 20px;background:#fff}
#wege .map-help button{margin:3px;font-size:.85rem}
#wege #map-layers{margin:16px 20px!important}
#wege #map-layers label{display:flex;align-items:center;gap:8px;margin:10px 0}
#wege #route-legend{padding:12px 20px;font-size:.85rem;display:block;color:#18382e;background:#f1f7f4}
#wege .route-panel{min-width:0}
#wege .route-panel>h3{font-size:1.25rem;margin:0 0 14px}
#wege #results{max-height:740px;overflow:auto;padding:2px 8px 2px 2px;scrollbar-gutter:stable}
#wege .result{padding:18px;margin:0 0 12px;border:1px solid #b5c4bd;border-radius:12px;background:#fff}
#wege .result.selected{border:2px solid #943b1b;background:#fff8f1;padding:17px}
#wege .result h4{font-size:1.1rem;line-height:1.4;display:flex;align-items:center;gap:12px;margin:10px 0}
#wege .route-waymark{width:44px;height:44px;object-fit:contain;flex-shrink:0}
#wege .route-length{font-size:.95rem;font-weight:600;margin:8px 0}
#wege .route-select{border:1px solid #254d3f;border-radius:24px;padding:8px 16px;color:#173d32;background:#fff;font-weight:600}
#wege .selected .route-select{border-color:#943b1b;color:#713016}
#wege .route-caution{font-size:.83rem;line-height:1.45;padding-left:10px;border-left:3px solid #946a13;margin:10px 0;color:#483611}
#wege .route-detail{font-size:.93rem;padding-top:12px;overflow-wrap:anywhere}
#wege #poi-disclosure{margin-top:28px;border:1px solid #b5c4bd;border-radius:12px;background:#fff}
#wege #poi-disclosure>summary{padding:20px;cursor:pointer;font-weight:700}
#wege #visitor-pois{padding:0 20px 24px}
#wege :focus-visible{outline:3px solid #005b91;outline-offset:3px}
@media(max-width:850px){
 #wege .route-filters{grid-template-columns:1fr 1fr;padding:16px}
 #wege .route-filters .field:first-child{grid-column:1/-1}
 #wege #maplayout{grid-template-columns:1fr}
 #wege #results{max-height:none;overflow:visible;padding:0}
 #wege #real-map{height:360px}
 #wege .map-heading{margin-bottom:18px}
}
@media(max-width:440px){#wege .route-filters{grid-template-columns:1fr}#wege .map-intro{padding:16px}#wege #real-map{height:320px}#wege .map-filter-summary{align-items:flex-start}#wege .route-filters .toggle button{flex:1}#wege .map-heading h2{font-size:1.8rem}}
@media(forced-colors:active){#wege .result.selected{border:3px solid Highlight}#wege .route-caution{color:CanvasText}#wege .route-select{color:ButtonText}}
@media print{#wege #results{max-height:none;overflow:visible}#wege #map{display:none}#wege #maplayout{display:block}}
