/* ================= BASE ================= */
body {
  font-family: 'Poppins', sans-serif;
  background: #f5f6f8;
  margin: 0;
}


.header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    transition:.4s;
}

.header.scrolled{
    position:fixed;
    background:#fff;
    box-shadow:0 5px 25px rgba(0,0,0,.08);
    animation:slideDown .4s ease;
}

@keyframes slideDown{
    from{
        transform:translateY(-100%);
    }
    to{
        transform:translateY(0);
    }
}

.navbar-box{
    background:#fff;
    border-radius:0 0 30px 30px;
    padding:5px 20px; 
}

.logo img{
    height:55px;
}

.navbar-nav .nav-link{
    color:#222;
    font-weight:500;
}

.btn-top{
    background:#1d2a56;
    color:#fff;
    border:none;
    padding:6px 14px;
    border-radius:20px;
    font-size:13px;
}

/* ================= HERO ================= */

.hero{
    padding-top:120px;
    background:#fff;
}

.hero-box{
    border-radius:40px; 
}

.hero h1{
    font-size:40px;
    font-weight:700;
    text-align:center;
}

.hero p{
    text-align:center;
    font-size:20px;
    margin-bottom:30px;
    color: #111111;
}

.vehicle-showcase img{
    border-radius:20px;
    box-shadow:
        0 15px 30px rgba(0,0,0,0.08),
        0 30px 60px rgba(128,128,128,0.15);
}

/* ================= SEARCH ================= */

.search-box{
    background:#fff;
    padding:15px;
    border-radius:30px;
    box-shadow: 0 10px 25px rgb(0 0 0 / 20%);
}

.search-box .form-control,
.search-box .form-select{
    height:50px;
}

.search-btn{
    height:50px;
    width:100%;
    border:none;
    border-radius:15px;
    background:#1d2a56;
    color:#fff;
    font-weight:600;
}

/* ================= VEHICLE ================= */

.vehicle-showcase{
    text-align:center;
    margin-top:40px;
}

.vehicle-showcase img{
    width:100%; 
}

/* ================= BOTTOM ================= */

.bottom-section{
    margin-top:50px;
}

.fleet-title,
.work-title{
    font-size:36px;
    font-weight:700;
    margin-bottom:25px;
}

.fleet-card{
    background:#fff;
    border-radius:15px;
    text-align:center;
    padding:10px;
    transition:.3s;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.fleet-card:hover{
    transform:translateY(-5px);
}

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

.work-step{
    text-align:center;
}

.work-step i{
    font-size:40px;
    color:#1d2a56;
}

.work-arrow{
    font-size:40px;
    font-weight:700;
}

/* MOBILE */

@media(max-width:991px){

.hero h1{
    font-size:36px;
}

.hero-box{
    padding:25px;
}

.navbar-collapse{
    margin-top:20px;
}

}


/* ================= HEADER ================= */
header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fff;
  transition: all 0.3s ease;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.20);
}

/* NAVBAR OVERLAY */
.navbar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #ffffff;
  transition: all 0.3s ease;
}

.navbar-overlay.scrolled {
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  box-shadow: 0 5px 25px rgba(0,0,0,0.2);
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.navbar-overlay.scrolled .nav-link {
  color: #fff;
}

/* ================= HAMBURGER ================= */
/* ===== HAMBURGER BUTTON ===== */
.menu-toggle {
  width: 60px;
  height: 60px; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  gap: 6px;
  z-index: 1001;
  border-radius: 12px;
  transition: 0.3s;
}

/* Lines */
.menu-toggle span {
  width: 26px;
  height: 2px;
  background: #fff;
  display: block;
  transition: 0.3s;
}

/* ===== MOBILE (DEFAULT) ===== */
@media (max-width: 768px) {
  .menu-toggle {
    width: 48px;
    height: 48px;
    gap: 5px;
  }

  .menu-toggle span {
    width: 22px;
    height: 2px;
  }
}

/* ===== SMALL MOBILE ===== */
@media (max-width: 480px) {
  .menu-toggle {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg,#4f6cff,#6ea8fe);
  }

  .menu-toggle span {
    width: 20px;
  }
}

/* ===== DESKTOP ===== */
@media (min-width: 1024px) {
  .menu-toggle {
    width: 165px;
    height: 65px;
    gap: 7px;
  }

  .menu-toggle span {
    width: 30px;
    height: 2.5px;
  }
}



.menu-toggle:hover span:nth-child(2) { width: 18px; }
.menu-toggle:hover span:nth-child(1),
.menu-toggle:hover span:nth-child(3) { width: 30px; }

.menu-toggle.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* ================= FULLSCREEN MENU ================= */
.fullscreen-menu {
  position: fixed;
  inset: 0;
  height: 100vh;
  background: rgba(15,15,20,0.95);
  backdrop-filter: blur(12px);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-100%);
  transition: 0.6s cubic-bezier(.25,.8,.25,1);
  z-index: 1000;
}

.fullscreen-menu.active {
  transform: translateY(0);
}

.fullscreen-menu ul {
  list-style: none;
  padding: 0;
  text-align: center;
}

.fullscreen-menu li {
  margin: 20px 0;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.4s;
}

.fullscreen-menu.active li {
  opacity: 1;
  transform: translateY(0);
}

.fullscreen-menu.active li:nth-child(1){transition-delay:.2s;}
.fullscreen-menu.active li:nth-child(2){transition-delay:.3s;}
.fullscreen-menu.active li:nth-child(3){transition-delay:.4s;}
.fullscreen-menu.active li:nth-child(4){transition-delay:.5s;}

.fullscreen-menu a {
  color: #fff;
  font-size: 28px;
  text-decoration: none;
  position: relative;
}

.fullscreen-menu a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: #6ea8fe;
  transform: translateX(-50%);
  transition: 0.3s;
}

.fullscreen-menu a:hover::after {
  width: 100%;
}

/* ================= COMMON SECTION ================= */
.section {
  background:#f5f6f8;
  padding:50px 0;
  text-align: center;
}

.subtitle,
.sub,
.small-text {
  font-size:23px;
  color:#6c757d;
}

.title {
  font-size:42px;
  font-weight:700;
}

/* ================= FILTER ================= */
.filter a {
  text-decoration:none;
  color:#6c757d;
  margin-left:15px;
  font-weight:500;
}

.filter a.active {
  color:#4f6cff;
  border-bottom:2px solid #4f6cff;
}

/* ================= CARDS ================= */
/* equal height cards: fixed image box, body stretches, price + button pinned to the bottom */
.car-card {
  background:#fff;
  border-radius:15px;
  overflow:hidden;
  border:1px solid #eee;
  transition:.3s;
  width:100%;
  display:flex;
  flex-direction:column;
  text-align:left;
}

.car-card:hover {
  transform:translateY(-5px);
}

.car-img-box {
  display:flex;
  align-items:center;
  justify-content:center;
  height:200px;
  padding:10px;
  background:#f8f9fb;
  overflow:hidden;
}

.car-img {
  width:100%;
  height:100%;
  object-fit:contain;   /* whole vehicle visible whatever the image size */
  transition:transform .3s;
}

.car-img-box:hover .car-img {
  transform:scale(1.05);
}

.car-body {
  padding:20px;
  flex:1;
  display:flex;
  flex-direction:column;
}

.car-footer {
  margin-top:auto;
  padding-top:12px;
}

.car-footer .btn {
  display:block;
  width:100%;
  text-align:center;
}

.tag {
  font-size:13px;
  color:#6c757d;
}

.car-name {
  font-size:20px;
  font-weight:600;
  color:#111;
  text-decoration:none;
  line-height:1.3;
  min-height:2.6em;     /* always 2 lines tall so cards line up */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:6px;
}

.car-name:hover {
  color:#3a56e0;
}

.info {
  font-size:14px;
  border-top:1px solid #eee;
  padding:10px 0;
  display:flex;
  align-items:center;
  gap:10px;
}

.price { font-weight:600; }

.review {
  background:#f8f9fa;
  padding:3px 8px;
  border-radius:8px;
  font-size:13px;
}

/* ================= SERVICES ================= */
 
.service-card {
  background:#fff;
  border-radius:16px;
  padding:20px;
  display:flex;
  align-items:center;
  gap:15px;
  border:1px solid #eee;
  transition:.35s;
  position:relative;
  overflow:hidden;
}

