@charset "UTF-8";
/**
 * @Class Name  : map-main.css
 * @Description : 
 * @author      : YoungChoon, Ryu
 * @since       : 2025. 10. 16
 * @version 1.0
 *
 *
 * @Modification Information
 * 개정일자			     개정자                  개정내용
 * ------------------ ----------- --------------------------
 * 2025. 10. 16        YoungChoon, Ryu       최초생성
 *
 *
 * Copyright 2025. 올포랜드 INC.All rights reserved.
 */
 
/* ========== CSS 변수 (색상 팔레트) ========== */
:root {--color-primary:#2a7df7;--color-primary-hover:#1f6be0;--color-primary-light:#a8c6ff;--color-bg-dark:#081222;--color-bg-darker:#0a1628;--color-bg-panel:#1a2747;--color-bg-light:#f1f5fe;--color-border:#1b2c4e;--color-border-light:#28406f;--color-text-light:#e9f2ff;--color-text-muted:#cfe0ff;--color-text-dark:#111;--color-badge-gold:#b987ff;--color-badge-blue:#2a7df7;--color-badge-orange:#ff8c1a;--color-floating-bg:#5a6d9c;--topbar-height:56px;--bottombar-height:40px;--panel-width:360px;--panel-collapsed-width:8px;}

/* ===== 드래그 중 스타일 ===== */
.swipe-handle.dragging {  opacity: 1;}
.swipe-handle.dragging .swipe-icon {  background: linear-gradient(135deg, #5a67d8 0%, #6b46a0 100%);  box-shadow: 0 8px 25px rgba(42, 125, 247, 0.6);  cursor: grabbing;}

/* ===== 에어커멘드 상세 플로팅 카드(길찾기, 거리뷰, 연관검색) ===== */
.floating-link {position: absolute;transform: translate(-50%, -100%);pointer-events: auto;z-index: 2500;width: 200px;background: rgba(42, 42, 42, 0.8);border-radius: 12px;color: #fff;box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);text-align: center;}
.floating-link.hidden { display: none; }
.floating-link .floating-body {padding: 12px;display: flex;flex-direction: column;align-items: center;}
.floating-link .floating-header {width: 100%;display: flex;justify-content: space-between;align-items: center;margin-bottom: 10px;}
.floating-link .f-title {font-size: 15px;font-weight: 700;color: #fff;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.floating-link .f-close {background: none;border: none;color: #fff;font-size: 22px;font-weight: 700;cursor: pointer;line-height: 1;transition: 0.2s;}
.floating-link .f-close:hover { transform: scale(1.1); color: #ffdfdf; }
.map-icons {background: #fff;border-radius: 10px;padding: 8px 20px;display: flex;justify-content: center;align-items: center;gap: 10px;margin-bottom: 10px;}
.map-icon {width: 38px;height: 38px;cursor: pointer;transition: transform 0.2s ease;}
.map-icon:hover { transform: scale(1.2); }
.btn-close-floating {background: #2a7df7;border: none;color: #fff;padding: 6px 18px;border-radius: 6px;cursor: pointer;font-weight: 600;font-size: 13px;transition: background 0.2s ease;}
.btn-close-floating:hover { background: #1f5fd4; }
.floating-link .arrow {width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-top: 12px solid var(--color-floating-bg);position: absolute;left: 50%;transform: translateX(-50%);bottom: -12px;filter: drop-shadow(0 3px 4px rgba(0,0,0,0.2));}

/* ========== 하단바 ==========
.bottombar {position:fixed;left:0;right:0;bottom:0;height:var(--bottombar-height);z-index:20;display:flex;align-items:center;justify-content:space-between;background:#0e1a31;color:var(--color-primary-light);padding:0 14px;border-top:1px solid var(--color-border);font-size:13px;}
*/
/* ========== 접힘 상태 숨김 처리 ========== */
.left-panel.collapsed .left-header .title,.left-panel.collapsed .left-header .tab-group,.left-panel.collapsed .filters,.left-panel.collapsed .award-header,.left-panel.collapsed .cards {display:none!important;}

/* ========== 반응형 ========== */
@media (max-width:768px){.topbar .search-wrap input{width:180px;}.left-panel{width:100%;max-width:320px;}.toggle{left:320px;}}

/* 반응형: 작은 화면 (1200px 이하) */
@media screen and (max-width: 1200px) {
	.asdie-modal-dialog {
		width: 100% !important;
		left: auto !important;
	}
	
	.asdie-modal-dialog .modal-content .modal-conts .conts-area .chart-list,
	.asdie-modal-dialog .modal-content .modal-conts .conts-area .chart-list .chart-item .chart {
		width: 100%;
	}
}

/* =======   에어커맨드 (Air Command) == */
.air-command {  --size: 200px;  --thickness: 55px;  --c-light-blue: #a8c9f5;  --c-blue: #7da8f0;  --c-green: #6dd4a8;  --c-yellow: #ffc976;  --c-purple: #8080c0;  --c-pink: #f2a6df;  position: absolute;  width: var(--size);  height: var(--size);  pointer-events: none;  display: none;  z-index: 2;}
.air-command.active {  display: block;  animation: airCommandFadeIn 0.25s ease-out;}
@keyframes airCommandFadeIn {  from {    opacity: 0;    transform: scale(0.85);  }  to {    opacity: 1;    transform: scale(1);  }}
.air-command-center {  position: absolute;  top: 50%;  left: 50%;  width: 25%;  height: 25%;  transform: translate(-50%, -50%);  border-radius: 50%;  background: linear-gradient(180deg, #fff 0%, #f7f7f7 100%);  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25);  opacity: 0.9;  display: flex;  align-items: center;  justify-content: center;  overflow: hidden;  cursor: pointer;  pointer-events: auto;  z-index: 5;}
.air-command-center img {  width: 100%;  height: 100%;  object-fit: contain; background-repeat: no-repeat;}
.air-command-button {  position: absolute;  inset: 0;  width: 100%;  height: 100%;  border: none;  padding: 0;  border-radius: 50%;  background: var(--color);  opacity: 0.9;  -webkit-mask: radial-gradient(    circle at 50% 50%,    transparent calc(50% - var(--thickness)),    #000 calc(50% - var(--thickness))  );  mask: radial-gradient(    circle at 50% 50%,    transparent calc(50% - var(--thickness)),    #000 calc(50% - var(--thickness))  );  cursor: pointer;  pointer-events: auto;  transition: transform 0.2s ease, filter 0.2s ease;  z-index: 1;}
.air-command-button:hover {  transform: scale(1.03);  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));}
.air-command-button-label {  position: absolute;  left: 50%;  top: 50%;  --r: calc(var(--size) / 2 - var(--thickness) / 2 - 8px);  transform:    translate(-50%, -50%)    rotate(var(--angle))    translate(var(--r))    rotate(calc(var(--angle) * -1));  color: #fff;  font-size: 11px;  font-weight: 700;  white-space: nowrap;  text-shadow: 0 0 4px rgba(0, 0, 0, 0.35);}
.air-command-button[data-action="detail"] {  --start: 180deg;  --sweep: 45deg;  --angle: 200deg;  --color: var(--c-light-blue);  clip-path: polygon(    50% 50%,    0% 50%,   6.7% 6.7%   );}
.air-command-button[data-action="drone"] {  --start: 225deg;  --sweep: 45deg;  --angle: 245deg;  --color: var(--c-blue);  clip-path: polygon(    50% 50%,    6.7% 6.7%,    50% 0%   );}
.air-command-button[data-action="route"] {  --start: 270deg;  --sweep: 45deg;  --angle: 295deg;  --color: var(--c-green);  clip-path: polygon(    50% 50%,    50% 0%,    93.3% 6.7%  );}
.air-command-button[data-action="street"] {  --start: 315deg;  --sweep: 45deg;  --angle: 340deg;  --color: var(--c-yellow);  clip-path: polygon(    50% 50%,    93.3% 6.7%,    100% 50%  );}
.air-command-button[data-action="search"] {  --start: 0deg;  --sweep: 90deg;  --angle: 380deg;  --color: var(--c-purple);  clip-path: polygon(    50% 50%,    100% 50%,    100% 100%);}
/*.air-command-button[data-action="disabled"] {  --start: 0deg;  --sweep: 90deg;  --angle: 45deg;  --color: #d0d0d0;  clip-path: polygon(    50% 50%,    100% 50%,    100% 100%,    50% 100%  );  pointer-events: none;  cursor: default;}*/
.air-command-button[data-action="disabled"]:hover {  transform: scale(1);  filter: none;}

