/* 버전: 202604122012 */
/* 시작: map-core.css v202603222134 (수동 마커 숨김 토글 CSS 클래스 지원 추가) */

body, html { margin: 0; padding: 0; height: 100%; width: 100%; font-family: 'Pretendard', sans-serif; overflow: hidden; cursor: default; }
#map { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; cursor: crosshair !important; }
.control-layer { position: absolute; z-index: 1000; pointer-events: auto; }

.start-point-icon { 
    box-sizing: border-box !important; background-color: #67CF67 !important; border: 2.5px solid #ffffff !important; border-radius: 50% !important; box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important; width: 14px !important; height: 14px !important; 
}
.end-point-icon { 
    box-sizing: border-box !important; background-color: #ffffff !important; border: 2.5px solid #ffffff !important; border-radius: 50% !important; box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important; width: 14px !important; height: 14px !important; overflow: hidden !important; background-image: linear-gradient(45deg, #000 25%, transparent 25%, transparent 75%, #000 75%, #000) !important; background-size: 4px 4px !important; background-position: 0 0, 2px 2px !important; 
}

.hover-guide-point-inner {
    width: 16px;
    height: 16px;
    background-color: white;
    border: 3.5px solid #4285F4;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    box-sizing: border-box;
}

.hover-guide-point {
    background: transparent !important;
    border: none !important;
}

.milestone-major, .milestone-minor {
    background: transparent !important;
    border: none !important;
}

.milestone-major-inner {
    position: absolute;
    transform: translate(-50%, -50%); 
    background-color: white;
    border: 2px solid; 
    border-radius: 12px;
    padding: 1px 5px;
    font-size: 11px;
    font-weight: 600; 
    color: #333;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    white-space: nowrap; 
    text-align: center;
    line-height: 14px;
}

.milestone-minor-inner {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color: white;
    border: 2px solid; 
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
    box-sizing: border-box;
}

.waypoint-marker {
    background: transparent !important;
    border: none !important;
    transition: opacity 0.2s ease;
}
.waypoint-marker-inner {
    position: absolute;
    transform: translate(-50%, calc(-100% - 10px));
    background-color: white;
    border: 2px solid #555; 
    border-radius: 15px;
    padding: 4px 10px;
    display: flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    white-space: nowrap;
    transition: padding 0.2s ease, transform 0.2s ease, filter 0.2s ease;
}
.waypoint-marker-inner::after {
    content: '';
    position: absolute;
    bottom: -10px; 
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px 8px 0;
    border-style: solid;
    border-color: #555 transparent transparent transparent; 
}

.waypoint-marker-inner i {
    font-size: 13px;
    color: #555;
}

.waypoint-marker-inner .wp-name {
    font-size: 12px;
    font-weight: 700;
    color: #333;
    transition: display 0.2s ease;
    width: auto !important;
}

#map.wp-hide-text .waypoint-marker .wp-name {
    display: none;
}
#map.wp-hide-text .waypoint-marker-inner {
    padding: 4px 6px; 
    gap: 0;
}

#map.wp-hide-all .waypoint-marker {
    display: none !important;
}

#map.wp-force-hide .waypoint-marker {
    display: none !important;
}

.dragging-wp-active {
    transform: translate(-50%, calc(-100% - 25px)) scale(1.15) !important;
    filter: drop-shadow(0 15px 15px rgba(0,0,0,0.5)) !important;
    z-index: 3000 !important;
    cursor: grabbing !important;
}

/* 시작: 경로 클릭 시 아웃라인(사각 박스) 완벽 제거 짧은설명: 지도 내 모든 인터랙티브 요소 클릭 시 발생하는 포커스 아웃라인 및 탭 하이라이트 강제 무효화 */
.leaflet-container * {
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
}

.leaflet-interactive,
path.leaflet-interactive,
svg.leaflet-zoom-animated {
    outline: none !important;
}

.leaflet-interactive:focus,
path.leaflet-interactive:focus,
svg.leaflet-zoom-animated:focus,
.leaflet-interactive:active,
path.leaflet-interactive:active {
    outline: none !important;
}
/* 끝: 경로 클릭 시 아웃라인(사각 박스) 완벽 제거 짧은설명: 지도 내 모든 인터랙티브 요소 클릭 시 발생하는 포커스 아웃라인 및 탭 하이라이트 강제 무효화 */

/* 끝: map-core.css v202603222134 */