/* ==========================
   RAMESH ROYAL CAB SERVICES
   PREMIUM BLACK & GOLD V3
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#000;
color:#fff;
overflow-x:hidden;
line-height:1.7;
}

/* TOP BAR */

.top-bar{
background:#111;
padding:12px 8%;
display:flex;
justify-content:space-between;
border-bottom:2px solid gold;
}

/* NAVBAR */

nav{
background:rgba(0,0,0,.95);
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 8%;
position:sticky;
top:0;
z-index:9999;
backdrop-filter:blur(15px);
}

.logo{
display:flex;
align-items:center;
gap:10px;
}

.logo img{
width:90px;
height:auto;
}

.logo h2{
color:gold;
font-size:1.3rem;
}

nav ul{
display:flex;
list-style:none;
gap:25px;
}

nav ul li a{
color:white;
text-decoration:none;
font-weight:600;
transition:.3s;
}

nav ul li a:hover{
color:gold;
}

/* BILLBOARD */

.marquee{
background:gold;
color:black;
padding:12px;
font-weight:bold;
overflow:hidden;
white-space:nowrap;
}

.marquee span{
display:inline-block;
padding-left:100%;
animation:move 20s linear infinite;
}

@keyframes move{
100%{
transform:translateX(-150%);
}
}

/* HERO */

.hero-v2{
min-height:100vh;
background:
linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.75)),
url("../images/hero.jpg");
background-size:cover;
background-position:center;
}

.hero-overlay{
display:flex;
justify-content:space-between;
align-items:center;
padding:120px 8%;
gap:50px;
}

.hero-left{
flex:1;
}

.hero-left h1{
font-size:4rem;
color:gold;
line-height:1.2;
}

.hero-left p{
font-size:1.4rem;
margin:20px 0;
}

.rating-box{
display:inline-block;
padding:15px 25px;
background:#111;
border:1px solid gold;
border-radius:50px;
margin-bottom:25px;
}

/* BUTTONS */

.btn{
display:inline-block;
padding:15px 30px;
background:gold;
color:black;
font-weight:bold;
text-decoration:none;
border-radius:8px;
margin-right:10px;
transition:.4s;
}

.btn:hover{
transform:translateY(-5px);
box-shadow:0 0 25px gold;
}

/* BOOKING FORM */

.booking-box{
width:450px;
background:#111;
padding:30px;
border-radius:20px;
border:1px solid gold;
box-shadow:0 15px 40px rgba(255,215,0,.2);
}

.booking-box h2{
text-align:center;
margin-bottom:20px;
color:gold;
}

.booking-box input,
.booking-box select{
width:100%;
padding:15px;
margin-bottom:15px;
background:#000;
border:1px solid gold;
color:white;
border-radius:8px;
}

.booking-box button{
width:100%;
padding:15px;
background:gold;
border:none;
font-weight:bold;
cursor:pointer;
border-radius:8px;
}

/* GENERAL SECTION */

section{
padding:90px 8%;
}

.section-title{
text-align:center;
font-size:2.8rem;
color:gold;
margin-bottom:60px;
}

/* GRID */

.service-grid,
.routes-grid,
.fleet-grid,
.testimonial-grid,
.vision-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

/* CARD */

.service-card,
.route-card,
.fleet-card,
.testimonial-card,
.vision-card{
background:#111;
border-radius:20px;
overflow:hidden;
transition:.5s;
box-shadow:0 10px 35px rgba(255,215,0,.1);
}

.service-card:hover,
.route-card:hover,
.fleet-card:hover,
.testimonial-card:hover,
.vision-card:hover{
transform:translateY(-15px) scale(1.03);
box-shadow:0 20px 45px rgba(255,215,0,.3);
}

.service-card img,
.route-card img{
width:100%;
height:250px;
object-fit:cover;
}

.fleet-card img{
width:100%;
height:220px;
object-fit:contain;
background:white;
}

.service-card-content,
.route-content,
.fleet-card-content,
.testimonial-card,
.vision-card{
padding:25px;
}

.service-card h3,
.route-card h3,
.fleet-card h3{
color:gold;
margin-bottom:10px;
}

.price{
font-size:2rem;
color:gold;
font-weight:bold;
}

/* ABOUT */

.about-container{
display:flex;
align-items:center;
gap:60px;
}

.about-image{
flex:1;
}

.about-image img{
width:100%;
border-radius:20px;
box-shadow:0 15px 40px rgba(255,215,0,.2);
}

.about-content{
flex:1;
}

