/* NHPQ Map Fullscreen V38.13
   Immersive map mode with a CSS fallback for iPhone Safari. */
.nhpq-fullscreen-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.nhpq-fullscreen-button .nhpq-fullscreen-icon {
  font-size:17px;
  line-height:1;
}
.nhpq-fullscreen-exit {
  display:none;
}
.nhpq-fullscreen-exit[hidden] {
  display:none !important;
}

html.nhpq-map-fullscreen,
html.nhpq-map-fullscreen body {
  width:100%;
  height:100%;
  overflow:hidden !important;
  overscroll-behavior:none;
}
html.nhpq-map-fullscreen body {
  touch-action:manipulation;
}
html.nhpq-map-fullscreen .topbar {
  display:none !important;
}
html.nhpq-map-fullscreen .map-shell.nhpq-map-fullscreen-shell {
  position:fixed !important;
  z-index:5200 !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  border:0 !important;
  background:#bcd6db;
}
html.nhpq-map-fullscreen .map-shell.nhpq-map-fullscreen-shell > #map {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
html.nhpq-map-fullscreen .map-shell.nhpq-map-fullscreen-shell > .disclaimer {
  display:none !important;
}
html.nhpq-map-fullscreen .nhpq-fullscreen-exit {
  position:absolute;
  z-index:5400;
  top:max(10px,calc(env(safe-area-inset-top) + 8px));
  right:max(10px,calc(env(safe-area-inset-right) + 8px));
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid rgba(198,218,222,.98);
  border-radius:14px;
  color:#173f50;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(13,43,57,.24);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font:800 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html.nhpq-map-fullscreen .nhpq-fullscreen-exit svg {
  width:18px;
  height:18px;
  stroke-width:2.2;
}
html.nhpq-map-fullscreen .nhpq-fullscreen-button {
  color:#fff;
  border-color:var(--teal);
  background:var(--teal);
}

/* Native Fullscreen API and CSS fallback share the same geometry. */
.map-shell:fullscreen,
.map-shell:-webkit-full-screen {
  width:100vw !important;
  height:100dvh !important;
  min-height:0 !important;
  background:#bcd6db;
}

@media (max-width:760px) {
  .data-browser-card > .controls-card .nhpq-fullscreen-button {
    min-height:44px;
  }
  html.nhpq-map-fullscreen .map-shell.nhpq-map-fullscreen-shell {
    --nhpq-mobile-header:0px;
  }
  html.nhpq-map-fullscreen .nhpq-mobile-menu,
  html.nhpq-map-fullscreen .nhpq-mobile-menu-backdrop {
    display:none !important;
  }
  html.nhpq-map-fullscreen .nhpq-fullscreen-exit {
    top:max(8px,calc(env(safe-area-inset-top) + 7px));
    right:max(8px,calc(env(safe-area-inset-right) + 7px));
    min-width:76px;
    padding:8px 11px;
    font-size:12px;
  }
}

@media (max-width:360px) {
  html.nhpq-map-fullscreen .nhpq-fullscreen-exit span:last-child {
    display:none;
  }
  html.nhpq-map-fullscreen .nhpq-fullscreen-exit {
    min-width:44px;
    width:44px;
    padding:0;
  }
}

@media (prefers-reduced-motion:reduce) {
  .nhpq-fullscreen-exit { transition:none !important; }
}
