.dfs-search-results-page{

    max-width:1400px;

    margin:40px auto;

}

.dfs-summary-card{

    background:#fff;

    padding:25px;

    border-radius:10px;

    margin-bottom:25px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

}

.dfs-route{

    font-size:28px;

    font-weight:700;

}

.dfs-route span{

    margin:0 20px;

    color:#0b7dda;

}

.dfs-meta{

    margin-top:10px;

    color:#777;

}

.dfs-results-wrapper{

    display:flex;

    gap:25px;

    align-items:flex-start;

}

.dfs-sidebar{

    width:300px;

    position:sticky;

    top:20px;

}

.dfs-filter-card{

    background:#fff;

    padding:25px;

    border-radius:10px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

}

.dfs-filter-group{

    margin-bottom:25px;

}

.dfs-filter-group label{

    display:block;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 500;
    margin-top: 10px;

}

.dfs-results-content{

    flex:1;

}

.dfs-results-topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}

.dfs-ticket-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:25px;

    background:#fff;

    border-radius:10px;

    gap: 30px;

    margin-bottom:20px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

}

.dfs-ticket-left{

    width:200px;

}

.dfs-ticket-center{

    flex:1;

}

.dfs-flight-times{

    display:flex;

    justify-content:space-around;

    align-items:center;

    font-size: 20px;

}

.dfs-flight-line{

    text-align:center;

    color:#777;

}

.dfs-ticket-right{

    width:200px;

}

.dfs-price{

    font-size:28px;

    font-weight:bold;

    color:#0b7dda;

}

.dfs-view-details{
    margin-top: 10px;
    border: none;
    background: #0b7dda;
    display: block;
    text-align: center;
    color: #fff;
    padding: 8px;
    border-radius: 6px;
    text-decoration: none;
    cursor: pointer;
}

.dfs-view-details:hover{

    background:#0864b1;

}

.dfs-results-body{

    display:flex;

    gap:24px;

    align-items:flex-start;

}

.dfs-sidebar{

    width:320px;

    flex-shrink:0;

}

.dfs-results-list-container{
    flex: 1;
}

.dfs-results-list{

    flex:1;

}

.dfs-results-toolbar{

    margin:20px 0;

    display:flex;

    justify-content:flex-end;

}

.dfs-sort{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.dfs-sort label{
    font-size:14px;
    font-weight:600;
    color:#374151;
    white-space:nowrap;
}

.dfs-sort-select{
    position:relative;
    min-width:230px;
}

.dfs-sort-select select{

    width:100%;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    border:1px solid #dbe3ea;
    border-radius:10px;

    background:#fff;

    padding:12px 42px 12px 16px;

    font-size:14px;
    font-weight:500;

    color:#1f2937;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 2px 8px rgba(0,0,0,.05);

}

.dfs-sort-select select:hover{

    border-color:#2b6cff;

}

.dfs-sort-select select:focus{

    outline:none;

    border-color:#2b6cff;

    box-shadow:0 0 0 4px rgba(43,108,255,.15);

}

.dfs-sort-icon{

    position:absolute;

    right:15px;

    top:50%;

    transform:translateY(-50%);

    pointer-events:none;

    color:#6b7280;

    font-size:12px;

}

#dfs-load-more,
#dfs-search-again-btn{

    width:100%;

    margin-top:25px;

    background:#0b7dda;

    border: 1px solid #0b7dda;

    text-decoration: none;

    color: #fff;

    font-weight: 500;

    border-radius: 6px;

    text-align: center;

    color: #fff;

    padding:15px;

    font-size:16px;

    cursor:pointer;

}

.noUi-connect{
    background: #0b7dda !important;
}

#dfs-load-more:hover{
    background:#0864b1;
}

.dfs-search-expired{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.dfs-search-summary{

    background:#fff;

    padding:20px;

    border-radius:8px;

    margin-bottom:20px;

}

.dfs-filters{

    background:#fff;

    border-radius:8px;

    padding:20px;

    position:sticky;

    top:20px;

}

.dfs-results-page{
    margin: 0 !important;
    width: 100%;
    max-width: 100%;
}

.dfs-airline{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.dfs-airline img{
    width: 150px;
    object-fit: contain;
}

.dfs-price-values{
    display:flex;
    justify-content:space-between;
    margin-top:12px;
    font-weight:600;
}

#dfs-price-slider{
    margin-top:15px;
    margin-bottom:8px;
}

#dfs-expiry-box{

    margin:15px 0;

    padding:12px 18px;

    background:#fff8e6;

    border:1px solid #f5cf6b;

    border-radius:8px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    font-size:15px;

}

#dfs-expiry-timer{

    font-size:20px;

    font-weight:700;

}

.dfs-filter-mobile-header{
    display:none;
}

.dfs-filter-toggle{
    border:none;
    background:#0864b1 !important;
    color:#fff !important;
    padding:10px 16px !important;
    border-radius:8px !important;
    cursor:pointer !important;
    font-size:15px !important;
}

.dfs-filter-card .dfs-filter-close{
    display:none;
}

@media(max-width:1200px){
    .dfs-ticket-card{
        padding: 20px;
    }
    .dfs-ticket-left, .dfs-ticket-center, .dfs-ticket-right{
        flex: 1;
    }
}

@media(max-width:992px){
    .dfs-ticket-card{
        flex-direction: column;
    }
    .dfs-ticket-left, .dfs-ticket-center, .dfs-ticket-right{
        width: 100%;
    }
    .dfs-airline{
        align-items: center;
    }
    .dfs-filter-mobile-header{
        display:block;
        margin-bottom:15px;
    }

    .dfs-filter-card{
        position:fixed;
        top:0;
        left:-100%;
        width:320px;
        max-width:90%;
        height:100%;
        background:#fff;
        z-index:99999;
        overflow-y:auto;
        transition:left .3s ease;
        padding:20px;
        box-shadow:0 0 20px rgba(0,0,0,.25);
    }

    .dfs-filter-card.active{
        left:0;
    }

    .dfs-filter-card .dfs-filter-close{
        display:block;
        position:absolute;
        right:15px;
        top:10px;
        border:none;
        background:none;
        font-size:28px;
        cursor:pointer;
        line-height:1;
    }

    .dfs-flight-times{
        font-size: 16px;
    }
}

@media(max-width:767px){
    .dfs-results-body{
        flex-direction: column;
    }
    .dfs-sidebar{
        position: unset;
    }
    .dfs-results-list-container, .dfs-sidebar{
        width: 100%;
    }
    .dfs-route{
        font-size: 20px;
    }
    .dfs-meta{
        font-size: 16px;
    }
}