/* Registration shapes share a 40 px grid and the map's ink/cream palette.
   A selection ring changes emphasis without replacing the kind's shape. */
[data-place-kind="eat"], .place-kind-eat {
  --kind-accent:#b5562c;--kind-tint:#fff0e4;--kind-image:url('assets/place-kinds/eat.svg');
}
[data-place-kind="buy"], .place-kind-buy {
  --kind-accent:#a45b2f;--kind-tint:#fff0de;--kind-image:url('assets/place-kinds/buy.svg');
}
[data-place-kind="stay"], .place-kind-stay {
  --kind-accent:#9a4f5c;--kind-tint:#fbecef;--kind-image:url('assets/place-kinds/stay.svg');
}
[data-place-kind="experience"], .place-kind-experience {
  --kind-accent:#8a5a2b;--kind-tint:#f8eee2;--kind-image:url('assets/place-kinds/experience.svg');
}
[data-place-kind="play"], .place-kind-play {
  --kind-accent:#3f7c86;--kind-tint:#e6f4f5;--kind-image:url('assets/place-kinds/play.svg');
}
[data-place-kind="ask"], .place-kind-ask {
  --kind-accent:#8b6b1f;--kind-tint:#fbf3dc;--kind-image:url('assets/place-kinds/ask.svg');
}
[data-place-kind="make"], .place-kind-make {
  --kind-accent:#426b83;--kind-tint:#e9f2f6;--kind-image:url('assets/place-kinds/make.svg');
}
[data-place-kind="hub"], .place-kind-hub {
  --kind-accent:#3c7a5e;--kind-tint:#e6f4ec;--kind-image:url('assets/place-kinds/hub.svg');
}
[data-place-kind="event"], .place-kind-event {
  --kind-accent:#805d8b;--kind-tint:#f4ecf5;--kind-image:url('assets/place-kinds/event.svg');
}
[data-place-kind="unknown"], .place-kind-unknown {
  --kind-accent:#68737a;--kind-tint:#edf0f1;--kind-image:none;
}
.place-kind-icon {
  display:inline-block;position:relative;flex:0 0 auto;width:24px;height:24px;
  background:var(--kind-image,none) center / contain no-repeat;
  image-rendering:pixelated;
}
[data-place-kind="unknown"] .place-kind-icon::after,
.place-kind-icon.place-kind-unknown::after {
  content:'?';position:absolute;inset:13%;display:grid;place-items:center;
  border:1.5px solid #68737a;border-radius:50%;background:#f2f3f1;color:#53616a;
  font:700 16px/1 sans-serif;
}
.place-kind-badge {
  display:inline-flex;align-items:center;gap:4px;max-width:100%;vertical-align:middle;
  color:#264654;background:var(--kind-tint,#edf0f1);border:1px solid #d7dfdf;
  border-radius:6px;padding:2px 6px;font-size:11px;line-height:1.4;font-weight:650;
}
.place-kind-badge .place-kind-icon { width:22px;height:22px; }
.marker-visual { display:flex;align-items:center;justify-content:center;gap:4px; }
.marker-logo {
  display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;
  background:#fffef8;border:1px solid #fff;border-radius:5px;padding:1px;
  box-shadow:0 1px 3px #173d5120;
}
.marker-logo img { display:block;width:26px;height:26px;object-fit:contain; }
.demo-marker .marker-house {
  width:46px;height:46px;background:#fffdf3f5;border:2px solid #fffef4;
  border-radius:8px;box-shadow:0 0 0 1px var(--kind-accent,#68737a);
}
.demo-marker .marker-house .place-kind-icon { width:40px;height:40px; }
.demo-marker[data-place-kind="unknown"] .marker-house .place-kind-icon::after { font-size:24px; }
.demo-marker .marker-label { max-width:184px;border-color:#fffef4; }
.demo-marker .marker-label > span {
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;overflow-wrap:anywhere;
}
.demo-marker .marker-label small { color:#526875;font-size:8px; }
.demo-marker.selected .marker-house {
  box-shadow:0 0 0 2px #fffdf3,0 0 0 5px #e58a4e;
}
.demo-marker.selected .marker-label { border-color:#e58a4e;background:#fff9ed; }
.demo-marker:focus-visible { outline:3px solid #173f56;outline-offset:6px; }
