/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

/* BODY */
body{
background:#0f172a;
color:#fff;
overflow-x:hidden;
}

/* ANIMATED GRADIENT BACKGROUND */
body::before{
content:"";
position:fixed;
width:200%;
height:200%;
background:linear-gradient(45deg,#ff6600,#ffcc00,#00c6ff,#ff6600);
animation:gradientMove 10s infinite linear;
z-index:-1;
}

@keyframes gradientMove{
0%{transform:translate(0,0);}
50%{transform:translate(-25%,-25%);}
100%{transform:translate(0,0);}
}

/* HEADER */
header{
position:sticky;
top:0;
background:rgba(0,0,0,0.7);
backdrop-filter:blur(10px);
display:flex;
justify-content:space-between;
padding:15px 20px;
z-index:999;
}

header h1{
color:#ffcc00;
}

nav a{
color:#fff;
margin:0 10px;
text-decoration:none;
}

/* HERO FIX */
.hero{
min-height:90vh;
display:flex;
align-items:center;
justify-content:center;
padding:40px 20px;
}

/* BOOKING WRAPPER */
.booking-wrapper{
display:flex;
justify-content:space-between;
align-items:center;
gap:50px;
width:100%;
max-width:1200px;
}

/* LEFT SIDE */
.booking-left{
flex:1;
text-align:left;
}

/* RIGHT SIDE */
.booking-right{
flex:1;
display:flex;
justify-content:flex-end;
}

/* FORM FIX */
#bookingForm{
width:100%;
max-width:400px;
}

/* MOBILE FIX */
@media(max-width:768px){

.booking-wrapper{
flex-direction:column;
text-align:center;
}

.booking-left{
text-align:center;
}

.booking-right{
justify-content:center;
}

}


/* ROUTES */
.routes{
padding:50px 20px;
text-align:center;
}

.route-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-top:30px;
}

.route-box{
background:rgba(255,255,255,0.1);
padding:20px;
border-radius:12px;
transition:0.4s;
animation:fadeUp 2s ease;
}

.route-box:hover{
transform:translateY(-10px) scale(1.05);
background:#ff6600;
}

.route-box a{
display:inline-block;
margin-top:10px;
padding:8px 12px;
background:#25D366;
color:#fff;
border-radius:5px;
text-decoration:none;
}

/* ANIMATIONS */
@keyframes fadeUp{
from{opacity:0;transform:translateY(40px);}
to{opacity:1;transform:translateY(0);}
}

/* FLOATING BUTTON */
.float{
position:fixed;
right:20px;
bottom:20px;
display:flex;
flex-direction:column;
gap:10px;
}

.float a{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
text-decoration:none;
font-size:22px;
}

.call{background:#ff6600;}
.wa{background:#25D366;}
.services{
padding:60px 20px;
text-align:center;
background:#111827;
color:#fff;
}

.services h2{
font-size:32px;
margin-bottom:10px;
color:#ff6600;
}

.service-sub{
max-width:700px;
margin:auto;
margin-bottom:40px;
opacity:0.8;
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
}

.service-box{
background:rgba(255,255,255,0.05);
padding:25px;
border-radius:12px;
transition:0.4s;
position:relative;
overflow:hidden;
}

/* Hover Effect */
.service-box:hover{
transform:translateY(-10px);
background:#ff6600;
color:#fff;
}

/* ICON */
.icon{
font-size:35px;
margin-bottom:10px;
}

/* BUTTON */
.service-box a{
display:inline-block;
margin-top:10px;
padding:8px 15px;
background:#25D366;
color:#fff;
border-radius:5px;
text-decoration:none;
}

/* ANIMATION */
.service-box{
animation:fadeUp 1s ease;
}

@keyframes fadeUp{
from{opacity:0;transform:translateY(40px);}
to{opacity:1;transform:translateY(0);}
}

.icon svg{
width:45px;
height:45px;
fill:#ff6600;
transition:0.3s;
}

/* FLOAT ANIMATION */
.animate svg{
animation:float 3s ease-in-out infinite;
}

@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-10px);}
100%{transform:translateY(0);}
}