.icon-box {
  width:65px;
  height:65px;
  background:#f1f3f7;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:#0d6efd;
  transition:.3s;
}

.service-title {
  font-size:18px;
  font-weight:600;
}

.service-sub {
  font-size:14px;
  color:#6c757d;
}

.service-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#4f6cff,#6ea8fe);
  opacity:0;
  transition:.4s;
}

.service-card:hover::before {
  opacity:0.05;
}

.service-card:hover {
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,0.08);
}

.service-card:hover .icon-box {
  background:#4f6cff;
  color:#fff;
}

/* ================= BUTTONS ================= */
.btn-main {
  background:#1d2a56;
  color:#fff;
  border-radius:50px;
  padding:12px 30px;
}

.btn-main:hover {
  background:#3a56e0;
  color:#fff;
}

.btn-outline-dark {
  border-radius:50px;
  padding:12px 25px;
}

/* ================= TESTIMONIAL ================= */
.tabs {
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}

.tab {
  display:flex;
  align-items:center;
  gap:12px;
  background:#1d2a56;
  color:#fff;
  padding:10px 10px;
  border-radius:26px;
  cursor:pointer;
  transition:.3s;
  margin-bottom: 30px;
  height: 82px;
  text-align: left; 
}

.tab .textLeft { 
  padding-left: 20px;
  width: 20%;
  float: left;
} 

.tab .rightLeft { 
  width: 80%;
  float: left;
  min-width: 210px
} 

.tab .textLeft.testiminial_image{
  width: 120px;
}

.testiminial_image_2{
  width: 130px;
}

.tab img {
  width:45px;
  height:45px;
  border-radius:50%;
}

.tab.active {
  background: #ffffff;
  color: #111111;
  transform: scale(1.05);
  border: 1px solid #1d2a56;
}

.card {
  margin:50px auto;
  max-width:700px;
  background:#fff;
  border-radius:20px;
  padding:50px;
  display:flex;
  gap:40px;
  align-items:center;
  box-shadow:0 10px 40px rgba(0,0,0,0.08);
  text-align: center;
}

.left {
  flex:1;
  text-align:left;
}

.quote {
  font-size:80px;
  font-weight:bold;
  background: #3b4566;
  width: 80px;
  height: 80px;
  padding: 17px;
  line-height: 0.83;
  border-radius: 50%;
  color: #ffffff;
  position: relative;
  z-index: 10;
  margin-top: -90px;
  border: 5px solid transparent;
}

.heading {
  font-weight:600;
  margin:10px 0;
}

.stars {
  color:#f39c12;
  font-size: 40px;
}

.desc {
  color:#6c757d;
  line-height:1.6;
}

/* ===== Testimonial + Call Back Request ===== */
.testimonial_row .card {
  max-width:none;
  margin:50px 0;
}

.callback_box {
  background:#4a6cf7;
  padding:14px;
  border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,0.08);
}

.callback_card {
  background:#fff;
  border-radius:12px;
  padding:30px 26px;
  text-align:left;
}

.callback_title {
  font-size:24px;
  font-weight:700;
  color:#222;
  margin-bottom:22px;
}

.callback_input {
  background:#f4f5f8;
  border:1px solid #e3e5ec;
  border-radius:22px;
  font-size:14px;
  padding:10px 16px;
}

textarea.callback_input {
  border-radius:16px;
  resize:none;
}

.callback_input:focus {
  background:#fff;
  border-color:#4a6cf7;
  box-shadow:0 0 0 3px rgba(74,108,247,.15);
}

.callback_btn {
  background:#4a6cf7;
  color:#fff;
  border-radius:22px;
  padding:10px;
  font-weight:600;
}

.callback_btn:hover {
  background:#1d2a56;
  color:#fff;
}

.callback_alert {
  border-radius:10px;
  padding:8px 12px;
  font-size:14px;
  margin-bottom:14px;
}

.callback_alert.error { background:#fdecec; color:#b42318; }
.callback_alert.success { background:#e8f6ee; color:#146c43; }

@media (max-width: 991px) {
  .testimonial_row .card { margin:50px 0 30px; padding:40px 20px; }
}

/* ================= FOOTER ================= */
.footerlinks_section {
  background: rgb(66 40 116);
  padding:45px 0 15px;
  border-bottom:1px solid #afa8a8;
}

.footerlinks_section h5 {
  color:#fff;
  font-size:27px;
}

.footer_sections ul li a {
  color:#fff;
  text-decoration:none;
  font-size: 14px;
}

footer {
  background-color: rgb(66 40 116);
  padding-top:50px;
}

/* ================= RESPONSIVE ================= */
@media(max-width: 900px) {
  .card {
    flex-direction: column;
  }
}

.footer_sections h6{
  color: #ffffff;
  font-size: 20px;
}

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

/* footer headings + text (this used to be ".subscribe-letter h3, p" which turned every <p> on the site white and 20px) */
.subscribe-letter h3{
   color: #ffffff;
   font-size: 20px;
}
footer p{
   color: #ffffff;
}

.subscribe-letter p{
   font-size: 14px;
}

/* footer text from admin > Home Page Setting > Footer Content (editor HTML) */
.footer_about { color:#ffffff; font-size:14px; text-align:justify; }
.footer_about p, .footer_about li { color:#ffffff; font-size:14px; }
.footer_about a { color:#ffffff; text-decoration:underline; }
.footer_about ul, .footer_about ol { padding-left:18px; }

.information-link h3{
   color: #ffffff;
   font-size: 20px;
}

.information-link ul li a{
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
}

.information-link ul{
  list-style: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
}

.information-link p{
   color: #ffffff;
   font-size: 14px;
}

.footer-bottom p{
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
}


.extra-page {
    display: none;
}

#toggleRoutes{
  border: 1px solid #ffff;
  border-radius: 25px;
}

/* SECTION BACKGROUND */
.contact_section {
  background: #f7f7f7;
  padding: 40px 0;
  font-family: 'Segoe UI', sans-serif;
}

/* MAP BOX */
.map_box iframe {
  width: 100%;
  height: 320px;
  border-radius: 12px;
  border: 0;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

/* CONTACT INFO */
.contact_info {
  background: #fff;
  padding: 20px 25px;
  border-radius: 12px;
  height: 100%;
  box-shadow: 0 4px 15px rgba(0,0,0,0.06);
}

.contact_info h5 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 15px;
}

.contact_info p {
  font-size: 14px;
  margin-bottom: 12px;
  color: #555;
  line-height: 1.5;
}

.contact_info strong {
  color: #000;
  font-weight: 600;
}

/* BRANCH CARD */
.branch_card {
  background: #fff;
  padding: 18px;
  border-radius: 12px;
  border: 1px solid #eee;
  transition: all 0.3s ease;
  height: 100%;
  position: relative;
}

.branch_card h6 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}

.branch_card p {
  font-size: 13px;
  color: #666;
  margin-bottom: 6px;
  line-height: 1.4;
}

/* HOVER EFFECT */
.branch_card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  border-color: #ddd;
}

/* ACTIVE CARD (when selected) */
.branch_card.active {
  border: 2px solid #007bff;
  box-shadow: 0 8px 25px rgba(0,123,255,0.2);
}

/* BUTTON */
.branch_card .btn {
  margin-top: 10px;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  transition: 0.3s;
}

.branch_card .btn:hover {
  background: #007bff;
  color: #fff;
}

/* GRID SPACING (contact page branch grid only; it used to apply to every row on the site) */
.contact_section .row > div {
  margin-bottom: 20px;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .map_box iframe {
    height: 250px;
  }
}

@media (max-width: 768px) {
  .contact_info {
    margin-top: 20px;
  }
}
 

.social-bar {
  padding: 15px 0px;
  display: flex;
  gap: 20px;
}

.social-bar a {
  width: 50px;
  height: 50px;
  background: #ffffff;
  color: #422874;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 22px;
  transition: all 0.3s ease;
}

.social-bar a:hover {
  background: #f1f1f1;
  transform: translateY(-4px);
}



/* HEADER */
.blog-header {
  background: #0f4c63;
  color: #fff;
  padding: 40px 20px;
  text-align: center;
}

.blog-header h1 {
  margin: 0;
  font-size: 32px;
}

/* CONTAINER */
.blog-container {
  max-width: 100%;
  margin: 30px auto;
  display: grid;
  gap: 25px;
  padding: 0 15px;
}

/* BLOG CARD */
.blog-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

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

.blog-content {
  padding: 20px;
}

.blog-content h2 {
  margin-top: 0;
  font-size: 22px;
}

.blog-meta {
  font-size: 14px;
  color: #777;
  margin-bottom: 10px;
}

.blog-content p {
  font-size: 15px;
  color: #444;
}

/* BUTTON */
.read-btn {
  display: inline-block;
  margin-top: 10px;
  padding: 8px 15px;
  background: #0f4c63;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
}
 

ul.navbar-nav li a.active , ul.navbar-nav li a:hover 
{
    background:#1d2a56;
    color:#ffffff !important;
    border:none;
    padding:6px 14px;
    border-radius:20px;
    font-size:13px;
}

ul.navbar-nav li a
{
    background:#fff;
    color:#111111;
    border:none;
    padding:6px 14px !important;
    border-radius:20px;
    font-size:13px;
    margin-right: 10px;
}
 

/* RESPONSIVE */
@media(max-width: 768px) {
  .blog-container {
    grid-template-columns: 1fr;
  }
}


 
    
        .header_sec {
            margin-bottom: 50px;
        }
        .header_sec img {
            max-height: 40px;
            margin-bottom: 10px;
        }
        .header_sec h3 {
            font-weight: normal;
            font-size: 1.1em;
            margin: 0;
            color: #333;
        }
        .header_sec h1 {
            font-size: 2.5em;
            margin: 10px 0;
            line-height: 1.2;
            color: #001f3f;
        }
        .services-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            margin-bottom: 50px;
        }
        .service-card {
            background-color: white;
            border-radius: 12px;
            padding: 25px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
            border: 1px solid #eee;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        .service-icon {
            max-width: 100px;
            height: 90px; 
        }
        .service-card h4 {
             font-size: 1.2em;
            font-weight: 600;
            color: #001f3f; 
            line-height: 1.3;
        }
        .service-card p {
            font-family: Arial, sans-serif; /* Sans-serif for body/Hindi */
            font-size: 0.95em;
            line-height: 1.5;
            color: #555;
            margin: 0;
        }
        .cta-buttons {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
        }
        .sec_btn {
            font-family: Arial, sans-serif;
            text-decoration: none;
            border-radius: 25px;
            font-weight: bold;
            font-size: 1em;
            padding: 12px 30px;
            border: none;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }
        .sec_btn-primary {
            background-color: #0c2b5e;
            color: white;
        }
        .sec_btn-primary:hover {
            background-color: #092147;
        }
        .sec_btn-secondary {
            background-color: white;
            color: #333;
            border: 1px solid #ccc;
        }
        .sec_btn-secondary:hover {
            background-color: #f0f0f0;
        }
        .or-text {
            font-family: Arial, sans-serif;
            font-size: 1em;
            color: #555;
            margin: 0;
        }
        /* Responsiveness */
        @media (max-width: 900px) {
            .services-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media (max-width: 600px) {
            .services-grid {
                grid-template-columns: 1fr;
            }
            .cta-buttons {
                flex-direction: column;
                gap: 10px;
            }
        }

.info-box {
    background: rgb(64 39 113);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 10px;
    width: 100%;
    padding: 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .03), 0 8px 18px rgba(0, 0, 0, .30), 0 18px 35px rgb(66 40 116), inset 0 1px 1px rgba(255, 255, 255, .10);
}

.info-box h3{
    margin:0 0 12px;
    color:#fff;
    font-size:26px;
    font-weight:600;
}

.info-box ul{
    list-style:none;
    margin:0;
    padding:0;
}

.info-box li{
    color:#e5edf6;
    font-size:17px;
    line-height:1.7;
}

.hero-box .search-box div { text-align: center;}


.vehicle-details-section{
    background:#f7f9fc;
}

.seo-card{
    background:#fff;
    border-radius:18px;
    padding:25px;
    border:1px solid #eef2f7;
    box-shadow:0 15px 40px rgba(0,0,0,.05);
}

.section-title{
    font-size:26px;
    font-weight:700;
    margin-bottom:10px;
}

.feature-pill{
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 11px;
    border:1px solid #e9edf3;
    border-radius:60px;
    transition:.3s;
    background:#fff;
}

.feature-pill:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 30px rgba(13,110,253,.12);
}

