server_photo_s85js/public/css/activityModal.css
2026-08-11 08:45:04 +02:00

243 lines
4.2 KiB
CSS

/* 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));
}
}