.aikyu-map-toggle-bar{
  margin:0 0 12px;
}
.aikyu-map-toggle-btn{
  appearance:none;
  border:0;
  background:#1f7ae0;
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1;
  padding:12px 16px;
  border-radius:8px;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}
.aikyu-map-toggle-btn:hover{
  opacity:.92;
}
.aikyu-map-panel{
  display:block;
  margin:0 0 18px;
}
.aikyu-map-panel.is-closed{
  display:none;
}
.aikyu-map-wrap{
  margin:0;
}
.aikyu-map-head{
  margin:0 0 10px;
}
.aikyu-map-head-main h3{
  margin:0 0 6px;
  font-size:26px;
  line-height:1.4;
}
.aikyu-map-note{
  font-size:12px;
  line-height:1.8;
  color:#5f6368;
}
.aikyu-map-canvas{
  width:100%;
  height:480px;
  border:1px solid #d8dbe2;
  border-radius:12px;
  overflow:hidden;
  background:#f5f7fb;
}
@media (max-width: 767px){
  .aikyu-map-canvas{
    height:360px;
    border-radius:10px;
  }
  .aikyu-map-toggle-btn{
    width:100%;
  }
  .aikyu-map-head-main h3{
    font-size:22px;
  }
}

/* === AIKYU MAP LEGEND START === */
.aikyu-map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
  margin:0 0 12px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #e2e6ee;
  border-radius:10px;
}
.aikyu-map-legend-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  line-height:1.4;
  color:#444;
  font-weight:700;
}
.aikyu-map-legend-dot{
  width:12px;
  height:12px;
  border-radius:9999px;
  display:inline-block;
  box-shadow:0 0 0 2px rgba(255,255,255,.95), 0 1px 4px rgba(0,0,0,.18);
}
.aikyu-map-legend-dot.is-owned{
  background:#f08a00;
}
.aikyu-map-legend-dot.is-api{
  background:#1f7ae0;
}
.aikyu-map-legend-dot.is-crawler{
  background:#7b8794;
}
@media (max-width: 767px){
  .aikyu-map-legend{
    gap:8px 12px;
    padding:9px 10px;
  }
  .aikyu-map-legend-item{
    font-size:11px;
  }
}
/* === AIKYU MAP LEGEND END === */

/* === AIKYU MAP NOTICE START === */
.aikyu-map-note-safe{
  margin-top:6px;
  font-size:12px;
  line-height:1.6;
  color:#666;
}
/* === AIKYU MAP NOTICE END === */


/* === AIKYU MAP SEARCH UI START === */
.aikyu-map-wrap{position:relative;}
.aikyu-map-search{display:flex;gap:8px;flex-wrap:wrap;}
.aikyu-map-floating-search{
  position:static;
  z-index:auto;
  margin:12px 0 14px;
  padding:0;
  pointer-events:auto;
}
.aikyu-map-floating-search > *{pointer-events:auto;}
#aikyu-map-current-btn,
#aikyu-map-address-btn{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  cursor:pointer;
}
#aikyu-map-current-btn{background:#f39800;}
#aikyu-map-address-btn{background:#1787d4;}
#aikyu-map-address-input{
  flex:1;
  min-width:220px;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
@media (max-width: 767px){
  .aikyu-map-floating-search{margin:10px 0 12px;}
  #aikyu-map-current-btn,
  #aikyu-map-address-btn,
  #aikyu-map-address-input{width:100%;}
}
/* === AIKYU MAP SEARCH UI END === */

/* AICITY search/new map embed */
.aicity-map-page-embed{
  margin:16px 0 18px;
  padding:16px;
  background:#f7f7f7;
  border-radius:14px;
}
.aicity-map-page-embed .aicity-map-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}
.aicity-map-page-embed .aicity-map-head h3{
  font-size:22px;
  margin:0;
}
.aicity-map-wrap{position:relative;}
.aicity-map-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.aicity-map-search input{
  flex:1;
  min-width:220px;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.aicity-map-search button{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#1787d4;
  color:#fff;
  font-weight:bold;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  cursor:pointer;
}
.aicity-map-search button#aicity-map-current-btn{background:#f39800;}

.aicity-map-floating-search{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:9998;
  display:flex;
  gap:10px;
  align-items:center;
  margin:0;
}
.aicity-map-floating-search #aicity-map-current-btn{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:11px 15px;
  background:#f39800;
  color:#fff;
  font-weight:bold;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}
.aicity-map-floating-search #aicity-map-address-input{
  flex:1;
  min-width:0;
  border:0;
  border-radius:999px;
  padding:12px 15px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}
.aicity-map-floating-search #aicity-map-address-btn{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:12px 15px;
  background:#1787d4;
  color:#fff;
  font-weight:bold;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}

.aicity-map-filter{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.aicity-map-filter button,
.aicity-map-filter select{
  border:0;
  border-radius:999px;
  padding:8px 14px;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  cursor:pointer;
}
.aicity-map-filter button.is-active{background:#f39800;color:#fff;}
.aicity-map-filter-under{margin-top:12px;}

#aicity-map-canvas{
  height:640px;
  border-radius:14px;
  overflow:hidden;
  background:#ddd;
}
#aicity-map-loading{
  position:absolute;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  font-size:18px;
  font-weight:bold;
  border-radius:14px;
}

.aicity-map-note-under{
  margin-top:10px;
  font-size:12px;
  line-height:1.7;
  color:#666;
}

.aicity-photo-pin{width:54px;height:54px;border-radius:12px;border:3px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.35);background:#fff;position:relative;overflow:hidden;}
.aicity-photo-pin img{width:100%;height:100%;object-fit:cover;display:block;}
.aicity-photo-pin.is-review{border-color:#ff4f8b;}
.aicity-photo-pin.is-event{border-color:#ff8a00;}
.aicity-photo-pin.is-shop{width:34px;height:34px;border-radius:999px;border-color:#1787d4;}
.aicity-pin-label{position:absolute;right:-6px;top:-8px;background:#ff4f8b;color:#fff;border-radius:999px;min-width:20px;height:20px;line-height:20px;text-align:center;font-size:12px;font-weight:bold;}
.aicity-map-popup img{width:160px;height:100px;object-fit:cover;border-radius:8px;display:block;margin-bottom:8px;}
.aicity-map-popup-title{font-weight:bold;font-size:14px;display:block;margin-bottom:6px;}
.aicity-map-popup-meta{font-size:12px;color:#555;margin-bottom:4px;}
.aicity-map-popup-btn{display:inline-block;margin-top:8px;background:#005bac;color:#fff;padding:8px 14px;border-radius:6px;text-decoration:none;font-weight:bold;}

@media screen and (max-width:767px){
  .aicity-map-page-embed{
    padding:12px;
  }
  .aicity-map-page-embed .aicity-map-head h3{
    font-size:18px;
  }
  .aicity-map-floating-search{
    top:10px;
    left:10px;
    right:10px;
    gap:8px;
  }
  .aicity-map-floating-search #aicity-map-current-btn{
    padding:11px 13px;
    font-size:13px;
  }
  .aicity-map-floating-search #aicity-map-address-input{
    padding:11px 12px;
    font-size:13px;
  }
  .aicity-map-floating-search #aicity-map-address-btn{
    padding:11px 12px;
    font-size:13px;
  }
  #aicity-map-canvas{
    height:440px;
  }
}
