/* JUCAT · hartă comună v2 (CDev, 02.11.2026) — Găsește meciuri + Locații. Tokenurile vin din .jk (jucat-kit-v2.css).
   Butoane 3px, card 6px, ținte 44px, ambele teme, prefers-reduced-motion. Peste Leaflet (vendor/leaflet.css). */
.jk.jkm{position:relative;flex:none;height:var(--jkm-h,260px);border-radius:var(--R);border:1px solid var(--line);overflow:hidden;background:var(--field);isolation:isolate}
.jk.jkm.jkm-full{position:fixed;inset:0;z-index:70;height:auto;border-radius:0;border:0;animation:jkmFade .2s ease both}
body.jkm-lock{overflow:hidden!important}
.jkm .jkm-map{position:absolute;inset:0;z-index:0;background:
 radial-gradient(circle at 30% 70%,rgba(47,214,154,.14) 0 18%,transparent 19%),radial-gradient(circle at 75% 30%,rgba(90,169,230,.14) 0 14%,transparent 15%),#E9F1F5}
[data-theme=dark] .jkm .jkm-map{background:radial-gradient(circle at 30% 70%,rgba(47,214,154,.07) 0 18%,transparent 19%),radial-gradient(circle at 75% 30%,rgba(90,169,230,.08) 0 14%,transparent 15%),#0B1C23}
/* tema întunecată: tile-urile OSM (luminoase) sunt inversate, ca harta să nu orbească pe fundalul închis */
[data-theme=dark] .jkm .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.6)}
.jkm .leaflet-container{background:transparent;font-family:Barlow,Arial,sans-serif}
.jkm .jkm-slot{position:absolute;left:12px;right:12px;bottom:68px;z-index:1001;pointer-events:none}
.jkm .jkm-slot>*{pointer-events:auto}
.jkm .jkm-btn{position:absolute;z-index:1000;min-height:44px;padding:0 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);white-space:nowrap;font-family:inherit}
.jkm .jkm-tl{left:8px;top:8px}.jkm .jkm-bl{left:8px;bottom:8px}.jkm .jkm-br{right:8px;bottom:8px}
.jkm.jkm-full .jkm-tl{left:12px;top:calc(16px + env(safe-area-inset-top))}.jkm.jkm-full .jkm-bl{left:12px;bottom:calc(16px + env(safe-area-inset-bottom))}.jkm.jkm-full .jkm-br{right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}
.jkm .jkm-zoom{position:absolute;z-index:1000;right:8px;top:8px;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.jkm.jkm-full .jkm-zoom{right:12px;top:calc(16px + env(safe-area-inset-top))}
.jkm .jkm-z{width:44px;height:44px;border:0;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;padding:0}
.jkm .jkm-z+.jkm-z{border-top:1px solid var(--line)}
.jkm .jkm-z[aria-disabled=true]{color:var(--dis-t);cursor:not-allowed}
.jkm .jkm-count{min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:rgba(47,214,154,.22);color:var(--text);font-size:12px;font-weight:700;line-height:20px;text-align:center}
[data-theme=dark] .jkm .jkm-count{background:rgba(47,214,154,.14);color:#7CEBC2}
.jkm .jkm-attr{position:absolute;z-index:999;left:50%;transform:translateX(-50%);bottom:2px;padding:1px 6px;border-radius:3px;background:var(--surface);color:var(--muted);font-size:10px;line-height:14px;pointer-events:none;white-space:nowrap;opacity:.92}
.jkm.jkm-full .jkm-attr{bottom:calc(2px + env(safe-area-inset-bottom))}
@media(max-width:420px){.jkm:not(.jkm-full) .jkm-attr{bottom:auto;top:56px;left:8px;transform:none}}
.jkm .jkm-btn:focus-visible,.jkm .jkm-z:focus-visible,.jkm .jkm-pin:focus-visible{outline:2px solid var(--a);outline-offset:2px}
.jkm .jkm-btn:active:not([aria-disabled=true]),.jkm .jkm-z:active:not([aria-disabled=true]){transform:scale(.97);filter:brightness(.94)}
/* pinuri: ținta are 44px, cercul 32/38px; verde = meciuri, portocaliu = locații; selectat = chenar verde */
.jkm .leaflet-marker-icon.jkm-pin{background:transparent;border:0;display:grid;place-items:center;cursor:pointer;outline:none}
.jkm .jkm-dot{width:32px;height:32px;box-sizing:border-box;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;border:2px solid var(--surface);box-shadow:0 3px 10px rgba(0,0,0,.3);animation:jkmPin .35s ease both;animation-delay:calc(var(--i,0) * 40ms);transition:transform .2s ease}
.jkm-games .jkm-dot{background:var(--a);color:var(--on-a)}
.jkm-venues .jkm-dot{background:#FFB84D;color:#2A1A00;width:34px;height:34px}
.jkm-venues .jkm-pin.many .jkm-dot{width:38px;height:38px;font-size:15px}
.jkm .jkm-pin.on .jkm-dot{border:3px solid var(--a);transform:scale(1.12)}
.jkm .jkm-pin:focus-visible .jkm-dot{box-shadow:0 0 0 3px var(--a)}
@keyframes jkmPin{0%{transform:translateY(-8px) scale(.6);opacity:0}70%{transform:translateY(1px) scale(1.05);opacity:1}100%{transform:none}}
@keyframes jkmFade{from{opacity:0}to{opacity:1}}
/* aplicația impune 400 și geometrie pe butoane cu !important: un !important dintr-un @layer le bate (doar sub .jkm) */
@layer jkm-v2{
 .jkm :is(.jkm-btn,.jkm-btn span,.jkm-count,.jkm-dot){font-weight:700!important}
 .jkm .jkm-btn{min-height:44px!important;padding:0 12px!important;border-radius:3px!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important;font-size:13px!important;box-shadow:0 4px 14px rgba(0,0,0,.18)!important;margin:0!important;width:auto!important;height:auto!important;line-height:1.1!important;letter-spacing:0!important;text-transform:none!important}
 .jkm .jkm-z{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:none!important}
 .jkm .jkm-z+.jkm-z{border-top:1px solid var(--line)!important}
 .jkm .jkm-z[aria-disabled=true]{color:var(--dis-t)!important}
 .jkm .jkm-count,.jkm .jkm-dot{border-radius:999px!important}
}
@media(prefers-reduced-motion:reduce){.jkm,.jkm *{animation:none!important;transition:none!important}}
