body{
  font-family:'Poppins',sans-serif;
  background:#f8f6ff;
  margin:0;
  padding:0;
  color:#222;
}

/* breadcrumb */
.breadcrumb{
  max-width:1200px;
  margin:20px auto 0;
  font-size:.9rem;
  color:#666;
}
.breadcrumb a{
  color:#4a3aff;
  text-decoration:none;
}
.breadcrumb span{
  margin:0 5px;
}

/* trip summary */
.trip-summary{
  position:sticky;
  top:70px;
  z-index:100;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.3);
  border-radius:14px;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  margin:10px auto 20px;
  padding:16px 25px;
  max-width:1200px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:15px;
}
.trip-info{
  font-size:1rem;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
}
.trip-summary strong{
  color:#4a3aff;
}
.best-deal{
  background:#ffda47;
  padding:5px 10px;
  border-radius:6px;
  font-size:.9rem;
  font-weight:600;
  color:#333;
}

/* layout */
.container{
  max-width:1250px;
  margin:30px auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:30px;
}
.page-title{
  text-align:center;
  font-size:1.8rem;
  font-weight:600;
  color:#4a3aff;
  margin-bottom:25px;
}

/* cab list */
.cab-list{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.cab-card{
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 20px;
  transition:.2s;
}
.cab-card:hover{
  transform:translateY(-3px);
}

.cab-left{
  display:flex;
  align-items:center;
  gap:22px;
  min-width:340px;
}
.cab-img{
  width:110px;
  height:72px;
  border-radius:10px;
  overflow:hidden;
  text-align:center;
}
.cab-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.car-details{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:82px;
}
.vehicle-name{
  font-weight:700;
  font-size:1.05rem;
  line-height:1.1;
}
.vehicle-type{
  color:#666;
  font-size:.98rem;
  margin-bottom:8px;
}

.route-details{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:130px;
  margin-left:22px;
}
.route-details div{
  font-size:.96rem;
  font-weight:500;
}

/* price row */
.price-row{
  display:flex;
  align-items:center;
  gap:20px;
  justify-content:flex-end;
}
.icon-box{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  color:#4a3aff;
  font-weight:500;
}
.amount{
  font-size:1.1rem;
  font-weight:700;
  color:#4a3aff;
}
.btn-book{
  background:#4a3aff;
  color:#fff;
  padding:8px 18px;
  border-radius:6px;
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}
.btn-book:hover{
  background:#372cff;
}

.no-result{
  text-align:center;
  padding:50px 20px;
  color:#555;
}

/* booking box */
.booking-box{
  background:#fff;
  padding:20px;
  border-radius:12px;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  min-width:300px;
  max-width:350px;
  margin-left:auto;
}
.booking-box h3{
  background:#4a3aff;
  color:#fff;
  text-align:center;
  padding:10px;
  border-radius:8px;
  margin:0 0 15px;
  font-size:1.1rem;
}
.booking-box form{
  display:flex;
  flex-direction:column;
  gap:15px;
}
.booking-box select,
.booking-box button{
  width:100%;
  padding:10px;
  border:1px solid #ddd;
  border-radius:6px;
  font-size:.95rem;
}
.search-btn{
  background:#4a3aff;
  color:#fff;
  border:none;
  padding:10px;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
  transition:.2s;
}
.search-btn:hover{
  background:#372cff;
}

/* Expore Local Cabs */
.other-cities {
    margin: 70px 0;
    padding: 40px 0;
    background: #f8f9ff;
    border-radius: 20px;
}

.section-title {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 35px;
    color: #5a4bff;
}

.city-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    padding: 0 20px;
}

.city-card {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #ffffff;
    padding: 20px;
    border-radius: 14px;
    text-decoration: none;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.city-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(90, 75, 255, 0.2);
    border-color: #5a4bff;
}

.city-icon {
    font-size: 28px;
}

.city-name {
    font-weight: 600;
    font-size: 16px;
    color: #222;
}

.city-sub {
    font-size: 13px;
    color: #777;
    margin-top: 4px;
}
/* mobile */
@media(max-width:900px){
  .trip-summary{
    position:static;
    flex-direction:column;
    text-align:center;
    margin:10px 2vw 20px;
  }
  .container{
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:100%;
    margin:0 auto;
    padding:0 2vw;
  }
  .cab-list{
    width:100%;
    align-items:center;
    gap:16px;
  }
  .booking-box{
    width:100%;
    max-width:100%;
    margin:20px 0 0;
  }
  .cab-card{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    padding:14px 10px 17px;
    border-radius:16px;
  }
  .cab-left{
    width:100%;
    gap:14px;
  }
  .cab-img{
    width:94px;
    height:56px;
  }
  .price-row{
    width:100%;
    gap:13px;
    font-size:1.13rem;
  }
  .amount{
    font-size:1.12rem;
    font-weight:800;
    flex:1;
    text-align:right;
    padding-right:5px;
  }
  .btn-book{
    width:98%;
    margin:13px auto 0;
    text-align:center;
    font-size:1.17rem;
    padding:13px 0;
    border-radius:10px;
    display:block;
  }
}