
/* Typography & Spacing */
body {
  font-family: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI",
    system-ui, sans-serif;
  line-height: 1.6;
}

h1, h2, h3 {
  line-height: 1.3;
}

section {
  padding: 3rem 0;
}

.container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Color System */
.bg-primary {
  background-color: #0056A6;
}

.text-primary {
  color: #0056A6;
}

.bg-secondary {
  background-color: #CBA135;
}

.text-secondary {
  color: #CBA135;
}

/* Buttons */
.btn {
  @apply inline-block px-6 py-3 rounded-lg font-medium transition;
}

.btn-primary {
  @apply bg-primary text-white hover:bg-blue-700;
}

.btn-secondary {
  @apply bg-secondary text-white hover:bg-yellow-600;
}

/* Cards */
.card {
  @apply bg-white rounded-lg shadow-md overflow-hidden transition hover:shadow-lg;
}

/* Utility */
.text-balance {
  text-wrap: balance;
}
/* 지도 영역 */
#dojangMap {
  width: 100%;
  z-index: 0;
  height: 100%;
  min-height: 400px;
  position: relative;
}
/* Mobile sticky search */
@media (max-width: 767px) {
  #dojangMap {
    height: 400px;
  }
}

/* Fullscreen map styles */
.fullscreen-map-wrapper {
  position: fixed;
  inset: 0;
  z-index: 50;
  max-width: none;
  border-radius: 0;
  height: 100vh;
}

.fullscreen-map-wrapper {
  display: flex;
  flex-direction: row;
}

.fullscreen-map-wrapper > .md\:w-\[340px\],
.fullscreen-map-wrapper > div:first-child {
  max-width: 340px;
  width: 340px;
}

.fullscreen-map-wrapper #dojangMap {
  width: 100%;
  height: 100%;
}

.fullscreen-map-wrapper .scroll-thin {
  max-height: calc(100vh - 120px);
}
/* 리스트 스크롤바 */
.scroll-thin::-webkit-scrollbar {
  width: 8px;
}
.scroll-thin::-webkit-scrollbar-thumb {
  background: #e5e7eb;
  border-radius: 8px;
}

/* 리스트 아이템 hover */
#dojangList li {
  transition: all 0.2s;
  border-left: 3px solid transparent;
  margin: 0;
  padding: 0.75rem;
}
#dojangList li:hover {
  background-color: #f8fafc;
  border-left-color: #0056a6;
}

/* Headquarters (association HQ) base style */
#dojangList li.hq-item {
  background-color: #eff6ff;
  border-left: 4px solid #0056a6;
}

/* 선택된 도장 리스트 아이템 */
#dojangList li.selected-dojang {
  background-color: #e0ecff;
  border-left: 4px solid #0056a6;
  padding: 0.75rem;
}

/* 검색 버튼 */
#searchBtn {
  transition: all 0.2s;
}

/* Leaflet 배경 */
.leaflet-container {
  background: #f8f9fa;
}
