/* QiMen Direction — styles v1.1.3 */
.qd-wrap{
  max-width:980px;
  margin:14px auto;
  font-family:system-ui,Segoe UI,Roboto,Arial;
  position:relative;
}

.qd-title{
  margin:0 0 8px;
  font-size:20px;
  font-weight:700;
}

.qd-form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.qd-form input{
  flex:1;
  min-width:240px;
  padding:10px 12px;
  border:1px solid #ccc;
  border-radius:10px;
  box-sizing:border-box;
  font-size:14px;
}

.qd-form input:focus{
  outline:none;
  border-color:#4CAF50;
  box-shadow:0 0 0 3px rgba(76, 175, 80, 0.1);
}

.qd-form button{
  padding:10px 14px;
  border:0;
  border-radius:10px;
  background:#111;
  color:#fff;
  cursor:pointer;
  font-size:14px;
  font-weight:500;
  transition:background 0.2s;
}

.qd-form button:hover{
  background:#333;
}

.qd-toolbar{
  display:flex;
  gap:10px;
  align-items:center;
  margin:6px 0 10px;
  flex-wrap:wrap;
}

.qd-switch{
  display:flex;
  gap:6px;
  align-items:center;
  font-size:13px;
}

.qd-info{
  display:flex;
  gap:10px;
  align-items:center;
  margin:10px 0;
}

.qd-tag{
  background:#f3f4f6;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
}

#qd-map{
  height:540px;
  border-radius:12px;
  overflow:hidden;
  margin:10px 0;
}

.leaflet-container{
  background:#eef3f6;
}

.qd-hint{
  font-size:12px;
  color:#666;
  margin-top:8px;
}

/* Autocomplete dropdown */
.qd-suggest{
  position:relative;
  flex:1;
  min-width:240px;
}

.qd-suggest input{
  width:100%;
  box-sizing:border-box;
}

.qd-dd{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  margin-top:4px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
  z-index:1000;
  overflow:hidden;
  max-height:300px;
  overflow-y:auto;
}

.qd-dd.hidden{
  display:none;
}

.qd-dd-item{
  padding:10px 12px;
  cursor:pointer;
  border-bottom:1px solid #f0f0f0;
  font-size:14px;
  transition:background 0.15s;
}

.qd-dd-item:last-child{
  border-bottom:none;
}

.qd-dd-item:hover,
.qd-dd-item.active{
  background:#f5f7fb;
}

.qd-dd-item.qd-dd-empty{
  cursor:default;
  color:#999;
  text-align:center;
  font-style:italic;
}

.qd-dd-item.qd-dd-empty:hover{
  background:transparent;
}

/* Ping button */
.qd-ping{
  margin:10px 0;
  padding:8px 14px;
  border:1px solid #ccc;
  border-radius:8px;
  background:#f9f9f9;
  cursor:pointer;
  font-size:13px;
}

.qd-ping:hover{
  background:#eee;
}

.qd-ping-out{
  margin-top:8px;
  padding:12px;
  background:#f5f5f5;
  border-radius:8px;
  font-family:monospace;
  font-size:11px;
  white-space:pre-wrap;
  border:1px solid #ddd;
  max-height:200px;
  overflow-y:auto;
}

/* Responsive */
@media (max-width: 768px) {
  .qd-form{
    flex-direction:column;
  }
  
  .qd-form input,
  .qd-form button{
    width:100%;
    min-width:100%;
  }
  
  #qd-map{
    height:400px;
  }
  
  .qd-toolbar{
    flex-direction:column;
    align-items:flex-start;
  }
}