.about-content h2{
font-size:2.5rem;
color:gold;
margin-bottom:20px;
}

.about-features{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:15px;
margin-top:25px;
}

.feature-box{
background:#111;
padding:15px;
border-left:4px solid gold;
border-radius:10px;
}

/* VISION */

.vision-card{
text-align:center;
border-top:4px solid gold;
}

/* STATS */

.stats{
background:
linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.8)),
url("../images/stats-bg.jpg");
background-size:cover;
background-position:center;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.stat-box{
background:rgba(0,0,0,.5);
padding:40px;
text-align:center;
border-bottom:4px solid gold;
border-radius:15px;
}

.stat-box h2{
font-size:3rem;
color:gold;
}

/* TESTIMONIALS */

.testimonial-card{
text-align:center;
font-size:1.1rem;
}

.testimonial-card h4{
color:gold;
margin-top:15px;
}

/* FOOTER */

footer{
background:#111;
padding:50px 8%;
border-top:2px solid gold;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:40px;
}

.footer-grid ul{
list-style:none;
padding:0;
margin:0;
}

.footer-grid li{
list-style:none;
margin-bottom:10px;
}

.footer-grid h3{
color:gold;
margin-bottom:15px;
font-size:1rem;      /* Smaller heading */
}

.footer-grid p{
font-size:.85rem;    /* Smaller text */
line-height:1.8;
color:#ddd;
}

.footer-grid a{
display:block;
color:white;
text-decoration:none;
margin-bottom:10px;
font-size:.85rem;    /* Smaller links */
transition:.3s;
}

.footer-grid a:hover{
color:gold;
}

.copyright{
text-align:center;
padding-top:25px;
margin-top:25px;
border-top:1px solid #333;
font-size:.8rem;     /* Small copyright */
color:#aaa;
}

.developer{
text-align:center;
margin-top:10px;
font-size:.8rem;
color:#888;
}

.developer span{
color:gold;
font-weight:600;
}

/* WHATSAPP */

.whatsapp{
position:fixed;
right:20px;
bottom:20px;
background:#25D366;
padding:15px 20px;
border-radius:50px;
color:white;
text-decoration:none;
font-weight:bold;
z-index:9999;
}

/* ANIMATION */

.service-card,
.route-card,
.fleet-card,
.vision-card,
.testimonial-card,
.stat-box{
animation:fadeUp 1s ease;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* MOBILE */

@media(max-width:768px){

.top-bar{
flex-direction:column;
text-align:center;
}

nav{
flex-direction:column;
}

nav ul{
flex-wrap:wrap;
justify-content:center;
}

.hero-overlay{
flex-direction:column;
}

.hero-left h1{
font-size:2.5rem;
text-align:center;
}

.booking-box{
width:100%;
}

.about-container{
flex-direction:column;
}

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

.footer-grid{
grid-template-columns:1fr;
}
}

/* COMPANY VALUES */

.company-values{
padding:100px 8%;
background:#0a0a0a;
}

.values-header{
text-align:center;
max-width:900px;
margin:auto;
margin-bottom:70px;
}

.values-header h2{
font-size:3rem;
color:gold;
margin-bottom:20px;
}

.values-header p{
color:#ccc;
font-size:1.1rem;
line-height:1.9;
}

.values-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:30px;
}

.value-box{
background:#111;
padding:40px;
border-radius:20px;
border-top:4px solid gold;
transition:.4s;
position:relative;
overflow:hidden;
}

.value-box:hover{
transform:translateY(-10px);
box-shadow:0 15px 40px rgba(255,215,0,.2);
}

.value-number{
font-size:4rem;
font-weight:700;
color:rgba(255,215,0,.15);
position:absolute;
top:15px;
right:20px;
}

.value-box h3{
color:gold;
margin-bottom:15px;
font-size:1.6rem;
}

.value-box p{
color:#ddd;
line-height:1.8;
}

