/* ==========================================
RESET
========================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#f7f7f7;
color:#222;
line-height:1.7;
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
transition:.3s;
}

.container{
width:min(1200px,92%);
margin:auto;
}

/* ==========================================
HERO
========================================== */

.hero{

background:linear-gradient(135deg,#111 0%,#1d1d1d 100%);

padding:80px 0;

color:#fff;

}

.hero-grid{

display:grid;

grid-template-columns:1.3fr .7fr;

gap:50px;

align-items:center;

}

.hero-content h1{

font-size:52px;

font-weight:700;

line-height:1.2;

margin-bottom:20px;

}

.hero-content h1 span{

color:#FFC107;

}

.hero-content p{

font-size:18px;

color:#ddd;

margin-bottom:30px;

max-width:650px;

}

.hero-badge{

display:inline-block;

background:#FFC107;

color:#000;

padding:8px 18px;

border-radius:50px;

font-weight:600;

margin-bottom:20px;

}

.hero-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.btn-call{

background:#FFC107;

color:#111;

padding:14px 30px;

border-radius:10px;

font-weight:700;

}

.btn-call:hover{

background:#ffb300;

transform:translateY(-3px);

}

.btn-whatsapp{

background:#25D366;

color:#fff;

padding:14px 30px;

border-radius:10px;

font-weight:700;

}

.btn-whatsapp:hover{

background:#1fb557;

transform:translateY(-3px);

}

/* ==========================================
HERO CARD
========================================== */

.hero-card{

background:rgba(255,255,255,.08);

backdrop-filter:blur(18px);

padding:30px;

border-radius:20px;

border:1px solid rgba(255,255,255,.12);

box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.hero-card h3{

margin-bottom:20px;

font-size:24px;

color:#FFC107;

}

.hero-card .info{

display:flex;

justify-content:space-between;

padding:14px 0;

border-bottom:1px solid rgba(255,255,255,.1);

}

.hero-card .info:last-child{

border-bottom:none;

}

.hero-card span{

color:#bbb;

}

.hero-card strong{

color:#fff;

}

/* ==========================================
SECTION TITLE
========================================== */

.section-title{

text-align:center;

font-size:36px;

font-weight:700;

margin-bottom:40px;

color:#111;

}
/* ==========================================
BOOKING SECTION
========================================== */

.booking-section{

padding:80px 0;

background:#101010;

}

.booking-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

align-items:center;

}

.booking-content h2{

font-size:42px;

font-weight:700;

color:#FFC107;

margin-bottom:20px;

}

.booking-content p{

font-size:18px;

color:#ddd;

margin-bottom:25px;

line-height:1.8;

}

.booking-content ul{

list-style:none;

padding:0;

margin:0;

}

.booking-content li{

padding:12px 0;

font-size:17px;

color:#fff;

}

.booking-box{

background:rgba(255,255,255,.08);

backdrop-filter:blur(15px);

-webkit-backdrop-filter:blur(15px);

border:1px solid rgba(255,255,255,.12);

border-radius:20px;

padding:35px;

box-shadow:0 15px 40px rgba(0,0,0,.35);

}

.booking-box form{

display:flex;

flex-direction:column;

gap:16px;

}

.booking-box input,

.booking-box select,

.booking-box textarea{

width:100%;

padding:14px 16px;

background:#1d1d1d;

border:1px solid #333;

border-radius:10px;

font-size:15px;

color:#fff;

outline:none;

transition:.3s;

}

.booking-box input::placeholder,

.booking-box textarea::placeholder{

color:#aaa;

}

.booking-box input:focus,

.booking-box select:focus,

.booking-box textarea:focus{

border-color:#FFC107;

box-shadow:0 0 0 3px rgba(255,193,7,.18);

}

.booking-box textarea{

min-height:110px;

resize:vertical;

}

.book-btn{

width:100%;

padding:16px;

background:#FFC107;

color:#111;

border:none;

border-radius:10px;

font-size:18px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.book-btn:hover{

background:#ffb300;

transform:translateY(-2px);

box-shadow:0 10px 25px rgba(255,193,7,.35);

}

/* ==========================================
RESPONSIVE
========================================== */

@media(max-width:991px){

.booking-grid{

grid-template-columns:1fr;

}

.booking-content{

text-align:center;

}

}

@media(max-width:576px){

.booking-section{

padding:50px 0;

}

.booking-box{

padding:20px;

}

.booking-content h2{

font-size:30px;

}

.booking-content p{

font-size:16px;

}

.book-btn{

font-size:16px;

}

}
/* ==========================================
FARE SECTION
========================================== */

.fare-section{

padding:80px 0;

background:#f8f9fa;

}

.fare-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.fare-card{

background:#fff;

border-radius:18px;

padding:30px;

text-align:center;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.35s;

border-top:5px solid #FFC107;

}

.fare-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.fare-card h3{

font-size:26px;

margin-bottom:15px;

color:#111;

}

.fare-card .price{

font-size:42px;

font-weight:700;

color:#FFC107;

margin-bottom:20px;

}

.fare-card .price span{

font-size:16px;

color:#666;

}

.fare-card ul{

list-style:none;

padding:0;

margin:25px 0;

}

.fare-card li{

padding:10px 0;

border-bottom:1px solid #eee;

font-size:15px;

}

.fare-card li:last-child{

border:none;

}

.fare-btn{

display:inline-block;

margin-top:20px;

padding:14px 30px;

background:#111;

color:#fff;

border-radius:10px;

font-weight:600;

transition:.3s;

}

.fare-btn:hover{

background:#FFC107;

color:#111;

}

/* ==========================================
ROUTE INFO
========================================== */

.route-content{

padding:80px 0;

background:#fff;

}

.route-content h2{

font-size:38px;

margin-bottom:20px;

color:#111;

}

.route-content p{

font-size:17px;

line-height:1.9;

color:#555;

margin-bottom:20px;

}

.route-highlight{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-top:40px;

}

.highlight-card{

background:#FFC107;

padding:25px;

border-radius:15px;

text-align:center;

}

.highlight-card h3{

font-size:34px;

margin-bottom:10px;

color:#111;

}

.highlight-card p{

margin:0;

color:#222;

font-weight:600;

}

/* ==========================================
TABLE
========================================== */

.fare-table{

margin-top:50px;

overflow-x:auto;

}

.fare-table table{

width:100%;

border-collapse:collapse;

background:#fff;

}

.fare-table th{

background:#111;

color:#FFC107;

padding:15px;

font-size:16px;

}

.fare-table td{

padding:15px;

text-align:center;

border-bottom:1px solid #eee;

}

.fare-table tr:hover{

background:#fafafa;

}

/* ==========================================
RESPONSIVE
========================================== */

@media(max-width:991px){

.route-highlight{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.route-highlight{

grid-template-columns:1fr;

}

.route-content h2{

font-size:30px;

}

.fare-card{

padding:20px;

}

.fare-card .price{

font-size:34px;

}

}
/* ==========================================
REVIEWS SECTION
========================================== */

.review-section{
padding:80px 0;
background:#111;
color:#fff;
}

.review-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.review-card{
background:#1d1d1d;
padding:30px;
border-radius:18px;
border:1px solid rgba(255,255,255,.08);
transition:.3s;
}

.review-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(255,193,7,.15);
}

.review-stars{
font-size:22px;
color:#FFC107;
margin-bottom:15px;
}

.review-card p{
line-height:1.8;
margin-bottom:20px;
color:#ddd;
}

.review-card h4{
color:#FFC107;
margin-bottom:5px;
}

.review-card span{
font-size:14px;
color:#aaa;
}

/* ==========================================
FAQ SECTION
========================================== */

.faq-section{
padding:80px 0;
background:#f8f9fa;
}

.faq-box{
max-width:900px;
margin:auto;
}

.faq-item{
background:#fff;
border-radius:12px;
padding:20px;
margin-bottom:18px;
box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.faq-item h3{
font-size:20px;
color:#111;
margin-bottom:10px;
}

.faq-item p{
color:#555;
line-height:1.8;
}

/* ==========================================
CTA SECTION
========================================== */

.cta-section{
padding:80px 0;
background:linear-gradient(135deg,#FFC107,#ffb300);
text-align:center;
}

.cta-section h2{
font-size:42px;
margin-bottom:15px;
color:#111;
}

.cta-section p{
font-size:18px;
margin-bottom:30px;
color:#222;
}

.cta-buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.cta-buttons a{
padding:15px 35px;
border-radius:10px;
font-weight:700;
transition:.3s;
}

.cta-call{
background:#111;
color:#fff;
}

.cta-call:hover{
background:#000;
}

.cta-whatsapp{
background:#25D366;
color:#fff;
}

.cta-whatsapp:hover{
background:#1fb557;
}

/* ==========================================
FLOATING BUTTONS
========================================== */

.float-call,
.float-whatsapp{

position:fixed;

bottom:20px;

width:60px;

height:60px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:26px;

color:#fff;

z-index:9999;

box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.float-call{

left:20px;

background:#FFC107;

color:#111;

}

.float-whatsapp{

right:20px;

background:#25D366;

}

.float-call:hover,
.float-whatsapp:hover{

transform:scale(1.08);

}

/* ==========================================
RESPONSIVE
========================================== */

@media(max-width:768px){

.review-grid{

grid-template-columns:1fr;

}

.cta-section h2{

font-size:30px;

}

.cta-buttons{

flex-direction:column;

}

.cta-buttons a{

width:100%;

text-align:center;

}

.float-call,
.float-whatsapp{

width:55px;

height:55px;

font-size:22px;

}

}
/* ==========================================
RELATED ROUTES
========================================== */

.related-routes{
padding:80px 0;
background:#fff;
}

.route-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
}

.route-card{
background:#f8f9fa;
padding:25px;
border-radius:15px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
transition:.3s;
}

.route-card:hover{
transform:translateY(-8px);
box-shadow:0 18px 35px rgba(0,0,0,.12);
}

.route-card h3{
font-size:22px;
margin-bottom:15px;
color:#111;
}

.route-card p{
color:#666;
margin-bottom:20px;
line-height:1.7;
}

.route-card a{
display:inline-block;
padding:12px 22px;
background:#FFC107;
color:#111;
font-weight:700;
border-radius:8px;
}

.route-card a:hover{
background:#111;
color:#fff;
}

/* ==========================================
SEO CONTENT
========================================== */

.seo-content{
padding:80px 0;
background:#f8f9fa;
}

.seo-content h2{
font-size:34px;
margin-bottom:20px;
color:#111;
}

.seo-content h3{
font-size:26px;
margin:30px 0 15px;
color:#222;
}

.seo-content p{
font-size:17px;
line-height:1.9;
color:#555;
margin-bottom:20px;
}

.seo-content ul{
padding-left:20px;
}

.seo-content li{
margin-bottom:10px;
line-height:1.8;
}

/* ==========================================
BREADCRUMB
========================================== */

.breadcrumb{
padding:15px 0;
background:#fff;
font-size:14px;
}

.breadcrumb a{
color:#666;
}

.breadcrumb a:hover{
color:#FFC107;
}

/* ==========================================
FOOTER
========================================== */

footer{
background:#111;
color:#fff;
padding:60px 0 30px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:40px;
}

.footer-grid h3{
margin-bottom:20px;
color:#FFC107;
}

.footer-grid p,
.footer-grid li,
.footer-grid a{
color:#ccc;
line-height:1.9;
}

.footer-grid ul{
list-style:none;
padding:0;
}

.footer-grid a:hover{
color:#FFC107;
}

.footer-bottom{
margin-top:40px;
padding-top:20px;
border-top:1px solid rgba(255,255,255,.08);
text-align:center;
font-size:14px;
color:#999;
}

/* ==========================================
UTILITY
========================================== */

.text-center{
text-align:center;
}

.mt-30{
margin-top:30px;
}

.mb-30{
margin-bottom:30px;
}

.shadow{
box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.radius{
border-radius:15px;
}

/* ==========================================
ANIMATION
========================================== */

.hero,
.booking-section,
.fare-section,
.review-section,
.related-routes,
.seo-content{

animation:fadeUp .6s ease;

}

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(30px);
}

100%{
opacity:1;
transform:translateY(0);
}

}

/* ==========================================
MOBILE
========================================== */

@media(max-width:768px){

.container{
width:94%;
}

.hero-content h1{
font-size:34px;
}

.section-title{
font-size:28px;
}

.route-card,
.fare-card,
.review-card{
padding:20px;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

}