/* Map Info Overlay Style (Air Command Style) */

/* OpenLayers가 오버레이를 감싸는 기본 div에 추가될 클래스 */
.air-command-ol-overlay {
    pointer-events: none; /* OpenLayers 기본 wrapper는 클릭 안되게 */
}

.air-command-ol-overlay * {
    pointer-events: auto; /* 내부 요소들은 클릭 가능하게 */
}

/* 에어커맨드 메인 메뉴 (토글 버튼 및 방사형 메뉴 포함) */
.air-command-menu {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%); /* 마커 위치(0,0)의 중앙에 메뉴의 중심을 맞춤 */
    /* pointer-events: none; /* 자식 요소 auto */ */
}

/* 토글 버튼 (중심 마커 정보 표시 및 메뉴 활성화) */
.air-command-menu .toggle {
    position: relative;
    width: 80px; /* 토글 버튼 크기 */
    height: 80px; /* 토글 버튼 크기 */
    background-color: rgba(33, 150, 243, 0.9); /* 배경색 */
    border-radius: 50%; /* 원형 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    /* pointer-events: auto; /* air-command-ol-overlay * 에서 설정 */ */
    color: white;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    transition: all 0.3s ease;
    z-index: 2; /* 버튼들보다 위에 오도록 */
}

.air-command-menu .toggle:hover {
     background-color: rgba(25, 118, 210, 0.95);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
     transform: scale(1.05);
}

.air-command-menu .toggle img {
    width: 30px; /* 아이콘 크기 */
    height: 30px; /* 아이콘 크기 */
    margin-bottom: 4px;
}

.air-command-menu .toggle .landName {
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%; /* 텍스트 영역 제한 */
    padding: 0 5px; /* 좌우 패딩 */
}


/* 방사형 버튼 컨테이너 */
/* 이 컨테이너 자체는 크기가 1px로 작고, 내부 wrapper들이 여기서부터 퍼져나갑니다. */
.air-command-buttons-radial {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 토글 버튼 중앙에 맞춤 */
    width: 1px; /* 초기 크기 매우 작게 */
    height: 1px; /* 초기 크기 매우 작게 */
    /* border: 1px dashed red; /* 디버깅용 */
}

/* 개별 버튼 wrapper (위치 및 애니메이션 적용용) */
/* JS에서 translate(x,y)로 위치 설정. 초기 상태 및 애니메이션은 CSS로 */
.air-command-button-wrapper {
    position: absolute;
    top: 0; /* air-command-buttons-radial의 중앙(0,0) 기준 */
    left: 0; /* air-command-buttons-radial의 중앙(0,0) 기준 */
    width: 70px; /* 버튼 크기 */
    height: 70px; /* 버튼 크기 */
    margin-top: -35px; /* wrapper 크기의 절반만큼 위로 이동하여 중심 맞추기 */
    margin-left: -35px; /* wrapper 크기의 절반만큼 왼쪽으로 이동하여 중심 맞추기 */
    display: flex;
    align-items: center;
    justify-content: center;

    /* 애니메이션 설정 */
    /* JS에서 translate(x,y)를 적용하므로 초기 transform에 translate(-50%, -50%)는 제거 */
    /* 초기 상태 */
    opacity: 0; /* 초기 투명 */
    transform: scale(0); /* 초기 크기 0 */
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
     /* transition-delay는 JS에서 개별적으로 설정 */
}

/* 활성화된 메뉴 상태일 때 버튼 wrapper 애니메이션 종료 상태 */
body.air-command-active .air-command-button-wrapper {
    opacity: 1; /* 활성화 시 투명도 복구 */
    /* JS에서 설정한 translate(x,y)에 scale(1) 추가 */
    transform: scale(1); /* 최종 크기 1 (JS에서 translate은 유지됨) */
}


/* 개별 버튼 (클릭 가능한 원) */
.air-command-button {
    width: 100%; /* wrapper 크기에 맞춤 */
    height: 100%; /* wrapper 크기에 맞춤 */
    background-color: rgba(50, 50, 50, 0.9); /* 버튼 배경색 */
    color: white;
    border-radius: 50%; /* 원형 */
    display: flex;
    flex-direction: column; /* 아이콘과 텍스트를 세로로 배치 */
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    padding: 5px; /* 내부 여백 */
    box-sizing: border-box; /* 패딩 포함 크기 계산 */
    white-space: normal; /* 텍스트 줄바꿈 허용 */
    line-height: 1.2; /* 줄 간격 */
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.air-command-button:hover {
    background-color: rgba(0, 0, 0, 0.9); /* 호버 시 색상 변경 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    /* transform: scale(1.1); /* 호버 시 확대 (Wrapper의 transform과 함께 적용될 수 있도록 주의) */ */
    z-index: 1; /* 호버된 버튼이 위로 오게 */
}

/* 버튼 아이콘/이미지 */
.air-command-button .button-icon {
    width: 24px; /* 아이콘 크기 */
    height: 24px; /* 아이콘 크기 */
    margin-bottom: 2px;
}

/* 버튼 텍스트 */
.air-command-button span {
    font-size: 11px;
}

/* 하위 메뉴 (moreMenu) 스타일 - 필요시 추가 구현 */
.moreMenu {
    display: none; /* 기본 숨김 */
    position: absolute;
    /* 위치 및 스타일 정의 필요 */
    background-color: white;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    padding: 5px 0;
    z-index: 20; /* 다른 요소보다 위에 */
    pointer-events: auto; /* 하위 메뉴 자체도 클릭 가능하게 */
}

.moreMenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.moreMenu li {
    padding: 8px 12px;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: flex;
    align-items: center;
    white-space: nowrap; /* 텍스트 줄바꿈 방지 */
}

.moreMenu li:hover {
    background-color: #f0f0f0;
}

.moreMenu li img {
    width: 18px;
    height: 18px;
    margin-right: 8px;
}

.moreMenu li .label {
    /* 하위 메뉴 텍스트 스타일 */
}

/* 기존 스타일 제거 또는 주석 처리 (이전 CSS에서 이미 대부분 제거됨) */
/* .map-info-overlay h4, */
/* .map-info-overlay p, */
/* .map-info-overlay p::before, */
/* .map-info-overlay button:not(.air-command-button) { */
    /* display: none; */
/* } */