/** Mappa di rete — multi-traccia con legenda, sezione itinerario singolo. */
/* Waymark fornisce zoom, basi e attribuzione; la rete gestisce fullscreen
 * e posizione con i controlli BikeFVG già usati per i suoi pannelli. */
.bikefvg-route-network-map__canvas[data-bikefvg-network-ready] > .leaflet-control-container .leaflet-control-fullscreen,
.bikefvg-route-network-map__canvas[data-bikefvg-network-ready] > .leaflet-control-container .leaflet-control-locate { display: none !important; }
.bikefvg-route-network-map__canvas .bfvg-map-navigation .leaflet-control-layers { margin: 0; }
.bikefvg-route-network-map__unavailable { margin: 0; padding: 1.25rem; }
/*
 * .228 — la toolbar/navigazione/pannelli della Network Map riusano ora le
 * classi .bfvg-map-toolbar/.bfvg-map-navigation/.bfvg-map-button/
 * .bfvg-map-panel-stack/.bfvg-map-panel (assets/css/bikefvg-route-map.css)
 * per lo stesso linguaggio visivo della mappa principale (dimensioni,
 * icone, bordi, spaziature, stati) — uniformare l'interfaccia usando
 * quella come riferimento, richiesta esplicita. Quelle classi assumono
 * però il contesto della mappa principale, mai garantito qui:
 * 1) le variabili CSS --bfvg-map-ink/--bfvg-map-accent/--bfvg-map-line
 *    sono definite SOLO su .bfvg-route-map (bikefvg-route-map.css riga 2);
 *    senza una definizione equivalente qui, colori/bordi dei componenti
 *    riusati cadrebbero sui valori iniziali del browser, non sulla
 *    palette del tema — ridefinite qui, IDENTICHE all'originale;
 * 2) quei componenti si aspettano di vivere dentro .bfvg-map-ui
 *    (position:absolute;inset:0;z-index:900), che stabilisce lo stacking
 *    context sopra i pannelli (tile/overlay) di Leaflet. La Network Map
 *    non ha un wrapper equivalente (i nuovi contenitori sono figli diretti
 *    del canvas, come .bikefvg-route-network-map__status già faceva) —
 *    z-index esplicito qui sotto, stesso valore già usato da quello
 *    stesso status.
 */
