/* Presentation only: never change the application's hidden/active classes. */
#map-focus-toggle {
  position: relative;
  z-index: 401;
  align-self: flex-start;
  flex: 0 0 auto;
  min-height: 44px;
  min-width: 44px;
  margin: 6px 12px;
  padding: 10px 16px;
  border: 1px solid #2563eb;
  border-radius: 10px;
  background: #fff;
  color: #1746a2;
  font: 600 14px/1.4 -apple-system, BlinkMacSystemFont, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
}
#map-focus-toggle:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.marker-normal-label { display: contents; }
.marker-focus-label { display: none; }
/* 지점 패널·모달·토스트는 지도만 보기에서도 보여야 마커 클릭 → 장비 목록이 뜸 */
body.map-focus > :not(#map-wrap):not(#map-focus-toggle):not(#map-focus-count-note):not(#panel):not(.modal):not(#toast) { display: none !important; }
body.map-focus #panel { position: fixed; z-index: 60; }
body.map-focus .modal { z-index: 450; }
body.map-focus #modal-confirm { z-index: 460; }
body.map-focus #toast { z-index: 470; }
body.map-focus #map-wrap {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  z-index: 50;
}
body.map-focus #map-wrap > :not(#map) { display: none !important; }
body.map-focus #map { display: block !important; width: 100%; height: 100%; }
body.map-focus #map-focus-toggle {
  position: fixed;
  top: max(8px, env(safe-area-inset-top));
  left: max(8px, env(safe-area-inset-left));
  margin: 0;
  box-shadow: 0 2px 8px #0003;
}
/* Do not hide any SDK descendants: Kakao logo/attribution must remain visible. */
body.map-focus .marker-normal-label { display: none; }
body.map-focus .marker-focus-label { display: flex; flex-direction: column; gap: 1px; }
body.map-focus .marker {
  cursor: pointer;
  padding: 3px 7px;
  font-size: 12px;
  line-height: 16px;
  transform: translateY(calc(-50% + var(--stack, 0) * 44px));
}
.marker-focus-name { max-width: 250px; overflow: hidden; text-overflow: ellipsis; }
.marker-focus-counts { font-size: 11px; font-weight: 500; }
#map-focus-count-note { display: none; }
body.map-focus #map-focus-count-note {
  display: block;
  position: fixed;
  z-index: 400;
  top: calc(max(8px, env(safe-area-inset-top)) + 48px);
  left: max(8px, env(safe-area-inset-left));
  max-width: calc(100vw - 32px);
  margin: 0;
  padding: 5px 8px;
  border-radius: 6px;
  background: #fffffff2;
  color: #333;
  font-size: 11px;
  line-height: 1.4;
  pointer-events: none;
}
@media print { #map-focus-toggle, #map-focus-count-note { display: none !important; } }
