/* ========================================= Variabili globali ========================================= */ :root { --header-height: 60px; /* cambia se il tuo header è più alto/basso */ } /* ========================================= MAPPA GLOBALE (contenitore sotto l’header) ========================================= */ .global-map { position: fixed; top: var(--header-height); left: 0; right: 0; bottom: 0; width: 100%; display: none; /* visibile solo con .open */ z-index: 10; /* sotto a bottom-sheet (9999) e modal (10000) */ background: #000; /* evita flash bianco durante init */ } .global-map.open { display: block; } /* Leaflet riempie il contenitore */ .global-map .leaflet-container { width: 100%; height: 100%; } /* Marker immagine (miniatura) */ .leaflet-marker-icon.photo-marker { border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.25); border: 2px solid rgba(255,255,255,0.9); background: #fff; } /* Nascondi la gallery quando la mappa è aperta */ .gallery.hidden { display: none !important; } /* ========================================= BOTTOM SHEET — struttura base comune ========================================= */ .bottom-sheet { position: fixed; bottom: 0; left: 0; width: 100%; background: rgba(255,255,255,0.95); backdrop-filter: blur(6px); border-top: 1px solid #ddd; box-shadow: 0 -2px 10px rgba(0,0,0,0.15); display: none; /* diventa flex con .open */ flex-direction: column; z-index: 9999; /* molto alto: il modal starà sopra (10000) */ } .bottom-sheet.open { display: flex; } /* Maniglia superiore */ .sheet-header { height: 16px; display: flex; justify-content: center; align-items: center; } .sheet-header::before { content: ""; width: 40px; height: 4px; background: #bbb; border-radius: 4px; } /* ========================================= BOTTOM SHEET FOTO (strip bassa come nel vecchio) ========================================= */ .photo-strip { height: 140px; /* altezza originale della strip */ overflow-y: hidden; /* niente scroll verticale */ overflow-x: auto; /* scroll orizzontale per le foto */ } /* Contenitore elementi della strip — compatibile con id e class */ #sheetGallery, .sheet-gallery { display: flex; flex-direction: row; overflow-x: auto; padding: 10px; gap: 10px; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; } /* Singolo elemento della strip */ .sheet-item { width: 90px; height: 90px; border-radius: 10px; overflow: hidden; flex-shrink: 0; box-shadow: 0 2px 6px rgba(0,0,0,0.25); background: #eee; scroll-snap-align: start; } /* Miniatura della foto nella strip */ .sheet-thumb, .sheet-item img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 8px; /* alias; la .sheet-item ha già 10px */ } /* ========================================= BOTTOM SHEET OPZIONI (⋮) — menu grande ========================================= */ .options-sheet { height: auto; max-height: 80vh; overflow-y: auto; } .sheet-content { padding: 20px; } .sheet-btn { width: 100%; padding: 12px; margin-bottom: 8px; text-align: left; background: #f5f5f5; border: none; border-radius: 8px; font-size: 15px; cursor: pointer; } .sheet-btn:hover { background: #e8e8e8; } #optionsSheet h3 { margin-top: 20px; margin-bottom: 10px; font-size: 16px; color: #444; } /* ========================================= OVERLAY per chiusura sheet/option ========================================= */ .sheet-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.0); /* invisibile ma cliccabile */ display: none; z-index: 80; /* appena sotto il bottom sheet */ } .sheet-overlay.open { display: block; } /* ========================================= MODAL sopra allo sheet ========================================= */ .modal.open { z-index: 10000 !important; /* sopra al bottom sheet (9999) */ } /* ========================================= Piccoli affinamenti facoltativi ========================================= */ /* scrollbar sottile solo per la strip (opzionale) */ #sheetGallery::-webkit-scrollbar, .sheet-gallery::-webkit-scrollbar { height: 8px; } #sheetGallery::-webkit-scrollbar-thumb, .sheet-gallery::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.25); border-radius: 4px; }