.motto-banner{
margin-top:60px;
background:linear-gradient(90deg,#111,#1a1a1a,#111);
border:1px solid gold;
padding:30px;
border-radius:20px;
text-align:center;
}

.motto-banner h2{
color:gold;
font-size:2rem;
letter-spacing:1px;
}

/* PREMIUM FOOTER */

.premium-footer{
background:#0a0a0a;
padding:70px 20px;
text-align:center;
border-top:2px solid gold;
}

.footer-logo{
width:130px;
margin-bottom:20px;
}

.premium-footer h2{
color:gold;
font-size:2rem;
margin-bottom:10px;
}

.footer-tagline{
color:#ccc;
margin-bottom:30px;
letter-spacing:2px;
}

.footer-contact p{
margin:12px 0;
font-size:1.05rem;
}

.footer-line{
width:150px;
height:2px;
background:gold;
margin:35px auto;
}

.copyright{
color:#aaa;
margin-bottom:15px;
}

.developer{
font-size:1rem;
color:#ddd;
}

.developer span{
color:gold;
font-weight:700;
letter-spacing:1px;
}

/* LUXURY SECTION */

.luxury-section{
padding:120px 8%;
background:
linear-gradient(rgba(0,0,0,.92),rgba(0,0,0,.92)),
url("../images/stats-bg.jpg");
background-size:cover;
background-position:center;
}

.luxury-header{
text-align:center;
max-width:900px;
margin:auto;
margin-bottom:70px;
}

.luxury-header span{
color:gold;
letter-spacing:3px;
font-size:.9rem;
font-weight:600;
}

.luxury-header h2{
font-size:3rem;
margin:20px 0;
color:white;
}

.luxury-header p{
color:#ccc;
font-size:1.1rem;
}

.luxury-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:35px;
margin-bottom:70px;
}

.luxury-card{
background:rgba(255,255,255,.03);
backdrop-filter:blur(20px);
border:1px solid rgba(255,215,0,.15);
border-radius:25px;
padding:40px;
text-align:center;
transition:.5s;
}

.luxury-card:hover{
transform:translateY(-15px);
box-shadow:0 20px 60px rgba(255,215,0,.25);
}

.luxury-icon{
font-size:3.5rem;
margin-bottom:20px;
}

.luxury-card h3{
color:gold;
margin-bottom:15px;
}

.floating-review{
max-width:800px;
margin:auto;
text-align:center;
padding:50px;
background:linear-gradient(145deg,#111,#1a1a1a);
border:1px solid rgba(255,215,0,.2);
border-radius:30px;
box-shadow:0 25px 60px rgba(255,215,0,.15);
}

.review-badge{
display:inline-block;
background:gold;
color:black;
padding:10px 20px;
border-radius:50px;
font-weight:700;
margin-bottom:25px;
}

.floating-review h3{
font-size:2rem;
color:white;
margin-bottom:20px;
}

.floating-review p{
color:#ddd;
font-size:1.1rem;
line-height:1.8;
}

.review-author{
margin-top:25px;
color:gold;
font-weight:600;
}

/* SIMPLE PREMIUM STATS */

.quick-stats{
display:flex;
flex-wrap:wrap;
gap:15px;
margin-top:35px;
}

.quick-box{
padding:12px 25px;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,215,0,0.3);
border-radius:50px;
backdrop-filter:blur(10px);
transition:.4s;
}

.quick-box:hover{
transform:translateY(-5px);
border-color:gold;
box-shadow:0 0 20px rgba(255,215,0,.3);
}

.quick-box h3{
color:gold;
font-size:1.1rem;
font-weight:600;
margin:0;
}

/* ==========================
   PREMIUM GOOGLE REVIEWS
========================== */

.review-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:25px;
}

.google-review-card{
background:linear-gradient(
145deg,
#151515,
#0d0d0d
);
border:1px solid rgba(255,215,0,.20);
border-radius:20px;
padding:25px;
position:relative;
overflow:hidden;
transition:.4s;
}

.google-review-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:3px;
background:linear-gradient(
90deg,
transparent,
gold,
transparent
);
}

.google-review-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 35px rgba(255,215,0,.20);
border-color:gold;
}

.review-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:15px;
}

.review-header h3{
font-size:1rem;
color:#fff;
margin:0;
font-weight:600;
}

.verified{
font-size:.75rem;
color:#999;
margin-top:3px;
}

.google-badge{
background:#fff;
color:#000;
padding:5px 12px;
border-radius:30px;
font-size:.75rem;
font-weight:700;
}

.review-stars{
color:gold;
font-size:1rem;
letter-spacing:2px;
margin-bottom:12px;
}

.google-review-card p{
font-size:.9rem;
color:#d8d8d8;
line-height:1.7;
font-style:italic;
}

.google-review-card:hover .google-badge{
background:gold;
}

/* RATING SUMMARY */

.google-rating-summary{
text-align:center;
margin-bottom:50px;
}

.google-rating-summary h2{
font-size:2.5rem;
color:gold;
margin-bottom:5px;
}

.google-rating-summary p{
font-size:1rem;
color:#bbb;
}

/* MOBILE */

