/* Wilmy Fit map (Night Run theme). Shared by homepage directory, category pages and listing pages. Pairs with /map.js. */
#map,#lmap,.wm{position:relative;overflow:hidden;background:#0a0d15;border:1px solid var(--line,#1f2737);border-radius:var(--r,14px);z-index:1;filter:none}
#map{height:420px}#lmap{height:280px}
@media (max-width:640px){#map{height:340px}#lmap{height:240px}.wm .wm-locate button{padding:0 10px}.wm .wm-locate span{display:none}}
.wm .maplibregl-canvas{outline:0}
.wm-skel{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,#131a29 0,#0a0d15 60%);color:var(--mute,#8b94a7);font:500 13px Inter,system-ui,sans-serif;z-index:1}
.wm-skel span{padding:8px 14px;border:1px solid #232c3e;border-radius:999px;background:rgba(13,17,27,.7);animation:wmpulse 1.6s ease-in-out infinite}
@keyframes wmpulse{50%{opacity:.45}}
.wm-off{display:grid;place-items:center}
.wm-fallback{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--mute,#8b94a7);padding:24px;max-width:360px;font-size:14px}
.wm-fallback svg{color:var(--acc,#ff5a36)}.wm-fallback p{margin:0}
/* controls */
.wm .maplibregl-ctrl-group{background:rgba(13,17,27,.88);border:1px solid #2a3346;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}
.wm .maplibregl-ctrl-group button{width:36px;height:36px}
.wm .maplibregl-ctrl-group button+button{border-top:1px solid #2a3346}
.wm .maplibregl-ctrl-group button:hover{background-color:rgba(255,255,255,.06)}
.wm .maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,.wm .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{filter:invert(1) brightness(.9)}
.wm .wm-locate button{width:auto;display:flex;align-items:center;gap:6px;padding:0 12px;color:#e6e9f0;font:600 13px Inter,system-ui,sans-serif}
.wm .wm-locate button.on{color:var(--acc2,#ff7a59)}
.wm .wm-locate button.busy svg{animation:wmspin 1s linear infinite}
@keyframes wmspin{to{transform:rotate(360deg)}}
.wm .maplibregl-ctrl-attrib{background:rgba(10,13,21,.78);color:#8b94a7;font-size:11px}
.wm .maplibregl-ctrl-attrib,.wm .maplibregl-ctrl-attrib-inner{color:#8b94a7}
.wm .maplibregl-ctrl-attrib a{color:#aab3c4}
.wm .maplibregl-ctrl-attrib.maplibregl-compact{background:rgba(10,13,21,.85)}
.wm .maplibregl-ctrl-attrib-button{filter:invert(1);background-color:transparent}
.wm .maplibregl-cooperative-gesture-screen{background:rgba(7,9,15,.62);color:#fff;font:600 15px Inter,system-ui,sans-serif;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.wm-badge{position:absolute;left:10px;top:10px;z-index:2;padding:6px 11px;border-radius:999px;background:rgba(13,17,27,.88);border:1px solid #2a3346;color:#c2c9d6;font:600 12px Inter,system-ui,sans-serif;pointer-events:none}
.wm-badge:empty{display:none}
.wm-toast{position:absolute;left:50%;bottom:16px;transform:translate(-50%,8px);z-index:3;max-width:calc(100% - 32px);padding:9px 14px;border-radius:12px;background:#151c2b;border:1px solid #2a3346;color:#e6e9f0;font:500 13px Inter,system-ui,sans-serif;opacity:0;transition:.25s;pointer-events:none;text-align:center}
.wm-toast.on{opacity:1;transform:translate(-50%,0)}
.wm-me{width:16px;height:16px;border-radius:50%;background:#4dabff;border:3px solid #fff;box-shadow:0 0 0 6px rgba(77,171,255,.25)}
/* popup card */
.wm-pop .maplibregl-popup-content{background:#121826;color:var(--text,#f3f5f9);border:1px solid #2a3346;border-radius:14px;padding:14px 16px 12px;box-shadow:0 14px 40px rgba(0,0,0,.5);font:400 14px/1.45 Inter,system-ui,sans-serif}
.wm-pop.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.wm-pop.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.wm-pop.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#2a3346}
.wm-pop.maplibregl-popup-anchor-top .maplibregl-popup-tip,.wm-pop.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.wm-pop.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:#2a3346}
.wm-pop.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#2a3346}.wm-pop.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#2a3346}
.wm-pop .maplibregl-popup-close-button{color:#8b94a7;font-size:20px;width:30px;height:30px;right:2px;top:2px;border-radius:8px}
.wm-pop .maplibregl-popup-close-button:hover{background:rgba(255,255,255,.06);color:#fff}
.wm-card .wm-cat{display:flex;align-items:center;gap:7px;font:600 11px Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#aab3c4;padding-right:22px}
.wm-card .wm-cat i{width:8px;height:8px;border-radius:50%;flex:none}
.wm-card .wm-feat{font-weight:600;color:var(--acc2,#ff7a59);letter-spacing:.06em}
.wm-card h4{margin:6px 0 4px;font:600 16px/1.25 var(--display,"Space Grotesk"),Inter,sans-serif}
.wm-card h4 a{color:#fff;text-decoration:none}.wm-card h4 a:hover{color:var(--acc2,#ff7a59)}
.wm-card .wm-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--mute,#8b94a7);font-size:13px}
.wm-card .wm-rate{color:#ffcf66;font-weight:600}.wm-card .wm-rate small{color:var(--mute,#8b94a7);font-weight:400}
.wm-card .wm-go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:600 13px Inter,system-ui,sans-serif;color:var(--acc2,#ff7a59);text-decoration:none}
.wm-card .wm-go:hover{color:#fff}
/* legend: category chips get the same colour dot as their pins (set by map.js) */
.chip[data-wmc]{display:inline-flex;align-items:center;gap:7px}
.chip[data-wmc]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--wm-c);flex:none;box-shadow:0 0 0 2px rgba(0,0,0,.25)}
#results .card.wm-on{border-color:var(--acc,#ff5a36)}
