/* General Body Styles */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background-color: #f0f4f8;
  color: #333;
  margin: 0;
  padding: 2em;
}

/* Main Container */
#container {
  max-width: 800px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Header */
h1 {
  color: #005a8d;
  text-align: center;
  margin-bottom: 1em;
}

/* Map Styles */
#map {
  width: 100%;
  height: 400px;
  background-color: #ccc;
  border-radius: 8px;
  margin-bottom: 1.5em;
}

/* Location and Stop Selection */
#location-info, #stop-list-container {
  margin-bottom: 1.5em;
}

#stop-list {
  width: 100%;
  padding: 0.5em;
  border-radius: 4px;
  border: 1px solid #ccc;
}

/* Stop Info Box */
.stop-info {
  padding: 1em;
  background-color: #eaf6ff;
  border-radius: 8px;
  margin-bottom: 1.5em;
}

.stop-info h3 {
  color: #005a8d;
  margin-top: 0;
}

/* ETA List Styling */
.route-list {
  list-style: none;
  padding: 0;
}

.route-list li {
  margin-bottom: 0.5em;
}

.route-name {
  cursor: pointer;
  font-weight: bold;
  position: relative;
  padding-left: 20px;
}

.route-name::before {
  content: '\25B6'; /* Right-pointing triangle */
  position: absolute;
  left: 0;
  transition: transform 0.2s;
}

.route-name.expanded::before {
  transform: rotate(90deg);
}

.route-name:hover {
  color: #007bff;
}

.route-list ul {
  list-style: none;
  padding-left: 20px;
  margin-top: 0.5em;
}

.route-list ul li {
  padding: 0.3em 0;
}

/* Responsive Design */
@media (max-width: 800px) {
  body {
    padding: 1em;
  }

  #container {
    padding: 1em;
  }
}