/* Frontend styles */
.bp-cmb-frontend{width:100%;display:block}
.bp-cmb-frontend .bp-cmb-map{
  position:relative;
  display:block;
  width:100%;
  max-width:1200px;
  margin:0 auto;
}
.bp-cmb-frontend .bp-cmb-img{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
  border-radius:14px;
}
.bp-cmb-frontend .bp-cmb-svg{
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  pointer-events:none;
}
.bp-cmb-frontend .bp-cmb-svg line{
  stroke:#6b9e73;
  stroke-width:3;
  filter:drop-shadow(0px 0px 2px rgba(255,255,255,.9));
}
.bp-cmb-frontend .bp-cmb-pin{
  position:absolute;
  transform:translate(-50%,-50%);
  background:#f8fafc;
  border:1px solid #cbd5e1;
  border-radius:999px;
  padding: clamp(6px, 1.2vw, 10px) clamp(12px, 2vw, 16px) clamp(6px, 1.2vw, 10px) clamp(26px, 3vw, 32px);
  font-weight:800;
  font-size: clamp(11px, 1.2vw, 14px);
  color:#0f172a;
  box-shadow:0 10px 22px rgba(2,6,23,.18);
  user-select:none;
  white-space:nowrap;
  text-decoration:none;
}
.bp-cmb-frontend .bp-cmb-pin::before{
  content:"📍";
  position:absolute;
  left: clamp(8px, 1.4vw, 10px);
  top:50%;
  transform:translateY(-50%);
  font-size: clamp(12px, 1.6vw, 16px);
}
.bp-cmb-frontend .bp-cmb-center{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
  z-index:5;
}
.bp-cmb-frontend .bp-cmb-pin-text{
  display:inline-block;
  max-width: clamp(120px, 35vw, 260px);
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:bottom;
}
.bp-cmb-frontend .bp-cmb-clickable:hover{
  filter:brightness(1.02);
  transform:translate(-50%,-50%) scale(1.02);
}
@media (max-width: 480px){
  .bp-cmb-frontend .bp-cmb-pin{
    box-shadow:0 8px 16px rgba(2,6,23,.16);
  }
}
/* === Mobile tuning (smaller pins, wrap text) === */
@media (max-width: 600px){
  .bp-cmb-frontend .bp-cmb-pin{
    font-size: 10px;
    padding: 5px 10px 5px 22px; /* reduce “pill” size */
    border-radius: 16px;        /* less “huge pill” look */
    white-space: normal;        /* allow wrapping */
    line-height: 1.15;
    max-width: 78vw;            /* keep inside screen */
    word-break: break-word;
    box-shadow: 0 6px 14px rgba(2,6,23,.16);
  }

  .bp-cmb-frontend .bp-cmb-pin::before{
    left: 6px;
    font-size: 12px;
  }

  .bp-cmb-frontend .bp-cmb-pin-text{
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
  }
}