body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hero-bg {
  background: radial-gradient(circle at top left, #bbf7d0 0%, #ecfdf5 35%, #f9fafb 80%);
}

.hero-graphic {
  max-width: 460px;
}

.map-shell {
  height: 380px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 28px rgba(15,23,42,0.06);
}

.card-ev {
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 40px rgba(15,23,42,0.06);
}

.card-ev .badge-type {
  border-radius: 999px;
  font-size: 0.75rem;
  padding: 0.25rem 0.8rem;
}

.badge-type-normal {
  background-color: #e0f2fe;
  color: #1d4ed8;
}

.badge-type-fast {
  background-color: #fef9c3;
  color: #b45309;
}

.badge-type-ultra {
  background-color: #fee2e2;
  color: #b91c1c;
}

.station-meta {
  font-size: 0.85rem;
}

.station-meta i {
  width: 1.25rem;
}

/* FIXED MAP HEIGHT ADDED */
#map {
  background: #e5e7eb;
  height: 380px;
  width: 100%;
  border-radius: 18px;
}

.leaflet-control-attribution {
  font-size: 9px;
}

.accordion-button {
  background-color: #fff;
}

.accordion-button:not(.collapsed) {
  color: #16a34a;
  background-color: #ecfdf5;
}

.accordion-item {
  border-color: #e5e7eb;
}

footer {
  font-size: 0.8rem;
}

@media (max-width: 576px) {
  .hero-graphic {
    max-width: 320px;
  }
}