.toody-av-map{margin:16px 0;}

.toody-av-map__topbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.toody-av-map__filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin:0;
}

.toody-av-map__field{position:relative;}

.toody-av-map__input{
  padding:12px 14px;
  min-width:240px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  outline:none;
  background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.06);
  transition:transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}

.toody-av-map__input:focus{
  border-color:rgba(230,24,115,.55);
  box-shadow:0 6px 24px rgba(230,24,115,.12);
  transform:translateY(-1px);
}

.toody-av-map__btn{
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:#111;
  color:#fff;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.10);
  transition:transform .08s ease, box-shadow .15s ease, opacity .15s ease;
}

.toody-av-map__btn:hover{transform:translateY(-1px)}
.toody-av-map__btn:active{transform:translateY(0)}

.toody-av-map__btn--secondary{
  background:#fff;
  color:#111;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

.toody-av-map__stats{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.82));
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

.toody-av-map__stat{display:flex;gap:8px;align-items:baseline;font-weight:700;}
.toody-av-map__stat-label{font-weight:600;opacity:.65}

.toody-av-map__canvas{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

/* Autocomplete */
.toody-av-map__suggest{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:5000;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  overflow:hidden;
  display:none;
}

.toody-av-map__suggest[aria-hidden="false"]{display:block;}

.toody-av-map__suggest-item{
  display:block;
  width:100%;
  text-align:left;
  padding:10px 12px;
  background:#fff;
  border:0;
  cursor:pointer;
  font-weight:600;
}

.toody-av-map__suggest-item:hover{
  background:rgba(230,24,115,.08);
}

/* Custom pin + cluster */
.toody-av-pin{background:transparent;border:0;}

.toody-av-cluster-wrap{background:transparent;border:0;}
.toody-av-cluster{
  width:44px;height:44px;
  border-radius:999px;
  background:var(--toody-pin);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-weight:800;
  border:3px solid #fff;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.toody-av-cluster span{transform:translateY(-.5px)}

/* Popup */
.toody-av-popup{font-family:inherit;}
.toody-av-popup__title{font-weight:800;margin-bottom:4px}
.toody-av-popup__meta{opacity:.75;margin-bottom:10px}
.toody-av-popup__link a{color:inherit;font-weight:800;text-decoration:underline;text-decoration-color:rgba(230,24,115,.55)}

@media (max-width: 640px){
  .toody-av-map__input{min-width:100%}
  .toody-av-map__stats{width:100%;justify-content:space-between}
}
