/* =========================
GENERAL
========================= */

body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
background:#f4f6f8;
color:#111;
margin:0;
}

/* =========================
FILTER TOP BAR
========================= */

.bsd-filter-row{
display:flex;
align-items:center;
gap:12px;
background:white;
padding:15px 20px;
border-radius:10px;
box-shadow:0 4px 15px rgba(0,0,0,0.08);
margin-bottom:20px;
flex-wrap:wrap;
}

.bsd-filter-row h3{
margin:0;
margin-right:10px;
font-size:16px;
}

.bsd-filter-row select{
padding:10px 14px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
background:white;
cursor:pointer;
}

/* =========================
CAR GRID
========================= */

.bsd-cars{
width:100%;
}

#bsd-car-list{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
}

/* =========================
SEARCH HERO
========================= */

.bsd-hero{
background:#f8fafc;
padding:80px 20px;
text-align:center;
}

.bsd-search-card{
background:white;
max-width:600px;
margin:auto;
padding:40px;
border-radius:14px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.bsd-search-card input{
width:100%;
padding:14px;
margin-bottom:12px;
border:1px solid #ddd;
border-radius:8px;
font-size:14px;
}

.bsd-date-row{
display:flex;
gap:10px;
}

#bsd-search-btn{
width:100%;
padding:14px;
background:#b10b11;
color:white;
border:none;
border-radius:8px;
font-size:16px;
cursor:pointer;
transition:.2s;
}

#bsd-search-btn:hover{
background:#d3131a;
}

/* =========================
MAIN LAYOUT
========================= */

.bsd-layout{
display:flex;
gap:30px;
max-width:1400px;
margin:auto;
padding:20px;
}

/* =========================
FILTER SIDEBAR
========================= */

.bsd-filters{
width:250px;
background:white;
padding:20px;
border-radius:12px;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
height:fit-content;
}

.bsd-filters h3{
margin-top:0;
margin-bottom:20px;
font-size:18px;
}

.bsd-filters label{
font-size:13px;
color:#555;
display:block;
margin-bottom:6px;
}

.bsd-filters select{
width:100%;
padding:10px;
border:1px solid #ddd;
border-radius:6px;
margin-bottom:15px;
}

/* =========================
CAR GRID
========================= */

#bsd-car-list{
flex:1;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
align-items:stretch;
}

/* =========================
CAR CARD
========================= */

.bsd-car-card{
background:white;
border-radius:16px;
overflow:hidden;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
transition:.3s;
display:flex;
flex-direction:column;
height:340px;
}

.bsd-car-card:hover{
transform:translateY(-6px);
box-shadow:0 12px 30px rgba(0,0,0,0.15);
}

/* =========================
IMAGE SECTION
========================= */

.bsd-img-wrap{
position:relative;
width:100%;
height:190px;
overflow:hidden;
}

.bsd-car-img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

/* =========================
IMAGE GRADIENT OVERLAY
========================= */

.bsd-img-overlay{
position:absolute;
bottom:0;
left:0;
right:0;
padding:14px;
background:linear-gradient(to top,rgba(0,0,0,.85),transparent);
color:white;
}

.bsd-img-overlay h3{
margin:0;
font-size:16px;
font-weight:600;
color: #fff;
}

.bsd-img-overlay p{
margin:0;
font-size:13px;
opacity:.9;
}

/* =========================
RATING BADGE
========================= */

.bsd-rating{
position:absolute;
top:10px;
right:10px;
background:#b10b11;
color:white;
font-size:12px;
font-weight:600;
padding:4px 8px;
border-radius:6px;
}

/* =========================
CARD BODY
========================= */

.bsd-car-body{
padding:14px;
display:flex;
flex-direction:column;
flex-grow:1;
}

.bsd-distance{
font-size:13px;
color:#6b7280;
margin-bottom:10px;
}

/* =========================
PRICE ROW
========================= */

.bsd-price-row{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:3px;
}

.bsd-price{
font-size:18px;
font-weight:700;
color:#111827;
}

/* =========================
VIEW BUTTON
========================= */

.bsd-view-btn{
background:#b10b11;
color:white;
padding:1px 16px;
border-radius:6px;
font-size:13px;
font-weight:600;
text-decoration:none;
transition:.2s;
}

.bsd-view-btn:hover{
background:#d3131a;
}

/* =========================
CAR DETAILS PAGE
========================= */

.bsd-detail-layout{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
max-width:1200px;
margin:auto;
padding:40px 20px;
}

.bsd-gallery-img{
width:100%;
margin-bottom:12px;
border-radius:10px;
}

/* =========================
BOOKING CARD
========================= */

.bsd-booking-card{
background:white;
padding:25px;
border-radius:12px;
box-shadow:0 6px 20px rgba(0,0,0,0.1);
height:fit-content;
position:sticky;
top:100px;
}

.bsd-book-btn{
width:100%;
padding:14px;
background:#10b981;
color:white;
border:none;
border-radius:8px;
font-size:16px;
cursor:pointer;
margin-top:15px;
}

.bsd-book-btn:hover{
background:#059669;
}


.bsd-detail-wrapper{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
max-width:1200px;
margin:auto;
padding:40px;
}

