/* Hājīn published facility atlas: category filters, compact pins, honest provenance. */
.dmz-service-controls{
 max-width:1500px;width:min(96%,1500px);margin:10px auto 12px;
 padding:13px 15px;background:#121f20;
 border:1px solid #40595b;border-radius:10px;color:#e1eee9;
}
.dmz-service-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.dmz-service-heading strong{font-size:1rem;color:#faf8f2}
.dmz-service-heading span{font-size:.8rem;color:#a7c0bb}
.dmz-service-toggle-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.dmz-service-filter{
 appearance:none;background:#1b2b2d;color:#dae6e1;
 border:1px solid #536d6c;border-radius:7px;min-height:36px;
 padding:7px 10px;cursor:pointer;font:650 .77rem/1.2 system-ui,sans-serif;
}
.dmz-service-filter[aria-pressed="true"]{
 background:#32614e;color:#fff;
 border-color:#abd1b5;box-shadow:inset 0 0 0 1px #a8cfba;
}
.dmz-service-filter:is(:hover,:focus-visible){border-color:#ebc888;outline-offset:2px}
.dmz-service-note{margin:8px 0 0!important;font-size:.75rem;line-height:1.5;color:#b9c8c2}
#dmzViewport .dmz-service-layer{position:absolute;inset:0;pointer-events:none;z-index:10}
#dmzViewport .dmz-service-layer[hidden]{display:none!important}
#dmzViewport .dmz-service-pin,#dmzViewport .dmz-service-cluster{
 display:grid;place-items:center;position:absolute;box-sizing:border-box;
 pointer-events:auto;cursor:pointer;
 margin:0;padding:0;transform:translate(-50%,-50%);transform-origin:center;
 scale:var(--dmz-inverse,1)!important;
 width:25px;height:25px;min-width:25px;min-height:25px;
 border-radius:8px;border:1.5px solid #acd6c9;
 background:#122c2e;color:#d6f1e9;
 box-shadow:0 0 0 2px #0a1615ae,0 2px 7px #0008;
 font:700 12px/1 system-ui,sans-serif;
}
#dmzViewport .dmz-service-pin[data-displayed="false"]{display:none!important}
#dmzViewport .dmz-service-pin svg{width:17px;height:17px;display:block}
#dmzViewport .dmz-service-pin.service-gas{color:#ead7a5;border-color:#d3bc81}
#dmzViewport .dmz-service-pin.service-marine{color:#b9ddda;border-color:#80abb6}
#dmzViewport .dmz-service-pin.service-uav{color:#c3ceec;border-color:#889cc1}
#dmzViewport .dmz-service-pin.service-lieutenant{color:#ebc4a4;border-color:#b58f7a}
#dmzViewport .dmz-service-pin.service-fire{color:#f3bbb3;border-color:#d89882}
#dmzViewport .dmz-service-pin.service-clinic{color:#b7edc7;border-color:#8ccba3}
#dmzViewport .dmz-service-pin.service-police{color:#c3d4ef;border-color:#94b0cf}
#dmzViewport .dmz-service-pin.service-cache{color:#f0d19e;border-color:#c6a978}
#dmzViewport .dmz-service-pin.service-compound{color:#b9d9ef;border-color:#7fa8c5}
#dmzViewport .dmz-service-pin:is(:hover,:focus-visible,.is-selected){
 z-index:30;outline:2px solid #ffe0a6;outline-offset:3px;background:#2e5048;
}
#dmzViewport .dmz-service-cluster{
 background:#304b3e;color:#fff0cf;border:2px solid #ddb874;
 font-size:12px;z-index:21;
}
#dmzViewport .dmz-service-cluster:is(:hover,:focus-visible){outline:3px solid #f7d89a;outline-offset:2px}
.dmz-service-detail{
 background:#142725;border:1px solid #527668;border-radius:9px;
 color:#dce9e3;padding:13px;
}
.dmz-service-detail[hidden]{display:none}
.dmz-service-kicker{color:#e7c995;font-weight:800;font-size:.67rem;letter-spacing:.07em}
.dmz-service-detail h3{color:#fff;margin:7px 0;font-size:1.07rem;line-height:1.3}
.dmz-service-detail p{font-size:.81rem;line-height:1.55;margin:7px 0}
.dmz-service-context{color:#b3d1c4}
.dmz-service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.dmz-service-actions a,.dmz-service-actions button{
 background:#2e443b;color:#eff4ec;border:1px solid #87a792;
 padding:8px 10px;border-radius:6px;font-size:.76rem;
 cursor:pointer;text-decoration:none;
}
.dmz-service-caveat{display:block;color:#b5c7c1;font-size:.7rem;line-height:1.55}
.dmz-service-directory{border:1px solid #475e59;border-radius:9px;background:#122525}
.dmz-service-directory summary{padding:11px 12px;cursor:pointer;color:#e8efeb;font-size:.8rem;font-weight:750}
.dmz-service-dir-body{display:grid;gap:8px;padding:10px;border-top:1px solid #405b56}
.dmz-service-dir-body input{width:100%;min-width:0;box-sizing:border-box;background:#0c1d1c;color:#fff;border:1px solid #6a8980;border-radius:6px;padding:9px;font-size:.85rem}
.dmz-service-dir-count{color:#bed1ca;font-size:.73rem}
.dmz-service-dir-list{display:grid;gap:5px;max-height:235px;overflow:auto}
.dmz-service-dir-list button{
 text-align:left;background:#1e3430;color:#f3f6ec;
 padding:8px;border:1px solid #456159;border-radius:5px;
 font-size:.8rem;cursor:pointer;
}
.dmz-service-dir-list button:is(:hover,:focus-visible){border-color:#eccb9c}
body.dmz-v2 .dmz-map-stage .dmz-side .dmz-service-detail{order:2}
body.dmz-v2 .dmz-map-stage .dmz-side .dmz-service-directory{order:4}
@media(max-width:860px){.dmz-service-controls{width:100%;box-sizing:border-box}.dmz-service-filter{min-height:40px}}
@media(prefers-reduced-motion:reduce){#dmzViewport .dmz-service-pin{transition:none!important}}

/* One visual vocabulary for filters and their matching map symbols. */
.dmz-service-filter{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:normal}
.dmz-service-filter svg{width:16px;height:16px;flex:none;stroke:currentColor}
.dmz-service-detail .dmz-service-facts{display:grid;grid-template-columns:68px minmax(0,1fr);gap:7px 11px;margin:12px 0}
.dmz-service-facts dt{font-size:.75rem;font-weight:800;color:#e9d5ab}
.dmz-service-facts dd{margin:0;color:#d9e8e0;font-size:.8rem;line-height:1.55;overflow-wrap:anywhere}
.dmz-service-actions :is(a,button):focus-visible{outline:3px solid #f5d59e;outline-offset:2px}
@media(max-width:440px){.dmz-service-detail .dmz-service-facts{grid-template-columns:1fr;gap:3px}.dmz-service-facts dd{margin-bottom:7px}}

/* Service pins get their own unobstructive, dismissible mobile detail sheet.
   No navigation jump: the selected map location stays underneath. */
.dmz-service-detail .dmz-service-close{
 display:block;margin:0 0 8px auto;padding:7px 12px;min-height:36px;
 color:#edf6ee;background:#30463f;border:1px solid #7fa692;
 border-radius:7px;cursor:pointer;font-size:.78rem;font-weight:700;
}
.dmz-service-nearby{margin-top:12px;padding-top:10px;border-top:1px solid #4b6660}
.dmz-service-nearby h4{margin:0 0 5px;font-size:.84rem;color:#f5e3bd}
.dmz-service-nearby p{margin:0 0 9px;font-size:.73rem;color:#c3d6ce;line-height:1.5}
.dmz-service-nearby-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.dmz-service-nearby-links button{
 padding:9px 10px;min-height:40px;min-width:0;overflow-wrap:anywhere;
 background:#213f39;color:#f0f5ef;border:1px solid #688b7c;
 border-radius:7px;cursor:pointer;text-align:left;font-size:.78rem;
}
.dmz-service-nearby-links button:is(:hover,:focus-visible),.dmz-service-close:focus-visible{
 outline:2px solid #f5da9e;outline-offset:2px;
}
@media(max-width:760px){
 body.dmz-v2 .dmz-map-stage .dmz-side .dmz-service-detail.dmz-service-sheet-open{
  position:fixed;inset:auto 0 0 0;z-index:1003;
  box-sizing:border-box;width:100%;max-height:min(56dvh,470px);
  margin:0;border-radius:17px 17px 0 0;
  padding:14px 16px max(18px,env(safe-area-inset-bottom));
  overflow-y:auto;overscroll-behavior:contain;
  background:#102622;border:1px solid #89b6a4;
  box-shadow:0 -12px 48px #000b;
 }
 .dmz-service-detail.dmz-service-sheet-open .dmz-service-close{
  position:sticky;top:0;z-index:2;min-height:44px;
  background:#31594c;border-color:#9fd1ba;
 }
 .dmz-service-nearby-links{grid-template-columns:1fr}
 .dmz-service-nearby-links button{min-height:44px}
}

/* Make the complete 95-reference atlas discoverable without nine clicks. */
body.dmz-v2 #dmzShowAllFacilities{
 min-height:40px;align-self:stretch;padding:8px 14px;
 border:1px solid #82bcab;border-radius:7px;
 background:#17352f;color:#e6fff2;
 font-weight:750;cursor:pointer;white-space:normal;
}
body.dmz-v2 #dmzShowAllFacilities[aria-pressed="true"]{
 background:#285442;border-color:#a3e6c0;
}
body.dmz-v2 #dmzShowAllFacilities:is(:hover,:focus-visible){
 outline:2px solid #c2f5dd;outline-offset:2px;
}
