2026-05-06 18:35:19 -05:00

99 lines
2.2 KiB
CSS

.custom-map {
position: relative;
width: 100%;
height: auto;
overflow: auto;
max-width: 100%;
max-height: 80vh;
border-radius: 14px;
box-shadow: 0 6px 24px rgba(0,0,0,0.15), 0 1.5px 6px #c6c8c9;
background: #f7f9fb;
border: none;
padding: 24px 0 24px 0;
}
.custom-map #map-container.dragging {
cursor: grabbing;
}
.custom-map #map-viewport {
display: block !important;
width: auto !important;
height: auto !important;
min-width: 0 !important;
min-height: 0 !important;
}
.custom-map #main-map {
display: block;
width: auto !important;
height: auto !important;
max-width: none !important;
max-height: none !important;
min-width: 0 !important;
min-height: 0 !important;
}
.custom-map #pins {
position: absolute;
top: 0; left: 0;
pointer-events: none; /* Clicks fall through to map image */
}
.custom-map .pin {
position: absolute;
width: 64px;
height: 64px;
transform: translate(-50%, -100%); /* Center bottom point on location */
pointer-events: auto; /* Pins remain clickable */
z-index: 10;
transition: transform 0.1s;
cursor: pointer;
filter: drop-shadow(0 2px 6px rgba(0,0,0,0.15));
}
.custom-map .pin:hover {
transform: translate(-50%, -120%) scale(1.1);
filter: drop-shadow(0 6px 18px rgba(0,104,207,0.15)) brightness(1.15);
z-index: 18;
}
.custom-map .pin img {
width: 100%;
height: 100%;
display: block;
border-radius: 10px;
user-select: none;
}
.pin-label {
display: block;
min-width: 45px;
max-width: 168px;
margin-top: 7px;
font-size: 1rem;
font-weight: 500;
color: #1452b9;
background: #fff;
border-radius: 24px;
padding: 2px 10px;
white-space: nowrap;
box-shadow: 0 2px 8px rgba(0,0,0,0.11);
text-align: center;
pointer-events: none; /* so clicks go to the pin anchor */
opacity: 0.90;
position: absolute;
left: 50%;
transform: translate(-50%, 0%);
z-index: 15;
border: 1.5px solid #dde7fa;
}
.pin:hover .pin-label {
opacity: 1;
background: #f3f8ff;
color: #1d4ba0;
}
.pin-highlight {
animation: pinPulse 0.8s ease;
}
@keyframes pinPulse {
0% { box-shadow: 0 0 0 0px rgba(45,156,219,0.52);}
80% { box-shadow: 0 0 0 18px rgba(45,156,219,0);}
100% { box-shadow: 0 0 0 0px rgba(45,156,219,0);}
}