/* HOVER EFFECT */
.service-box:hover svg{
fill:#fff;
transform:scale(1.2) rotate(5deg);
}
.city-section{
padding:60px 20px;
background:linear-gradient(135deg,#fff,#f1f1f1);
text-align:center;
}

.city-section h2{
font-size:32px;
color:#ff6600;
margin-bottom:10px;
}

.city-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
margin-top:30px;
}

.city-card{
background:#fff;
padding:25px;
border-radius:15px;
box-shadow:0 10px 25px rgba(0,0,0,0.1);
transition:0.4s;
transform-style:preserve-3d;
position:relative;
overflow:hidden;
}

.city-card:hover{
transform:rotateY(10deg) scale(1.05);
box-shadow:0 20px 40px rgba(0,0,0,0.2);
}

/* ICON */
.city-icon{
font-size:40px;
margin-bottom:10px;
animation:float 3s ease-in-out infinite;
}

/* FLOAT ANIMATION */
@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-10px);}
100%{transform:translateY(0);}
}

.city-card h3{
color:#333;
margin-bottom:5px;
}

.city-card p{
font-size:14px;
margin-bottom:10px;
color:#777;
}

/* BUTTON */
.city-card a{
display:inline-block;
padding:10px 15px;
background:linear-gradient(45deg,#ff6600,#ff9900);
color:#fff;
border-radius:6px;
text-decoration:none;
transition:0.3s;
}

.city-card a:hover{
background:#000;
}
.booking-section{
padding:60px 20px;
text-align:center;
background:linear-gradient(135deg,#ff6600,#ff9900);
color:#fff;
}

.booking-section h2{
font-size:30px;
margin-bottom:10px;
}

.booking-section p{
margin-bottom:25px;
}

/* FORM */
#bookingForm{
max-width:500px;
margin:auto;
background:rgba(255,255,255,0.15);
padding:25px;
border-radius:15px;
backdrop-filter:blur(10px);
box-shadow:0 10px 30px rgba(0,0,0,0.2);
animation:fadeIn 1s ease;
}

/* INPUT */
#bookingForm input,
#bookingForm select{
width:100%;
padding:12px;
margin:8px 0;
border:none;
border-radius:8px;
outline:none;
font-size:15px;
}

/* ROW */
.row{
display:flex;
gap:10px;
}

.row input{
flex:1;
}

/* BUTTON */
#bookingForm button{
width:100%;
padding:14px;
background:#25D366;
border:none;
color:#fff;
font-size:18px;
border-radius:8px;
cursor:pointer;
transition:0.3s;
}

#bookingForm button:hover{
background:#128C7E;
transform:scale(1.05);
}

/* ANIMATION */
@keyframes fadeIn{
from{opacity:0;transform:translateY(20px);}
to{opacity:1;transform:translateY(0);}
}

/* MOBILE */
@media(max-width:600px){
.row{
flex-direction:column;
}
}
/* TOP BAR */
.topbar{
background:#000;
color:#fff;
text-align:center;
padding:8px;
font-size:14px;
}

/* HEADER */
.main-header{
display:flex;
justify-content:space-between;
align-items:center;
background:#ff6600;
padding:10px 20px;
flex-wrap:wrap;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 2px 10px rgba(0,0,0,0.2);
}

/* LOGO */
.logo{
display:flex;
align-items:center;
color:#fff;
font-size:20px;
font-weight:bold;
}

.logo img{
height:45px;
margin-right:10px;
}

/* NAV */
.nav{
display:flex;
gap:15px;
}

.nav a{
color:#fff;
text-decoration:none;
font-weight:bold;
}

.nav a:hover{
text-decoration:underline;
}

/* MOBILE MENU */
.menu-toggle{
display:none;
font-size:25px;
color:#fff;
cursor:pointer;
}

/* MOBILE */
@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
width:100%;
background:#ff6600;
margin-top:10px;
}

.nav a{
padding:10px;
border-top:1px solid rgba(255,255,255,0.3);
}

.menu-toggle{
display:block;
}

}
.footer{
background:#222;
color:#fff;
padding:40px 20px;
}

