/* /map/ page. Pins: green #0b4f3c (verified), amber ring (listed by host), grey #5b6560 (example). */
.map-page{display:flex;flex-direction:column}
.map-page>*{order:2}
.map-page>h1,.map-page>.lede,.map-page>.banner{order:0}
.map-page>.map-panel{order:1}
.lede{font-size:1.05rem}
.banner{background:#fff3d6;border:1px solid var(--amber-dark);border-left-width:6px;border-radius:var(--r);padding:.75rem 1rem;margin:.5rem 0 1rem;color:var(--ink)}
.btn{font:inherit;background:var(--green);color:#fff;border:0;border-radius:var(--r);padding:.6rem 1.1rem;min-height:44px;cursor:pointer}
.btn:hover{background:var(--green-2)}
.btn:disabled{opacity:.7;cursor:wait}
.map-panel{margin:.5rem 0 1rem}
.map-panel h2{margin-top:.5em}
.map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin:.5rem 0}
.map-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}
.map-toggle input{width:1.25rem;height:1.25rem}
.legend{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:.25rem 0 .5rem;padding:0;font-size:.9rem}
.legend li{display:flex;align-items:center;gap:.4rem;max-width:none}
.swatch{display:inline-block;width:.9rem;height:.9rem;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #1c2420}
.swatch--verified,.pin--verified .pin-dot{background:#0b4f3c}
.swatch--partner,.pin--partner .pin-dot{background:#0b4f3c;box-shadow:0 0 0 1px #1c2420,0 0 0 4px var(--amber)}
.swatch--example,.pin--example .pin-dot{background:#5b6560}
.map{position:relative;width:100%;height:60vh;min-height:320px;max-height:640px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#e8eee9}
.map-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.map .maplibregl-canvas{outline:none}
.pin{width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pin-dot{display:block;width:20px;height:20px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #1c2420}
.pin--partner .pin-dot{box-shadow:0 0 0 1px #1c2420,0 0 0 4px var(--amber)}
.pin:focus-visible{outline:3px solid var(--focus);outline-offset:0;border-radius:50%}
.maplibregl-popup-content{font:.9rem/1.4 system-ui,sans-serif;color:var(--ink);padding:.75rem 1rem 1rem}
.maplibregl-popup-content p{margin:.25rem 0}
.pop-name{font-weight:700;color:var(--green)}
.pop-meta,.pop-src{color:var(--muted);font-size:.85rem}
.pop-label{font-weight:600}
.maplibregl-popup-close-button{min-width:32px;min-height:32px;font-size:1.25rem}
/* list */
.places{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem}
.place{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.75rem 1rem;max-width:none}
.place p{margin:.2rem 0}
.place-name{font-size:1.1rem}
.place-meta{color:var(--muted)}
.place-label{font-weight:600}
.place--sample{background:#f1f2f0;border-style:dashed}
.place--sample .place-label{color:#3d4642}
.examples{margin:1.5rem 0;border:1px solid var(--line);border-radius:var(--r);padding:.25rem 1rem .5rem;background:#f8f9f7}
.examples summary{cursor:pointer;font-weight:700;color:var(--green);min-height:44px;display:flex;align-items:center}
.claim{margin-top:1.5rem;border-top:1px solid var(--line)}
@media (min-width:48rem){
  .places{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map{height:520px}
}
.map-page [hidden]{display:none!important}
