html, body { 
  height: 100%; 
  margin: 0; 
  overflow-x: hidden; 
}
.navbar {
  position: fixed !important;
  top: 0 !important; 
  width: 100% !important;
  z-index: 1000 !important;
}
body { 
  padding-top: 56px !important;
}
.navbar-nav .nav-link {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  background-color: #007bff !important;
  color: white !important;
  padding: 10px !important;
  width: 100% !important;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
  background-color: #0056b3 !important;
  color: white !important;
}
@media (max-width: 991px) {
  .navbar-nav {
    text-align: center !important;
    width: 100% !important;
  }
  .navbar-collapse {
    background-color: #007bff !important;
  }
  .navbar-nav .nav-link {
    justify-content: center !important;
    margin: 0 auto !important;
  }
}
.container { max-width: 1024px; margin-left: auto; margin-right: auto; }
main { 
  min-height: calc(100vh - 56px - 60px); 
  padding: 2rem 2rem 1rem 2rem; /* Top padding 2rem */
  box-sizing: border-box; 
}
footer { height: 60px; background-color: #0d6efd; color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; }
footer .container { margin: 0; padding: 0; }
footer p { margin: 0; }
footer a { color: #fff; }
img { max-width: 90%; height: auto; margin: 1rem auto; padding: 0; display: block; }
.accordion-button {
  display: flex !important;
  justify-content: center !important;
  background-color: #007bff !important;
  color: white !important;
  width: 100% !important;
}
.accordion-button:not(.collapsed) {
  background-color: #0056b3 !important;
  color: white !important;
}
.accordion-item {
  text-align: center !important;
}
@media (max-width: 768px) {
  .accordion-button {
    justify-content: center !important;
  }
}
/* Page-specific */
#index .container { text-align: center; }
#search #map { height: 400px; width: 100%; position: relative; z-index: 1; }
#search .form-check { margin-bottom: 0.5rem; }
@media (max-width: 576px) { #search #map { height: 300px; } }
#articles article { margin-bottom: 2rem; }