/* =========================================================
   NM MINING MAP v7.3.13
   Self-contained native map renderer. No external JS library.
   ========================================================= */

.nmm-map-app {
    --nmm-teal: #5fb5af;
    --nmm-deep: #123137;
    --nmm-gray: #e5e5e5;
    --nmm-text: #333;
    --nmm-soft: #f7fafa;
    --nmm-white: #fff;
    --nmm-desktop-height: 720px;
    width: 100%;
    margin: 0 auto;
    color: var(--nmm-text);
    font-family: 'Poppins', Arial, sans-serif;
}

.nmm-map-app *,
.nmm-map-app *::before,
.nmm-map-app *::after {
    box-sizing: border-box;
}

/* Shell uses flex rather than CSS grid so it remains independent of Themify
   layout parsing and does not alter Builder wrappers. */
.nmm-map-app .nmm-map-shell {
    display: flex;
    width: 100%;
    height: var(--nmm-desktop-height);
    min-height: 0;
    border: 1px solid var(--nmm-gray);
    background: var(--nmm-white);
    overflow: hidden;
}

.nmm-map-app .nmm-map-stage {
    position: relative;
    flex: 0 0 72%;
    width: 72%;
    height: var(--nmm-desktop-height);
    min-width: 0;
    min-height: 0;
    background: #eef2ef;
    overflow: hidden;
}

.nmm-map-app .nmm-map-panel {
    position: relative;
    z-index: 2;
    flex: 0 0 28%;
    width: 28%;
    min-width: 300px;
    height: var(--nmm-desktop-height);
    min-height: 0;
    background: var(--nmm-white);
    border-left: 1px solid var(--nmm-gray);
    overflow: hidden;
}

