/* ==========================================================
   NEXA CABS
   Premium Taxi Booking Website
   Version : 1.0
   ========================================================== */

:root{

--primary:#0F172A;
--secondary:#F59E0B;
--white:#ffffff;
--black:#111827;
--text:#334155;
--light:#F8FAFC;
--border:#E2E8F0;
--success:#16A34A;
--danger:#DC2626;

--radius:16px;

--shadow:0 10px 30px rgba(0,0,0,.08);

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Inter',sans-serif;
background:var(--white);
color:var(--text);
line-height:1.7;
overflow-x:hidden;

}

h1,h2,h3,h4,h5,h6{

font-family:'Poppins',sans-serif;
color:var(--primary);
font-weight:700;

}

a{

text-decoration:none;
transition:.3s;

}

img{

max-width:100%;
display:block;

}

.container{

width:min(1200px,92%);
margin:auto;

}

section{

padding:80px 0;

}

/* HEADER */

.site-header{

position:fixed;
top:0;
left:0;
width:100%;
background:#ffffffee;
backdrop-filter:blur(14px);
z-index:9999;
box-shadow:0 2px 15px rgba(0,0,0,.05);

}

.site-header .container{

display:flex;
justify-content:space-between;
align-items:center;
padding:18px 0;

}

.logo{

display:flex;
align-items:center;
gap:10px;

}

.logo img{

height:55px;

}

nav ul{

display:flex;
gap:35px;
list-style:none;

}

nav a{

font-weight:600;
color:var(--primary);

}

nav a:hover{

color:var(--secondary);

}

.header-buttons{

display:flex;
gap:15px;

}

.call-btn,
.whatsapp-btn{

padding:12px 22px;
border-radius:40px;
font-weight:600;

}

.call-btn{

background:var(--primary);
color:#fff;

}

.whatsapp-btn{

background:#25D366;
color:#fff;

}

.call-btn:hover{

background:var(--secondary);

}

.hero{

padding-top:150px;
background:linear-gradient(135deg,#F8FAFC,#ffffff);

}

.hero-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;

}

.hero h1{

font-size:55px;
line-height:1.15;
margin-bottom:20px;

}

.hero p{

font-size:18px;
margin-bottom:35px;

}

.hero-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;

}

.primary-btn{

background:var(--secondary);
color:#fff;
padding:16px 32px;
border-radius:50px;
font-weight:700;

}

.secondary-btn{

background:var(--primary);
color:#fff;
padding:16px 32px;
border-radius:50px;
font-weight:700;

}

.primary-btn:hover,
.secondary-btn:hover{

transform:translateY(-3px);

}

/* ==========================================================
   GLOBAL SECTION STYLES
========================================================== */

.section-title{
text-align:center;
margin-bottom:60px;
}

.section-subtitle{
display:inline-block;
background:#FFF7E6;
color:var(--secondary);
padding:8px 18px;
border-radius:50px;
font-size:14px;
font-weight:700;
margin-bottom:15px;
}

.section-title h2{
font-size:42px;
margin-bottom:18px;
}

.section-title p{
max-width:800px;
margin:auto;
color:#64748B;
}

/* BOOKING */

.booking-form{
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:var(--shadow);
}

.form-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:25px;
}

.form-group{
display:flex;
flex-direction:column;
}

.form-group label{
font-weight:600;
margin-bottom:8px;
}

.form-group input,
.form-group select,
.form-group textarea{

padding:15px;
border:1px solid var(--border);
border-radius:12px;
font-size:15px;

}

.full-width{
grid-column:1/-1;
}

/* SERVICES */

.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.service-card{

background:#fff;
padding:35px;
border-radius:18px;
box-shadow:var(--shadow);
transition:.3s;

}

.service-card:hover{

transform:translateY(-8px);

}

.service-card h3{

margin-bottom:15px;

}

.service-card a{

display:inline-block;
margin-top:20px;
font-weight:700;
color:var(--secondary);

}

/* WHY US */

.why-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.why-card{

padding:35px;
text-align:center;
background:#fff;
border-radius:18px;
box-shadow:var(--shadow);

}

.why-icon{

font-size:45px;
margin-bottom:18px;

}

/* FLEET */

.fleet-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.fleet-card{

background:#fff;
padding:30px;
border-radius:20px;
box-shadow:var(--shadow);
text-align:center;

}

.fleet-card img{

border-radius:14px;
margin-bottom:20px;

}

.fleet-price{

font-size:24px;
font-weight:700;
color:var(--secondary);
margin:15px 0;

}

.fleet-card ul{

list-style:none;
text-align:left;
margin:20px 0;

}

.fleet-card li{

margin-bottom:12px;

}

/* ROUTES */

.routes-grid{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:25px;

}

.route-card{

background:#fff;
padding:30px;
border-radius:18px;
box-shadow:var(--shadow);

}

.route-card h3{

margin-bottom:10px;

}

.route-card a{

display:inline-block;
margin-top:15px;
font-weight:700;
color:var(--secondary);

}

/* REVIEWS */

.reviews-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.review-card{

padding:35px;
background:#fff;
border-radius:20px;
box-shadow:var(--shadow);

}

.stars{

font-size:22px;
margin-bottom:15px;

}

/* FAQ */

.faq-item{

background:#fff;
padding:30px;
margin-bottom:20px;
border-radius:18px;
box-shadow:var(--shadow);

}

.faq-item h3{

margin-bottom:12px;

}

/* CTA */

.cta-section{

background:var(--primary);
color:#fff;
text-align:center;

}

.cta-section h2,
.cta-section p{

color:#fff;

}

.cta-buttons{

margin-top:30px;
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;

}

/* MOBILE */

@media(max-width:991px){

.hero-grid,
.form-grid,
.services-grid,
.why-grid,
.fleet-grid,
.routes-grid,
.reviews-grid{

grid-template-columns:1fr;

}

.hero h1{

font-size:38px;

}

nav{

display:none;

}

.header-buttons{

display:none;

}

section{

padding:60px 0;

}

}