/* =========================
   GLOBAL RESET & VARIABLES
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

:root{
--primary:#1c1c1c;        /* Dark charcoal */
--primary-dark:#000000;  
--accent:#e10600;         /* Sporty red */
--bg:#f4f4f4;
--card-bg:#ffffff;
--text:#1e1e1e;
--muted:#666;
--radius:10px;
--shadow:0 6px 18px rgba(0,0,0,0.15);
}



html{
scroll-behavior:smooth;
}

body{
background:var(--bg);
color:var(--text);
overflow-x:hidden;
}

img{
max-width:100%;
height:auto;
}

/* =========================
   NAVBAR
========================= */

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:16px 50px;
background:var(--primary);
color:white;
position:sticky;
top:0;
z-index:1000;
}

.nav-links a{
color:white;
margin-left:25px;
text-decoration:none;
font-weight:bold;
}

.nav-links a:hover{
background:var(--accent);
padding:6px 12px;
border-radius:4px;
text-decoration:none;
}


.brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.logo-img{
  width:45px;
  height:45px;
  object-fit:contain;
}

.brand-name{
  font-size:22px;
  font-weight:bold;
  color:white;
}


/* =========================
   HERO
========================= */

.hero{
background:#e9f7f7;
padding:70px 20px;
text-align:center;
}

.hero h1{
font-size:40px;
margin-bottom:10px;
}

.hero p{
font-size:18px;
}

/* =========================
   CONTAINER
========================= */

.container{
width:90%;
max-width:1200px;
margin:auto;
padding:40px 0;
}

.section-title{
font-size:26px;
margin-bottom:20px;
}

/* =========================
   FILTER BAR
========================= */

.filters{
display:flex;
gap:15px;
flex-wrap:wrap;
margin-bottom:30px;
}

.filters input,
.filters select,
.filters button{
width:220px;
height:46px;
padding:0 14px;
border-radius:6px;
border:1px solid #ccc;
font-size:15px;
}

.filters input:focus,
.filters select:focus{
outline:none;
border-color:var(--primary);
}

#resetBtn{
background:var(--primary);
color:white;
border:none;
cursor:pointer;
}

#resetBtn:hover{
background:var(--primary-dark);
}

/* =========================
   CAR GRID
========================= */

.cars{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

/* =========================
   CAR CARD
========================= */

.car-card{
background:var(--card-bg);
padding:15px;
border-radius:var(--radius);
box-shadow:var(--shadow);
text-align:center;
transition:0.3s;
}

.car-card:hover{
transform:translateY(-5px);
box-shadow:0 8px 22px rgba(0,0,0,0.2);
}

.car-card img{
height:180px;
object-fit:cover;
border-radius:8px;
}

.car-card h3{
margin:12px 0 5px;
}

.car-card p{
color:var(--muted);
font-size:14px;
}

.price{
color:green;
font-weight:bold;
font-size:18px;
margin:10px 0;
}

/* =========================
   BUTTON
========================= */

button{
width:100%;
padding:12px;
border:none;
border-radius:6px;
background:var(--accent);

color:white;
font-size:15px;
cursor:pointer;
}

button:hover{
background:#b30000;
}


/* =========================
   DETAILS PAGE
========================= */

.details-page{
display:flex;
gap:40px;
max-width:1200px;
margin:auto;
padding:40px 20px;
flex-wrap:wrap;
}

.car-info-box,
.booking-box{
flex:1;
min-width:300px;
background:white;
padding:25px;
border-radius:var(--radius);
box-shadow:var(--shadow);
}

.details-img{
height:260px;
object-fit:cover;
border-radius:8px;
margin-bottom:15px;
}

.spec{
margin:8px 0;
}

.price-big{
font-size:24px;
color:green;
font-weight:bold;
margin:15px 0;
}

.car-info-box h3{
margin-top:15px;
}

.car-info-box p{
margin:6px 0;
}

/* =========================
   BOOKING FORM
========================= */

.booking-box input{
width:100%;
padding:10px;
margin:10px 0;
border-radius:5px;
border:1px solid #ccc;
}

.summary{
background:#eef3f6;
padding:15px;
border-radius:8px;
margin:15px 0;
font-weight:bold;
text-align:center;
}

/*Request Booking*/

.lead-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:15px;
}

.lead-form input{
  padding:12px;
  border-radius:6px;
  border:1px solid #ccc;
}

.lead-form button{
  background:var(--accent);
  color:white;
  padding:12px;
  border:none;
  border-radius:6px;
  font-size:16px;
  cursor:pointer;
}



/* =========================
   PAYMENT PAGE
========================= */

.booking-container{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
background:#eef6f8;
padding:20px;
}

.booking-card{
background:white;
max-width:350px;
width:100%;
padding:30px;
border-radius:var(--radius);
box-shadow:var(--shadow);
text-align:left;
}

.pay-section{
display:flex;
flex-direction:column;
gap:12px;
margin-top:15px;
}

.qr-img{
width:180px;
margin:10px auto;
display:block;
}

/* =========================
   CONFIRMATION PAGE
========================= */

.success-title{
text-align:center;
margin-bottom:20px;
}

.confirm-row{
display:flex;
justify-content:space-between;
margin:8px 0;
font-size:16px;
}

.confirm-row span:first-child{
font-weight:bold;
}

.confirm-row.total{
font-size:18px;
color:green;
font-weight:bold;
}

/* =========================
   CONTACT SECTION
========================= */

.contact-section{
background:var(--primary);
color:white;
padding:60px 20px;
text-align:center;
margin-top:60px;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:900px){
.cars{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:768px){

.hero h1{
font-size:28px;
}

.navbar{
padding:15px 20px;
}

.filters{
flex-direction:column;
}

.filters input,
.filters select,
.filters button{
width:100%;
}

.details-page{
flex-direction:column;
}

}

@media(max-width:600px){
.cars{
grid-template-columns:1fr;
}
}

@media(max-width:480px){
h1,h2{
font-size:22px;
}
.price-big{
font-size:20px;
}
}

/* =========================
   MOBILE NAVBAR FIX
========================= */

@media (max-width: 600px){

  .navbar{
    flex-direction:column;
    align-items:center;
    gap:12px;
    padding:15px;
  }

  .brand{
    justify-content:center;
  }

  .nav-links{
    display:flex;
    gap:20px;
  }

  .nav-links a{
    margin-left:0;
    font-size:16px;
  }

}