.nmm-map-app .nmm-map-canvas {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background:
        linear-gradient(rgba(18,49,55,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(18,49,55,.025) 1px, transparent 1px),
        #eef2ef;
    background-size: 48px 48px;
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.nmm-map-app .nmm-map-canvas.is-dragging {
    cursor: grabbing;
}

.nmm-map-app .nmm-map-canvas.is-pinching {
    cursor: zoom-in;
}

.nmm-map-app .nmm-map-world,
.nmm-map-app .nmm-map-tiles,
.nmm-map-app .nmm-map-vectors,
.nmm-map-app .nmm-map-label-layer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nmm-map-app .nmm-map-world {
    transform: translate(0,0);
    will-change: transform;
}

/* Smooth optical zoom: the current rendered map eases into the next integer
   zoom level, then swaps to the newly rendered tiles at the matching center. */
.nmm-map-app .nmm-map-world.is-zoom-transition {
    transition: transform 380ms cubic-bezier(.16,1,.3,1), opacity 380ms ease-out;
    transform-origin: 50% 50%;
    will-change: transform, opacity;
}

.nmm-map-app .nmm-map-world.is-zoom-transition.is-zooming-in {
    opacity: .96;
}

.nmm-map-app .nmm-map-world.is-zoom-transition.is-zooming-out {
    opacity: .94;
}

.nmm-map-app .nmm-map-tiles {
    z-index: 1;
    overflow: hidden;
    background: #f0f4f2;
}

/*
 * Basemap treatment
 * -----------------
 * The public OSM raster layer is intentionally graded so the mining regions,
 * labels and issue pins carry the visual hierarchy. The filter affects only
 * the background tiles; NMMW overlays remain in their original brand colors.
 */
.nmm-map-app .nmm-map-tiles::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: rgba(247, 250, 249, .09);
}

.nmm-map-app .nmm-map-vectors { z-index: 2; overflow: visible; pointer-events: none; }
.nmm-map-app .nmm-map-label-layer { z-index: 3; pointer-events: none; }

.nmm-map-app .nmm-map-tile {
    position: absolute;
    z-index: 1;
    width: 256px;
    height: 256px;
    max-width: none !important;
    opacity: 0;
    filter: grayscale(.68) saturate(.60) brightness(1.01) contrast(.96) sepia(.01);
    transition: opacity .18s ease;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.nmm-map-app .nmm-map-tile.is-loaded { opacity: .92; }

.nmm-map-app .nmm-state-outline {
    fill: rgba(95,181,175,.035);
    stroke: rgba(18,49,55,.72);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
}

.nmm-map-app .nmm-region-polygon {
    fill: rgba(95,181,175,.09);
    stroke: var(--nmm-deep);
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
    pointer-events: auto;
    cursor: pointer;
    transition: fill .15s ease, stroke-width .15s ease;
}

.nmm-map-app .nmm-region-polygon.is-preview,
.nmm-map-app .nmm-region-polygon.is-active {
    fill: rgba(95,181,175,.20);
    stroke-width: 2.5;
}

/* Map controls */
.nmm-map-app .nmm-map-zoom {
    position: absolute;
    z-index: 710;
    top: 16px;
    left: 16px;
    width: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 3px 14px rgba(18,49,55,.14);
    overflow: hidden;
}

.nmm-map-app .nmm-map-zoom button {
    display: block;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(18,49,55,.12);
    border-radius: 0;
    background: transparent;
    color: var(--nmm-deep);
    cursor: pointer;
    font: 400 20px/36px Arial, sans-serif;
    text-align: center;
}

.nmm-map-app .nmm-map-zoom button:last-child { border-bottom: 0; }
.nmm-map-app .nmm-map-zoom button:hover,
.nmm-map-app .nmm-map-zoom button:focus { background: #eef8f7; outline: 0; }

.nmm-map-app .nmm-map-back {
    position: absolute;
    top: 16px;
    left: 64px;
    z-index: 720;
    min-height: 36px;
    margin: 0;
    padding: 8px 13px;
    border: 1px solid rgba(18,49,55,.18);
    border-radius: 18px;
    background: rgba(255,255,255,.97);
    color: var(--nmm-deep);
    box-shadow: 0 3px 14px rgba(18,49,55,.12);
    cursor: pointer;
    font: 600 12px/1.2 'Poppins', Arial, sans-serif;
    white-space: nowrap;
}

.nmm-map-app .nmm-map-back:hover,
.nmm-map-app .nmm-map-back:focus {
    border-color: rgba(95,181,175,.58);
    background: #eef8f7;
    outline: 0;
}

/* Satellite imagery context */
.nmm-map-app .nmm-map-imagery-info {
    position: absolute;
    z-index: 740;
    left: 16px;
    bottom: 86px;
    width: min(360px, calc(100% - 32px));
    pointer-events: auto;
}

.nmm-map-app .nmm-map-imagery-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(18,49,55,.18);
    border-radius: 50%;
    background: rgba(255,255,255,.88);
    color: var(--nmm-teal);
    box-shadow: 0 1px 5px rgba(18,49,55,.07);
    cursor: pointer;
}

.nmm-map-app .nmm-map-imagery-toggle:hover,
.nmm-map-app .nmm-map-imagery-toggle:focus,
.nmm-map-app .nmm-map-imagery-toggle[aria-expanded="true"] {
    border-color: rgba(95,181,175,.58);
    background: rgba(255,255,255,.98);
    color: var(--nmm-deep);
    box-shadow: 0 2px 7px rgba(18,49,55,.10);
    outline: 0;
}

.nmm-map-app .nmm-map-imagery-toggle:focus-visible {
    box-shadow: 0 0 0 2px rgba(95,181,175,.24), 0 2px 7px rgba(18,49,55,.10);
}

.nmm-map-app .nmm-map-imagery-icon {
    display: block;
    width: auto;
    height: auto;
    color: currentColor;
    font: 700 13px/1 Arial,sans-serif;
}

.nmm-map-app .nmm-map-imagery-panel {
    position: relative;
    width: 100%;
    margin: 0 0 8px;
    padding: 18px 38px 17px 18px;
    border: 1px solid rgba(18,49,55,.16);
    border-radius: 9px;
    background: rgba(255,255,255,.985);
    color: #4b5354;
    box-shadow: 0 8px 28px rgba(18,49,55,.16);
    font-size: 11px;
    line-height: 1.52;
}

.nmm-map-app .nmm-map-imagery-panel[hidden] {
    display: none !important;
}

.nmm-map-app .nmm-map-imagery-panel strong {
    display: block;
    margin: 0 0 8px;
    color: var(--nmm-deep);
    font-size: 14px;
    line-height: 1.3;
}

.nmm-map-app .nmm-map-imagery-panel p {
    margin: 0 0 9px;
    color: #4b5354;
    font-size: 11px;
    line-height: 1.55;
}

.nmm-map-app .nmm-map-imagery-panel p:last-of-type {
    margin-bottom: 10px;
}

.nmm-map-app .nmm-map-imagery-panel small {
    display: block;
    color: #7a8384;
    font-size: 9px;
    line-height: 1.4;
}

.nmm-map-app .nmm-map-imagery-eyebrow {
    margin: 0 0 5px;
    color: var(--nmm-teal);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .10em;
    line-height: 1.2;
    text-transform: uppercase;
}

.nmm-map-app .nmm-map-imagery-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #6e797a;
    cursor: pointer;
    font: 400 20px/26px Arial,sans-serif;
    text-align: center;
}

.nmm-map-app .nmm-map-imagery-close:hover,
.nmm-map-app .nmm-map-imagery-close:focus {
    background: #eef8f7;
    color: var(--nmm-deep);
    outline: 0;
}

.nmm-map-app .nmm-map-attribution {
    position: absolute;
    z-index: 690;
    right: 4px;
    bottom: 2px;
    padding: 2px 4px;
    background: rgba(255,255,255,.78);
    color: #657173;
    font-size: 9px;
    line-height: 1.2;
    pointer-events: none;
}

.nmm-map-app .nmm-map-callout {
    position: absolute;
    z-index: 730;
    max-width: 260px;
    padding: 9px 12px;
    border: 1px solid rgba(18,49,55,.16);
    border-radius: 7px;
    background: rgba(255,255,255,.98);
    color: var(--nmm-deep);
    box-shadow: 0 5px 18px rgba(18,49,55,.13);
    font: 600 12px/1.35 'Poppins',Arial,sans-serif;
    pointer-events: none;
    opacity: 0;
    transition: opacity .12s ease;
}

.nmm-map-app .nmm-map-callout.is-visible { opacity: 1; }

.nmm-map-app .nmm-map-basemap-warning {
    position: absolute;
    z-index: 705;
    left: 50%;
    bottom: 16px;
    max-width: 430px;
    padding: 7px 11px;
    border: 1px solid rgba(18,49,55,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: #596365;
    box-shadow: 0 3px 14px rgba(18,49,55,.10);
    font-size: 10px;
    transform: translateX(-50%);
}

/* Legend */
.nmm-map-app .nmm-map-legend {
    position: absolute;
    z-index: 700;
    left: 16px;
    bottom: 16px;
    padding: 9px 12px;
    border: 1px solid rgba(18,49,55,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 3px 16px rgba(18,49,55,.08);
    color: #596365;
    font-size: 11px;
}

.nmm-map-app .nmm-map-legend > div {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 3px 0;
}

.nmm-map-app .nmm-legend-swatch { display: inline-block; width: 11px; height: 11px; }
.nmm-map-app .nmm-region-swatch { border: 2px solid var(--nmm-deep); background: rgba(95,181,175,.16); }
.nmm-map-app .nmm-issue-swatch { border-radius: 50%; background: var(--nmm-teal); box-shadow: 0 0 0 2px #fff; }

/* Region labels */
.nmm-map-app .nmm-region-label {
    position: absolute;
    z-index: 10;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translate(-10px,-18px);
    pointer-events: auto;
}

.nmm-map-app .nmm-region-label-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px 8px 8px;
    border: 1px solid rgba(18,49,55,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 4px 18px rgba(18,49,55,.13);
    color: var(--nmm-deep);
    font: 700 12px/1.1 'Poppins', Arial, sans-serif;
    white-space: nowrap;
}

.nmm-map-app .nmm-region-label-inner::before {
    content: '';
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    border-radius: 50%;
    background: var(--nmm-teal);
    box-shadow: 0 0 0 3px rgba(95,181,175,.18);
}

.nmm-map-app .nmm-region-label:hover .nmm-region-label-inner,
.nmm-map-app .nmm-region-label:focus .nmm-region-label-inner,
.nmm-map-app .nmm-region-label.is-preview .nmm-region-label-inner,
.nmm-map-app .nmm-region-label.is-active .nmm-region-label-inner {
    border-color: var(--nmm-teal);
    background: #eef8f7;
    outline: 0;
}

.nmm-map-app .nmm-region-label.is-preview .nmm-region-label-inner::before,
.nmm-map-app .nmm-region-label.is-active .nmm-region-label-inner::before { background: var(--nmm-deep); }
.nmm-map-app .nmm-region-count { font-size: 10px; font-weight: 600; opacity: .72; }

/* Issue pins */
.nmm-map-app .nmm-issue-marker {
    position: absolute;
    z-index: 12;
    width: 30px;
    height: 40px;
    margin-left: -15px;
    margin-top: -38.5px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
}

/* The marker root itself is never transformed. Its SVG tip is anchored to the
   exact projected latitude/longitude; hover emphasis happens inside the root. */
.nmm-map-app .nmm-issue-marker::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 14px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(95,181,175,0);
    transform: translate(-50%,-50%);
    transition: background-color .16s ease, box-shadow .16s ease;
    pointer-events: none;
}

.nmm-map-app .nmm-issue-marker svg {
    position: relative;
    z-index: 2;
    display:block;
    width:30px;
    height:40px;
    filter: drop-shadow(0 2px 4px rgba(18,49,55,.24));
    transition: transform .16s ease, filter .16s ease;
    transform-origin: 50% 96%;
}
.nmm-map-app .nmm-issue-marker path { fill: var(--nmm-teal); stroke:#fff; stroke-width:2; transition: fill .16s ease; }
.nmm-map-app .nmm-issue-marker circle { fill:#fff; }
.nmm-map-app .nmm-issue-marker.is-active path,
.nmm-map-app .nmm-issue-marker.is-preview path,
.nmm-map-app .nmm-issue-marker:hover path,
.nmm-map-app .nmm-issue-marker:focus path { fill: var(--nmm-deep); }
.nmm-map-app .nmm-issue-marker.is-active svg,
.nmm-map-app .nmm-issue-marker.is-preview svg,
.nmm-map-app .nmm-issue-marker:hover svg,
.nmm-map-app .nmm-issue-marker:focus svg {
    transform: scale(1.14);
    filter: drop-shadow(0 4px 7px rgba(18,49,55,.28));
}
.nmm-map-app .nmm-issue-marker.is-preview::before,
.nmm-map-app .nmm-issue-marker:hover::before,
.nmm-map-app .nmm-issue-marker:focus::before {
    background: rgba(95,181,175,.16);
    box-shadow: 0 0 0 7px rgba(95,181,175,.08);
}
.nmm-map-app .nmm-issue-marker:focus { outline: 2px solid var(--nmm-deep); outline-offset: 2px; border-radius: 50%; }
.nmm-map-app .nmm-issue-marker.is-active { cursor: zoom-in; }

/* Sidebar */
.nmm-map-app .nmm-panel-inner {
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 38px 30px 34px;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(95,181,175,.72) transparent;
}

.nmm-map-app .nmm-panel-inner::-webkit-scrollbar { width: 7px; }
.nmm-map-app .nmm-panel-inner::-webkit-scrollbar-track { background: transparent; }
.nmm-map-app .nmm-panel-inner::-webkit-scrollbar-thumb { background: rgba(95,181,175,.62); border-radius:999px; }

.nmm-map-app .nmm-map-status,
.nmm-map-app .nmm-map-error { padding:12px; text-align:center; font-size:.82rem; }
.nmm-map-app .nmm-map-error { color:#a32929; }
.nmm-map-app .nmm-hidden { display:none !important; }

.nmm-map-app .nmm-panel-eyebrow {
    margin: 0 0 10px;
    color: var(--nmm-teal);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nmm-map-app .nmm-panel-title {
    margin: 0 0 16px;
    color: var(--nmm-deep);
    font-size: clamp(1.55rem,2.1vw,2.25rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.nmm-map-app .nmm-panel-copy { margin:0 0 24px; color:#4b5354; font-size:.94rem; line-height:1.65; }
.nmm-map-app .nmm-panel-section-title {
    margin:24px 0 8px;
    padding-top:20px;
    border-top:1px solid var(--nmm-gray);
    color:#7a8384;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.nmm-map-app .nmm-region-list,
.nmm-map-app .nmm-issue-list,
.nmm-map-app .nmm-post-list { list-style:none !important; margin:0 !important; padding:0 !important; }
.nmm-map-app .nmm-region-list li,
.nmm-map-app .nmm-issue-list li { margin:0 !important; border-bottom:1px solid var(--nmm-gray); }

.nmm-map-app .nmm-region-button,
.nmm-map-app .nmm-issue-button {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    margin:0;
    padding:14px 12px 14px 9px;
    border:0;
    border-left:3px solid transparent;
    border-radius:0;
    background:transparent;
    color:var(--nmm-deep);
    cursor:pointer;
    text-align:left;
    font:600 .91rem/1.35 'Poppins',Arial,sans-serif;
}

.nmm-map-app .nmm-region-button:hover,
.nmm-map-app .nmm-region-button:focus,
.nmm-map-app .nmm-issue-button:hover,
.nmm-map-app .nmm-issue-button:focus,
.nmm-map-app .nmm-issue-button.is-preview {
    border-left-color:var(--nmm-teal);
    background:rgba(95,181,175,.09);
    outline:0;
}

.nmm-map-app .nmm-region-button small,
.nmm-map-app .nmm-issue-button small { display:block; margin-top:3px; color:#7e8788; font-size:.72rem; font-weight:400; }
.nmm-map-app .nmm-list-arrow { flex:0 0 auto; color:var(--nmm-teal); font-size:1.05rem; }
.nmm-map-app .nmm-region-button:hover .nmm-list-arrow,
.nmm-map-app .nmm-region-button:focus .nmm-list-arrow,
.nmm-map-app .nmm-issue-button:hover .nmm-list-arrow,
.nmm-map-app .nmm-issue-button:focus .nmm-list-arrow,
.nmm-map-app .nmm-issue-button.is-preview .nmm-list-arrow { color:var(--nmm-deep); transform:translateX(2px); }

.nmm-map-app .nmm-empty-list { display:block; padding:14px 0; color:#7a8384; font-size:.9rem; }

.nmm-map-app .nmm-issue-hero {
    height:175px;
    margin:-4px 0 22px;
    border-radius:8px;
    background:linear-gradient(135deg,var(--nmm-teal),var(--nmm-deep));
    background-position:center;
    background-size:cover;
    /* Automatic, non-destructive NMMW presentation grade for issue imagery. */
    filter:saturate(.84) contrast(1.04) brightness(.99);
}

.nmm-map-app .nmm-issue-type {
    display:inline-block;
    margin:0 0 12px;
    padding:5px 10px;
    border:1px solid var(--nmm-gray);
    border-radius:999px;
    background:var(--nmm-soft);
    color:var(--nmm-deep);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.06em;
    line-height:1.2;
    text-transform:uppercase;
}

.nmm-map-app .nmm-detail-link { display:inline-flex; align-items:center; gap:7px; margin:0 0 18px; color:var(--nmm-deep) !important; font-weight:700; text-decoration:none !important; }
.nmm-map-app .nmm-detail-link:hover,
.nmm-map-app .nmm-detail-link:focus { color:var(--nmm-teal) !important; }
.nmm-map-app .nmm-post-list li { margin:0 !important; padding:14px 0; border-top:1px solid var(--nmm-gray); }
.nmm-map-app .nmm-post-list a { display:block; color:var(--nmm-deep) !important; font-weight:600; line-height:1.35; text-decoration:none !important; }
.nmm-map-app .nmm-post-list a:hover,
.nmm-map-app .nmm-post-list a:focus { color:var(--nmm-teal) !important; }
.nmm-map-app .nmm-post-date { display:block; margin-top:5px; color:#8b9495; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }

.nmm-map-app .nmm-panel-back {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:0 0 22px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--nmm-deep);
    cursor:pointer;
    font:600 .78rem/1.2 'Poppins',Arial,sans-serif;
}
.nmm-map-app .nmm-panel-back:hover,
.nmm-map-app .nmm-panel-back:focus { color:var(--nmm-teal); outline:0; }

@media (max-width: 900px) {
    .nmm-map-app .nmm-map-shell { display:block; height:auto; overflow:visible; }
    .nmm-map-app .nmm-map-stage { width:100%; height:500px; min-height:500px; }
    .nmm-map-app .nmm-map-panel { width:100%; min-width:0; height:auto; border-top:1px solid var(--nmm-gray); border-left:0; overflow:visible; }
    .nmm-map-app .nmm-panel-inner { height:auto; max-height:none; padding:30px 26px; overflow:visible; scrollbar-gutter:auto; }
}

@media (max-width: 560px) {
    .nmm-map-app .nmm-map-stage { height:430px; min-height:430px; }
    .nmm-map-app .nmm-panel-inner { padding:26px 20px; }
    .nmm-map-app .nmm-map-legend { display:none; }
    .nmm-map-app .nmm-map-imagery-info { left:14px; bottom:14px; width:min(330px,calc(100% - 28px)); }
    .nmm-map-app .nmm-map-imagery-toggle { width:28px; height:28px; min-width:28px; min-height:28px; padding:0; }
    .nmm-map-app .nmm-map-imagery-panel { padding:16px 36px 15px 16px; font-size:10px; }
    .nmm-map-app .nmm-map-imagery-panel p { font-size:10px; }
    .nmm-map-app .nmm-map-back { top:14px; left:60px; min-height:34px; padding:7px 11px; font-size:11px; }
    .nmm-map-app .nmm-map-zoom { top:14px; left:14px; width:34px; }
    .nmm-map-app .nmm-map-zoom button { width:34px; height:34px; line-height:34px; }
    .nmm-map-app .nmm-region-label-inner { padding:7px 9px 7px 7px; font-size:10px; }
    .nmm-map-app .nmm-region-label-inner::before { width:10px; height:10px; flex-basis:10px; }
    .nmm-map-app .nmm-panel-title { font-size:1.65rem; }
    .nmm-map-app .nmm-issue-hero { height:150px; }
    .nmm-map-app .nmm-map-basemap-warning { bottom:12px; max-width:72%; font-size:9px; }
}

/* =========================================================
   v7.3.8 focused UX additions
   ========================================================= */

.nmm-map-app .nmm-issue-search {
    margin: 2px 0 4px;
}

.nmm-map-app .nmm-issue-search label > span {
    display: block;
    margin: 0 0 7px;
    color: #7a8384;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.nmm-map-app .nmm-issue-search-input {
    display: block;
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid rgba(18,49,55,.18);
    border-radius: 7px;
    background: #fff;
    color: var(--nmm-deep);
    box-shadow: none;
    font: 400 .86rem/1.35 'Poppins',Arial,sans-serif;
}

.nmm-map-app .nmm-issue-search-input:focus {
    border-color: var(--nmm-teal);
    box-shadow: 0 0 0 2px rgba(95,181,175,.15);
    outline: 0;
}

.nmm-map-app .nmm-search-results {
    margin-top: 6px;
    border: 1px solid var(--nmm-gray);
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
}

.nmm-map-app .nmm-search-results[hidden] { display: none !important; }
.nmm-map-app .nmm-search-results ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.nmm-map-app .nmm-search-results li { margin: 0 !important; border-bottom: 1px solid var(--nmm-gray); }
.nmm-map-app .nmm-search-results li:last-child { border-bottom: 0; }

.nmm-map-app .nmm-search-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 10px 11px;
    border: 0;
    background: transparent;
    color: var(--nmm-deep);
    cursor: pointer;
    text-align: left;
    font: 600 .82rem/1.3 'Poppins',Arial,sans-serif;
}

.nmm-map-app .nmm-search-result small {
    display: block;
    margin-top: 3px;
    color: #7e8788;
    font-size: .68rem;
    font-weight: 400;
}

.nmm-map-app .nmm-search-result:hover,
.nmm-map-app .nmm-search-result:focus-visible {
    background: rgba(95,181,175,.09);
    outline: 0;
}

.nmm-map-app .nmm-search-empty {
    padding: 10px 11px;
    color: #7a8384;
    font-size: .78rem;
}

.nmm-map-app .nmm-issue-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px 14px;
    margin: 0 0 18px;
}

.nmm-map-app .nmm-issue-actions .nmm-detail-link { margin: 0; }

.nmm-map-app .nmm-share-link {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #657173;
    cursor: pointer;
    font: 600 .76rem/1.3 'Poppins',Arial,sans-serif;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.nmm-map-app .nmm-share-link:hover,
.nmm-map-app .nmm-share-link:focus-visible {
    color: var(--nmm-deep);
    outline: 0;
}

.nmm-map-app .nmm-copy-status {
    min-height: 1em;
    color: #7a8384;
    font-size: .68rem;
}

.nmm-map-app .nmm-panel-title[tabindex="-1"]:focus { outline: 0; }

@media (max-width: 900px), (pointer: coarse) {
    /* Preserve normal vertical page scrolling with one finger. Two-finger
       pinch is handled by the map itself and commits tiles only when the
       gesture ends, avoiding continuous API requests during the gesture. */
    .nmm-map-app .nmm-map-canvas { touch-action: pan-y; }
}

@media (prefers-reduced-motion: reduce) {
    .nmm-map-app .nmm-map-world.is-zoom-transition,
    .nmm-map-app .nmm-map-tile,
    .nmm-map-app .nmm-region-polygon,
    .nmm-map-app .nmm-issue-marker::before,
    .nmm-map-app .nmm-issue-marker svg,
    .nmm-map-app .nmm-list-arrow,
    .nmm-map-app .nmm-map-callout {
        transition: none !important;
    }
}


/* =========================================================
   v7.3.9 detail navigation additions
   ========================================================= */

/* The active issue pin doubles as an additional zoom affordance without
   adding another visible control to the map. */
.nmm-map-app .nmm-issue-marker.is-active:hover,
.nmm-map-app .nmm-issue-marker.is-active:focus-visible {
    cursor: zoom-in;
}


/* =========================================================
   v7.3.10 balanced imagery grading
   - restores restrained terrain detail/color in the basemap
   - applies a subtle, non-destructive grade to issue hero imagery
   ========================================================= */

/* =========================================================
   v7.3.12 presentation mode
   Fullscreen workshop / projector view for map + issue panel.
   Uses the browser Fullscreen API when available and a local
   fixed-position fallback when fullscreen is unavailable.
   ========================================================= */

.nmm-map-app .nmm-map-presentation-toggle {
    position: absolute;
    z-index: 750;
    top: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    margin: 0;
    padding: 7px 11px;
    border: 1px solid rgba(18,49,55,.18);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    color: var(--nmm-deep);
    box-shadow: 0 2px 10px rgba(18,49,55,.10);
    cursor: pointer;
    font: 600 11px/1.2 'Poppins',Arial,sans-serif;
    white-space: nowrap;
}

.nmm-map-app .nmm-map-presentation-toggle:hover,
.nmm-map-app .nmm-map-presentation-toggle:focus-visible,
.nmm-map-app .nmm-map-presentation-toggle[aria-pressed="true"] {
    border-color: rgba(95,181,175,.58);
    background: rgba(255,255,255,.99);
    color: var(--nmm-deep);
    outline: 0;
}

.nmm-map-app .nmm-map-presentation-icon {
    display: inline-block;
    font: 700 16px/1 Arial,sans-serif;
}

html.nmm-presentation-lock,
body.nmm-presentation-lock {
    overflow: hidden !important;
}

/* Real browser fullscreen. */
.nmm-map-app .nmm-map-shell:fullscreen,
.nmm-map-app .nmm-map-shell:-webkit-full-screen,
.nmm-map-app .nmm-map-shell.is-presentation-fallback {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    background: #fff;
}

/* Local fallback covers the browser viewport and therefore also hides
   the site header/footer and WordPress page chrome beneath it. */
.nmm-map-app .nmm-map-shell.is-presentation-fallback {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
}

.nmm-map-app .nmm-map-shell:fullscreen,
.nmm-map-app .nmm-map-shell:-webkit-full-screen,
.nmm-map-app .nmm-map-shell.is-presentation-fallback {
    display: flex !important;
    overflow: hidden !important;
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-map-stage,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-map-stage,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-map-stage {
    flex: 0 0 74% !important;
    width: 74% !important;
    height: 100% !important;
    min-height: 0 !important;
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-map-panel,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-map-panel,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-map-panel {
    flex: 0 0 26% !important;
    width: 26% !important;
    min-width: 320px !important;
    height: 100% !important;
    border-top: 0 !important;
    border-left: 1px solid var(--nmm-gray) !important;
    overflow: hidden !important;
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-panel-inner,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-panel-inner,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-panel-inner {
    height: 100% !important;
    max-height: none !important;
    padding: 42px 34px 38px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-panel-title,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-panel-title,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-panel-title {
    font-size: clamp(1.8rem,2.15vw,2.65rem);
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-panel-copy,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-panel-copy,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-panel-copy {
    font-size: 1rem;
    line-height: 1.7;
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-issue-hero,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-issue-hero,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-issue-hero {
    height: 220px;
}

.nmm-map-app .nmm-map-shell:fullscreen .nmm-issue-marker svg,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-issue-marker svg,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-issue-marker svg {
    transform: scale(1.10);
}

/* Workshop mode removes the sharing affordance from the panel so the
   primary issue-page action remains visually dominant during projection. */
.nmm-map-app .nmm-map-shell:fullscreen .nmm-share-link,
.nmm-map-app .nmm-map-shell:fullscreen .nmm-copy-status,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-share-link,
.nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-copy-status,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-share-link,
.nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-copy-status {
    display: none !important;
}

@media (max-width: 700px) {
    .nmm-map-app .nmm-map-shell:fullscreen,
    .nmm-map-app .nmm-map-shell:-webkit-full-screen,
    .nmm-map-app .nmm-map-shell.is-presentation-fallback {
        display: block !important;
        overflow-y: auto !important;
    }

    .nmm-map-app .nmm-map-shell:fullscreen .nmm-map-stage,
    .nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-map-stage,
    .nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-map-stage {
        width: 100% !important;
        height: 58% !important;
        min-height: 360px !important;
    }

    .nmm-map-app .nmm-map-shell:fullscreen .nmm-map-panel,
    .nmm-map-app .nmm-map-shell:-webkit-full-screen .nmm-map-panel,
    .nmm-map-app .nmm-map-shell.is-presentation-fallback .nmm-map-panel {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 42% !important;
        border-left: 0 !important;
        border-top: 1px solid var(--nmm-gray) !important;
    }

    .nmm-map-app .nmm-map-presentation-label {
        display: none;
    }

    .nmm-map-app .nmm-map-presentation-toggle {
        width: 36px;
        min-width: 36px;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nmm-map-app .nmm-map-presentation-toggle {
        transition: none !important;
    }
}

