/* StudentBnB Poland — final desktop/mobile map alignment. */
.country-market-map{
  width:100%;
  max-width:none;
  height:auto!important;
  min-height:0!important;
  margin-top:0;
  padding:0!important;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible!important;
  display:block!important;
}
.market-map-canvas{
  display:block!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
  padding:8px 0 16px!important;
  overflow:visible!important;
}
.market-map-visual{
  position:relative;
  width:min(100%,650px)!important;
  max-width:650px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0 auto!important;
  overflow:visible!important;
  background:#fff;
}
.market-map-image{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.map-city-marker{
  display:block!important;
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:1px!important;
  height:1px!important;
  transform:translate(-50%,-50%);
  z-index:6;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  cursor:pointer;
  touch-action:manipulation;
}
.map-city-marker span{
  display:block!important;
  position:absolute;
  top:50%;
  left:8px;
  transform:translateY(-50%);
  padding:4px 7px;
  border-radius:7px;
  background:rgba(255,255,255,.96);
  color:#171717;
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  font-size:10.5px;
  font-weight:850;
  white-space:nowrap;
  line-height:1.05;
  pointer-events:auto;
}
.map-city-marker.label-left span{left:auto;right:8px}
.map-city-marker:hover span,.map-city-marker:focus-visible span{background:#ffc400}

@media(max-width:1050px){
  .market-map-visual{width:min(100%,620px)!important;max-width:620px!important}
  .map-city-marker span{font-size:9px;padding:4px 6px}
}
@media(max-width:820px){
  .country-market-map{max-width:700px;margin:12px auto 0!important}
  .market-map-canvas{padding:8px 0 16px!important}
  .market-map-visual{width:min(90%,560px)!important;max-width:560px!important}
  .map-city-marker span{font-size:8px;padding:5px 7px;left:6px}
  .map-city-marker.label-left span{left:auto;right:6px}
}
@media(max-width:590px){
  .country-market-map{margin:6px auto 0!important;width:100%!important}
  .market-map-top{display:block!important;padding-inline:0}
  .market-country-code{display:none!important}
  .market-map-canvas{padding:4px 0 18px!important}
  .market-map-visual{width:84%!important;max-width:520px!important;margin:0 auto!important}
  .market-map-note{display:none!important}
  .map-city-marker span{font-size:8px;padding:6px 8px;max-width:92px;overflow:hidden;text-overflow:ellipsis;left:5px}
  .map-city-marker.label-left span{left:auto;right:5px}
}
@media(max-width:390px){
  .market-map-visual{width:88%!important}
  .map-city-marker span{font-size:7.5px;padding:5px 6px;max-width:82px}
}
