/*------------------------------------------------------------------
* Project:        EVdriveX - Electric Vehicle & Charging Station HTML Templates
* Author:         HtmlDesignTemplates
* URL:            https://themeforest.net/user/htmldesigntemplates
* Created:        04/04/2025
-------------------------------------------------------------------*/


:root {
  --green: #87C332;
  --lightgreen: #e9f5dc;
  --lightgreen1: #e6f1d7;
  --white: #ffffff;
}

/* Header CSS */


.header-top-left ul li:first-child::after {
  content: '';
  height: 100%;
  left: auto;
  position: relative;
  right: -10px;
  width: auto;
  border-left: 1px solid #F7F7F757;
}

.header-socials a {
  font-size: 14px;
  height: 34px;
  width: 34px;
  line-height: 33px;
}

.header-socials a:hover {
  background-color: #87C332;
  color: #fff;
  border-color: #87C332 !important;
}



.navbar-nav .nav-link {
  padding: 13px 20px;
  color: #fff;
}

.navbar-nav .nav-item.no-after::after {
  display: none;
}

.dropdown-menu>li>a {
  font-size: 16px;
  padding: 13px 36px !important;
}


.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.show {
  color: #87C332;
}

.dropdown-menu>li>a:hover {
  background-color: #69A316;
  color: #ffffff;
}

@media (min-width: 1180px) {
  .navbar-nav .dropdown-menu {
    position: absolute;
    top: auto;
  }

  .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
  }

  .dropdown:hover>.dropdown-menu {
    opacity: 1;
    visibility: visible;
    transition: all .3s ease-in-out;
  }

  .dropdown>.dropdown-toggle:active {
    /*Without this, clicking will make it sticky*/
    pointer-events: none;
  }

  ul.dropdown-menu {
    max-height: 630px !important;
    overflow-y: auto !important;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
  }

  .navbar-nav .nav-link.active {
    color: #87C332;
  }

  .dropdown-item.active {
    background-color: #69A316;
  }
}

@media (min-width: 1181px) and (max-width: 1380px) {
  .navbar-logo img {
    width: 70% !important;
  }
}

@media (max-width: 1180px) {
  div#slicknav-mobile {
    display: block;
  }

  .header-top,
  .navbar-button,
  .navbar-sticky-in,
  #responsive-menu {
    display: none;
  }

  .slicknav_menu {
    display: block;
  }

  .nav-link {
    padding: 12px 36px !important;
    margin: 0 !important;
  }

  .slicknav_btn {
    position: absolute;
    right: 70px;
  }

  .slicknav_btn.slicknav_open:before,
  .slicknav_btn.slicknav_collapsed:before {
    left: 0;
    top: 30px;
    padding: 8px;
    position: absolute;
  }

  .dropdown-menu {
    border-radius: 0 !important;
  }

  .slicknav_btn.slicknav_open:before {
    color: #69A316;
  }

  .slicknav_nav {
    top: 80px;
    left: 0;
    background-color: #F5F5F5;
    position: absolute;
    height: 280px;
    overflow: auto;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.12);
  }

  .slicknav_nav a:hover,
  li.nav-item.dropdown.slicknav_parent.slicknav_open>a>a {
    background-color: #69A316 !important;
    color: #fff;
  }

  .slicknav_nav a,
  .dropdown-menu>li>a {
    font-size: 16px;
    background-color: #F5F5F5;
    color: #33373d;
    text-transform: capitalize !important;
    border: none !important;
    font-weight: 400 !important;
  }

  .dropdown-menu>li>a {
    padding-left: 42px !important;
  }

  .dropdown-toggle::after {
    display: none;
  }

  .slicknav_nav .active,
  .fa-angle-up:before {
    background-color: #69A316;
    color: #fff;
  }
}

@media (max-width: 1100px) {
  .slicknav_nav .slicknav_item a {
    pointer-events: none;
  }
}

/* Popup hidden by default */
#search1 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

#search1 input {
  width: 400px;
}

#search1.open {
  display: flex;
}

#search1 .close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 2rem;
  color: #fff;
  background: none;
  border: none;
  cursor: pointer;
}

/* Banner CSS */
.banner {
  /* min-height: 800px; */
  /* background-image: url(../images/ev-vehicle.jpg); */
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -8%;
}

