/* NeuraLocus Map -- shared styles. Theme-aware via html[data-theme]. */

.nlmap-pin { cursor:pointer; will-change:transform; }
.nlmap-pin svg { display:block; filter:drop-shadow(0 2px 3px rgba(0,0,0,.35)); }

.nlmap-fallback {
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; min-height:220px;
  font:500 .9rem/1.4 system-ui, sans-serif; color:#7a7268;
  background:#f4f1ea;
}
html[data-theme="dark"] .nlmap-fallback { background:#1a1f27; color:#8a8478; }

/* --- Layers control ---------------------------------------------------- */
.nlmap-layers-ctrl { position:relative; margin-top:6px; clear:both; }
.nlmap-layers-btn {
  font:600 .72rem/1 system-ui, sans-serif; letter-spacing:.02em;
  padding:0 .55rem; height:29px; min-width:auto; cursor:pointer;
  background:#fff; color:#2c2822; border:0;
}
.nlmap-layers-panel {
  position:absolute; top:34px; left:0; z-index:5;
  background:#fff; border-radius:6px; padding:.5rem .6rem;
  box-shadow:0 2px 10px rgba(0,0,0,.18); min-width:150px;
}
.nlmap-layers-row {
  display:flex; align-items:center; gap:.5rem;
  font:500 .78rem/1.6 system-ui, sans-serif; color:#2c2822;
  padding:.15rem 0; cursor:pointer; user-select:none;
}
.nlmap-layers-row input { accent-color:#2e8b57; cursor:pointer; }

html[data-theme="dark"] .nlmap-layers-btn { background:#20262f; color:#e2ddd4; }
html[data-theme="dark"] .nlmap-layers-panel { background:#20262f; box-shadow:0 2px 12px rgba(0,0,0,.5); }
html[data-theme="dark"] .nlmap-layers-row { color:#e2ddd4; }

/* --- Map-type switcher ------------------------------------------------- */
.nlmap-type-ctrl { display:flex; overflow:visible; white-space:nowrap; }
.nlmap-type-btn {
  font:600 .72rem/1 system-ui, sans-serif; letter-spacing:.02em;
  padding:0 .7rem; height:29px; min-width:max-content; border:0; cursor:pointer;
  background:#fff; color:#4a4238; border-right:1px solid rgba(0,0,0,.08);
}
.nlmap-type-btn:last-child { border-right:0; }
.nlmap-type-btn.is-active { background:#2e8b57; color:#fff; }
.nlmap-type-btn.is-pending { color:#b3aca1; cursor:not-allowed; }

html[data-theme="dark"] .nlmap-type-btn { background:#20262f; color:#b8b0a4; border-right-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .nlmap-type-btn.is-active { background:#2e8b57; color:#fff; }
html[data-theme="dark"] .nlmap-type-btn.is-pending { color:#5a5348; }

/* --- Popup polish (inherits dApp font) --------------------------------- */
.maplibregl-popup.nlmap-popup .maplibregl-popup-content {
  font:inherit; border-radius:8px; padding:.7rem .8rem;
}