.feature-pill .icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#eef5ff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:26px;
    color:#2a3578;
}

.feature-pill small{
    display:block;
    color:#7c8798;
}

.feature-pill h6{
    margin:4px 0 0;
    font-weight:700;
    font-size:18px;
}

.price-card{
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.price-left{
    background:#fff;
    padding:40px 25px;
    text-align:center;
}

.price-right{
    background:linear-gradient(135deg,#2a3578,#2a3578);
    color:#fff;
    padding:25px 20px;
    text-align:center;
}

.price-right del{
    opacity:.6;
    display:block;
    margin-bottom:8px;
    font-size:20px;
}

.price-right span{
    font-size:22px;
    font-weight:800;
}

.booking-table td{
    padding:15px 0;
    border-color:#edf1f6;
}

.booking-table tr:last-child td{
    border:none;
}


/* ===========================
        FAQ
=========================== */
 

.custom-faq .accordion-item{

    border:none;
    margin-bottom:18px;
    border-radius:18px !important;
    overflow:hidden;

    box-shadow:0 10px 35px rgba(0,0,0,.06);

}

.custom-faq .accordion-button{

    background:#fff;
    font-size:19px;
    color:#1b1b1b;

    padding:12px 28px;

    box-shadow:none;

}

.custom-faq .accordion-button:not(.collapsed){

    background:#1d2a56;
    color:#fff;

}

.custom-faq .accordion-button::after{

    background-image:none;

    content:"+";

    width:34px;
    height:34px;

    border-radius:50%;

    background:#edf5ff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;
    color:#1d2a56;

    transform:none;

}

.custom-faq .accordion-button:not(.collapsed)::after{
    content:"−";
    background:#fff;
    color:#1d2a56;
}

.custom-faq .accordion-body{
    padding:28px;
    font-size:16px;
    line-height:1.8;
    color:#666;
    background:#fff;

}

.custom-faq .accordion-button:focus{

    box-shadow:none;

}

/*=========================
      BOOKING FORM
=========================*/

.booking-card{  
    border-radius:4px; 
    padding:5px;  
}

.booking-header{
    border-bottom:1px solid #d8d8d8;
    padding-bottom:20px;
    margin-bottom:35px;
}

.booking-header span{
    font-size:26px;
    font-weight:700;
    color:#0f172a;
    margin:0;
}

.booking-input{

    height:62px;

    border-radius:50px;

    border:1px solid #d7d7d7;

    padding:0 30px;

    font-size:19px;

    color:#1f2937;

    background:#fff;

    box-shadow:none;

}

.booking-input:focus{
    border-color:#1d2a56;
    box-shadow:0 0 0 .2rem rgba(75,99,240,.15);
}

.booking-textarea{
    border-radius:35px;
    border:1px solid #d7d7d7;
    padding:22px 30px;
    font-size:18px;
    resize:none;
    box-shadow:none;
}

.booking-textarea:focus{

    border-color:#1d2a56;

    box-shadow:0 0 0 .2rem rgba(75,99,240,.15);

}

.booking-btn{

    height:49px;

    border:none;

    border-radius:50px;

    font-size:16px;

    color:#fff;

    background:linear-gradient(90deg,#2e4590,#1d2a56);

    transition:.35s;

}

.booking-btn:hover{

    transform:translateY(-3px);

    color:#fff;

    box-shadow:0 18px 40px rgba(81,104,245,.35);

}

/* Dropdown Arrow */

.booking-input.form-select{

    background-position:right 25px center;

    background-size:18px;

}

/* Mobile */

@media(max-width:768px){

.booking-card{

    padding:30px 20px;

}

.booking-header h3{

    font-size:30px;

}

.booking-input{

    height:60px;

    font-size:16px;

}

.booking-btn{

    height:60px;

    font-size:18px;

}

}

/*==========================
      WHY CHOOSE US
===========================*/

.why-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

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

    border:1px solid #edf1f7;

}

.why-header{

    background:linear-gradient(90deg,#293b76,#1d2a56);

    color:#fff;

    padding:22px 35px;

}

.why-header span{
    margin:0;
    font-size:17px;
    font-weight:700;
}

.why-card .row{
    padding:40px;
}

.why-list{
    list-style:none;
    margin:0;
    padding:0;
}

.why-list li{
    display:flex;
    align-items:flex-start;
    gap:14px;
    font-size:15px;
    color:#444;
    line-height:1.7;
}

.why-list i{
    color:#1d2a56;
    font-size:20px;
    margin-top:3px;
}

.why-card img{
    transition:.4s;
}

.why-card img:hover{
    transform:scale(1.05);
}

@media(max-width:768px){

.why-header span{

    font-size:26px;

}

.why-card .row{

    padding:25px;

}

.why-list li{

    font-size:16px;

}

}

#forcefullyColor p {
  color: #111111;   
  font-size: 15px;
}


@media (min-width: 1200px) {
    .h2, h2 {
        font-size: 1.5rem;
    }
}

/* ================= CUSTOMER LOGIN / MY ACCOUNT ================= */
a.btn-top{ display:inline-flex; align-items:center; gap:4px; text-decoration:none; }
a.btn-top:hover{ color:#fff; }

.customer_auth_section,
.customer_account_section{ padding:130px 0 60px; background:#f6f7fb; }

.customer_auth_card{ max-width:440px; margin:0 auto; background:#fff; border-radius:16px; padding:32px 28px; box-shadow:0 10px 30px rgba(29,42,86,.08); }
.customer_auth_title{ font-size:24px; font-weight:700; color:#1d2a56; margin:4px 0 0; }
.customer_auth_section .subtitle,
.customer_account_section .subtitle{ font-size:15px; }

.customer_auth_tabs{ display:flex; background:#eef0f6; border-radius:26px; padding:4px; margin-bottom:20px; }
.customer_auth_tab{ flex:1; border:none; background:transparent; padding:8px; border-radius:22px; font-weight:600; color:#1d2a56; font-size:14px; }
.customer_auth_tab.active{ background:#1d2a56; color:#fff; }

.customer_auth_alert{ border-radius:8px; padding:10px 12px; font-size:14px; margin-bottom:16px; }
.customer_auth_alert.error{ background:#fdecec; color:#b42318; }
.customer_auth_alert.success{ background:#e8f6ee; color:#146c43; }

.customer_otp_boxes{ display:flex; justify-content:center; gap:12px; }
.customer_otp_input{ width:56px; height:56px; text-align:center; font-size:22px; font-weight:700; }
.customer_link_btn{ border:none; background:none; color:#3a56e0; font-weight:600; padding:0 4px; }

.customer_account_head{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.customer_account_title{ font-size:26px; font-weight:700; color:#1d2a56; margin:2px 0; }

.customer_section_tabs{ display:flex; gap:8px; border-bottom:1px solid #e3e6ef; margin-bottom:20px; }
.customer_section_tabs a{ padding:10px 16px; color:#555; text-decoration:none; font-weight:600; border-bottom:3px solid transparent; margin-bottom:-1px; }
.customer_section_tabs a.active{ color:#1d2a56; border-color:#1d2a56; }

.customer_booking_filters{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.customer_booking_filters a{ background:#fff; color:#1d2a56; border:1px solid #d9dcea; border-radius:20px; padding:6px 14px; font-size:13px; text-decoration:none; font-weight:600; }
.customer_booking_filters a span{ background:#eef0f6; border-radius:10px; padding:0 7px; margin-left:4px; font-size:12px; }
.customer_booking_filters a.active{ background:#1d2a56; color:#fff; border-color:#1d2a56; }
.customer_booking_filters a.active span{ background:rgba(255,255,255,.2); }

.customer_booking_card{ background:#fff; border-radius:14px; padding:18px; margin-bottom:14px; box-shadow:0 4px 16px rgba(29,42,86,.06); }
.customer_booking_main{ display:flex; gap:18px; align-items:center; }
.customer_booking_img{ width:120px; height:80px; flex-shrink:0; border-radius:10px; background:#f1f3f9; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.customer_booking_img img{ width:100%; height:100%; object-fit:contain; }
.customer_booking_img i{ font-size:34px; color:#9aa3c0; }
.customer_booking_info{ flex:1; min-width:0; }
.customer_booking_info h3{ font-size:18px; font-weight:700; margin:4px 0 0; color:#111; }
.customer_booking_top{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.customer_booking_id{ font-size:13px; color:#6c757d; font-weight:600; }
.customer_booking_trip{ display:flex; gap:14px; align-items:center; margin-top:10px; flex-wrap:wrap; }
.customer_booking_trip div{ display:flex; flex-direction:column; font-size:13px; }
.customer_booking_trip small{ color:#6c757d; }
.customer_booking_trip span{ color:#555; }
.customer_booking_trip > i{ color:#9aa3c0; }
.customer_booking_amount{ text-align:right; display:flex; flex-direction:column; }
.customer_booking_amount b{ font-size:20px; color:#1d2a56; }
.customer_booking_amount small{ color:#6c757d; font-size:12px; }

.customer_status{ font-size:12px; font-weight:600; padding:2px 10px; border-radius:12px; background:#eef0f6; color:#1d2a56; }
.customer_status.status_temp{ background:#fff4e0; color:#a15c00; }
.customer_status.status_new,
.customer_status.status_approved,
.customer_status.status_extend{ background:#e6f0ff; color:#1f4fbf; }
.customer_status.status_complete{ background:#e8f6ee; color:#146c43; }
.customer_status.status_cancel{ background:#fdecec; color:#b42318; }

.customer_booking_details{ margin-top:14px; border-top:1px dashed #e3e6ef; padding-top:10px; }
.customer_booking_details summary{ cursor:pointer; color:#3a56e0; font-weight:600; font-size:14px; }
.customer_booking_details h4{ font-size:14px; font-weight:700; color:#1d2a56; margin-bottom:8px; }
.customer_booking_details dl{ display:grid; grid-template-columns:auto 1fr; gap:4px 12px; font-size:13px; margin:0; }
.customer_booking_details dt{ color:#6c757d; font-weight:500; }
.customer_booking_details dd{ margin:0; text-align:right; }
.customer_payments{ list-style:none; padding:0; margin:0; font-size:13px; }
.customer_payments li{ display:flex; justify-content:space-between; padding:4px 0; border-bottom:1px solid #f1f3f9; }

.customer_empty{ text-align:center; background:#fff; border-radius:14px; padding:40px 20px; }
.customer_empty i{ font-size:42px; color:#9aa3c0; }

.customer_pagination{ display:flex; justify-content:center; align-items:center; gap:16px; margin-top:20px; font-size:14px; }
.customer_pagination a{ color:#1d2a56; font-weight:600; text-decoration:none; }

.customer_profile_card{ background:#fff; border-radius:14px; padding:24px; box-shadow:0 4px 16px rgba(29,42,86,.06); max-width:820px; }

@media (max-width: 767px) {
  .customer_auth_section,
  .customer_account_section{ padding-top:110px; }
  .customer_auth_card{ padding:24px 16px; }
  .customer_booking_main{ flex-wrap:wrap; }
  .customer_booking_img{ width:90px; height:64px; }
  .customer_booking_amount{ width:100%; flex-direction:row; justify-content:space-between; align-items:center; text-align:left; border-top:1px solid #f1f3f9; padding-top:10px; }
}

/* ===== Vehicle card: Fare Breakup & T&C popup ===== */
.fare_info_btn { display:inline-flex; align-items:center; gap:5px; background:none; border:none; padding:0; margin-top:10px; color:#3a56e0; font-size:13px; font-weight:600; }
.fare_info_btn:hover { color:#1d2a56; text-decoration:underline; }
.fare_modal { border-radius:14px; text-align:left; }
.fare_modal .modal-title { font-weight:700; color:#1d2a56; }
.fare_table { font-size:14px; }
.fare_table th { font-weight:600; color:#333; width:38%; }
.fare_table .fare_total th, .fare_table .fare_total td { font-weight:700; color:#1d2a56; border-top:2px solid #1d2a56; }
.fare_terms_title { font-weight:700; color:#1d2a56; font-size:15px; }
.fare_terms_list { font-size:13px; color:#555; padding-left:20px; margin:0; }
.fare_terms_list li { margin-bottom:6px; line-height:1.5; }


/* ================= CAB LISTING PAGE (/services, /search) ================= */
.rl_hero { margin-top:96px; background:radial-gradient(ellipse at 80% 10%,#344a89 0,transparent 35%),linear-gradient(115deg,#101b39,#192b55); color:#fff; padding:38px 0 95px; position:relative; overflow:hidden; text-align:left; }
.rl_hero:after { content:""; position:absolute; width:350px; height:350px; border:1px solid #ffffff18; border-radius:50%; right:-90px; bottom:-240px; box-shadow:0 0 0 40px #ffffff08,0 0 0 80px #ffffff05; }
.rl_crumb { font-size:12px; color:#bac7ed; margin-bottom:18px; }
.rl_crumb a { color:#bac7ed; text-decoration:none; }
.rl_hero h1 { font-size:clamp(27px,4vw,43px); line-height:1.12; letter-spacing:-1.5px; margin:0 0 12px; font-weight:800; color:#fff; }
.rl_hero p { margin:0; color:#c6d0ee; font-size:15px; }
.rl_hero_tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
.rl_hero_tags span { border:1px solid #ffffff30; background:#ffffff0d; border-radius:100px; padding:8px 12px; font-size:12px; color:#eef2ff; }

.rl_wrap { text-align:left; }
.rl_search_panel { margin:-55px auto 28px; position:relative; z-index:2; background:#fff; border:1px solid #e7eaf2; border-radius:20px; padding:22px; box-shadow:0 18px 55px #172b5514; }
.rl_panel_title { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; }
.rl_panel_title h2 { font-size:17px; margin:0; font-weight:700; color:#17213b; }
.rl_edit_label { font-size:12px; color:#355cf5; font-weight:750; }
/* search form inside the panel: flat look like the reference */
.rl_search_panel .search-box { box-shadow:none; padding:0; border-radius:0; }
.rl_search_panel .search-box label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.7px; font-weight:800; color:#7a849b; margin:0 0 8px; }
.rl_search_panel .search-box .form-control { background:#f9faff; border:1px solid #e1e6f1; border-radius:11px; height:48px; }
.rl_search_panel .search-box .form-control:focus { border-color:#6e89ff; box-shadow:0 0 0 3px #355cf514; }
.rl_search_panel .search-btn { background:#355cf5; border-radius:11px; height:48px; box-shadow:0 8px 18px #355cf52e; }
.rl_route_strip { display:flex; align-items:center; gap:10px; color:#69738b; font-size:12px; margin-top:16px; flex-wrap:wrap; }
.rl_route_strip b { color:#17213b; }
.rl_route_dot { width:8px; height:8px; border-radius:50%; background:#16845b; display:inline-block; margin-right:5px; }
.rl_route_line { height:1px; width:38px; background:#cbd2e1; display:inline-block; }
.rl_alert { background:#fdecec; color:#b42318; border-radius:10px; padding:9px 12px; font-size:13px; margin-top:14px; }
.rl_alert.success { background:#e8f6ee; color:#146c43; }
.rl_alert[hidden] { display:none; }

.rl_content { display:grid; grid-template-columns:245px minmax(0,1fr); gap:24px; padding-bottom:60px; }
.rl_filters { background:#fff; border:1px solid #e5e9f2; border-radius:16px; padding:20px; height:max-content; position:sticky; top:100px; }
.rl_filter_head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.rl_filter_head h3 { margin:0; font-size:16px; font-weight:700; }
.rl_textbtn { border:0; background:none; color:#355cf5; font-size:12px; font-weight:750; padding:0; }
.rl_filter_section { border-top:1px solid #e5e9f2; padding:16px 0; }
.rl_filter_section h4 { font-size:13px; font-weight:700; margin:0 0 10px; }
.rl_checkrow { display:flex; justify-content:space-between; gap:8px; font-size:13px; color:#536079; margin:10px 0; }
.rl_checkrow label { display:flex; align-items:center; gap:9px; cursor:pointer; }
.rl_checkrow input { accent-color:#355cf5; }
.rl_count { color:#8b94a8; font-size:11px; }
.rl_price_label { display:flex; justify-content:space-between; font-size:12px; color:#68738a; margin-bottom:8px; }
.rl_price_range { width:100%; accent-color:#355cf5; }
.rl_help { font-size:12px; line-height:1.65; color:#75809a; margin:0; }

.rl_results_head { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:4px 0 17px; flex-wrap:wrap; }
.rl_results_head h2 { font-size:22px; margin:0 0 5px; letter-spacing:-.5px; font-weight:700; }
.rl_results_head p { font-size:13px; color:#69738b; margin:0; }
.rl_sort { border:1px solid #e5e9f2; background:#fff; padding:11px 12px; border-radius:10px; color:#4e5972; }

.rl_car_list { display:grid; gap:16px; }
.rl_car_card { background:#fff; border:1px solid #e5e9f2; border-radius:17px; display:grid; grid-template-columns:245px minmax(0,1fr) 190px; gap:20px; padding:16px; transition:.2s; }
.rl_car_card[hidden] { display:none; }
.rl_car_card:hover { border-color:#c4ceff; box-shadow:0 12px 30px #1a2b5510; transform:translateY(-1px); }
.rl_car_image { background:linear-gradient(145deg,#f2f5fc,#e8edf7); border-radius:12px; height:170px; display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; padding:10px; }
.rl_car_image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .3s; }
.rl_car_image:hover img { transform:scale(1.05); }
.rl_badge { position:absolute; left:10px; top:10px; z-index:1; background:#e2f6ed; color:#14714f; padding:6px 8px; border-radius:7px; font-size:10px; font-weight:800; }
.rl_badge.low { background:#fff4e0; color:#a15c00; }
.rl_car_info { padding:4px 0; min-width:0; }
.rl_category { font-size:10px; letter-spacing:1px; text-transform:uppercase; color:#355cf5; font-weight:800; }
.rl_car_info h3 { margin:7px 0 5px; font-size:19px; letter-spacing:-.4px; font-weight:700; }
.rl_car_info h3 a { color:#17213b; text-decoration:none; }
.rl_car_info h3 a:hover { color:#355cf5; }
.rl_sub { font-size:12px; color:#7b859b; }
.rl_specs { display:flex; flex-wrap:wrap; gap:8px 15px; margin:15px 0; color:#536079; font-size:12px; }
.rl_specs span { display:flex; align-items:center; gap:5px; }
.rl_features { display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
.rl_features span { background:#f4f6fb; color:#5b6680; border-radius:6px; padding:6px 8px; font-size:11px; font-weight:600; }
.rl_fare_link { margin-top:0; font-size:12px; }
.rl_pricebox { border-left:1px solid #e5e9f2; padding:6px 0 6px 17px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.rl_price_caption { font-size:11px; color:#7b859b; }
.rl_price { font-size:26px; letter-spacing:-1px; font-weight:800; margin:4px 0 0; color:#17213b; }
.rl_per { font-size:11px; color:#7b859b; }
.rl_deposit { font-size:11px; color:#626d84; margin:10px 0 14px; }
.rl_bookbtn { display:block; width:100%; border:0; border-radius:10px; background:#355cf5; color:#fff; font-weight:800; font-size:12px; padding:12px 10px; text-align:center; text-decoration:none; }
.rl_bookbtn:hover { background:#1d2a56; color:#fff; }
.rl_bookbtn:disabled { opacity:.7; }
.rl_bookbtn.rl_inline { display:inline-block; width:auto; padding:12px 22px; }
.rl_detailsbtn { display:block; width:100%; margin-top:8px; border:1px solid #dce3f1; background:#fff; color:#46516c; border-radius:10px; padding:10px; font-size:12px; font-weight:700; text-align:center; text-decoration:none; }
.rl_detailsbtn:hover { border-color:#355cf5; color:#355cf5; }

.rl_empty { background:#fff; border:1px dashed #ccd4e5; border-radius:15px; padding:35px; text-align:center; color:#69738b; }
.rl_empty[hidden] { display:none; }
.rl_empty h3 { font-size:18px; color:#17213b; }
.rl_trust_row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; }
.rl_trust { border:1px solid #e5e9f2; background:#fff; border-radius:13px; padding:15px; display:flex; gap:10px; align-items:center; }
.rl_trust > span { font-size:22px; }
.rl_trust b { font-size:12px; display:block; }
.rl_trust small { font-size:10px; color:#7a849b; display:block; margin-top:4px; }

.rl_modal { border-radius:18px; text-align:left; }
.rl_modal .modal-title { font-weight:700; }
.rl_modal_text { font-size:13px; color:#69738b; line-height:1.6; }
.rl_modal_summary { background:#f5f7fc; padding:14px; border-radius:12px; font-size:13px; line-height:1.8; margin:0 0 16px; }
.rl_field_label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.7px; font-weight:800; color:#7a849b; margin-bottom:6px; }
.rl_disclaimer { font-size:11px; color:#8b94a8; margin:12px 0 0; }

@media (max-width:1050px) {
  .rl_content { grid-template-columns:220px minmax(0,1fr); }
  .rl_car_card { grid-template-columns:200px minmax(0,1fr); }
  .rl_pricebox { grid-column:1 / -1; border-left:0; border-top:1px solid #e5e9f2; padding:13px 0 0; display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; }
  .rl_pricebox .rl_bookbtn { grid-column:2; grid-row:1 / 4; width:160px; }
  .rl_pricebox .rl_detailsbtn { grid-column:2; grid-row:4; width:160px; margin:0; }
  .rl_deposit { margin:4px 0; }
  .rl_car_image { height:145px; }
}
@media (max-width:767px) {
  .rl_hero { margin-top:80px; padding:27px 0 75px; }
  .rl_search_panel { padding:17px; margin-top:-45px; border-radius:15px; }
  .rl_content { grid-template-columns:1fr; gap:16px; }
  .rl_filters { position:static; padding:16px; }
  .rl_car_card { grid-template-columns:1fr; gap:13px; padding:12px; }
  .rl_car_image { height:175px; }
  .rl_pricebox .rl_bookbtn, .rl_pricebox .rl_detailsbtn { width:130px; }
  .rl_trust_row { grid-template-columns:1fr; }
  .rl_sort { width:100%; }
}


/* ================= BOOKING CONFIRMATION (/book) ================= */
.rl_hero_small { padding-bottom:70px; }
.rl_hero_small h1 { font-size:clamp(24px,3.4vw,36px); }
.bk_wrap { margin-top:-40px; position:relative; z-index:2; padding-bottom:60px; }
.bk_grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:22px; align-items:start; }
.bk_grid[hidden] { display:none; }
.bk_main { display:grid; gap:16px; }
.bk_card { background:#fff; border:1px solid #e5e9f2; border-radius:16px; padding:20px; }
.bk_title { font-size:16px; font-weight:700; color:#17213b; display:flex; align-items:center; gap:10px; margin:0 0 16px; }
.bk_title span { width:26px; height:26px; border-radius:50%; background:#eef3ff; color:#355cf5; font-size:13px; display:grid; place-items:center; }
.bk_vehicle { display:grid; grid-template-columns:200px minmax(0,1fr); gap:18px; align-items:center; }
.bk_vehicle_img { height:130px; }
.bk_vehicle_name { font-size:22px; font-weight:700; margin:6px 0 0; }
.bk_input { background:#f9faff; border:1px solid #e1e6f1; border-radius:11px; height:46px; }
.bk_input:focus { border-color:#6e89ff; box-shadow:0 0 0 3px #355cf514; }
.bk_input:disabled { background:#f1f3f8; color:#555; }
.bk_note { font-size:12px; color:#69738b; margin:14px 0 0; }
.bk_link { font-size:13px; color:#355cf5; font-weight:600; text-decoration:none; padding-bottom:12px; }

.bk_coupon_form { display:flex; gap:10px; }
.bk_coupon_form[hidden] { display:none; }
.bk_apply { width:auto; padding:0 22px; }
.bk_coupon_applied { display:flex; justify-content:space-between; align-items:center; gap:10px; background:#e8f6ee; color:#146c43; border:1px dashed #6cc49b; border-radius:12px; padding:12px 14px; font-size:14px; }
.bk_coupon_applied[hidden] { display:none; }
.bk_coupon_list { display:grid; gap:10px; margin-top:16px; }
.bk_coupon { display:flex; justify-content:space-between; align-items:center; gap:14px; border:1px dashed #c4ceff; background:#f8faff; border-radius:12px; padding:12px 14px; }
.bk_coupon_code { display:inline-block; font-weight:800; letter-spacing:1px; color:#355cf5; font-size:14px; }
.bk_coupon_offer { font-weight:600; font-size:14px; color:#17213b; }
.bk_coupon small { color:#69738b; font-size:12px; }
.bk_coupon_btn { width:auto; margin:0; padding:8px 18px; }
.bk_agree { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#3d4762; cursor:pointer; }
.bk_agree input { margin-top:3px; accent-color:#355cf5; }

.bk_sticky { position:sticky; top:100px; }
.bk_fare { display:grid; grid-template-columns:1fr auto; gap:8px 12px; font-size:14px; margin:0; }
.bk_fare dt { color:#69738b; font-weight:500; }
.bk_fare dd { margin:0; text-align:right; color:#17213b; }
.bk_fare .bk_discount { color:#146c43; font-weight:600; }
.bk_fare [hidden] { display:none; }
.bk_payable { display:flex; justify-content:space-between; align-items:center; border-top:2px solid #17213b; margin-top:14px; padding-top:12px; }
.bk_payable span { font-weight:700; }
.bk_payable b { font-size:24px; color:#17213b; }
.bk_confirm { margin-top:16px; padding:14px; font-size:14px; }

.bk_success { background:#fff; border:1px solid #e5e9f2; border-radius:18px; padding:40px 24px; text-align:center; max-width:640px; margin:0 auto; }
.bk_success[hidden] { display:none; }
.bk_success_icon { width:64px; height:64px; border-radius:50%; background:#e8f6ee; color:#146c43; font-size:34px; display:grid; place-items:center; margin:0 auto 14px; }
.bk_success h2 { font-size:24px; font-weight:700; }
.bk_success p { color:#69738b; }
.bk_success_actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.bk_inline { display:inline-block; width:auto; margin:0; padding:12px 22px; }

@media (max-width:991px) {
  .bk_grid { grid-template-columns:1fr; }
  .bk_sticky { position:static; }
}
@media (max-width:575px) {
  .bk_vehicle { grid-template-columns:1fr; }
  .bk_coupon { flex-direction:column; align-items:flex-start; }
}


/* ================= SEARCH CAB FORM (reference design: "Plan your journey" panel) ================= */
#searchCabForm.search-box { background:#fff; border:1px solid #e7eaf2; border-radius:20px; padding:22px; box-shadow:0 18px 55px #172b5524; text-align:left; }
#searchCabForm div { text-align:left; }
#searchCabForm .sc_title { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
#searchCabForm .sc_title h2 { font-size:17px; font-weight:700; margin:0; color:#17213b; }
#searchCabForm .sc_title span { font-size:12px; color:#355cf5; font-weight:700; }
#searchCabForm label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.7px; font-weight:800; color:#7a849b; margin:0 0 8px; }
#searchCabForm .form-control { background:#f9faff; border:1px solid #e1e6f1; border-radius:11px; height:48px; padding:12px; color:#17213b; font-size:14px; }
#searchCabForm .form-control:focus { border-color:#6e89ff; box-shadow:0 0 0 3px #355cf514; outline:none; }
#searchCabForm .search-btn { height:48px; width:100%; border:0; border-radius:11px; background:#355cf5; color:#fff; font-weight:800; white-space:nowrap; box-shadow:0 8px 18px #355cf52e; transition:.2s; }
#searchCabForm .search-btn:hover { background:#1d2a56; }
/* inside the listing page panel the panel itself is the card */
.rl_search_panel #searchCabForm.search-box { border:0; padding:0; box-shadow:none; border-radius:0; }
@media (max-width:767px) {
  #searchCabForm.search-box { padding:17px; border-radius:15px; }
}

/* vehicle image could not load: car placeholder instead of broken image / alt text */
.img_missing::after { content:"🚗"; font-size:54px; opacity:.35; filter:grayscale(1); }
.car-img-box.img_missing, .rl_car_image.img_missing { display:flex; align-items:center; justify-content:center; }

/* listing filters: heading is a toggle on mobile */
.rl_filter_toggle { display:flex; align-items:center; gap:8px; border:0; background:none; padding:0; text-align:left; cursor:default; color:inherit; }
.rl_filter_toggle h3 { display:flex; align-items:center; gap:7px; }
.rl_chevron, .rl_filter_badge[hidden] { display:none; }
.rl_filter_badge { background:#355cf5; color:#fff; border-radius:10px; font-size:11px; padding:1px 7px; }
@media (max-width:767px) {
  .rl_filter_toggle { cursor:pointer; }
  .rl_chevron { display:inline-block; transition:transform .2s; }
  .rl_filters .rl_filter_head { margin-bottom:0; }
  .rl_filters .rl_filter_body { display:none; margin-top:14px; }
  .rl_filters.rl_filters_open .rl_filter_body { display:block; }
  .rl_filters.rl_filters_open .rl_chevron { transform:rotate(180deg); }
}

/* T&C checkbox in the fare summary, above Confirm */
.bk_agree_confirm { margin-top:16px; padding:12px; background:#f5f7fc; border-radius:10px; font-size:12px; }

/* booking page: change vehicle button in the vehicle card */
.bk_vehicle { grid-template-columns:200px minmax(0,1fr) auto; }
.bk_change_vehicle { width:auto; margin:0; padding:10px 16px; white-space:nowrap; }
@media (max-width:575px) { .bk_vehicle { grid-template-columns:1fr; } .bk_change_vehicle { width:100%; } }

/* booking page: selected coupon card */
.bk_coupon { transition:.2s; }
.bk_coupon.selected { border:2px solid #16845b; background:#e8f6ee; }
.bk_coupon.selected .bk_coupon_btn { border-color:#b42318; color:#b42318; }


/* =====================================================================
   UNIFIED BUTTONS (whole frontend): one size, one primary + one secondary style.
   Change the colors here only.
   ===================================================================== */
:root {
  --btn-primary: #1d2a56;          /* brand navy (header, logo) */
  --btn-primary-hover: #355cf5;
  --btn-text: #ffffff;
  --btn-height: 44px;
  --btn-radius: 10px;
  --btn-font: 14px;
  --btn-padding: 0 20px;
}

/* ----- primary: solid ----- */
.btn-main, .btn-top, .search-btn, .rl_bookbtn, .callback_btn, .booking-btn, .read-btn,
#searchCabForm .search-btn, .rl_search_panel .search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--btn-height);
  min-height: var(--btn-height);
  padding: var(--btn-padding);
  border: 1px solid var(--btn-primary);
  border-radius: var(--btn-radius);
  background: var(--btn-primary);
  color: var(--btn-text);
  font-size: var(--btn-font);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: none;
  transform: none;
  transition: background .2s, border-color .2s, color .2s;
  cursor: pointer;
}
.btn-main:hover, .btn-top:hover, .search-btn:hover, .rl_bookbtn:hover, .callback_btn:hover, .booking-btn:hover, .read-btn:hover,
#searchCabForm .search-btn:hover, .rl_search_panel .search-btn:hover,
.btn-main:focus-visible, .btn-top:focus-visible, .search-btn:focus-visible, .rl_bookbtn:focus-visible {
  background: var(--btn-primary-hover);
  border-color: var(--btn-primary-hover);
  color: var(--btn-text);
  box-shadow: none;
  transform: none;
}
.btn-main:disabled, .search-btn:disabled, .rl_bookbtn:disabled, .callback_btn:disabled { opacity: .65; cursor: not-allowed; }

/* full width where the layout needs it */
.search-btn, .callback_btn, .booking-btn, .rl_bookbtn, .bk_confirm, .w-100.btn-main { width: 100%; }
.rl_bookbtn.rl_inline, .bk_apply { width: auto; }

/* ----- secondary: outline ----- */
.rl_detailsbtn, .btn-outline-dark, .btn-outline-primary, .bk_coupon_btn, .morebtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--btn-height);
  min-height: var(--btn-height);
  padding: var(--btn-padding);
  border: 1px solid var(--btn-primary);
  border-radius: var(--btn-radius);
  background: #ffffff;
  color: var(--btn-primary);
  font-size: var(--btn-font);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background .2s, color .2s;
  cursor: pointer;
}
.rl_detailsbtn:hover, .btn-outline-dark:hover, .btn-outline-primary:hover, .bk_coupon_btn:hover, .morebtn:hover {
  background: var(--btn-primary);
  border-color: var(--btn-primary);
  color: #ffffff;
}
.rl_detailsbtn { width: 100%; }
.bk_inline, .bk_change_vehicle, .bk_coupon_btn, .btn-outline-dark, .btn-outline-primary { width: auto; }
/* selected coupon: "Remove" */
.bk_coupon.selected .bk_coupon_btn { border-color: #b42318; color: #b42318; background: #fff; }
.bk_coupon.selected .bk_coupon_btn:hover { background: #b42318; color: #fff; }
/* footer "Explore More" sits on the dark footer */
.morebtn { margin-top: 10px; }

/* header buttons keep their pill look in the navbar but use the same height */
.btn-top { border-radius: var(--btn-radius); }

/* listing / booking price box: Book now + View details stacked */
.rl_pricebox .rl_detailsbtn { margin-top: 8px; }

/* ----- header actions: full labels on large screens, icons only on laptops, full-width in the mobile menu ----- */
.navbar-nav .nav-link { white-space: nowrap; }
.header-actions { flex-wrap: nowrap; }
@media (min-width: 992px) and (max-width: 1399px) {
  .header-actions .btn-label { display: none; }
  .header-actions .btn-top { width: var(--btn-height); padding: 0; font-size: 16px; }
}
@media (max-width: 991px) {
  .header-actions { flex-wrap: wrap; padding: 12px 0 16px; }
  .header-actions .btn-top { flex: 1 1 140px; }
}

/* button text centred inside card footers (older rule set display:block) */
.car-footer .btn, .car-footer .btn-main { display: flex; width: 100%; }
/* footer "Explore More": same shape as all buttons, white on the dark footer */
#toggleRoutes { border-radius: var(--btn-radius); border-color: #ffffff; }

/* home "Our Premium Fleet": placeholder when image is missing, readable names */
.fleet-card { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 600; }
.fleet-card.img_missing::after { order: -1; font-size: 34px; }

/* =====================================================================
   MOBILE (whole frontend): readable heading sizes and comfortable spacing
   ===================================================================== */
@media (max-width: 767px) {
  .hero h1, .hero-box h1 { font-size: 26px; line-height: 1.25; }
  .hero p { font-size: 15px; }
  .title { font-size: 28px; line-height: 1.25; }
  .subtitle, .sub, .small-text { font-size: 16px; }
  .fleet-title, .work-title { font-size: 24px; margin-bottom: 16px; }
  .section-title, .vehicle-details-section h2, .fw-bold.mb-3 { font-size: 22px; }
  .container { padding-left: 16px; padding-right: 16px; }
  .logo img { height: 44px; }
}


/* =====================================================================
   MOBILE LAYOUT PASS (whole frontend): tighter spacing, compact cards,
   carousels instead of long stacks. Desktop is not affected.
   ===================================================================== */
@media (max-width: 767px) {

  /* ----- page tops: start right under the fixed header (~68px) ----- */
  .hero { padding-top: 84px; }
  .hero p { margin-bottom: 16px; font-size: 15px; }
  .hero-box { padding: 0; }
  .contact_section[style*="margin-top"] { margin-top: 68px !important; }
  .contact_section { padding: 24px 0; }

  /* ----- sections ----- */
  .section, .service-section { padding: 28px 0; }
  .title { margin-bottom: 14px; }
  .title.mb-5 { margin-bottom: 18px !important; }
  .sub.mb-2, .subtitle { margin-bottom: 4px; }
  .vehicle-showcase { margin-top: 16px; }
  .bottom-section { margin-top: 20px; }
  .mt-5 { margin-top: 1.5rem !important; }
  .py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }

  /* ----- search form: compact rows ----- */
  #searchCabForm.search-box { padding: 16px; }
  #searchCabForm .row { --bs-gutter-y: .6rem; --bs-gutter-x: .6rem; }
  #searchCabForm .sc_title { margin-bottom: 8px; }
  #searchCabForm label { margin-bottom: 5px; }
  #searchCabForm .form-control { height: 44px; }
  .rl_search_panel { padding: 16px; }
  .rl_route_strip { margin-top: 12px; }

  /* ----- home: Premium Fleet + How it works ----- */
  .fleet-card img { height: 60px; }
  .work-step i { font-size: 30px; }

  /* ----- home: vehicle rows become swipeable carousels ----- */
  .vehicle-scroll {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin-left: -16px;
    margin-right: -16px;
    padding: 4px 16px 12px;
    scrollbar-width: none;
  }
  .vehicle-scroll::-webkit-scrollbar { display: none; }
  .vehicle-scroll > [class*="col-"] {
    flex: 0 0 80%;
    max-width: 80%;
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: 0 !important;
    scroll-snap-align: center;
  }

  /* ----- vehicle card (home + carousels): shorter ----- */
  .car-img-box { height: 150px; }
  .car-body { padding: 14px; }
  .car-name { font-size: 17px; min-height: 0; margin-bottom: 4px; }
  .info { padding: 6px 0; font-size: 13px; }
  .car-footer { padding-top: 8px; }
  .car-footer .btn { margin-top: 8px !important; }

  /* ----- home: services 2 per row, compact ----- */
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
  .services-grid .service-card { padding: 14px 10px; }
  .service-icon { max-width: 56px; height: 52px; }
  .service-card h4 { font-size: 14px; margin: 6px 0 4px; }
  .service-card p { font-size: 12px; }

  /* ----- home: testimonials: names as a swipeable chip row, compact card ----- */
  .tabs { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; gap: 10px; padding: 4px 16px 6px; margin: 0 -16px; scrollbar-width: none; }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { flex: 0 0 auto; height: 56px; margin-bottom: 0; padding: 6px 14px 6px 6px; transform: none !important; }
  .tab .row { margin: 0 !important; flex-wrap: nowrap; align-items: center; }
  .tab .textLeft { width: auto; padding-left: 0; }
  .tab .rightLeft { width: auto; min-width: 0; white-space: nowrap; font-size: 13px; }
  .tab img, .testiminial_image_2 { width: 40px; height: 40px; }
  .testimonial_row .card, .card#card { margin: 34px 0 16px; padding: 30px 18px 20px; gap: 10px; }
  .quote { width: 56px; height: 56px; font-size: 56px; padding: 12px; margin-top: -58px; }
  .heading { font-size: 20px; }
  .stars { font-size: 26px; }
  .desc { font-size: 14px; margin-bottom: 8px; }
  .testiminial_image { width: 80px; }

  /* ----- home: call back form ----- */
  .callback_box { padding: 8px; }
  .callback_card { padding: 18px 14px; }
  .callback_title { font-size: 20px; margin-bottom: 14px; }
  .callback_card .row { --bs-gutter-y: .6rem; }
  .callback_card .mb-3 { margin-bottom: .6rem !important; }
  .callback_card .mb-4 { margin-bottom: .9rem !important; }

  /* ----- listing (/services, /search): compact horizontal cards ----- */
  .rl_hero { padding: 22px 0 64px; }
  .rl_hero p { font-size: 14px; }
  .rl_hero_tags { gap: 6px; margin-top: 14px; }
  .rl_hero_tags span { padding: 5px 10px; font-size: 11px; }
  .rl_car_card { grid-template-columns: 110px minmax(0,1fr); gap: 12px; padding: 12px; }
  .rl_car_image { height: 100px; padding: 6px; }
  .rl_car_image .rl_badge { left: 4px; top: 4px; font-size: 9px; padding: 3px 5px; }
  .img_missing::after { font-size: 34px; }
  .rl_car_info h3 { font-size: 16px; margin: 4px 0 2px; }
  .rl_sub { font-size: 11px; }
  .rl_specs { margin: 8px 0; gap: 4px 10px; font-size: 11px; }
  .rl_features span { font-size: 10px; padding: 4px 6px; }
  .rl_pricebox { grid-column: 1 / -1; padding-top: 10px; gap: 2px 10px; }
  .rl_price { font-size: 22px; }
  .rl_deposit { margin: 2px 0; }
  .rl_pricebox .rl_bookbtn, .rl_pricebox .rl_detailsbtn { width: 128px; }
  .rl_results_head { margin-bottom: 12px; }
  .rl_results_head h2 { font-size: 18px; }
  .rl_car_list { gap: 12px; }
  .rl_trust_row { margin-top: 16px; gap: 8px; }
  .rl_content { padding-bottom: 32px; }

  /* ----- CMS / vehicle / SEO pages ----- */
  .vehicle-details-section { padding-top: 1rem !important; }
  .vehicle-details-section .mt-4 { margin-top: .75rem !important; }
  .seo-card { padding: 16px; border-radius: 14px; }
  .seo-card .seo-card { padding: 0; border: 0; box-shadow: none; }
  .section-title { margin-bottom: 8px; }
  .feature-pill { padding: 8px; gap: 10px; border-radius: 14px; }
  .feature-pill .icon { width: 40px; height: 40px; font-size: 18px; }
  .vehicle-details-section .row.g-3 { --bs-gutter-y: .5rem; --bs-gutter-x: .5rem; }
  .vehicle-details-section .row.g-3 > .col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .custom-faq .accordion-item { margin-bottom: 10px; border-radius: 12px !important; }
  .custom-faq .accordion-button { font-size: 15px; padding: 12px 14px; }
  .custom-faq .accordion-body { font-size: 14px; padding: 12px 14px; }

  /* ----- enquiry form + why choose (sidebar on CMS pages) ----- */
  .booking-header { padding-bottom: 12px; margin-bottom: 16px; }
  .booking-header span { font-size: 20px; }
  .booking-input { height: 46px; font-size: 15px; padding: 0 18px; }
  .booking-card .mb-4 { margin-bottom: .75rem !important; }
  .why-card.mt-5 { margin-top: 1.25rem !important; }
  .why-header { padding: 14px 18px; }
  .why-card .row { padding: 16px; }
  .why-list li { font-size: 14px; line-height: 1.5; margin-bottom: 6px; }

  /* ----- contact + blog ----- */
  .branch_card { padding: 14px; margin-bottom: 10px; }
  .contact_info { padding: 16px; }
  .blog-card { margin-bottom: 14px; }

  /* ----- footer ----- */
  .footerlinks_section { padding: 28px 0 10px; }
  footer { padding-top: 24px !important; }
}

@media (max-width: 575px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .vehicle-details-section .row.g-3 > .col-md-6 { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 767px) {
  /* testimonial section has no .container: keep the chip row inside the screen */
  .tabs { margin: 0; padding: 4px 16px 6px; }
}
@media (max-width: 767px) {
  /* footer columns stack on phones: small gap between them */
  footer .row > div { margin-bottom: 14px; }
  .contact_section .row > div { margin-bottom: 12px; }
}
@media (max-width: 767px) {
  /* contact branch cards: tighter lines */
  .branch_card p { margin-bottom: 4px; }
  .branch_card h6 { margin-bottom: 6px; }
  .branch_card .btn { margin-top: 8px; }
  /* CMS editor content: slightly tighter paragraphs */
  .seo-card p { margin-bottom: .7rem; }
  /* single Premium Fleet card centred */
  .fleet-card { margin: 0 auto; }
}
@media (max-width: 767px) {
  /* booking page: compact vehicle row, tighter cards */
  .bk_wrap { margin-top: -48px; padding-bottom: 32px; }
  .bk_main { gap: 12px; }
  .bk_card { padding: 16px; border-radius: 14px; }
  .bk_title { margin-bottom: 12px; font-size: 15px; }
  .bk_vehicle { grid-template-columns: 96px minmax(0,1fr); gap: 12px; }
  .bk_vehicle_img { height: 80px; padding: 6px; }
  .bk_vehicle_name { font-size: 17px; margin-top: 2px; }
  .bk_vehicle .rl_specs { margin: 4px 0 0; }
  .bk_change_vehicle { grid-column: 1 / -1; width: 100%; }
  .bk_card .row { --bs-gutter-y: .6rem; --bs-gutter-x: .6rem; }
  .bk_input { height: 44px; }
  .bk_note { margin-top: 10px; }
  .bk_link { padding-bottom: 0; }
  .fare_terms_list { font-size: 12px; }
  .bk_success { padding: 28px 16px; }
  /* My Account */
  .customer_account_section, .customer_auth_section { padding: 88px 0 32px; }
  .customer_booking_filters a { padding: 5px 11px; }
  .customer_empty { padding: 24px 16px; }
}
