html {
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;
  position: relative;
  background-image: url("../images/bg.png");
  background-repeat: repeat;
  background-attachment: fixed;
  background-position: top left;
}

/* Only apply overflow hidden to map page (index.html and admin.html) */
body:has(#mapView) {
  height: 100vh;
  width: 100vw;
  overflow: hidden !important; /* Prevent page scrollbar on map page */
}

h1, h2, h3, h4, h5 {
  font-family: "Montserrat", sans-serif;
  color: #011225;
}

div, p {
  font-family: "Lato", sans-serif;
}

/* Bootstrap classes removed - now using Tailwind CSS */
/* Button styles are now handled inline with Tailwind utility classes */

#map {
  width: 100%;
  height: calc(100vh - 64px); /* Full viewport height minus fixed navbar */
  margin-bottom: 0;
  overflow: hidden !important; /* Prevent scrollbar on map */
  position: relative;
}

#mapView {
  overflow: hidden !important; /* Prevent scrollbar on map view container */
  height: calc(100vh - 64px) !important; /* Full viewport minus navbar */
  width: 100vw !important;
  position: absolute;
  top: 64px; /* Position below fixed navbar */
  left: 0;
  right: 0;
  max-height: calc(100vh - 64px) !important;
}

.marker {
  background-image: url("../images/marker.png");
  background-size: cover;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
}

/* Filter Sidebar Styles */
#filterSidebar {
  width: 100%;
  max-width: 450px;
}

@media (min-width: 1024px) {
  #filterSidebar {
    width: 400px;
  }
}

#filterSidebar.open {
  transform: translateX(0);
}

#filterOverlay.show {
  display: block;
}

/* Ensure sidebar doesn't interfere with map/list on large screens */
@media (min-width: 1024px) {
  #mapView,
  #listView {
    margin-left: 0;
    transition: margin-left 0.3s ease-in-out;
  }
  
  #mapView.with-sidebar,
  #listView.with-sidebar {
    margin-left: 400px;
  }
}

/* Filter Sidebar Interactive Elements */
#filterSidebar input[type="checkbox"] {
  cursor: pointer;
}

#filterSidebar select {
  cursor: pointer;
}

#filterSidebar label:has(input[type="checkbox"]) {
  cursor: pointer;
}

/* Mapbox Popup Styles */
.mapboxgl-popup-close-button {
  font-size: 24px !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  line-height: 28px !important;
  color: #666 !important;
  opacity: 0.8 !important;
  transition: opacity 0.2s !important;
}

.mapboxgl-popup-close-button:hover {
  opacity: 1 !important;
  color: #333 !important;
}

.mapboxgl-popup-content {
  padding: 15px 40px 15px 15px !important;
  border-radius: 8px !important;
}

.mapboxgl-popup-content a {
  transition: color 0.2s;
}

.mapboxgl-popup-content a:hover {
  color: #498763 !important;
}

/* Hamburger Menu Styles */
#hamburgerMenu {
  overflow-y: auto; /* Allow scrolling within menu if needed */
}

/* Prevent body scroll when hamburger menu is open */
body.menu-open,
html.menu-open {
  overflow: hidden !important;
  position: fixed;
  width: 100%;
  height: 100%;
}

/* Custom z-index for hamburger overlay (45 - between navbar 40 and menu 50) */
#hamburgerOverlay {
  z-index: 45 !important;
}

/* Mapbox specific styles to prevent scrollbars */
.mapboxgl-map {
  overflow: hidden !important;
  height: 100% !important;
  width: 100% !important;
  position: relative !important;
}

.mapboxgl-canvas-container {
  overflow: hidden !important;
  height: 100% !important;
  width: 100% !important;
}

.mapboxgl-canvas {
  outline: none !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Ensure map controls don't cause overflow */
.mapboxgl-control-container {
  overflow: visible !important;
}

/* Additional scrollbar prevention */
* {
  box-sizing: border-box;
}

#mapView * {
  max-height: inherit;
}

/* Hide scrollbars only on map page elements */
body:has(#mapView)::-webkit-scrollbar,
body:has(#mapView) html::-webkit-scrollbar,
#map::-webkit-scrollbar,
#mapView::-webkit-scrollbar,
.mapboxgl-map::-webkit-scrollbar,
.mapboxgl-canvas-container::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* Firefox scrollbar hiding - only for map page */
body:has(#mapView), body:has(#mapView) html, #map, #mapView, .mapboxgl-map, .mapboxgl-canvas-container {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}/*# sourceMappingURL=styles.css.map */