/* Layout */
.wmil .mapwrap{position:relative;max-width:1400px;margin:0 auto}
.wmil .mapwrap>img{display:block;width:100%;height:auto}
.wmil #pins{position:absolute;inset:0}

/* Pins (pin color via --pin-color; default maps to c1 bg) */
.wmil .pin{
  position:absolute;transform:translate(-50%,-100%) scale(0);
  width:28px;height:28px;border:0;background:none;cursor:pointer;
  padding:0;line-height:0;transform-origin:center;
  animation:pinPop .5s ease forwards;
  --pin-color: var(--c1-bg, #0f5a7a);
}
.wmil .pin::after{
  content:"";position:absolute;inset:0;
  background: var(--pin-color);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c-3.866 0-7 3.134-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.866-3.134-7-7-7zm0 11a3.5 3.5 0 110-7 3.5 3.5 0 010 7z'/></svg>") center/28px 28px no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c-3.866 0-7 3.134-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.866-3.134-7-7-7zm0 11a3.5 3.5 0 110-7 3.5 3.5 0 010 7z'/></svg>") center/28px 28px no-repeat;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.1));
  transform:scale(1);transform-origin:center;transition:transform .18s ease
}
.wmil .pin:hover::after,.wmil .pin:focus-visible::after{transform:scale(1.35)}
.wmil .pin:hover,.wmil .pin:focus-visible{z-index:10}
.wmil .pin.is-hidden{display:none}
.wmil .pin.is-active::after{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}

/* Pop-in */
@keyframes pinPop{
  0%{transform:translate(-50%,-100%) scale(0);opacity:0}
  70%{transform:translate(-50%,-100%) scale(1.5);opacity:1}
  100%{transform:translate(-50%,-100%) scale(1)}
}

/* Filter buttons (inactive look stays neutral; active uses configurable vars) */
.wmil .map-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:12px 0 16px}
.wmil .map-filter{appearance:none;border:1px solid #d0d7de;background:#fff;border-radius:999px;padding:.45rem .9rem;cursor:pointer;font-size:14px;transition:all .2s;color:#222}
.wmil .map-filter.is-active[data-which="all"]{background:var(--all-bg,#fff);border-color:var(--all-bg,#fff);color:var(--all-text,#222)}
.wmil .map-filter.is-active[data-which="c1"]{background:var(--c1-bg,#0f5a7a);border-color:var(--c1-bg,#0f5a7a);color:var(--c1-text,#fff)}
.wmil .map-filter.is-active[data-which="c2"]{background:var(--c2-bg,#666);border-color:var(--c2-bg,#666);color:var(--c2-text,#fff)}
.wmil .map-filter.is-active[data-which="c3"]{background:var(--c3-bg,#7a5a0f);border-color:var(--c3-bg,#7a5a0f);color:var(--c3-text,#fff)}

/* Modal */
.wmil .mapmodal{
  position:fixed;inset:0;
  background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
  z-index:9999;
}
.wmil .mapmodal[aria-hidden="false"]{opacity:1;pointer-events:auto}

.wmil .mapmodal__dialog{
  position:relative;
  background:#fff;
  width:min(480px, 100%);
  max-height:calc(100vh - 40px);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

/* Header bar with title */
.wmil #mm-title{
  margin:0;
  padding:20px 52px 18px 24px;
  font-size:1.1rem;
  font-weight:700;
  line-height:1.2;
  border-bottom:1px solid #f0f0f0;
  letter-spacing:.02em;
}

/* Close button */
.wmil .mapmodal__close{
  position:absolute;top:14px;right:16px;
  border:0;background:none;
  width:32px;height:32px;
  border-radius:50%;
  font-size:20px;line-height:1;
  cursor:pointer;color:#666;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.wmil .mapmodal__close:hover{background:#f5f5f5;color:#111}

/* Scrollable body */
.wmil .mapmodal__body{
  margin:0;
  padding:0;
  overflow-y:auto;
  overflow-wrap:break-word;
  hyphens:auto;
  flex:1;
}

/* Each structured field row */
.wmil .mapmodal__body p{
  margin:0;
  padding:13px 24px;
  border-bottom:1px solid #f5f5f5;
  font-size:.95rem;
  line-height:1.4;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.wmil .mapmodal__body p:last-child{border-bottom:0}

/* Icons before each field type */
.wmil .mapmodal__body p::before{
  content:'';
  display:inline-block;
  width:18px;height:18px;
  min-width:18px;
  margin-top:1px;
  background:var(--c1-bg,#0f5a7a);
  opacity:.7;
  border-radius:3px;
}
.wmil .mapmodal__body .wmil-modal-name::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/></svg>") center/18px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/></svg>") center/18px no-repeat;
}
.wmil .mapmodal__body .wmil-modal-website::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 100 20A10 10 0 0012 2zm-1 17.93V18a1 1 0 00-1-1H8a2 2 0 01-2-2v-1l-2.93-2.93A8.03 8.03 0 014.07 7H5a2 2 0 012 2v.5A1.5 1.5 0 008.5 11H9a2 2 0 012 2v.93zM17.9 16.4A6 6 0 0116 17v-1a2 2 0 00-2-2h-1v-1a1 1 0 011-1h2.5a1.5 1.5 0 001.5-1.5V10a1 1 0 011-1h.93a8.03 8.03 0 01-1.03 7.4z'/></svg>") center/18px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 100 20A10 10 0 0012 2zm-1 17.93V18a1 1 0 00-1-1H8a2 2 0 01-2-2v-1l-2.93-2.93A8.03 8.03 0 014.07 7H5a2 2 0 012 2v.5A1.5 1.5 0 008.5 11H9a2 2 0 012 2v.93zM17.9 16.4A6 6 0 0116 17v-1a2 2 0 00-2-2h-1v-1a1 1 0 011-1h2.5a1.5 1.5 0 001.5-1.5V10a1 1 0 011-1h.93a8.03 8.03 0 01-1.03 7.4z'/></svg>") center/18px no-repeat;
}
.wmil .mapmodal__body .wmil-modal-email::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/></svg>") center/18px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/></svg>") center/18px no-repeat;
}
.wmil .mapmodal__body .wmil-modal-phone::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/></svg>") center/18px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/></svg>") center/18px no-repeat;
}
.wmil .mapmodal__body .wmil-modal-address::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c-3.866 0-7 3.134-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.866-3.134-7-7-7zm0 11a3.5 3.5 0 110-7 3.5 3.5 0 010 7z'/></svg>") center/18px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c-3.866 0-7 3.134-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.866-3.134-7-7-7zm0 11a3.5 3.5 0 110-7 3.5 3.5 0 010 7z'/></svg>") center/18px no-repeat;
}

/* Name row — not a link, bold */
.wmil .mapmodal__body .wmil-modal-name strong{font-weight:600;font-size:1rem}

/* Link styling inside rows */
.wmil .mapmodal__body a{
  color:var(--c1-bg,#0f5a7a);
  text-decoration:none;
  transition:opacity .15s;
}
.wmil .mapmodal__body a:hover{opacity:.75;text-decoration:underline}

/* Footer link button */
.wmil #mm-link{
  display:block;
  margin:0;
  padding:14px 24px;
  border-top:1px solid #f0f0f0;
  color:var(--c1-bg,#0f5a7a);
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  transition:background .15s;
}
.wmil #mm-link:hover{background:#f9f9f9}

/* Layering */
.wmil .map-controls{position:relative;z-index:10}
.wmil .mapwrap>img{pointer-events:none}
.wmil #pins{pointer-events:none}
.wmil #pins .pin{pointer-events:auto;z-index:5}
.wmil .mapwrap{position:relative;z-index:1}

/* Location list */
.wmil .maplist{margin:28px 0 0;color:#2b2b2b}
.wmil .maplist>strong{display:block;margin:0 0 6px;font-weight:700}
.wmil .location-inline{display:block;text-align:justify;text-justify:inter-word;}
.wmil .location-link{
  -webkit-appearance:none;appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0;margin:0;border-radius:0!important;display:inline;font:inherit;line-height:1.35;cursor:pointer;
  color:#2b2b2b;text-decoration:none
}
.wmil .location-link:hover{text-decoration:underline}
.wmil .location-link:focus-visible{outline:2px solid #93c4d6;outline-offset:2px;border-radius:4px}
.wmil .location-link.is-active{color:#0f5a7a;font-weight:700;text-decoration:underline}
/* Generic active style for dynamically-added categories beyond c3 */
.wmil .map-filter.is-active:not([data-which="all"]):not([data-which="c1"]):not([data-which="c2"]):not([data-which="c3"]) {
  background: var(--cat-bg, var(--all-bg,#fff));
  border-color: var(--cat-bg, var(--all-bg,#fff));
  color: var(--cat-text, var(--all-text,#222));
}

.wmil .location-inline::after{content:"";display:inline-block;width:100%;}
.wmil .location-link{display:inline-block;margin:0 .75rem .25rem 0;}

/* Hide inline list */
.wmil .maplist{display:none!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;}