.bsd-main-img{
width:100%;
border-radius:12px;
}

.bsd-thumb-row{
display:flex;
gap:10px;
margin-top:10px;
}

.bsd-thumb-img{
width:80px;
height:60px;
object-fit:cover;
border-radius:6px;
cursor:pointer;
}

.bsd-specs{
display:flex;
gap:20px;
margin:10px 0;
color:#555;
}

.bsd-features-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-top:10px;
}

.bsd-feature{
display:flex;
align-items:center;
gap:8px;
font-size:14px;
}

.bsd-feature img{
width:22px;
}

.bsd-detail-right{
position:sticky;
top:120px;
height:fit-content;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:1200px){

#bsd-car-list{
grid-template-columns:repeat(3,1fr);
}

}

@media(max-width:900px){

.bsd-layout{
flex-direction:column;
}

.bsd-filters{
width:100%;
}

#bsd-car-list{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

#bsd-car-list{
grid-template-columns:1fr;
}

.bsd-date-row{
flex-direction:column;
}

.bsd-car-card{
height:auto;
}

}


/* =================================
DETAIL PAGE LAYOUT
================================= */

.bsd-detail-page{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
padding:30px 20px;
}


/* =================================
GALLERY
================================= */

.bsd-gallery{
position:relative;
width:100%;
height:420px;
border-radius:14px;
overflow:hidden;
background:#eee;
}

.bsd-main-img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}


/* slider arrows */

.bsd-prev,
.bsd-next{
position:absolute;
top:50%;
transform:translateY(-50%);
background:#0008;
color:white;
border:none;
width:40px;
height:40px;
border-radius:50%;
cursor:pointer;
font-size:20px;
display:flex;
align-items:center;
justify-content:center;
}

.bsd-prev{left:15px;}
.bsd-next{right:15px;}

.bsd-prev:hover,
.bsd-next:hover{
background:#000;
}


/* =================================
THUMBNAILS
================================= */

.bsd-thumb-row{
display:flex;
gap:10px;
margin-top:12px;
}

.bsd-thumb-img{
width:100px;
height:70px;
border-radius:8px;
object-fit:cover;
cursor:pointer;
opacity:.7;
border:2px solid transparent;
transition:all .2s;
}

.bsd-thumb-img:hover{
opacity:1;
border-color:#10b981;
}


/* =================================
CAR TITLE
================================= */

.bsd-title{
font-size:26px;
margin-top:18px;
margin-bottom:8px;
font-weight:600;
}

.bsd-specs{
display:flex;
gap:15px;
color:#6b7280;
font-size:14px;
margin-bottom:15px;
}


/* =================================
TABS
================================= */

.bsd-tabs{
display:flex;
gap:25px;
border-bottom:1px solid #e5e7eb;
margin-top:20px;
}

.bsd-tab{
background:none;
border:none;
padding:12px 0;
cursor:pointer;
font-size:15px;
color:#6b7280;
}

.bsd-tab.active{
color:#111;
border-bottom:3px solid #10b981;
font-weight:600;
}


/* =================================
TAB CONTENT
================================= */

.bsd-tab-content{
display:none;
padding:20px 0;
}

.bsd-tab-content.active{
display:block;
}


/* =================================
FEATURE GRID
================================= */

.bsd-features-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.bsd-feature{
display:flex;
align-items:center;
gap:10px;
background:#f9fafb;
padding:10px;
border-radius:8px;
font-size:14px;
}

.bsd-feature img{
width:22px;
height:22px;
}


/* =================================
REVIEWS
================================= */

.bsd-review{
background:#f9fafb;
padding:15px;
border-radius:10px;
margin-bottom:10px;
}

.bsd-review-user{
display:flex;
justify-content:space-between;
margin-bottom:6px;
font-weight:600;
}


/* =================================
BOOKING CARD
================================= */

.bsd-right{
position:sticky;
top:100px;
height:fit-content;
}

.bsd-book-card{
background:white;
padding:25px;
border-radius:14px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.bsd-book-card h3{
font-size:24px;
margin-bottom:8px;
}

.bsd-deposit{
background:#f3f4f6;
padding:10px;
border-radius:6px;
margin-top:10px;
font-size:14px;
}

.bsd-total{
margin-top:12px;
font-size:20px;
font-weight:700;
}

.bsd-book-btn{
width:100%;
padding:14px;
background:#10b981;
color:white;
border:none;
border-radius:8px;
font-size:16px;
font-weight:600;
cursor:pointer;
margin-top:15px;
}

.bsd-book-btn:hover{
background:#059669;
}


/* =================================
LOCATION
================================= */

.bsd-location{
background:#f9fafb;
padding:15px;
border-radius:10px;
margin-top:10px;
font-size:14px;
}


/* =================================
RESPONSIVE
================================= */

@media(max-width:900px){

.bsd-detail-page{
grid-template-columns:1fr;
}

.bsd-gallery{
height:300px;
}

.bsd-thumb-img{
width:70px;
height:50px;
}

.bsd-features-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:500px){

.bsd-gallery{
height:220px;
}

.bsd-features-grid{
grid-template-columns:1fr;
}

}