.bikefvg-route-network-map {
	--bfvg-map-ink: var(--wp--preset--color--ink, #1e2420);
	--bfvg-map-accent: var(--wp--preset--color--accent, #1c6b7a);
	--bfvg-map-line: var(--wp--preset--color--divider, #d6cec4);
}
/*
 * .234 — corregge un difetto segnalato esplicitamente: a schermo affiancato
 * (mappa+legenda) la mappa era molto più bassa della legenda (clamp(18rem,
 * 26vw,24rem) legato al viewport, non al contenuto), lasciando un vuoto sotto
 * la legenda quando questa aveva molte voci (es. FVG1, 8 relazioni). Misurato
 * dal vivo (wheat-hornet-766986.hostingersite.com/itinerari/fvg1-ciclovia-
 * alpe-adria-c100/): a 64rem+ la colonna legenda ha larghezza FISSA (16rem,
 * regola @media sotto), quindi la sua altezza naturale non dipende dalla
 * larghezza totale della pagina, solo dal proprio contenuto — l'altezza
 * naturale della legenda FVG1 (8 voci, alcuni titoli su più righe) misura
 * ~520px indipendentemente dalla larghezza a 64rem/1024px e oltre. Una SOLA
 * variabile condivisa, valore fisso (non vw-scalato, non legato alla legenda
 * di ciascuna pagina): tutte le network map allo stesso viewport hanno la
 * stessa altezza, comprese quelle con legenda più corta (che restano
 * allineate in alto, mai stirate per riempire lo spazio). Mobile/legenda
 * impilata sotto: altezza indipendente dalla legenda, dimensionata per lo
 * schermo piccolo. Schermo intero: continua a ignorare questa variabile
 * (height:100%, regola .is-network-fullscreen più sotto, invariata).
 */
.bikefvg-route-network-map {
	--bfvg-network-map-height: 22rem;
}
@media (min-width:64rem){
	.bikefvg-route-network-map {
		--bfvg-network-map-height: 33rem;
	}
}
/*
 * .229 — corregge un difetto verificato: le regole CSS condivise
 * (assets/css/bikefvg-route-map.css) che stilizzano paragrafi, legenda,
 * meta, box-sizing e l'outline di focus-visible sono TUTTE scoped sotto
 * .bfvg-map-ui (il contenitore che la mappa principale usa per la propria
 * toolbar/pannelli) — la .228 appendeva toolbar/navigazione/pannelli come
 * figli DIRETTI del canvas, senza quel contenitore, quindi quelle regole
 * non si applicavano mai qui. assets/js/bikefvg-route-network-controls.js
 * ora li racchiude in un vero .bfvg-map-ui (identico alla mappa
 * principale): quella classe porta con sé il proprio z-index:900 e
 * position:absolute;inset:0, quindi la regola dedicata che c'era qui prima
 * (z-index:1000 sui singoli contenitori, figli diretti del canvas) non
 * serve più.
 */
.bikefvg-route-network-map__grid{display:grid;gap:1rem}
.bikefvg-route-network-map__canvas{height:var(--bfvg-network-map-height,22rem);border:1px solid var(--bfvg-line);border-radius:var(--bfvg-card-radius,16px);background:var(--wp--preset--color--surface-alt);z-index:0}
/*
 * .227 — corregge un difetto di layout verificato: canvas + legenda tracce +
 * legenda servizi erano TRE figli diretti della griglia a due colonne;
 * CSS Grid piazza i figli con il proprio ordinamento automatico (riga per
 * riga), quindi il terzo figlio finiva in una riga NUOVA sotto il canvas
 * (colonna 1), non accanto ad esso — la legenda servizi appariva sotto la
 * mappa invece che nella colonna laterale. Le due legende sono ora un
 * SOLO figlio diretto della griglia (questo contenitore), che occupa
 * sempre la seconda colonna per intero; al suo interno le due liste si
 * impilano con un gap e uno scorrimento proprio quando lo spazio è
 * limitato (schermo intero), mai un problema di piazzamento automatico
 * che dipende dal numero di elementi. */
.bikefvg-route-network-map__sidebar{display:flex;flex-direction:column;gap:1rem;min-width:0}
.bikefvg-route-network-map__legend{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}
/*
 * .218: la voce non è più una riga flex unica (pallino + blocco testo): ora
 * è una pila verticale — ruolo, poi riga nome (pallino + titolo), poi
 * l'eventuale didascalia secondaria — la stessa struttura per ogni voce,
 * identità del percorso corrente inclusa. Il pallino vive dentro
 * .legend-name, non più come fratello dell'intero blocco: vedi lì sotto per
 * l'allineamento alla prima riga del nome.
 */
.bikefvg-route-network-map__legend li{display:grid;gap:.15rem;min-width:0}

/*
 * Pallino + nome sulla stessa riga: flex, non grid, perché è la proprietà
 * che serve — il nome è un item a larghezza variabile che si avvolge dentro
 * se stesso quando va a capo (le righe successive restano allineate al suo
 * bordo sinistro, MAI al pallino, per costruzione: il pallino è un item a
 * larghezza fissa che precede, non un rientro applicato al testo). align-
 * items:flex-start tiene il pallino ancorato in alto; il margin-top sul
 * pallino (sotto) lo centra otticamente sulla PRIMA riga del nome, non
 * sull'altezza totale del blocco quando il nome va a capo (es. FVG8).
 */
.bikefvg-route-network-map__legend-name{display:flex;align-items:flex-start;gap:.5rem;min-width:0}

.bikefvg-route-network-map__swatch{flex:0 0 auto;width:.8rem;height:.8rem;margin-top:.2rem;border-radius:999px;background:var(--bfvg-track-color,currentColor)}
/*
 * Contesto (tappe sorelle): colore proprio (bikefvg_route_network_map_
 * context_color(), .216: token palette "review", #A9761B), campione SEMPRE
 * a piena opacità — la gerarchia è già comunicata dal ruolo/dalla didascalia
 * "Questo itinerario" in testo, non deve ripetersi anche nel colore del
 * pallino. Prima di .215 "context" condivideva il rosso di "primary" (.213):
 * l'opacità .5 qui, pensata per l'ink scuro di prima ancora, produceva su
 * quel rosso un rosa sbiadito (fix .214). La linea in mappa
 * (bikefvg_route_network_map_styles()['context']) è ora anch'essa a piena
 * opacità, ma resta una scelta indipendente da questo campione — non c'è più
 * bisogno di attenuazione qui né lì.
 */
/* Relazione non disegnata (es. "Fa parte di" quando la geometria è già rappresentata dalle tappe): nessun colore da associare. */
.bikefvg-route-network-map__swatch.is-empty{background:none;border:1px dashed var(--bfvg-line)}

/* Voci di relazione: sempre prima il ruolo (piccolo, maiuscoletto), poi il nome dell'itinerario (più grande, il vero elemento cliccabile) — .218: anche per "Questo itinerario". */
.bikefvg-route-network-map__legend-role{color:var(--wp--preset--color--ink-secondary);font-size:.7rem;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.045em}
/* flex:1 1 auto + min-width:0: l'item si restringe accanto al pallino a larghezza fissa e va a capo dentro se stesso, invece di spingere il pallino o traboccare (comportamento di default di un item flex inline). */
.bikefvg-route-network-map__legend-title{flex:1 1 auto;min-width:0;font-size:.92rem;font-weight:600;line-height:1.3;color:var(--wp--preset--color--ink);text-decoration:none}
a.bikefvg-route-network-map__legend-title:hover{text-decoration:underline}

/* Identità del percorso corrente: nome più grande di un link normale, non è un link (strong, non a). .218: l'eventuale dettaglio secondario (tappe/posizione) è ora una didascalia a sé sotto il nome, non più unita al ruolo. */
.bikefvg-route-network-map__legend li.is-self .bikefvg-route-network-map__legend-title{font-size:.98rem}
.bikefvg-route-network-map__legend-caption{color:var(--wp--preset--color--ink-secondary);font-size:.78rem;line-height:1.35}

/*
 * .230 — corregge un difetto segnalato esplicitamente: l'elenco esterno
 * (sopra) deve contenere SOLO itinerari/relazioni. La legenda dei servizi
 * (.legend--services/.service-swatch) è stata rimossa da qui insieme al
 * markup PHP che la generava (inc/route-network-map.php): le icone dei
 * servizi vivono ora nel pannello "Servizi vicini"
 * (assets/js/bikefvg-route-network-controls.js), non più duplicate qui.
 */

/* Marker servizio in mappa: nessuna regola propria, riusa .bfvg-map-symbol/.bfvg-map-symbol__inner (assets/css/bikefvg-route-map.css, dipendenza dichiarata in bikefvg_route_network_map_assets()) — solo l'icona Leaflet che lo contiene resta senza sfondo/ombra proprie. */
.bikefvg-route-network-map__service-marker{background:transparent;border:0}

/*
 * .228 — il pannello .bikefvg-route-network-map__services-panel* è stato
 * rimosso: il filtro servizi ora è un .bfvg-map-panel dentro
 * .bfvg-map-panel-stack (assets/js/bikefvg-route-network-controls.js),
 * con lo stesso markup/stile condiviso della mappa principale, per unificare
 * il linguaggio visivo come richiesto.
 */

/* Popup di un servizio: stesso font/colori del resto della mappa, niente ombreggiature extra rispetto al popup Leaflet di default. */
.bikefvg-route-network-map__service-popup{font:400 .85rem/1.4 var(--wp--preset--font-family--body,Inter,sans-serif);max-width:16rem}
.bikefvg-route-network-map__service-popup p{margin:.25rem 0}
.bikefvg-route-network-map__service-badge{display:inline-block;margin-bottom:.25rem;padding:2px 7px;border-radius:999px;background:var(--wp--preset--color--petrol,#1C6B7A);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.bikefvg-route-network-map__service-popup-links a{margin-right:.6rem}

/* Nessuna traccia disegnabile (nessun GPX sui collegati): solo l'elenco, senza il riquadro mappa. */
.bikefvg-route-network-map.is-legend-only .bikefvg-route-network-map__grid{display:block}

/* Micro-indicazione discreta: questa relazione ha un punto di connessione reale visibile in mappa.
 * Stesso linguaggio visivo del marker (anello + centro chiaro), senza colore proprio: il colore
 * identifica la traccia, non il tipo di relazione (vedi bikefvg_route_network_map_tracks()). */
.bikefvg-route-network-map__link-badge{display:inline-block;width:.55rem;height:.55rem;margin-left:.3rem;vertical-align:middle;border:.12rem solid currentColor;border-radius:999px;background:var(--wp--preset--color--paper)}
.bikefvg-route-network-map__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (min-width:64rem){
	.bikefvg-route-network-map__grid{grid-template-columns:minmax(0,1fr) 16rem;align-items:start}
}

/* Navigation follows the primary map's 44px controls, scoped to this map. */
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-top.leaflet-right{top:12px;right:12px}
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-right .leaflet-control{margin-right:0}
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-top .leaflet-control{margin-top:8px}
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-top .leaflet-control:first-child{margin-top:0}
/*
 * .228 — .bikefvg-route-network-map__button/__navigation/__button--fullscreen
 * e il pannello __services-panel* (rimosso più sotto) sono stati rimossi
 * perché non più usati: assets/js/bikefvg-route-network-controls.js ora
 * costruisce toolbar/navigazione/pulsanti/pannelli riusando le classi
 * .bfvg-map-* (assets/css/bikefvg-route-map.css — vedi le variabili CSS
 * ridefinite sopra) per lo stesso linguaggio visivo della mappa principale,
 * come richiesto esplicitamente. Le regole sul widget zoom NATIVO di
 * Leaflet (.leaflet-control-zoom, spostato dentro .bfvg-map-navigation ma
 * mai ricreato) restano invariate: quel controllo esiste ancora, con le
 * sue classi Leaflet originali.
 */
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-control-zoom{border:0;border-radius:8px;box-shadow:0 1px 5px rgba(30,36,32,.14);overflow:hidden}
/* Specificità superiore al 30×30 di Waymark anche se il plugin è caricato dopo. */
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-control-zoom a{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;padding:0;margin:0;font:500 24px/1 var(--wp--preset--font-family--body,Inter,sans-serif);border-radius:0;box-shadow:none}
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-control-zoom a + a{border-top:0}
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-control-zoom a:focus-visible{outline:3px solid var(--wp--preset--color--petrol,#1C6B7A);outline-offset:-3px}
.bikefvg-route-network-map .bikefvg-route-network-map__canvas .leaflet-control-attribution{margin:0;max-width:100%;font-size:10px;line-height:1.4}
.bikefvg-route-network-map__status{position:absolute;left:12px;bottom:28px;z-index:1000;max-width:calc(100% - 88px);box-sizing:border-box;padding:8px 12px;border-radius:8px;background:#fff;color:var(--wp--preset--color--ink,#1E2420);box-shadow:0 1px 5px rgba(30,36,32,.15);font:400 .85rem/1.4 system-ui,sans-serif}
.bikefvg-route-network-map__status:empty{display:none}

/* Keep the map readable in native fullscreen and in the iOS/CSS fallback. */
.bikefvg-route-network-map.is-network-fullscreen{position:fixed;inset:0;z-index:100000;box-sizing:border-box;width:100%;height:100vh;height:100dvh;max-width:none;margin:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));background:var(--wp--preset--color--paper,#F6F1EA);overflow:hidden;overscroll-behavior:contain}
/*
 * .229 — corregge un difetto verificato: nella pagina normale
 * .bikefvg-route-network-map__grid riserva sempre una seconda colonna di
 * 16rem alla legenda esterna (regola sopra, @media min-width:64rem) — a
 * schermo intero quella colonna non serve più (il contenuto della legenda
 * viene spostato nel pannello "Legenda" da
 * assets/js/bikefvg-route-network-controls.js, relocateLegendToPanel()):
 * senza queste due regole restava una colonna vuota riservata (stesso
 * sintomo già corretto nella pagina normale, riprodotto qui a schermo
 * intero). Una sola colonna, canvas a piena altezza.
 */
.bikefvg-route-network-map.is-network-fullscreen .bikefvg-route-network-map__grid{display:block;height:100%;min-height:0}
.bikefvg-route-network-map.is-network-fullscreen .bikefvg-route-network-map__canvas{height:100%;min-height:0}
.bikefvg-route-network-map.is-network-fullscreen .bikefvg-route-network-map__sidebar{display:none}
