/* Fallback Leaflet essenziale */
.leaflet-container{overflow:hidden}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container img.leaflet-tile{max-width:none!important;max-height:none!important;width:256px;height:256px;padding:0}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control-container .leaflet-control{pointer-events:auto}.leaflet-interactive{cursor:pointer}
.map-context-bar,body.percorsi-page>.app{--ink:#173127;--muted:#66766e;--line:#dfe8e3;--panel:#fff;--bg:#f5f8f6;--green:#176b4a;--green2:#e8f5ee;--blue:#117b93;--purple:#6e4ab5;--mtb:#315b9d;--accent:#183d31;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body.percorsi-page>.app button,body.percorsi-page>.app input,body.percorsi-page>.app select{font:inherit}
.ovbar{height:54px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:14px}.ovbrand{display:flex;align-items:center;gap:10px;color:#173127;text-decoration:none;font-size:13px;font-weight:750}.ovmark{width:28px;height:28px;border-radius:8px;background:#173127;color:#fff;display:grid;place-items:center;font-weight:800}.ovcrumb{font-size:11px;color:var(--muted)}.ovback{font-size:11px;color:#365c4b;text-decoration:none;border:1px solid var(--line);padding:7px 10px;border-radius:999px;white-space:nowrap}.app{height:calc(100vh - 54px);height:calc(100dvh - 54px);min-height:0;display:grid;grid-template-columns:390px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}
.sidebar{background:rgba(255,255,255,.98);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;z-index:2}.head{padding:22px 22px 14px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;justify-content:space-between;gap:12px}body.percorsi-page>.app h1{font-size:25px;line-height:1.05;margin:0;letter-spacing:-.45px}.kicker{font-size:12px;color:var(--muted);margin-top:7px}.method{font-size:11px;color:#4e655a;text-decoration:none;border:1px solid var(--line);padding:6px 8px;border-radius:999px;white-space:nowrap}.summary{display:flex;gap:8px;margin-top:15px}.stat{flex:1;background:#f1f6f3;border-radius:11px;padding:10px}.stat b{display:block;font-size:17px}.stat span{font-size:10px;color:var(--muted)}
.filters{padding:14px 18px 12px;border-bottom:1px solid var(--line);display:grid;gap:10px}.search{position:relative}.search input{width:100%;border:1px solid #ccd9d2;border-radius:12px;padding:11px 12px 11px 37px;background:#fff;color:var(--ink);outline:none}.search input:focus{border-color:#7eaa96;box-shadow:0 0 0 3px rgba(23,107,74,.08)}.search:before{content:"⌕";position:absolute;left:13px;top:8px;font-size:20px;color:#708078}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid #d6e1db;background:#fff;color:#375347;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.selectrow{display:grid;grid-template-columns:1fr auto;gap:8px}.selectrow select{width:100%;border:1px solid #d6e1db;border-radius:10px;padding:9px;background:#fff;color:var(--ink)}.reset{border:1px solid #d6e1db;border-radius:10px;background:#fff;padding:8px 10px;cursor:pointer;color:#496056}.resultsHead{display:flex;justify-content:space-between;align-items:end;padding:12px 20px 8px}.resultsHead b{font-size:13px}.resultsHead span{font-size:11px;color:var(--muted)}.list{min-height:0;overflow:auto;padding:0 12px 18px;display:grid;gap:8px}
.card{border:1px solid #e0e8e3;background:#fff;border-radius:13px;padding:12px 13px;cursor:pointer;transition:.15s;box-shadow:0 1px 0 rgba(25,56,43,.02)}.card:hover{border-color:#a7bdb2;transform:translateY(-1px)}.card.active{border-color:#36775d;box-shadow:0 0 0 2px rgba(23,107,74,.08)}.cardTop{display:flex;justify-content:space-between;gap:10px}.routeName{font-size:13px;font-weight:750;line-height:1.3}.badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:4px 7px;height:max-content;white-space:nowrap}.badge.a0{background:#e5f5ed;color:#12603f}.badge.b1{background:#e9f0ff;color:#31579d}.meta{font-size:11px;color:var(--muted);margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.modeDot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.empty{padding:30px 18px;text-align:center;color:var(--muted);font-size:12px}
.mapWrap{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden}#map{position:absolute;inset:0;height:auto;width:auto;background:#e9efeb}.detail{position:absolute;right:18px;top:18px;width:min(360px,calc(100% - 36px));background:rgba(255,255,255,.97);border:1px solid #dbe5df;border-radius:16px;box-shadow:0 14px 40px rgba(21,51,39,.16);padding:16px;z-index:900;display:none}.detail.show{display:block}.detailClose{position:absolute;right:11px;top:10px;border:0;background:#f1f5f2;border-radius:50%;width:28px;height:28px;cursor:pointer}.detail h2{margin:0 30px 4px 0;font-size:18px;line-height:1.2}.detailSub{font-size:11px;color:var(--muted);margin-bottom:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.info{background:#f3f7f4;border-radius:10px;padding:9px}.info b{display:block;font-size:12px}.info span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.35px}.source{font-size:10px;color:#5e6e66;line-height:1.45;border-top:1px solid #e4ebe7;padding-top:10px;margin-top:10px}.source a{color:#285c46}.downloads{display:flex;gap:7px;margin-top:12px}.downloads a{flex:1;text-align:center;text-decoration:none;background:var(--accent);color:#fff;padding:9px;border-radius:9px;font-size:11px;font-weight:700}.downloads a.secondary{background:#eef4f0;color:#284c3c}.downloads a.disabled{display:none}.legend{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.95);z-index:800;border:1px solid #dbe5df;border-radius:10px;padding:8px 10px;font-size:10px;display:flex;gap:11px;flex-wrap:wrap;max-width:calc(100% - 24px)}.leg span{display:inline-block;width:18px;height:3px;border-radius:3px;margin-right:4px;vertical-align:middle}.topDownloads{display:flex;gap:6px;margin-top:9px}.topDownloads a{text-decoration:none;color:#355448;background:#eef4f0;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:650}.errorBox{margin:15px;padding:14px;background:#fff1ef;border:1px solid #efc8c1;border-radius:12px;color:#7e3025;font-size:12px}
.leaflet-top.leaflet-left{margin-top:14px;margin-left:14px}.leaflet-control-zoom,.leaflet-control-home{border:none!important;box-shadow:0 8px 24px rgba(14,39,30,.18)!important;border-radius:14px!important;overflow:hidden;background:#fff}.leaflet-bar a,.leaflet-control-home a{width:42px;height:42px;line-height:42px;display:flex;align-items:center;justify-content:center;background:#fff;color:#173127;border:0!important;border-bottom:1px solid #e2ebe5!important;text-decoration:none;font-weight:900;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background .15s,color .15s,transform .08s}.leaflet-bar a:last-child,.leaflet-control-home a:last-child{border-bottom:none!important}.leaflet-bar a:hover,.leaflet-bar a:focus,.leaflet-control-home a:hover,.leaflet-control-home a:focus{background:#f2f7f4;color:#0f4d35;outline:none}.leaflet-bar a:active,.leaflet-control-home a:active{transform:translateY(1px)}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font-size:26px!important;text-indent:0!important}.leaflet-control-home{margin-top:10px!important}.leaflet-control-home a{font-size:20px;border-radius:14px}.leaflet-control-home a span{transform:translateY(-1px)}.leaflet-control-home a[aria-disabled="true"]{opacity:.45;cursor:default}
@media(max-width:820px){.ovbar{height:auto;min-height:54px;padding:9px 12px;flex-wrap:wrap}.ovcrumb{order:3;width:100%}.app{height:auto}.ovback{font-size:10px}html,body{overflow:auto}.app{display:block;height:auto}.sidebar{height:auto;border-right:0}.list{max-height:46vh}.mapWrap{height:64vh;min-height:480px}.mapWrap #map{position:absolute;inset:0}.detail{position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:52vh;overflow:auto}}
