/* public/css/activityModal.css */ /* =============================== OVERLAY ATTIVITÀ =============================== */ #activityModal { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh; display: none; margin: 0; padding: 0; overflow: hidden; background: rgba(0, 0, 0, 0.92); z-index: 12000; } #activityModal.open { display: block; } /* =============================== CONTENITORE =============================== */ #activityModalContent { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; } #activityModal .activity-modal-wrapper { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; } /* =============================== MAPPA LEAFLET =============================== */ #activityModal #activityMap { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding: 0; background: #d8d8d8; z-index: 1; } #activityModal .leaflet-container { width: 100%; height: 100%; } /* Protezione tile da eventuali regole globali sulle immagini */ #activityModal img.leaflet-tile { width: 256px !important; height: 256px !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; object-fit: initial !important; filter: none !important; background: transparent !important; } /* =============================== PULSANTE INFO ATTIVITÀ =============================== */ #activityInfoBtn { position: fixed; top: calc(60px + env(safe-area-inset-top)); right: calc(12px + env(safe-area-inset-right)); width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: #0033aa; background: #eef4ff; border: 1px solid #d0d8ff; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35); cursor: pointer; font-size: 21px; line-height: 1; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; z-index: 13000; } #activityInfoBtn:hover, #activityInfoBtn.active { background: #dfe9ff; border-color: #9fb4ff; } #activityInfoBtn:active { transform: translateY(1px); } #activityInfoBtn:focus-visible { outline: 2px solid #4c9ffe; outline-offset: 2px; } /* =============================== INFORMAZIONI ATTIVITÀ SULLA MAPPA =============================== */ #activityModal .activity-modal-info { position: absolute; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); padding: 12px 16px; color: #fff; background: rgba(0, 0, 0, 0.76); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 12px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); pointer-events: none; z-index: 12500; } #activityModal .activity-modal-title { margin: 0 0 4px; font-size: 16px; font-weight: 700; line-height: 1.25; } #activityModal .activity-modal-meta { margin-top: 2px; font-size: 14px; line-height: 1.35; opacity: 0.95; } /* =============================== CHIUSURA ACTIVITY MODAL Usa lo stesso stile .modal-close delle foto, ma con z-index più alto della mappa. =============================== */ #activityModalClose.modal-close { z-index: 16000 !important; } /* =============================== INFO PANEL SOPRA LA MAPPA =============================== */ #infoPanel.open, #infoPanel[data-open="1"] { z-index: 14000 !important; } /* =============================== MOBILE =============================== */ @media (max-width: 768px) { #activityModal .activity-modal-info { left: max(8px, env(safe-area-inset-left)); right: max(8px, env(safe-area-inset-right)); bottom: max(8px, env(safe-area-inset-bottom)); padding: 10px 12px; } #activityModal .activity-modal-title { font-size: 15px; } #activityModal .activity-modal-meta { font-size: 13px; } #activityInfoBtn { top: calc(58px + env(safe-area-inset-top)); right: calc(10px + env(safe-area-inset-right)); } }