.footer-container{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:20px;
}

.footer-box{
flex:1;
min-width:200px;
}

.footer-box h3{
color:#ff6600;
margin-bottom:10px;
}

.footer-box a{
display:block;
color:#fff;
text-decoration:none;
margin:5px 0;
}

.footer-box a:hover{
color:#ff6600;
}

/* BOTTOM */
.footer-bottom{
text-align:center;
margin-top:20px;
border-top:1px solid #444;
padding-top:10px;
font-size:14px;
}

/* MOBILE */
@media(max-width:768px){
.footer-container{
flex-direction:column;
text-align:center;
}
}
#bookingForm{
width:100%;
max-width:400px;
padding:25px;
border-radius:15px;

/* REMOVE WHITE */
background:rgba(0,0,0,0.6);

/* GLASS EFFECT */
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);

box-shadow:0 15px 40px rgba(0,0,0,0.5);

animation:slideIn 1s ease;
color:#fff;
}
.cars{
padding:60px 20px;
text-align:center;
background:#111827;
color:#fff;
}

.cars h2{
font-size:32px;
color:#ff6600;
}

.car-sub{
margin-bottom:40px;
opacity:0.8;
}

.car-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
}

.car-box{
background:rgba(255,255,255,0.05);
padding:20px;
border-radius:15px;
transition:0.4s;
position:relative;
overflow:hidden;
animation:fadeUp 1s ease;
}

.car-box img{
width:100%;
height:150px;
object-fit:contain;
margin-bottom:10px;
transition:0.4s;
}

.car-box:hover img{
transform:scale(1.1);
}

.car-box:hover{
transform:translateY(-10px) scale(1.05);
background:#ff6600;
}

/* PRICE */
.price{
display:block;
margin:10px 0;
font-size:20px;
color:#ffcc00;
}

/* BUTTON */
.car-box a{
display:inline-block;
padding:10px 15px;
background:#25D366;
color:#fff;
border-radius:6px;
text-decoration:none;
}

/* ANIMATION */
@keyframes fadeUp{
from{opacity:0;transform:translateY(40px);}
to{opacity:1;transform:translateY(0);}
}

#reviews{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
padding:40px;
}

.review-box{
background:rgba(255,255,255,0.1);
padding:20px;
border-radius:10px;
color:#fff;
backdrop-filter:blur(10px);
transition:0.3s;
}

.review-box:hover{
transform:scale(1.05);
background:#ff6600;
}
/* TITLE */
.title{
    text-align:center;
    font-size:32px;
    margin:30px 0;
    color:#d32f2f;
}

/* GRID LAYOUT */
.routes{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:20px;
    width:90%;
    margin:auto;
}

/* CARD STYLE */
.route-card{
    display:block;
    padding:20px;
    background:#fff;
    text-align:center;
    text-decoration:none;
    color:#333;
    font-weight:bold;
    border-radius:10px;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
    
    transition:all 0.3s ease;
    position:relative;
    overflow:hidden;
}

/* HOVER EFFECT 🔥 */
.route-card:hover{
    transform:translateY(-8px) scale(1.03);
    background:#d32f2f;
    color:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,0.3);
}

/* ANIMATION ON LOAD */
.route-card{
    opacity:0;
    transform:translateY(20px);
    animation:fadeUp 0.6s ease forwards;
}

/* STAGGER EFFECT */
.route-card:nth-child(1){animation-delay:0.1s;}
.route-card:nth-child(2){animation-delay:0.2s;}
.route-card:nth-child(3){animation-delay:0.3s;}
.route-card:nth-child(4){animation-delay:0.4s;}
.route-card:nth-child(5){animation-delay:0.5s;}
.route-card:nth-child(6){animation-delay:0.6s;}
.route-card:nth-child(7){animation-delay:0.7s;}
.route-card:nth-child(8){animation-delay:0.8s;}
.route-card:nth-child(9){animation-delay:0.9s;}
.route-card:nth-child(10){animation-delay:1s;}

/* KEYFRAMES */
@keyframes fadeUp{
    to{
        opacity:1;
        transform:translateY(0);
    }
}
