/* =========================
   PERFECT RESPONSIVE FIX
========================= */

.available-rides-wrapper{
    width:100%;
    max-width:650px;
    margin:auto;
    padding:18px 14px;
}

/* =========================
   HEADING
========================= */

.rides-heading{
    text-align:center;
    color:#156f70;
    font-size:30px;
    font-weight:800;
    margin-bottom:18px;
}

/* =========================
   SUMMARY CARD
========================= */

.route-summary-card{
    background:#fff;
    border-radius:22px;
    padding:18px;
    border:1px solid #f0f0f0;
    box-shadow:0 2px 12px rgba(0,0,0,0.05);
}

.route-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.route-box{
    flex:1;
    min-width:0;
}

.route-label{
    color:#ddb200;
    font-size:13px;
    font-weight:700;
    margin-bottom:7px;
    display:block;
}

.route-box h4{
    font-size:16px;
    line-height:1.4;
    font-weight:700;
    margin:0;

    /* TEXT CUT */
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.route-divider{
    width:45px;
    height:2px;
    background:#ddd;
}

.rides-count{
    text-align:center;
    color:#156f70;
    font-size:17px;
    font-weight:700;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #ececec;
}

/* =========================
   FILTERS
========================= */

/* =========================
   FILTER WRAPPER FIX
========================= */
.journey-filter-wrapper{
    width:100%;
    margin:18px 0;
}

.custom-filter-select{
    width:100%;
    height:50px;
    border-radius:14px;
    border:1px solid #ececec;
    padding:0 14px;
    font-size:14px;
    font-weight:600;
    background:#fff;
    outline:none;
}

/* =========================
   DRIVER IMAGE / ICON FIX
========================= */

.driver-img{
    width:52px;
    height:52px;
    border-radius:50%;
    object-fit:cover;
    flex-shrink:0;
}

.driver-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#f3f3f3;
    color:#9b9b9b;
    font-size:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

/* =========================
   BOOK BUTTON FIX
========================= */

.btn-two{
    background:#156f70;
    color:#fff !important;
    border:none;
    border-radius:14px;
    padding:12px 20px;
    font-size:15px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-decoration:none;
    white-space:nowrap;
    min-width:140px;
}

/* =========================
   MOBILE FIX
========================= */

@media(max-width:576px){

    .journey-filter-wrapper{
        flex-direction:column;
    }

    .journey-filter-wrapper > select,
    .journey-filter-wrapper form{
        width:100%;
    }

    .custom-filter-select{
        height:48px;
        font-size:13px;
    }

    .driver-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .btn-two{
        width:100%;
    }

}
/* =========================
   CARD
========================= */

.available-journey-card{
    background:#fff;
    border-radius:22px;
    padding:18px;
    border:1px solid #f1f1f1;
    box-shadow:0 3px 14px rgba(0,0,0,0.05);
}

/* =========================
   TOP ROW
========================= */

.top-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:18px;
}

.status-badge{
    background:#edf8f5;
    border:1px solid #a6d3cb;
    color:#156f70;
    border-radius:14px;
    padding:8px 14px;
    font-size:13px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}

.price-box{
    text-align:right;
}

.price{
    font-size:34px;
    font-weight:800;
    line-height:1;
    color:#111;
}

.per-person{
    color:#ddb200;
    font-size:13px;
    font-weight:600;
}

/* =========================
   ROUTE
========================= */

.route-wrapper{
    position:relative;
    padding-left:16px;
}

.route-line{
    position:absolute;
    left:5px;
    top:16px;
    width:2px;
    height:78px;
    background:#ddd;
}

.location-item{
    display:flex;
    gap:14px;
    margin-bottom:20px;
}

.dot{
    width:12px;
    height:12px;
    border-radius:50%;
    margin-top:7px;
    flex-shrink:0;
}

.dot.green{
    background:#48b857;
}

.dot.red{
    background:#ef4444;
}

.location-content{
    min-width:0;
}

.location-title{
    font-size:16px;
    font-weight:700;
    line-height:1.45;
    color:#1f1f1f;

    /* TEXT FIX */
    word-break:break-word;
}

.distance{
    margin-top:5px;
    font-size:12px;
    font-weight:500;
    line-height:1.5;
}

.green-text{
    color:#3f9b4b;
}

.red-text{
    color:#df4c4c;
}

/* =========================
   META
========================= */

.ride-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}

.meta-box{
    background:#f5f5f5;
    border-radius:12px;
    padding:9px 13px;
    font-size:12px;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:6px;
    color:#444;
}

.car-seat{
    width:56px;
    height:56px;
    flex-direction:column;
    justify-content:center;
    color:#156f70;
    font-size:16px;
}

.car-seat span{
    font-size:13px;
    color:#d3a300;
    font-weight:700;
}

.date-box{
    background:#eaf4ff;
    color:#2b7bc5;
}

.time-box{
    background:#fff3df;
    color:#de8d17;
}

.car-box{
    background:#e7f5e2;
    color:#4e9b47;
}

/* =========================
   DRIVER
========================= */

.driver-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid #ececec;
    gap:12px;
}

.driver-left{
    display:flex;
    align-items:center;
    gap:12px;
}

.driver-img{
    width:50px;
    height:50px;
    border-radius:50%;
    object-fit:cover;
}

.driver-name{
    font-size:18px;
    font-weight:700;
    color:#d1a300;
}

.verified{
    margin-top:4px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    background:#eef8ef;
    color:#4ca24f;
    padding:5px 10px;
    border-radius:10px;
    font-size:11px;
    font-weight:600;
}

.book-btn{
    background:#156f70;
    color:#fff;
    border:none;
    border-radius:14px;
    padding:12px 20px;
    font-size:15px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}

/* =========================
   MOBILE FIX
========================= */

@media(max-width:576px){

.available-rides-wrapper{
    padding:14px;
}

.rides-heading{
    font-size:26px;
}

.route-summary-card{
    padding:16px;
}

.route-box h4{
    font-size:14px;
}

.route-divider{
    width:28px;
}

.journey-filter-wrapper{
    flex-direction:column;
}

.custom-filter-select{
    width:100%;
    height:46px;
    font-size:13px;
}

.available-journey-card{
    padding:16px;
}

.top-row{
    align-items:flex-start;
}

.price{
    font-size:28px;
}

.per-person{
    font-size:12px;
}

.location-title{
    font-size:15px;
}

.distance{
    font-size:11px;
}

.route-line{
    height:82px;
}

.meta-box{
    font-size:11px;
    padding:8px 10px;
}

.driver-row{
    flex-direction:column;
    align-items:flex-start;
}

.book-btn{
    width:100%;
    justify-content:center;
    padding:12px;
    font-size:14px;
}

}
