/* Mapa Warmii i Mazur (strona /mapa-warmii-i-mazur/ i zapowiedź na stronie głównej) */
.nbm{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px;align-items:start;padding-bottom:30px}
.nbm-map{position:relative;background:var(--tint);border-radius:26px;padding:14px}
.nbm-map svg#nbm-svg{display:block;width:100%;height:auto;cursor:grab;touch-action:pan-y;border-radius:18px;background:color-mix(in srgb,var(--bg) 60%,var(--tint))}
.nbm-map svg#nbm-svg.drag{cursor:grabbing}
.nbm-tools{position:absolute;right:26px;top:26px;z-index:2;display:flex;flex-direction:column;gap:6px}
.nbm-tools button{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font:600 22px var(--ui);cursor:pointer;box-shadow:0 4px 12px rgba(24,18,12,.12)}
.nbm-tools button:hover{background:var(--fg);color:var(--bg)}
.nbm-mini{position:absolute;left:26px;top:26px;z-index:2;border-radius:10px;overflow:hidden;border:2px solid var(--bg);box-shadow:0 4px 14px rgba(24,18,12,.2);cursor:grab;line-height:0;touch-action:none;user-select:none}
.nbm-mini.drag{cursor:grabbing}
.nbm-mini svg{display:block;width:150px;height:auto}
.nbm-mland{fill:color-mix(in srgb,var(--fg) 8%,var(--bg))}.nbm-msea{fill:color-mix(in srgb,var(--fg) 13%,var(--bg))}.nbm-mpl{fill:color-mix(in srgb,var(--fg) 4%,var(--bg));stroke:var(--mut);stroke-width:.5}
.nbm-mreg{fill:var(--ink);fill-opacity:.55;stroke:var(--ink);stroke-width:.6}.nbm-mview{fill:none;stroke:var(--red);stroke-width:1.6}
.nbm-sea{fill:color-mix(in srgb,var(--fg) 12%,var(--bg))}
.nbm-pl{fill:color-mix(in srgb,var(--fg) 4%,var(--bg));stroke:color-mix(in srgb,var(--fg) 35%,var(--bg));stroke-width:1.2;stroke-linejoin:round}
.nbm-ru{fill:color-mix(in srgb,var(--fg) 9%,var(--bg));stroke:color-mix(in srgb,var(--fg) 30%,var(--bg));stroke-width:1}
.nbm-region{fill:color-mix(in srgb,var(--ink) 14%,var(--bg));stroke:var(--ink);stroke-width:1.8;stroke-linejoin:round}
.nbm-water{fill:color-mix(in srgb,var(--fg) 20%,var(--bg));stroke:color-mix(in srgb,var(--fg) 34%,var(--bg));stroke-width:1}
.nbm-geo{font:italic 600 10px var(--serif);fill:var(--mut);pointer-events:none}
.nbm-nb{font:700 10px var(--ui);letter-spacing:.14em;fill:var(--mut);opacity:.7;pointer-events:none}
.nbm-ctxg{opacity:0;pointer-events:none;transition:opacity .3s}.nbm-ctxg.show{opacity:1}
.nbm-cd{fill:var(--mut)}.nbm-cl{font:600 11px var(--ui);fill:var(--mut);paint-order:stroke;stroke:var(--bg);stroke-width:3px}
.nbm-pin{cursor:pointer;outline:none}
.nbm-dot{stroke:var(--bg);transition:fill .2s}
.t-s .nbm-dot{fill:color-mix(in srgb,var(--red) 88%,var(--bg))}.t-m .nbm-dot{fill:var(--red)}.t-l .nbm-dot{fill:color-mix(in srgb,var(--red) 80%,#5a0610)}
.nbm-pin.x .nbm-dot{fill:color-mix(in srgb,var(--ink) 75%,var(--bg))}
.nbm-pin:hover .nbm-dot,.nbm-pin:focus-visible .nbm-dot{fill:var(--fg)}
.nbm-pin.on .nbm-dot{fill:var(--ink);stroke:var(--bg)}
.nbm-ring{fill:none;stroke:var(--ink);opacity:.55;animation:nbmpulse 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes nbmpulse{from{transform:scale(.8);opacity:.8}to{transform:scale(1.35);opacity:0}}
.nbm-num{font-weight:700;fill:var(--bg);pointer-events:none;font-family:var(--ui)}
.nbm-lab{font-family:var(--ui);font-weight:700;fill:var(--fg);paint-order:stroke;stroke:var(--bg);stroke-linejoin:round;pointer-events:none}
.nbm-lab.sel{fill:var(--ink)}.nbm-lab.x{fill:var(--ink);font-style:italic}
.nbm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:12px 6px 0;font:600 12px var(--ui);color:var(--mut)}
.nbm-legend i{display:inline-block;border-radius:50%;background:var(--red);vertical-align:middle;margin-right:6px}
.nbm-legend .s{width:16px;height:16px;opacity:.85}.nbm-legend .m{width:22px;height:22px}.nbm-legend .l{width:30px;height:30px}.nbm-legend .x{width:12px;height:12px;background:color-mix(in srgb,var(--ink) 75%,var(--bg))}
.nbm-hint{flex-basis:100%;font-weight:500}
.nbm-note{margin:8px 6px 0;font:500 12px/1.5 var(--ui);color:var(--mut)}
.nbm-side{position:sticky;top:76px}
.nbm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.nbm-search input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:500 15px var(--ui);background:var(--card);color:var(--fg);margin-bottom:14px}
.nbm-gh{font:700 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:16px 0 8px}
.nbm-chips{display:flex;flex-wrap:wrap;gap:8px}
.nbm-chips button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:600 13px var(--ui);cursor:pointer}
.nbm-chips button:hover{border-color:var(--fg)}.nbm-chips b{font:700 11px var(--ui);color:var(--red)}
.nbm-posts{max-height:68vh;overflow:auto;padding-right:4px}
.nbm-posts a{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line);align-items:start}
.nbm-posts a:first-child{border-top:0}
.nbm-posts img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;background:var(--soft)}
.nbm-posts b{display:block;font:700 16px/1.25 var(--display)}.nbm-posts a:hover b{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media (max-width:900px){.nbm{grid-template-columns:minmax(0,1fr)}.nbm-side{position:static}.nbm-map{padding:10px}.nbm-tools{right:16px;top:16px}.nbm-mini{left:16px;top:16px}.nbm-mini svg{width:110px}.nbm-posts{max-height:none}}
@media (prefers-reduced-motion:reduce){.nbm-ring{animation:none}}
/* zapowiedź na stronie głównej */
.nbt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;background:var(--tint);border-radius:26px;padding:30px 34px;transition:box-shadow .3s}
.nbt:hover{box-shadow:0 16px 40px rgba(24,18,12,.14)}
.nbt-text{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.nbt-h{font:900 34px/1.1 var(--display);letter-spacing:-.01em}
.nbt-p{font-size:18px;line-height:1.5;color:var(--mut)}
.nbt-svg{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 8px 24px rgba(24,18,12,.10)}
.nbt-land{fill:color-mix(in srgb,var(--fg) 6%,var(--bg))}
.nbt-pl{fill:var(--bg);stroke:color-mix(in srgb,var(--fg) 40%,var(--bg));stroke-width:1.2}
.nbt-reg{fill:color-mix(in srgb,var(--red) 20%,var(--bg));stroke:var(--red);stroke-width:1.5;stroke-linejoin:round}
.nbt-cn{font:700 8px var(--ui);letter-spacing:.16em;fill:var(--mut);opacity:.55}
.nbt-pol{font:700 15px var(--ui);letter-spacing:.3em;fill:var(--mut);opacity:.4}
.nbt-reglab{font:700 9.5px var(--ui);letter-spacing:.14em;fill:var(--red)}
.nbt-city{fill:color-mix(in srgb,var(--fg) 55%,var(--bg));stroke:var(--bg);stroke-width:1}
.nbt-cl{font:600 8.5px var(--ui);fill:var(--mut);paint-order:stroke;stroke:var(--bg);stroke-width:2.6px;stroke-linejoin:round}
.nbt-btn{margin-top:6px}
.nbt:hover .nbt-btn{background:color-mix(in srgb,var(--red) 85%,#000);border-color:color-mix(in srgb,var(--red) 85%,#000)}
.nbt-dot{fill:var(--red);stroke:var(--bg);stroke-width:1}
@media (max-width:900px){.nbt{grid-template-columns:minmax(0,1fr);padding:22px}.nbt-h{font-size:26px}.nbt-svg{max-height:340px}}

/* pełny ekran (natywny albo awaryjny) */
.nbm-tools svg{display:block;margin:auto}
.nbm-tools .fs-out{display:none}.nbm-tools #nbm-fs.on .fs-in{display:none}.nbm-tools #nbm-fs.on .fs-out{display:block}
.nbm:fullscreen,.nbm.nbm-fs{background:var(--bg);padding:16px;overflow:auto;align-items:stretch;gap:20px;box-sizing:border-box}
.nbm.nbm-fs{position:fixed;inset:0;z-index:250}
.nbm:fullscreen .nbm-map,.nbm.nbm-fs .nbm-map{height:calc(100vh - 32px);display:flex;flex-direction:column}
.nbm:fullscreen svg#nbm-svg,.nbm.nbm-fs svg#nbm-svg{flex:1;min-height:0;height:auto}
.nbm:fullscreen .nbm-note,.nbm.nbm-fs .nbm-note,.nbm:fullscreen .nbm-hint,.nbm.nbm-fs .nbm-hint{display:none}
.nbm:fullscreen .nbm-side,.nbm.nbm-fs .nbm-side{position:static;max-height:calc(100vh - 32px);overflow:auto}
.nbm:fullscreen .nbm-posts,.nbm.nbm-fs .nbm-posts{max-height:none}
/* odstęp tytuł–podtytuł na stronie */
.nb-page-head .nb-dek{margin-top:18px}

.nbm-hit{fill:transparent;stroke:none}
