/* HERO */
.hero-buses {
  height: 55vh;
  background: url("../images/hero/pexels-maxandrey-1197095.jpg") center/cover no-repeat fixed;
  position: relative;
}
.hero-buses .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

/* TEXTOS */
.section-title {
  font-weight: 700;
  color: #184c36;
}

/* TARJETAS */
.bus-card, .stop-card {
  background: #fff;
  border-radius: 16px;
  transition: .3s;
}
.bus-card:hover, .stop-card:hover {
  transform: translateY(-5px);
}

/* HORARIO LISTA */
.bus-list {
  list-style: none;
  padding-left: 0;
}
.bus-list li {
  background: #f4f4f4;
  margin-bottom: 6px;
  padding: 10px 15px;
  border-radius: 8px;
  font-weight: 500;
}

/* Animaciones */
.fade-up {
  opacity: 0;
  transform: translateY(35px);
  transition: .6s ease-out;
}
.fade-up.in-view { opacity: 1; transform: translateY(0); }

.fade-left {
  opacity: 0;
  transform: translateX(-35px);
  transition: .6s ease-out;
}
.fade-left.in-view { opacity: 1; transform: translateX(0); }

.fade-right {
  opacity: 0;
  transform: translateX(35px);
  transition: .6s ease-out;
}
.fade-right.in-view { opacity: 1; transform: translateX(0); }
