body {
      background: #f5f7fa;
    }
    html {
      scroll-behavior: smooth;
    }

/* Navbar initial hidden */
.navbar {
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.8s ease-in-out;
}

/* When active, visible */
.navbar.show {
  transform: translateY(0);
  opacity: 1;
}

/* On scroll, add shadow */
.navbar.scrolled {
  background: #000 !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.4);
  transition: background 0.4s, box-shadow 0.4s;
}

    /* Navbar */
    .navbar {
      background: linear-gradient(90deg, #dc3545, #ff5f6d);
    }
    .navbar-nav .nav-link {
      position: relative;
      transition: color 0.3s;
    }
    .navbar-nav .nav-link:hover {
      color: #ffd700 !important;
    }

    /* Hero Section */
    .hero {
      background: url('./assets/bus\ 2.jpg') no-repeat center center/cover;
      color: white;
      min-height: 90vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: "";
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0,0,0,0.6);
    }
    .hero .container {
      position: relative;
      z-index: 1;
      animation: fadeInUp 1.5s ease;
    }

    /* Search box */
    .search-box {
      background: rgba(255,255,255,0.95);
      padding: 20px;
      border-radius: 12px;
      box-shadow: 0px 4px 12px rgba(0,0,0,0.2);
      animation: fadeIn 2s ease;
    }

    /* Bus cards */
    .bus-card {
      border-radius: 12px;
      box-shadow: 0px 4px 12px rgba(0,0,0,0.1);
      transition: all 0.4s ease;
      background: #fff;
    }
    .bus-card:hover {
      transform: translateY(-8px) scale(1.02);
      box-shadow: 0px 6px 18px rgba(0,0,0,0.15);
    }

    .bus-card:hover {
    transform: translateY(-8px);
    transition: 0.3s ease-in-out;
    box-shadow: 0px 6px 20px rgba(0,0,0,0.2);
  }
  .btn-animate {
    transition: all 0.3s ease-in-out;
  }
  .btn-animate:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  }
    .price-badge {
      background: linear-gradient(90deg,#28a745,#5dd39e);
      color: white;
      font-weight: bold;
      padding: 5px 12px;
      border-radius: 8px;
      display: inline-block;
    }

    /* Smooth fade & slide animation */
.modal.fade .modal-dialog {
  transform: translateY(-50px);
  transition: transform 0.3s ease-out;
}
.modal.fade.show .modal-dialog {
  transform: translateY(0);
}

/* Inputs focus effect */
.form-control:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 5px rgba(13,110,253,0.5);
}

/* Offers Section */
.offer-card {
  border-radius: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.offer-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.offer-card .badge {
  font-size: 0.9rem;
  animation: pulse 1.5s infinite;
}

/* Pulse Animation for badges */
@keyframes pulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}



  .feedback-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feedback-card:hover {
  transform: translateY(-10px);
  box-shadow: 0px 8px 20px rgba(0,0,0,0.2);
}


    /* Contact */
    #contact {
      background: #f0f4ff;
    }
    .contact-card {
      background: #fff;
      padding: 25px;
      border-radius: 12px;
      box-shadow: 0px 4px 12px rgba(0,0,0,0.1);
      animation: fadeInUp 1.2s ease;
    }
    .form-control:focus {
      border-color: #dc3545;
      box-shadow: 0 0 8px rgba(220,53,69,0.3);
    }

    /* Footer */
    footer {
      background: linear-gradient(90deg, #dc3545, #ff5f6d);
    }

    /* Animations */
    @keyframes fadeIn {
      from {opacity: 0;}
      to {opacity: 1;}
    }
    @keyframes fadeInUp {
      from {opacity: 0; transform: translateY(30px);}
      to {opacity: 1; transform: translateY(0);}
    }