.banner .overlay {
  background-image: linear-gradient(180deg, #052730 0%, #052730 100%);
  opacity: .7;
}

@media (max-width: 1400px) {
  .banner {
    margin-top: -11%;
  }

  .banner-inner {
    padding-top: 80px !important;
  }
}

@media (max-width: 768px) {
  .banner {
    margin-top: -21%;
  }

  .spin-container {
    margin: 0 100px;
  }

  .banner-btn li a,
  .download-btn li a {
    width: 75%;
  }
}

/* Spin Animation  */
.spin {
  display: inline-block;
  animation: spin 2s ease-in-out forwards;
}

@keyframes spin {
  0% {
    transform: rotateY(0deg);
  }

  40% {
    transform: rotateY(360deg);
  }

  100% {
    transform: rotateY(360deg);
  }
}


/* Feature CSS */
.feature-inner {
  margin-top: -150px;
}

@media (max-width: 992px) {
  .feature-box2 {
    border-right: none !important;
    padding-right: 0 !important;
  }

  .feature-box3 {
    border-top: 1px solid #5F5F5F21;
    padding-top: 40px;
    padding-left: 0 !important;
  }
}

@media (max-width: 768px) {
  .feature-box2 {
    border: none !important;
    border-top: 1px solid #5F5F5F21 !important;
    padding-top: 40px;
    padding-left: 0 !important;
  }

  .feature-box1 {
    padding-right: 0 !important;
  }
}


/* About CSS */
.about {
  background-image: linear-gradient(90deg, #F5FAEE 20%, #F5FAEE00 100%);
  margin-top: -140px;
}

.about-service-box {
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
}

@media (max-width: 1200px) {

  .about .section-title h2,
  .more-about .section-title h2,
  .review .section-title h2,
  .mobile-app .section-title h2,
  .career-faq .section-title h2,
  .faq .section-title h2,
  .about1 .section-title h2 {
    border: none !important;
    padding: 0 !important
  }

  ;
}

@media (max-width: 768px) {
  .about-service-box {
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}

/* Why US CSS */
.why-us .overlay {
  background-image: linear-gradient(90deg, #F5FAEE 50%, #FFFFFF00 0%);
  opacity: .9;
}

.ev-logo img {
  height: 80px;
  width: 80px;
}

.ev-logo {
  top: 5%;
  right: 40%;
}


.service-image img {
  margin-bottom: -35px;
}


@media (min-width: 768px) and (max-width:1200px) {
  .service-image img {
    width: 50% !important;
  }

  .ev-logo {
    top: 2%;
  }
}

@media (max-width: 768px) {
  .why-us .section-title-left h2 {
    border: none !important;
    padding: 0 !important
  }

  ;
}

/* Work CSS */
.work-image img {
  width: 150px;
  height: 150px;
}

.work-box-number {
  top: -20px;
  left: 40%;
}

.work-box-number h4 {
  height: 50px;
  width: 50px;
  line-height: 50px;
}

.work {
  margin-right: 5%;
  background-image: url(../images/electric-car-charging-connected-to-the-grid-2023-02-07-21-01-15-utc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.work .overlay {
  background-image: linear-gradient(90deg, #052730 0%, #69A316 100%);
  opacity: 0.9;
}


@media (min-width: 768px) and (max-width:1200px) {
  .work-box {
    margin: 0 !important;
    margin-top: 20px !important;
  }

  .work {
    padding-bottom: 100px !important;
  }
}

@media (max-width:768px) {

  .work,
  .work .overlay {
    margin: 0;
    border-radius: 0;
  }
}

/* Mission */
@media (max-width: 992px) {

  .partner-slider,
  .mission h2,
  .partner h3 {
    border: none !important;
    padding: 0 !important;
  }
}

/* More About CSS */
.more-about {
  margin: 0 5%;
  background-color: #052730;
  background-image: url(../images/img15_circle.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 50% auto;
}


.percentage-wrapper::after {
  position: absolute;
  content: "";
  bottom: -7px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 3px;
  height: 8px;
  background-color: #87C332;
}

.percentage-wrapper {
  top: -50px;
  left: 100%;
  /* Move it along the width of progress */
  transform: translateX(-50%);
  font-size: 13px;
  transition: left 3s ease-in-out;
}

.percentage-wrapper::after {
  position: absolute;
  content: "";
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: 8px;
  background-color: #87C332;
}

.review-info h4 {
  color: #87C332;
}

.progress-bar {
  animation: progressBar 3s ease-in-out forwards;
}


.about-video-play {
  height: 50px;
  width: 50px;
  line-height: 50px;
  z-index: 999;
  cursor: pointer;
}

@keyframes waves {
  0% {
    -webkit-transform: scale(0.2, 0.2);
    transform: scale(0.2, 0.2);
    opacity: 0;
  }

  50% {
    opacity: 0.9;
  }

  100% {
    -webkit-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9);
    opacity: 0;
  }
}


.waves {
  width: 150px;
  height: 150px;
  background: #87C33230;
  opacity: 0;
  right: -50px;
  bottom: -50px;
  -webkit-animation: waves 3s ease-in-out infinite;
  animation: waves 3s ease-in-out infinite;
}

.wave-1 {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.wave-2 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.wave-3 {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}



@keyframes progressBar {
  0% {
    width: 0;
  }

  100% {
    width: width;
  }
}

@media (min-width: 1200px) {
  .more-about-quote {
    width: 75%;
    margin: 0 0 -40% -20%;
  }

  .more-about-inner {
    padding: 0 !important;
  }

  .more-about {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .more-about-inner .section-left {
    margin-bottom: -100px;
  }
}

/* Review CSS */
.reviewer-bio img {
  height: 70px;
  width: 70px;
}

.review .overlay {
  background-image: url(../images/shape-ev.png);
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.8;
}

.qoute-icon {
  top: 20px;
  right: 30px;
}

@media (max-width: 1200px) {
  .review-inner {
    padding: 0px !important;
  }
}

/* Moblie App CSS */
.download-btn i {
  font-size: 21px;
}

.mobile-app {
  background-image: url(../images/electric-car-plugged-in-outside-house-2022-05-01-23-53-51-utc.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.mobile-app .overlay {
  background-image: linear-gradient(90deg, #69A316 0%, #052730 100%);
  opacity: .9;
}

.mobile-app .section-left {
  margin-bottom: -200px;
}

@media (max-width: 768px) {
  .mobile-app .section-left {
    margin-bottom: -100px;
  }
}


/* Blog CSS */
.blog {
  background-image: linear-gradient(180deg, #F5FAEE 50%, #F2295B00 100%);
  margin-top: -50px;
}

.blog-image a::after {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, .35), transparent 75%);
  background-repeat: no-repeat;
  bottom: 0;
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  width: 100%;
  opacity: 1;
  transition: all .3s ease-in-out;
}

.blog-box:hover .blog-image a::after {
  opacity: 0;
  transition: all .3s ease-in-out;
}

/* Footer CSS */
footer {
  background-image: linear-gradient(180deg, #052730 0%, #1B1A1A 100%);
}

.footer-socials a {
  font-size: 16px;
  height: 40px;
  width: 40px;
  line-height: 40px;
  transition: all .3s ease-in-out;
}

.footer-socials a:hover {
  background-color: #69A316;
  color: #fff;
  transition: all .3s ease-in-out;
}

@media (min-width: 768px) and (max-width:1200px) {
  .footer-logo img {
    width: 40% !important;
  }
}

.newsletter {
  margin-bottom: -100px
}

@media (max-width: 768px) {
  .search-bar a {
    margin: 10px 0 !important;
    width: 100%;
  }
}

.copyright .overlay {
  opacity: .15;
}


/* ========================================= */
/*          About US page CSS                */
/* ========================================= */
.team-member-image img {
  height: 130px;
  width: 130px;
}

.team {
  background-image: linear-gradient(180deg, #F5FAEE 20%, #F5FAEE00 100%);
}

.team-socials a {
  height: 40px;
  width: 40px;
  line-height: 40px;
  transition: all ease-in-out .3s;
}

.team-socials a:hover {
  background-color: #87C332;
  color: #fff;
  transition: all ease-in-out .3s;
}

@media (max-width: 1200px) {
  .breadcrumb .banner-inner {
    padding-top: 20px !important;
  }

}

/* ========================================= */
/*          Our Team page CSS                */
/* ========================================= */
.our-team,
.team-detail,
.price,
.project-list,
.about1 {
  background-image: linear-gradient(180deg, #F5FAEE00 40%, #F5FAEE 100%);
}

/* ========================================= */
/*           Career page CSS                 */
/* ========================================= */
.career-box img,
.perk-box img {
  height: 36px;
  width: 36px;
}

.perk-icon {
  height: 80px;
  min-width: 80px;
}

.career-inner {
  margin-bottom: -100px;
}

.faq .accordion-button,
.career-faq .accordion-button {
  background-color: #F5FAEE;
  color: #676767;
  font-size: 15px;
}

.faq .accordion-button:not(.collapsed),
.career-faq .accordion-button:not(.collapsed) {
  color: #87C332;
}

.career-detail .nav-link:hover {
  background-color: #ffffff !important;
}

.accordion-button:focus,
.accordion-button:hover {
  z-index: 0;
}

.cv-icon i {
  height: 100px;
  width: 100px;
  line-height: 100px;
}

.cv-box {
  background-image: linear-gradient(180deg, #69A316 0%, #052730 100%);
}

.cv-sperator span::before,
.cv-sperator span::after {
  content: '';
  border-top: 1px solid #fff;
  display: block;
  flex-grow: 1;
  margin-top: 10px;
}

.cv-box .overlay {
  background-image: url(../images/electric-car-plugged-in-outside-house-2022-05-01-23-53-51-utc.jpg);
  opacity: 0.15;
}

.career-detail-tabs .nav-tabs .nav-link {
  color: #1B1A1A;
  font-size: 15px;
}

.career-detail-tabs .nav-tabs .nav-link.active {
  color: #87C332 !important;
}

/* ========================================= */
/*           Gallery page CSS                */
/* ========================================= */

.gallery-container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  /* 6 equal columns to allow for half-width items */
  gap: 10px;
  /* Space between images */
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-item {
  overflow: hidden;
  transition: transform 0.3s ease;
}

.gallery-item img {
  width: 100%;
  height: 250px !important;
  object-fit: cover;
  display: block;
}

.gallery-item.wide {
  grid-column: span 3;
}

.gallery-item.mid {
  grid-column: span 2;
}

.gallery-item.small {
  grid-column: span 1;
}

.gallery-item .overlay {
  background-color: #87C332;
  background-blend-mode: hue;
  mix-blend-mode: hue;
  opacity: 0;
  transition: all ease-in-out .3s;
}

.gallery-item:hover .overlay {
  opacity: .7;
  transition: all ease-in-out .3s;
}

@media (max-width: 768px) {
  .gallery-container {
    grid-template-columns: repeat(4, 1fr);
  }

  .gallery-item.wide {
    grid-column: span 2;
  }

  .gallery-item.small {
    grid-column: span 1;
  }
}

@media (max-width: 480px) {
  .gallery-container {
    grid-template-columns: 1fr;
  }

  .gallery-item.wide,
  .gallery-item.small {
    grid-column: span 1;
  }
}

/* ========================================= */
/*         Testimonial page CSS              */
/* ========================================= */
.reviewer-image img,
.author-image img,
.blog-qoute img {
  height: 100px;
  width: 150px;
}

/* ========================================= */
/*               Faq page CSS                */
/* ========================================= */
.faq {
  background-image: linear-gradient(180deg, #F5FAEE00 0%, #F5FAEE 100%);
}

.faq-qoute {
  margin-top: -50px;
}

.faq .section-right {
  margin-bottom: -50px;
}

/* ========================================= */
/*              Error page CSS               */
/* ========================================= */
.error h1 {
  font-size: 70px;
  -webkit-text-stroke: 1px #69A316;
}

.error .search-bar a:hover,
.search-again .search-bar a:hover {
  background-color: #87C332;
}

@media (max-width: 768px) {

  .error .search-bar,
  .search-again .search-bar {
    background-color: transparent;
  }
}


/* ========================================= */
/*          Search Result page CSS           */
/* ========================================= */
.search-result {
  background-image: linear-gradient(180deg, #F5FAEE00 0%, #F5FAEE 100%);
}

/* ========================================= */
/*            Contact US page CSS            */
/* ========================================= */
.contact-icon i,
.summary-icon i {
  height: 60px;
  width: 60px;
  font-size: 30px;
  line-height: 60px;
}

.branch-icon i {
  height: 80px;
  width: 80px;
  font-size: 40px;
  line-height: 80px;
}


.contact {
  background-image: linear-gradient(180deg, #87C33200 50%, #F5FAEE 100%);
}

.contact .overlay {
  background-image: url(../images/shape-ev.png);
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.5;
}

.branch-inner {
  margin-top: -50px;
}

@media (max-width: 992px) {
  .contact .section-title h2 {
    border: none !important;
    padding: 0 !important
  }

  ;
}

/* ========================================= */
/*              Product page CSS             */
/* ========================================= */

.range-slider {
  position: relative;
  width: 100%;
  height: 4px;
  margin: 20px 0;
  background-color: #676767;
}

.range-selected {
  position: absolute;
  top: 50%;
  height: 4px;
  background-color: #87C332;
  transform: translateY(-50%);
}

.range-slider input[type="range"] {
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  pointer-events: none;
  -webkit-appearance: none;
  background: none;
}

.range-slider input[type="range"]::-webkit-slider-thumb {
  pointer-events: all;
  width: 20px;
  height: 20px;
  background-color: #87C332;
  border-radius: 50%;
  cursor: pointer;
  -webkit-appearance: none;
}

.add-to-cart-btn {
  opacity: 0;
  bottom: 10%;
  left: 27%;
  transition: all ease-in-out .3s;
}

.related-product .add-to-cart-btn {
  left: 20%;
}

.product-image:hover .add-to-cart-btn {
  opacity: 1;
  transition: all ease-in-out .3s;
}

.product-box .product-image:hover img {
  filter: blur(2px);
  transition: all ease-in-out .3s;
}

.media-link a::before {
  content: '';
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  width: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, .12), transparent);
  z-index: 0;
}

.product-img-nav img {
  height: 115px;
  width: 115px;
  transition: all ease-in-out .2s;
  cursor: pointer;
}

.product-img-nav img:hover,
.slider-nav .slick-current img {
  opacity: 1 !important;
  transition: all ease-in-out .2s;
}

.slick-list {
  padding: 0 !important;
}

.product-tabs .nav-link {
  border-radius: 20px;
}

.product-tabs .nav-link:hover {
  color: #676767;
}

.nav-tabs .nav-link.active:hover {
  color: #052730;
}

/* Product Review Stars */
.star-rating-inner {
  transform: rotateY(180deg);
}

.star-rating input {
  display: none;
}

.star-rating label {
  width: 15px;
  aspect-ratio: 1;
  cursor: pointer;
}

.star-rating label .star-stroke {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background: #294145;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.star-rating label .star-stroke .star-fill {
  width: 50%;
  aspect-ratio: 1;
  background: transparent;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.star-rating input:hover~label .star-stroke,
.star-rating input:checked~label .star-stroke {
  background: #6EA343;
  transition: all .2s ease-in-out;
}

.star-rating input:checked~label .star-stroke .star-fill {
  background: #6EA343;
  transition: all .2s ease-in-out;
}

.quantity {
  width: 100px !important;
}

.cart img {
  height: 100px;
  width: 100px;
}

/* ========================================= */
/*            Comming-Soon page CSS          */
/* ========================================= */
.coming-soon .overlay {
  background-color: transparent;
  background-image: url(../images/map-evcharge.png);
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .2;
}

.divider-pattern {
  background: repeating-linear-gradient(-55deg, #fff, #fff 1px, transparent 1px, transparent 6px);
}

.coming-soon .footer-socials i:hover {
  border-radius: 50%;
}

.countdown span {
  font-size: 80px;
}

@media (max-width: 992px) {
  .coming-soon span {
    font-size: 54px;
  }

  .coming-soon p {
    font-size: 14px;
  }
}

@media (min-width: 800px) and (max-width:996px) {
  .coming-soon {
    height: 170vh !important;
  }
}

@media (max-width: 576px) {
  .coming-soon span {
    font-size: 42px;
  }
}

.popular-tag {
  top: 25px;
  left: -40px;
  transform: rotate(-45deg);
}

/* ========================================= */
/*            Homepage 2 page CSS          */
/* ========================================= */

/* Banner Section */
.banner-1 {
  background-image: linear-gradient(180deg, #052730 100%, #F5FAEE 100%);
  margin-top: -120px;
}

.banner-1 .slick-list.draggable {
  overflow: visible;
  overflow-x: clip;
}

.banner-1 .slick-dots {
  bottom: 25%;
  left: 66%;
  position: absolute;
}

.banner-1 .text {
  letter-spacing: 1.7px;
  text-transform: uppercase;
  fill: #fff;
  font-size: 21px;
}

.banner-1 #rotatingText {
  animation-name: rotate-circle;
  animation-duration: 10s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}


@keyframes rotate-circle {
  to {
    transform: rotate(1turn);
  }
}

.banner-1 .spin-demo-main {
  display: grid;
  align-items: center;
  justify-items: center;
}

.banner-1 .spin-demo-main img {
  position: absolute;
  left: 40%
}

.banner-1 .section-title-right img {
  height: 75px;
  width: 75px;
}

.banner-1 .section-title-right span {
  left: 70% !important;
}

.banner-1 .btn1:hover {
  background-color: #fff !important;
}

.banner-1 .slick-dots li button::after {
  background: #fff;
}

.banner-1 .slick-dots li.slick-active button::after {
  background: #69A316 !important;
}


.banner-1 .overlay {
  background-image: url(../images/map-evcharge.png);
  background-position: left;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .05;
}

.banner-1-image-inner {
  margin-bottom: -120px;

}


@media (min-width: 1400px) {
  .banner-1 h1 {
    font-size: 60px;
  }

}

@media (max-width: 1200px) and (min-width: 992px) {
  .banner-1 .spin-demo-main img {
    left: 37%;
  }
}

@media (max-width: 1200px) {
  .banner-1-inner {
    padding-top: 10px !important;
    padding-bottom: 50px;
  }

  .banner-1-image-inner {
    margin-bottom: 0px;
  }

  .banner-1 .slick-dots {
    left: 48%;
    bottom: 0%;
  }

  .banner-1 .feature-list {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 992px) {

  .banner-1 .section-title h1,
  .index-2 .about-us .section-title h2,
  .service .section-title h2,
  .index-2 .pricing .section-title h2,
  .project .section-title h2,
  .blog-title-left h2,
  .mobile-app1-title h2,
  .contact-us-title h2 {
    border: none !important;
    padding-left: 0 !important;
  }

  .banner-1 .section-title {
    margin-bottom: 60px !important;
  }


  .banner-1 {
    padding: 75px 0 0 0 !important;
  }

  .banner-1-image img {
    margin-top: 20px !important;
  }

  .banner-1 .overlay::after {
    width: 100%;
    left: 0;
  }

  .banner-1 .spin-demo-main img {
    left: 45%;
  }
}

@media (max-width: 768px) {
  .banner-1 li {
    margin: 0 10px !important;
  }

  .banner-1 .spin-demo-main img {
    left: 40%;
  }

}

/* About Us Section */
.index-2 .about-us,
.index-2 .pricing,
.index-2 .blog {
  background-image: linear-gradient(180deg, #F5FAEE00 20%, #F5FAEE 100%);
}

.about-counter-box img {
  height: 50px;
  width: 50px;
}

.about-counter-box {
  top: 20px;
  right: -30px;
}

.about-us {
  margin-top: -50px;
}

@media (max-width: 1200px) {
  .about-us-inner {
    padding-top: 50px !important;
  }
}

@media (max-width: 992px) {
  .about-counter-box {
    position: static !important;
  }
}

/* Service Section */
.index-2 .service,
.project,
.contact-mobile {
  background-image: linear-gradient(180deg, #F5FAEE 60%, #F5FAEE00 100%);
}

.index-2 .service-box {
  background-image: url(../images/img15_circle.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

}

.index-2 .service-box:hover {
  /* border-color: #69A316 !important; */
  transition: all .3s ease-in-out;
  background-color: #052730 !important;
}

.index-2 .service-box:hover h4 a,
.index-2 .service-box:hover p {
  color: #fff;
  transition: all .3s ease-in-out;
}

.index-2 .service-box:hover a {
  border: none !important;
  transition: all .3s ease-in-out;
}

/* Who we are section */
.index-2 .more-about .section-right {
  margin-bottom: -50px;
}

@media (max-width: 1200px) {
  .index-2 .more-about .section-left {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 786px) {
  .index-2 .more-about .counter-box {
    border-bottom: 1px solid #F7F7F757;
  }
}

/* How we work CSS*/
/* 
.how-work .section-body::after{
  content: '';
  height: 80%;
  width: 100%;
  position: absolute;
  border-right: 2px dashed #67676750;
  top: 10%;
  left: -50%;
}

.index-2 .work-info{
  background-color: #e6f1d7;
}

.timeline .work-info:after {
  content: "";
  position: absolute;
  top: 42%;
  height: 20px;
  width: 20px;
  z-index: -1;
  background: #87C332;
  right: -10px;
  border-bottom: 0;
  border-left: 0;
  transform: rotate(-135deg);
}

.timeline-row:nth-child(even) .work-info:after{
  left: -10px;
}


@media (max-width: 768px){
  .how-work .section-body::after, .timeline .work-info:after{
    display: none;
  }

  .how-work .work-info {
    margin: 0 !important;
  }

  .how-work .work-box-number {
    position: static !important;
    transform: none !important;
  }
} */


/* Project CSS */
.index-2 .project-info {
  bottom: -40px;
  left: 0;
  transition: all .5s ease-in-out;
}

.index-2 .project-image {
  cursor: pointer;
}

.index-2 .project h5 a:hover {
  color: #6EA343;
}

.index-2 .project-image:hover img {
  filter: blur(1px);
  transition: all .3s ease-in-out;
}

.index-2 .project-image:hover .project-info {
  bottom: 0;
  transition: all .5s ease-in-out;
}

.index-2 .project-info .overlay {
  opacity: .88;
}


/* Testimonial CSS */
.testimonial-1 {
  margin-right: 5%;
  background-image: url(../images/electric-vehicle-fuels-up-with-clean-energy-charging-station-enveloped-blue-power-aura-natural-background.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.testimonial-1 .overlay {
  background-image: linear-gradient(90deg, #052730 40%, #676767CC 100%);
  opacity: .9;
}


.testimonial-1 .slick-dots {
  bottom: 100px;
  right: 100px;
  left: auto;
  position: absolute;
}

.testimonial-1 .qoute-icon {
  top: 0;
}

.testimonial-1 .about-video {
  top: -80% !important;
  left: 48% !important;
}


@media (max-width: 992px) {
  .testimonial-1 {
    margin: 0;
    border-radius: 0;
  }

  .testimonial-1 .section-right-inner {
    margin-top: 50px !important;
  }

  .about-video {
    display: none;
  }
}

@media (max-width: 768px) {
  .testimonial-1 .slick-dots {
    bottom: 30px;
    left: 35%;
    right: auto;
  }
}

/* Blog CSS */
.blog .slick-dots {
  left: 0;
  bottom: 30px;
  position: absolute;
}

.index-2 .blog-image a::after {
  border-radius: 10px;
}

@media (max-width: 1200px) {
  .blog .slick-dots {
    left: 40%;
    bottom: 20px;
  }
}




/* 

.taxi-container {
  position: relative;
  max-width: 800px;
  margin: 50px auto;
  padding: 0;
}


.taxi-body {
  background-color: #87C332;
  border-radius: 50px 50px 20px 20px;
  padding: 30px;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border: 5px solid #000;
  animation: taxiWavyVibrate 1s ease-in-out infinite;
}



@keyframes taxiWavyVibrate {
  0%   { transform: translateY(0) rotate(0deg); }
  25%  { transform: translateY(-1.2px) rotate(-0.3deg); }
  50%  { transform: translateY(0) rotate(0deg); }
  75%  { transform: translateY(1.2px) rotate(0.3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

.taxi-front {
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 100px;
  background-color: #87C332;
  border: 5px solid #000;
  border-right: none;
  border-radius: 30px 0 0 30px;
  z-index: 1;
}

.taxi-front::before {
  content: '';
  position: absolute;
  right: 10px;
  top: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

.taxi-front::after {
  content: '';
  position: absolute;
  right: 10px;
  bottom: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

.taxi-back {
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 100px;
  background-color: #87C332;
  border: 5px solid #000;
  border-left: none;
  border-radius: 0 30px 30px 0;
  z-index: 1;
}

.taxi-back::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

.taxi-back::after {
  content: '';
  position: absolute;
  left: 10px;
  bottom: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

.wheel {
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  bottom: -25px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  animation: wheelRoll 4s linear infinite;
}

.tyre-img {
  width: 100%;
  border: none;
  display: block;
  height: 100%;
  object-fit: cover;
  animation: wheelRoll 4s linear infinite;
}



.wheel::before {
  width: 2px;
  height: 20px;
  background-color: #87C332;
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
}


.front-wheel {
  left: 20%;
}

.back-wheel {
  right: 20%;
}
@keyframes wheelRoll {
  0% {
    transform: rotate(0deg) translateY(0);
  }
  25% {
    transform: rotate(90deg) translateY(-0.5px);
  }
  50% {
    transform: rotate(180deg) translateY(0);
  }
  75% {
    transform: rotate(270deg) translateY(0.5px);
  }
  100% {
    transform: rotate(360deg) translateY(0);
  }
}

.tyre-icon {
  font-size: 95px;
  animation: wheelRoll 4s linear infinite;
}


.taxi-sign {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 30px;
  background-color: #000;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFC107;
  font-weight: bold;
  font-size: 14px;
  z-index: 3;
}

.booking-form {
  position: relative;
  z-index: 2;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 15px;
  margin-top: 20px;
}

.form-header {
  text-align: center;
  margin-bottom: 20px;
}

.form-header h2 {
  color: #000;
  font-weight: 700;
}

.btn-book {
  background-color: #000;
  color: #87C332;
  font-weight: 600;
  padding: 10px 25px;
  border: none;
  transition: all 0.3s;
}

.btn-book:hover {
  background-color: #333;
  transform: translateY(-2px);
  color: #87C332;
}

.form-control, .form-select {
  border-radius: 8px;
  padding: 12px 15px;
  border: 2px solid #000;
}

.form-control:focus, .form-select:focus {
  border-color: #87C332;
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.25);
}

.round-trip-fields {
  display: none;
}

@media (max-width: 768px) {
  .taxi-container {
      max-width: 95%;
  }
  
  .taxi-front, .taxi-back {
      display: none;
  }
  
  .wheel {
      width: 40px;
      height: 40px;
      bottom: -20px;
  }
  
  .wheel::before {
      width: 15px;
      height: 15px;
  }
  
  .taxi-sign {
      width: 120px;
      height: 25px;
      font-size: 12px;
      top: -25px;
  }
} */


/* Existing CSS (unchanged) */
.taxi-booking-section {
  position: relative;
  padding: 80px 0;
  overflow: visible;

}

.taxi-container {
  position: relative;
  max-width: 800px;
  margin: 50px auto;
  padding: 0;
  min-height: 600px;
  overflow: visible;

}

.taxi-drive-in {
  position: absolute;
  width: 100%;
  opacity: 0;
  transform: translateX(-100%);
  transition: all 1s ease-out;
}

.taxi-drive-in.animate-in {
  opacity: 1;
  transform: translateX(0);
}

.taxi-drive-in.exit {
  transform: translateX(calc(100vw)) translateZ(0);
  /* Force hardware acceleration */
  opacity: 0;
  transition: all 1s linear;
  transition-delay: 0.1s;
}

/* Rest of your CSS remains unchanged */
.taxi-body {
  background-color: #87C332;
  border-radius: 50px 50px 20px 20px;
  padding: 30px;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border: 5px solid #000;
  animation: taxiWavyVibrate 1s ease-in-out infinite;
}

.taxi-body.stopped {
  animation: none;
}

@keyframes taxiWavyVibrate {
  0% {
    transform: translateY(0) rotate(0deg);
  }

  25% {
    transform: translateY(-3px) rotate(-1deg);
  }

  50% {
    transform: translateY(0) rotate(0deg);
  }

  75% {
    transform: translateY(3px) rotate(1deg);
  }

  100% {
    transform: translateY(0) rotate(0deg);
  }
}


/* Taxi Front */
.taxi-front {
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 100px;
  background-color: #87C332;
  border: 5px solid #000;
  border-right: none;
  border-radius: 30px 0 0 30px;
  z-index: 1;

}

.taxi-front::before {
  content: '';
  position: absolute;
  right: 10px;
  top: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

.taxi-front::after {
  content: '';
  position: absolute;
  right: 10px;
  bottom: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

/* Taxi Back */
.taxi-back {
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 100px;
  background-color: #87C332;
  border: 5px solid #000;
  border-left: none;
  border-radius: 0 30px 30px 0;
  z-index: 1;
}

.round-trip-fields {
  display: none;
}

/* Ensure inputs in round-trip fields match form styling */
.round-trip-fields .form-control {
  border-radius: 8px;
  padding: 12px 15px;
  border: 2px solid #000;
}

.round-trip-fields .form-control:focus {
  border-color: #87C332;
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.25);
}

.taxi-back::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

.taxi-back::after {
  content: '';
  position: absolute;
  left: 10px;
  bottom: 20px;
  width: 20px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
}

/* Taxi Wheels */
.wheel {
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  bottom: -25px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  animation: wheelRoll 4s linear infinite;
}

.wheel.stopped {
  animation: none;
}

.tyre-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: wheelRoll 4s linear infinite;
}

.tyre-img.stopped {
  animation: none;
}

.wheel::before {
  width: 2px;
  height: 20px;
  background-color: #87C332;
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
}

.front-wheel {
  left: 20%;
}

.back-wheel {
  right: 20%;
}

@keyframes wheelRoll {
  0% {
    transform: rotate(0deg) translateY(0);
  }

  25% {
    transform: rotate(90deg) translateY(-0.5px);
  }

  50% {
    transform: rotate(180deg) translateY(0);
  }

  75% {
    transform: rotate(270deg) translateY(0.5px);
  }

  100% {
    transform: rotate(360deg) translateY(0);
  }
}

/* Taxi Roof Sign */
.taxi-sign {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 30px;
  background-color: #000;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFC107;
  font-weight: bold;
  font-size: 14px;
  z-index: 3;
}

/* Form Styling */
.booking-form {
  position: relative;
  z-index: 2;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 15px;
  margin-top: 20px;
}

.form-header {
  text-align: center;
  margin-bottom: 20px;
}

.form-header h2 {
  color: #000;
  font-weight: 700;
}

.btn-book {
  background-color: #000;
  color: #87C332;
  font-weight: 600;
  padding: 10px 25px;
  border: none;
  transition: all 0.3s;
}

.btn-book:hover {
  background-color: #333;
  transform: translateY(-2px);
  color: #87C332;
}

.form-control,
.form-select {
  border-radius: 8px;
  padding: 12px 15px;
  border: 2px solid #000;
}

.form-control:focus,
.form-select:focus {
  border-color: #87C332;
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.25);
}

.round-trip-fields {
  display: none;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .taxi-container {
    max-width: 95%;
  }

  .taxi-front,
  .taxi-back {
    display: none;
  }

  .wheel {
    width: 40px;
    height: 40px;
    bottom: -20px;
  }

  .wheel::before {
    width: 15px;
    height: 15px;
  }

  .taxi-sign {
    width: 120px;
    height: 25px;
    font-size: 12px;
    top: -25px;
  }

  .booking-form {
    padding: 15px;
  }

  .btn-book {
    padding: 8px 20px;
    font-size: 14px;
  }
}

/* Additional Utility Classes */
.hidden {
  display: none;
}

/* Animation for form reset */
@keyframes formReset {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Tail lights for taxi back */
.tail-light {
  position: absolute;
  width: 10px;
  height: 15px;
  background-color: red;
  border-radius: 5px;
}

.tail-light:first-child {
  top: 25px;
  left: 5px;
}

.tail-light:last-child {
  bottom: 25px;
  left: 5px;
}

.bumper {
  position: absolute;
  bottom: 10px;
  left: 5px;
  width: 50px;
  height: 5px;
  background-color: #333;
  border-radius: 3px;
}

/*Cities design*/



.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

.bg-lightgreen {
  background-color: var(--lightgreen);
}

/* .py-10 {
      padding-top: 5rem;
      padding-bottom: 5rem;
    } */

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

.text-md-start {
  text-align: center;
}

.w-lg-50 {
  width: 90%;
}

.w-md-75 {
  width: 90%;
}

.m-auto {
  margin: auto;
}

.mb-8 {
  margin-bottom: 4rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.text-uppercase {
  text-transform: uppercase;
}

.fw-medium {
  font-weight: 500;
}

.green1 {
  color: var(--green);
}

.green {
  color: var(--green);
}

.fs-4 {
  font-size: 1.5rem;
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.z-2 {
  z-index: 2;
}

.timeline {
  position: relative;
  padding: 20px 0;
}

.timeline::before {
  display: none;
  /* Remove the straight line */
}

.timeline-road {
  position: absolute;
  width: 100%;
  height: calc(100% - 80px);
  left: 0;
  top: 40px;
  z-index: 1;
}

.w-md-50 {
  width: 100%;
}

.timeline-row {
  margin-bottom: 60px;
  position: relative;
}

.work-box-number {
  width: 60px;
  height: 60px;
  background-color: var(--green);
  border: 3px solid var(--lightgreen);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  position: absolute;
  z-index: 5;
}

.work-box-number h4 {
  margin: 0;
  color: white;
}

.location-icon {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  color: #ff4d4d;
  z-index: 6;
}

.work-info {
  background-color: var(--lightgreen1);
  border: 3px solid white;
  border-radius: 10px;
  padding: 1.5rem;
  margin: 0 0 30px 0;
  position: relative;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.work-info h4 {
  margin-top: 0;
  color: #333;
}

.work-info p {
  margin-bottom: 0;
  line-height: 1.6;
  color: #666;
}

.work-img img {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  max-width: 100px;
  height: auto;
}

.d-flex {
  display: flex;
}

.align-items-center {
  align-items: center;
}

.justify-content-between {
  justify-content: space-between;
}

.pe-1 {
  padding-right: 0.25rem;
}

.me-3 {
  margin-right: 1rem;
}

.me-9 {
  margin-right: 0;
}

.ms-9 {
  margin-left: 0;
}

.ms-auto {
  margin-left: auto;
}

/* Style for arrow connectors */
.connector {
  width: 40px;
  height: 4px;
  background-color: var(--green);
  position: absolute;
  z-index: 2;
  transition: all 0.3s ease;
}

.connector::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-top: 4px solid var(--green);
  border-right: 4px solid var(--green);
}

.connector-left::after {
  right: 0;
  top: -4px;
  transform: rotate(45deg);
}

.connector-right::after {
  left: 0;
  top: -4px;
  transform: rotate(-135deg);
}

/* Media queries for responsiveness */
@media (min-width: 768px) {
  .text-md-start {
    text-align: left;
  }

  .w-lg-50 {
    width: 50%;
  }

  .w-md-75 {
    width: 75%;
  }

  .w-md-50 {
    width: 47%;
  }

  .timeline-row:nth-child(odd) {
    margin-right: auto;
  }

  .timeline-row:nth-child(even) {
    margin-left: auto;
  }

  .me-9 {
    margin-right: 4.5rem;
  }

  .ms-9 {
    margin-left: 4.5rem;
  }

  .timeline-row:nth-child(odd) .work-box-number {
    left: 100%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .timeline-row:nth-child(even) .work-box-number {
    right: 100%;
    left: auto;
    top: 50%;
    transform: translate(50%, -50%);
  }

  .timeline-row:nth-child(odd) .connector {
    right: 70px;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
  }

  .timeline-row:nth-child(even) .connector {
    left: 70px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
  }

  /* Arrow connectors */
  .timeline-row:nth-child(odd) .work-info:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    margin-top: -10px;
    border-width: 10px 0 10px 10px;
    border-style: solid;
    border-color: transparent transparent transparent var(--lightgreen1);
    z-index: 1;
  }

  .timeline-row:nth-child(even) .work-info:after {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    margin-top: -10px;
    border-width: 10px 10px 10px 0;
    border-style: solid;
    border-color: transparent var(--lightgreen1) transparent transparent;
    z-index: 1;
  }
}

@media (max-width: 768px) {
  .timeline-road {
    left: 30px;
    width: 6px;
  }

  .work-box-number {
    left: 20px; 
    transform: translateX(-50%);
    top: 20px;
  }

  .work-info {
    margin-left: 50px !important;
    margin-top: 30px;
    flex-direction: column;
    width: calc(100% - 60px);
  }

  .work-img {
    margin-bottom: 15px;
    order: -1;
  }

  .timeline-row:nth-child(even) .work-info {
    flex-direction: column;
  }

  .me-3,
  .me-9,
  .ms-9 {
    margin: 0;
    margin-bottom: 15px;
  }

  .connector {
    left: 33px;
    width: 20px;
    top: 20px !important;
  }

  .work-info:after {
    display: none;
  }

  .timeline-row {
    width: 100% !important;
  }
}




@media (max-width: 768px) {
  .taxi-booking-section {
    height: 1100px;
  }

}


.float {
  position: fixed;
  bottom: 0px;
  color: #FFF;
  text-align: center;
  font-size: 30px;
  height: 40px;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.45);
  z-index: 10000;
}

.float11 {
  position: fixed;
  width: 55px;
  height: 55px;
  bottom: 10px;
  right: 20px;
  background-color: #0e8931;
  color: #FFF;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.45);
  z-index: 10000;
}

.my-float {
  width: 100%;
}

.float1 {
  position: fixed;
  width: 55px;
  height: 55px;
  bottom: 10px;
  left: 20px;
  color: #FFF !important;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.45);
  z-index: 10000;
}

.my-float1 {
  margin-top: 12px;
  color: white !important;
}

/* Back to Top Button Styles */
.bottom-to-top {
  position: fixed;
  bottom: 80px;
  right: 20px;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.bottom-to-top.show {
  opacity: 1;
  visibility: visible;
  animation: bounceIn 0.6s ease-out;
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(20px);
  }
  50% {
    opacity: 1;
    transform: scale(1.05) translateY(0);
  }
  70% {
    transform: scale(0.9) translateY(0);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #007bff, #0056b3);
  color: white;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
  transition: all 0.3s ease;
  transform: translateY(0);
}

.to-top:hover {
  background: linear-gradient(135deg, #0056b3, #004085);
  color: white;
  text-decoration: none;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

.to-top:active {
  transform: translateY(-1px);
}

.to-top-icon {
  font-size: 18px;
  font-weight: bold;
}

/* Responsive adjustments for back to top button */
@media (max-width: 768px) {
  .bottom-to-top {
    bottom: 70px;
    right: 15px;
  }
  
  .to-top {
    width: 45px;
    height: 45px;
  }
  
  .to-top-icon {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .bottom-to-top {
    bottom: 60px;
    right: 10px;
  }
  
  .to-top {
    width: 40px;
    height: 40px;
  }
  
  .to-top-icon {
    font-size: 14px;
  }
}

/* ========================================= */
/*           Booking Form Styles             */
/* ========================================= */

/* Form Container */
.form-container {
  background: #FFFFFF;
  /* border-radius: 15px; */
  padding: 20px;
  flex-wrap: wrap;
  gap: 15px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Input Field Containers */
.from-to, .small-input, .search-btn {
  flex: 1;
  min-width: 200px;
  position: relative;
}

.from-to {
  flex: 2;
  min-width: 250px;
}

.small-input {
  flex: 1;
  min-width: 180px;
}

.search-btn {
  flex: 1;
  min-width: 150px;
}

/* Custom Input Styles */
.custom-input {
  width: 100%;
  height: 50px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 12px 15px;
  font-size: 14px;
  background: white;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.custom-input:focus {
  border-color: #87C332;
  box-shadow: 0 0 0 3px rgba(135, 195, 50, 0.1);
  outline: none;
}

.custom-input::placeholder {
  color: #999;
  font-weight: 400;
}

/* Placeholder Center for Selects */
.placeholder-center {
  text-align: center;
}

.placeholder-center.is-empty {
  color: #999;
}

/* Swap Button */
.swap-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 50px;
}

.swap-wrap button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #87C332;
  color: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(135, 195, 50, 0.3);
}

.swap-wrap button:hover {
  background: #69A316;
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(135, 195, 50, 0.4);
}

.swap-wrap i {
  font-size: 16px;
}

/* Search Button */
.search-btn .btn {
  height: 50px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: linear-gradient(135deg, #87C332, #69A316);
  border: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(135, 195, 50, 0.3);
}

.search-btn .btn:hover {
  background: linear-gradient(135deg, #69A316, #5a8a13);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(135, 195, 50, 0.4);
}

.search-btn .btn:active {
  transform: translateY(0);
}

/* Form Responsive Layout */
@media (max-width: 1200px) {
  .form-container {
    padding: 25px;
    gap: 12px;
  }
  
  .from-to {
    min-width: 220px;
  }
  
  .small-input {
    min-width: 160px;
  }
}

@media (max-width: 992px) {
  .form-container {
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
  }
  
  .from-to, .small-input, .search-btn {
    min-width: 100%;
    flex: none;
  }
  
  .swap-wrap {
    align-self: center;
    margin: 10px 0;
  }
  
  .swap-wrap button {
    width: 45px;
    height: 45px;
  }
}

@media (max-width: 768px) {
  .form-container {
    padding: 15px;
    gap: 10px;
  }
  
  .custom-input {
    height: 45px;
    font-size: 13px;
    padding: 10px 12px;
  }
  
  .search-btn .btn {
    height: 45px;
    font-size: 13px;
  }
  
  .swap-wrap button {
    width: 40px;
    height: 40px;
  }
  
  .swap-wrap i {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .form-container {
    padding: 12px;
    gap: 8px;
  }
  
  .custom-input {
    height: 40px;
    font-size: 12px;
    padding: 8px 10px;
  }
  
  .search-btn .btn {
    height: 40px;
    font-size: 12px;
  }
  
  .swap-wrap button {
    width: 35px;
    height: 35px;
  }
  
  .swap-wrap i {
    font-size: 12px;
  }
}

/* Trip Mode Navigation Styles */
.custom-nav {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 15px;
  padding: 5px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.custom-nav .nav-link {
  border-radius: 10px;
  margin: 0 2px;
  transition: all 0.3s ease;
  border: none;
  background: transparent;
  color: #666;
  font-weight: 500;
}

.custom-nav .nav-link:hover {
  background: rgba(135, 195, 50, 0.1);
  color: #87C332;
}

.custom-nav .nav-link.active {
  background: #87C332;
  color: white;
  box-shadow: 0 2px 8px rgba(135, 195, 50, 0.3);
}

.custom-nav .nav-link i {
  transition: all 0.3s ease;
}

.custom-nav .nav-link.active i {
  transform: scale(1.1);
}

/* Form Field Animations */
.from-to, .small-input {
  animation: slideInUp 0.5s ease-out;
}

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

/* Loading State */
.search-btn .btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

/* Focus States Enhancement */
.custom-input:focus {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(135, 195, 50, 0.2);
}

/* Error States */
.custom-input.is-invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.custom-input.is-valid {
  border-color: #28a745;
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.1);
}

/* Suggestion Dropdown Styles */
.autocomplete-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 2px solid #87C332;
  border-top: none;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 200px;
  overflow-y: auto;
  margin-top: -2px;
}

.autocomplete-suggestion {
  padding: 12px 15px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s ease;
  font-size: 14px;
  line-height: 1.4;
}

.autocomplete-suggestion:last-child {
  border-bottom: none;
}

.autocomplete-suggestion:hover {
  background: rgba(135, 195, 50, 0.1);
  color: #87C332;
}

.autocomplete-suggestion.selected {
  background: #87C332;
  color: white;
}

.autocomplete-suggestion .suggestion-main {
  font-weight: 600;
  display: block;
  margin-bottom: 2px;
}

.autocomplete-suggestion .suggestion-sub {
  font-size: 12px;
  color: #666;
  display: block;
}

.autocomplete-suggestion:hover .suggestion-sub {
  color: rgba(255, 255, 255, 0.8);
}

.autocomplete-suggestion.selected .suggestion-sub {
  color: rgba(255, 255, 255, 0.8);
}

/* Form Layout Improvements */
.form-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  background: #FFFFFF;
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Input Field Alignment */
.from-to, .small-input {
  position: relative;
  display: flex;
  flex-direction: column;
}

.from-to input, .small-input input, .small-input select {
  width: 100%;
  height: 50px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 12px 15px;
  font-size: 14px;
  background: white;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
}

/* Form Field Spacing */
.form-container > * {
  margin: 0;
  flex-shrink: 0;
}

/* Responsive Grid Layout */
@media (min-width: 1200px) {
  .form-container {
    display: grid;
    grid-template-columns: 2fr 50px 2fr 1fr 1fr 1fr;
    gap: 15px;
    align-items: center;
  }
  
  .search-btn {
    grid-column: span 1;
  }
}

@media (max-width: 1199px) and (min-width: 768px) {
  .form-container {
    display: grid;
    grid-template-columns: 1fr 50px 1fr;
    gap: 15px;
    align-items: center;
  }
  
  .small-input, .search-btn {
    grid-column: span 1;
  }
  
  .form-container > *:nth-child(n+4) {
    grid-column: span 1;
  }
}

/* Mobile Layout */
@media (max-width: 767px) {
  .form-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
  }
  
  .from-to, .small-input, .search-btn {
    width: 100%;
  }
  
  .swap-wrap {
    order: 3;
    align-self: center;
    margin: 5px 0;
  }
}

/* Input Icons (if any) */
.input-icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #87C332;
  z-index: 2;
}

.input-with-icon {
  padding-left: 45px;
}

/* Form Validation Styles */
.form-container .is-invalid {
  border-color: #dc3545;
  animation: shake 0.5s ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

/* Loading Animation */
.search-btn .btn.loading {
  position: relative;
  color: transparent;
}

.search-btn .btn.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border: 2px solid transparent;
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* ========================================= */
/*           Index page Styles             */
/* ========================================= */



:root { --bs-green1: #75ba75; }
.text-green1 { color: var(--bs-green1) !important; }
/* ---- Booking Container Card ---- */
.banner-1 .overlay { pointer-events: none; }
.booking-container {
  max-width: 1200px;
  margin: 36px auto;
  background: #fff;
  padding: 24px;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(2, 6, 23, 0.06);
}

/* ---- Pills (One-Way | Round Trip | Airport | Hourly) ---- */
.custom-nav {
  background: #fff;
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 10px 20px rgba(2, 6, 23, 0.08);
  gap: 6px;
}
.nav-pills .nav-link {
  color: #334155; /* slate-700 */
  background: transparent;
  border-radius: 10px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.nav-pills .nav-link:hover {
  background: #69A316; /* green1 */
  color: #fff !important;
}
.nav-pills .nav-link:active,
.nav-pills .nav-link:focus {
  color: #fff !important;
}
/* Ensure icon/label with .text-green1 become white on hover and active */
.booking-container .nav-pills .nav-link:hover .text-green1,
.booking-container .nav-pills .nav-link.active .text-green1 { color: #fff !important; }

/* Force inner i, span, and svg to white on hover/active/focus */
.booking-container .nav-pills .nav-link:hover i,
.booking-container .nav-pills .nav-link:hover span,
.booking-container .nav-pills .nav-link:hover svg,
.booking-container .nav-pills .nav-link:hover svg path {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}
.booking-container .nav-pills .nav-link.active i,
.booking-container .nav-pills .nav-link.active span,
.booking-container .nav-pills .nav-link.active svg,
.booking-container .nav-pills .nav-link.active svg path,
.booking-container .nav-pills .nav-link:active i,
.booking-container .nav-pills .nav-link:active span,
.booking-container .nav-pills .nav-link:active svg,
.booking-container .nav-pills .nav-link:active svg path,
.booking-container .nav-pills .nav-link:focus i,
.booking-container .nav-pills .nav-link:focus span,
.booking-container .nav-pills .nav-link:focus svg,
.booking-container .nav-pills .nav-link:focus svg path {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* Also apply globally to any nav-pills (in case of different container) */
.nav-pills .nav-link.active i,
.nav-pills .nav-link.active span,
.nav-pills .nav-link.active svg,
.nav-pills .nav-link.active svg path,
.nav-pills .nav-link:active i,
.nav-pills .nav-link:active span,
.nav-pills .nav-link:active svg,
.nav-pills .nav-link:active svg path,
.nav-pills .nav-link:focus i,
.nav-pills .nav-link:focus span,
.nav-pills .nav-link:focus svg,
.nav-pills .nav-link:focus svg path {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}
.nav-pills .nav-link.active {
  background-color: #69A316 !important; /* blue-500 */
  color: #fff !important;
  box-shadow: 0 6px 10px rgba(59, 130, 246, 0.25);
}

/* ---- Form Layout (single row, no wrap, widths adapt per mode) ---- */
.form-container {
  display: flex;
  flex-wrap: nowrap; /* default, overridden by breakpoints below */
  gap: 8px 8px;
  align-items: stretch;  /* equal heights */
  width: 100%;
  /* default widths (kept for reference, but proportional flex below governs) */
  --w-from-to: 26%;
  --w-small: 12%;
  --w-button: 16%;
}
.form-container > div { flex: 1 1 0; min-width: 0; }

/* Common input & select styles */
.custom-input, .form-control, .form-select {
  border: 2px solid #69A316 !important;
  border-radius: 10px !important;
  height: 44px;
  width: 100%;
  box-sizing: border-box;
  color: #69A316; /* green1 for all input values */
}

/* Fixed-basis per field for consistent single-line alignment */
.from-to { flex: 2 1 0; }

/* Smaller width for Date/Time/Search */
.small-input { flex: 1 1 0; }
/* Visually lighter small fields */
.small-input .form-control,
.small-input .form-select { font-size: 0.95rem; padding-inline: 10px; }
.search-btn { flex: 1.2 1 0; }
.search-btn .btn { display: flex; align-items: center; justify-content: center; line-height: 1; padding-inline: 12px; height: 44px; box-sizing: border-box; }
.swap-wrap { display: flex; justify-content: center; align-items: center; flex: 0 0 40px; width: 40px; }
/* Hide swap button on all devices */
.swap-wrap { display: none !important; }

/* Per-mode sizing to avoid scrolling while keeping single line */
/* oneWay: from, swap, to, pickupDate, pickupTime, submit */
.form-container.mode-oneWay {
  --w-from-to: 24%;
  --w-small: 11%;
  --w-button: 14%;
}
/* roundTrip: from, swap, to, pickupDate, pickupTime, returnDate, returnTime, submit */
.form-container.mode-roundTrip {
  --w-from-to: 18%;
  --w-small: 9%;
  --w-button: 10%;
  gap: 4px 4px; /* tighter spacing for better fit */
}
/* Two Way specific width tuning */
.form-container.mode-roundTrip .swap-wrap { flex: 0 0 40px; width: 40px; }
/* Target ~70% width for From+To, ~30% for small fields + button */
.form-container.mode-roundTrip .from-to { flex: 1.6 1 0; }
.form-container.mode-roundTrip .small-input { flex: 1.15 1 0; }
.form-container.mode-roundTrip .search-btn { flex: 1.15 1 0; }
.form-container.mode-roundTrip .small-input { min-width: 120px; }
.form-container.mode-roundTrip .search-btn { min-width: 120px; }
/* airport: direction, from, swap, to, pickupDate, pickupTime, submit */
.form-container.mode-airport {
  --w-from-to: 22%;
  --w-small: 10%;
  --w-button: 13%;
}
/* hourly: from, pickupDate, pickupTime, hours, submit */
.form-container.mode-hourly {
  --w-from-to: 28%;
  --w-small: 12%;
  --w-button: 18%;
}

/* Swap button custom style */
#swapBtn {
  width: 44px;
  height: 44px;
  padding: 0;
  font-size: 18px;
  background-color: #fff; /* white */
  color: #000;            /* black icon */
  border: 2px solid #69A316 !important;
  box-shadow: 0 4px 10px rgba(2, 6, 23, 0.12); /* shadow */
}

/* Desktop: row without wrap */
@media (min-width: 992px) {
  .form-container { flex-direction: row; flex-wrap: nowrap; gap: 12px 12px; }
}

/* Tablet (>=768px and <=991.98px): row with wrap */
@media (min-width: 768px) and (max-width: 991.98px) {
  .form-container { flex-direction: row; flex-wrap: wrap; }
  .form-container.mode-roundTrip {
    --w-from-to: 17%;
    --w-small: 9%;
    --w-button: 9%;
    gap: 6px 6px;
  }
}

/* Mobile (<768px): column direction */
@media (max-width: 767px) {
  .booking-container { padding: 16px; }
  .form-container { flex-direction: column; flex-wrap: nowrap; --w-from-to: 22%; --w-small: 12%; --w-button: 16%; position: relative; }
  .form-container > div { flex: 0 0 100%; width: 100%; }
  .form-container .search-btn .btn { width: 100%; }
  /* Round trip tighter on mobile to avoid overflow */
  .form-container.mode-roundTrip { --w-from-to: 16%; --w-small: 8%; --w-button: 9%; gap: 4px 4px; }
  /* Float swap button between the first two fields (From/To) */
  .swap-wrap {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: auto; /* positioned precisely by JS */
    width: 44px; height: 44px;
    z-index: 3;
    align-self: auto;
    visibility: hidden; /* hide on mobile */
    pointer-events: none; /* non-interactive when hidden */
  }
  .swap-wrap .swap-btn,
  .swap-wrap button {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #69A316;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(2,6,23,0.15);
  }
}

/* Button color */
.btn-success {
  background-color: #69A316 !important;
  border-color: #69A316 !important;
  /* height: 44px; */
  font-weight: 600;
}
.btn-success:hover {
  background-color: #69A316 !important;
  border-color: #69A316 !important;
}
/* Keep green1 for icons/text inside active pills within booking container */
.booking-container .nav-pills .nav-link.active .text-green1 { color: var(--bs-green1) !important; }

/* ---- Placeholder alignment helpers ---- */
/* All placeholders green1 */
.form-control::placeholder { color: #69A316; opacity: 1; }
/* Center input placeholder horizontally when empty */
input.placeholder-center::placeholder { text-align: center; }
input.placeholder-center { text-align: left; }
input.placeholder-center:placeholder-shown { text-align: center; }

/* Center text in selects and placeholder state */
select.placeholder-center { 
  color: #69A316; 
  text-align: center; 
  text-align-last: center;           /* Chrome/Edge */
  -moz-text-align-last: center;      /* Firefox */
  -webkit-text-align-last: center;   /* Safari (partial) */
  line-height: normal;               /* ensure text renders correctly */
}
/* Center the selected text only when showing placeholder in selects */
select.placeholder-center.is-empty {
  text-align-last: center;           /* Chrome/Edge */
  -moz-text-align-last: center;      /* Firefox */
  -webkit-text-align-last: center;   /* Safari (partial) */
  color: #69A316; /* green1 for placeholder */
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 18px 18px;
  padding-left: 40px; /* make room for icon */
  /* Location pin icon (green1) to match From/To inputs */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2369A316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
/* Disabled placeholder option in dropdown list */
select.placeholder-center option[disabled] { color: #69A316; }

/* ---- Icons for date/time inputs ---- */
input[data-type="date"],
input[data-type="time"] {
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 18px 18px;
  padding-left: 40px; /* default */
}
/* Make icons and padding slightly smaller inside small-inputs to free space */
.small-input input[data-type="date"],
.small-input input[data-type="time"] {
  background-size: 16px 16px;
  padding-left: 34px;
}
/* Calendar icon (green1) */
input[data-type="date"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2369A316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}
/* Clock icon (green1) */
input[data-type="time"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2369A316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
/* Green placeholders for date/time */
input[data-type="date"]::placeholder,
input[data-type="time"]::placeholder { color: #69A316; opacity: 1; }

/* ---- Icons for From/To text inputs ---- */
.from-to input.form-control {
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 18px 18px;
  padding-left: 40px; /* make room for icon */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2369A316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.from-to input::placeholder { color: #69A316; opacity: 1; }



/* ========================================= */
/*           Estimation page Styles             */
/* ========================================= */

     /* ✅ Your styles unchanged */
     .estimation-container {
      background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
      min-height: 100vh;
      padding: 40px 0;
  }

  .trip-summary {
      background: white;
      border-radius: 15px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
      padding: 30px;
      margin-bottom: 30px;
  }

  .trip-details {
      display: grid;
      grid-template-columns: repeat(3, minmax(200px, 1fr));
      gap: 20px;
      margin-bottom: 20px;
  }

  .trip-item {
      text-align: center;
      padding: 15px;
      background: #f8f9fa;
      border-radius: 10px;
      border-left: 4px solid #28a745;
  }

  .trip-item i {
      color: #28a745;
      font-size: 24px;
      margin-bottom: 10px;
  }

  .vehicle-card {
      background: white;
      border-radius: 15px;
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
      overflow: hidden;
      transition: all 0.3s ease;
      margin-bottom: 25px;
      border: 2px solid transparent;
  }

  .vehicle-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
      border-color: #28a745;
  }

  .vehicle-image {
      height: 200px;
      background-size: cover;
      background-position: center;
      position: relative;
  }

  .vehicle-badge {
      position: absolute;
      top: 15px;
      right: 15px;
      background: #28a745;
      color: white;
      padding: 5px 15px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 600;
  }

  .vehicle-details {
      padding: 25px;
  }

  .vehicle-title {
      font-size: 24px;
      font-weight: 700;
      color: #2c3e50;
      margin-bottom: 15px;
  }

  .vehicle-specs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 15px;
      margin-bottom: 20px;
  }

  .spec-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 14px;
      color: #6c757d;
  }

  .spec-item i {
      color: #28a745;
      width: 16px;
  }

  .price-section {
      background: #f8f9fa;
      padding: 20px;
      border-radius: 10px;
      margin-bottom: 20px;
  }

  .price-amount {
      font-size: 32px;
      font-weight: 800;
      color: #28a745;
      margin-bottom: 5px;
  }

  .price-label {
      font-size: 14px;
      color: #6c757d;
      text-transform: uppercase;
      letter-spacing: 1px;
  }

  .exclusions {
      font-size: 12px;
      color: #dc3545;
      margin-bottom: 20px;
      font-style: italic;
  }

  .book-btn {
      width: 100%;
      background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
      border: none;
      color: white;
      padding: 15px 30px;
      border-radius: 10px;
      font-weight: 600;
      font-size: 16px;
      transition: all 0.3s ease;
      text-transform: uppercase;
      letter-spacing: 1px;
  }

  .book-btn:hover {
      background: linear-gradient(135deg, #218838 0%, #1ea085 100%);
      transform: translateY(-2px);
      box-shadow: 0 5px 15px rgba(40, 167, 69, 0.3);
  }

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

  .section-title h2 {
      color: #2c3e50;
      font-weight: 700;
      margin-bottom: 10px;
  }

  .section-title p {
      color: #6c757d;
      font-size: 18px;
  }

  .booking-id {
      background: #e9ecef;
      padding: 10px 20px;
      border-radius: 25px;
      display: inline-block;
      font-weight: 600;
      color: #495057;
      margin-bottom: 20px;
  }

  @media (max-width: 768px) {
      .vehicle-specs {
          grid-template-columns: 1fr;
      }

      .trip-details {
          grid-template-columns: 1fr;
      }

      .vehicle-title {
          font-size: 20px;
      }

      .price-amount {
          font-size: 28px;
      }
  }