.mcgmo-wrapper{ position:relative; }
.mcgmo-map-outer{ position:relative; }
.mcgmo-map{ width:100%; border-radius: var(--mcgmo-radius, 14px); box-shadow:0 1px 2px rgba(0,0,0,.06); }

.mcgmo-toolbar{ display:flex; flex-direction:column; gap:10px; margin-bottom:10px; }
.mcgmo-filters{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.mcgmo-search{ flex:1; min-width:200px; padding:8px 10px; border:1px solid #ddd; border-radius:10px; }
.mcgmo-city{ padding:8px 10px; border:1px solid #ddd; border-radius:10px; background:#fff; }
.mcgmo-reset{ padding:8px 12px; border:1px solid #bbb; border-radius:10px; background:#fff; cursor:pointer; }
.mcgmo-reset:hover{ background:#f7f7f7; }
.mcgmo-tags{ display:flex; gap:8px; flex-wrap:wrap; overflow:auto; padding-bottom:4px; }
.mcgmo-chip{ border:1px solid #ddd; background:#fff; border-radius:999px; padding:6px 10px; cursor:pointer; font-size:14px; }
.mcgmo-chip.is-active{ border-color:#999; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.mcgmo-empty{ margin-top:8px; font-style:italic; opacity:.8; }
.mcgmo-popup{ max-width:320px; }
.mcgmo-popup img{ width:100%; height:auto; display:block; border-radius:10px; margin-bottom:6px; }
.mcgmo-popup h3{ margin:0 0 4px 0; font-size:16px; line-height:1.25; }
.mcgmo-popup .addr{ opacity:.85; font-size:13px; }

/* Cluster Branding via CSS Variables */
.mcgmo-wrapper .marker-cluster div{
  color: var(--mcgmo-cluster-color, #fff);
  border: 2px solid var(--mcgmo-cluster-stroke, #4A2E1E);
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.mcgmo-wrapper .marker-cluster-small div{ background: var(--mcgmo-cluster-bg-s, #EEDFCC) }
.mcgmo-wrapper .marker-cluster-medium div{ background: var(--mcgmo-cluster-bg-m, #D4A373) }
.mcgmo-wrapper .marker-cluster-large div{ background: var(--mcgmo-cluster-bg-l, #8B5E34) }