@media(max-width:768px){

.review-grid{
grid-template-columns:1fr;
}

.google-rating-summary h2{
font-size:2rem;
}

.google-review-card{
padding:20px;
}

}

/* PREMIUM FOOTER */

footer{
background:#111;
padding:60px 8% 30px;
border-top:2px solid gold;
}

.footer-container{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
}

.footer-box h3{
color:gold;
margin-bottom:15px;
font-size:1.1rem;
}

.footer-box p{
font-size:.9rem;
line-height:1.8;
color:#ddd;
}

.footer-bottom{
margin-top:40px;
padding-top:20px;
border-top:1px solid #333;
text-align:center;
}

.footer-bottom p{
font-size:.85rem;
color:#aaa;
}

.developer{
margin-top:8px;
}

.developer span{
color:gold;
font-weight:600;
}

@media(max-width:768px){

.footer-container{
grid-template-columns:1fr;
text-align:center;
}

}

/* CENTER PREMIUM FOOTER */

.center-footer{
background:#111;
padding:60px 20px;
text-align:center;
border-top:2px solid gold;
}

.footer-logo{
width:90px;
margin-bottom:15px;
}

.center-footer h2{
color:gold;
font-size:1.6rem;
margin-bottom:8px;
}

.footer-tagline{
color:#bbb;
font-size:.9rem;
margin-bottom:25px;
letter-spacing:1px;
}

.footer-contact p{
margin:8px 0;
font-size:.9rem;
color:#ddd;
}

.footer-divider{
width:250px;
height:2px;
background:gold;
margin:30px auto;
border-radius:10px;
}

.copyright{
font-size:.85rem;
color:#aaa;
}

.developer{
margin-top:10px;
font-size:.85rem;
color:#999;
}

.developer span{
color:gold;
font-weight:600;
}

footer{
background:#111;
padding:50px 20px;
border-top:2px solid gold;
text-align:center;
}

footer h3{
color:gold;
margin-bottom:15px;
font-size:1.4rem;
}

footer p{
margin:8px 0;
font-size:.9rem;
color:#ddd;
}

.feedback-form{
max-width:700px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

.feedback-form input,
.feedback-form select,
.feedback-form textarea{
padding:15px;
background:#111;
border:1px solid gold;
color:white;
border-radius:10px;
}

.feedback-form button{
padding:15px;
background:gold;
border:none;
font-weight:600;
cursor:pointer;
border-radius:10px;
}

.booking-box{
max-width:700px;
margin:auto;
background:#fff;
padding:40px;
border:2px solid gold;
border-radius:10px;
}

.booking-title{
text-align:center;
font-size:2rem;
margin-bottom:30px;
color:#222;
}

.trip-tabs{
display:flex;
justify-content:center;
margin-bottom:25px;
gap:5px;
}

.tab-btn{
padding:12px 25px;
border:1px solid gold;
background:white;
cursor:pointer;
font-weight:600;
}

.tab-btn.active{
background:gold;
color:#000;
}

.booking-box label{
display:block;
margin-top:18px;
margin-bottom:6px;
font-weight:600;
color:#222;
}

.booking-box input,
.booking-box select,
.booking-box textarea{
width:100%;
padding:12px;
border:1px solid #ccc;
border-radius:5px;
}

.booking-btn{
width:100%;
margin-top:20px;
padding:15px;
background:gold;
border:none;
font-size:18px;
font-weight:600;
cursor:pointer;
border-radius:5px;
}

.booking-btn:hover{
background:#e6c200;
}

#priceDisplay,
#distanceResult{
background:#f5f5f5;
font-weight:bold;
color:#000;
}

.trip-tabs input{
display:none;
}

.trip-tabs label{
user-select:none;
}

/* ===========================
GOOGLE REVIEW
=========================== */

.google-review-section{

padding:70px 20px;

background:#111;

display:flex;

justify-content:center;

}

.review-card{

max-width:700px;

width:100%;

padding:50px;

text-align:center;

border:2px solid gold;

border-radius:20px;

background:#181818;

box-shadow:0 15px 40px rgba(255,215,0,.15);

}

.review-card h2{

color:gold;

margin-bottom:20px;

}

.review-card p{

color:#ddd;

font-size:18px;

line-height:1.8;

margin-bottom:30px;

}

.review-btn{

display:inline-block;

padding:15px 40px;

background:gold;

color:#000;

font-weight:bold;

text-decoration:none;

border-radius:40px;

transition:.3s;

}

.review-btn:hover{

background:#ffbf00;

transform:translateY(-4px);

}