/*--------------------------------------------------------------
# General Styling
--------------------------------------------------------------*/
@keyframes fadeIn {
  /* Initial state: fully transparent */
  from {
    opacity: 0;
  }
  /* Final state: fully opaque */
  to {
    opacity: 1;
  }
}

body {
  color: #000;
  background-color: #fff;
  font-family: Roboto;
  
  overflow-x: hidden;
  width: 100%;
  position: relative;  
  
  /* Apply the animation to the body or a main content wrapper */
  animation-name: fadeIn;
  animation-duration: .7s; /* The length of the animation */
  animation-timing-function: ease-in-out; /* The speed curve */
  animation-fill-mode: forwards; /* Ensures the final state (opacity: 1) is maintained after the animation finishes */

}

a {
  color: #000;
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: var(--main-color);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --color: #000;
  font-family: "Bebas Neue";
}

/* Smooth scroll */
:root {
  scroll-behavior: smooth;
}

html {
  scroll-behavior: smooth;
}

/* Custom CSS file (loaded after bootstrap.css) */
@media (min-width: 1200px) {
  .container {
    --max-width: 1600px; /* Set your desired max-width for large screens */
  }
}

/* Container Radius */
:root { 
  --container-radius: .3rem; /* Default 1rem */
}

/* Button Radius */
:root { 
  --button-radius: .3rem; /* Default 2rem */
}

/*--------------------------------------------------------------
# Global Page Titles & Breadcrumbs
--------------------------------------------------------------*/
.page-title {
  color: #000;
  background-color: var(--light-grey);
  padding: 25px 0;
  position: relative;
}

.page-title h1 {
  font-size: 24px;
  font-weight: 700;
}

.page-title .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
}

.page-title .breadcrumbs ol li+li {
  padding-left: 10px;
}

.page-title .breadcrumbs ol li+li::before {
  content: "/";
  display: inline-block;
  padding-right: 10px;
  color: color-mix(in srgb, #000, transparent 70%);
}

/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section,
.section {
  color: #000;
  background-color: var(--background-color);
  padding: 100px 0;
  scroll-margin-top: 82px;
  overflow: clip;
  overflow: hidden;
}

@media (max-width: 1199px) {

  section,
  .section {
    scroll-margin-top: 63px;
  }
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title {
  text-align: center;
  padding-bottom: 0px;
  position: relative;
}

.section-title h2 {
  font-size: 6rem;
  font-weight: 400;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
  line-height: .8;
}
@media (max-width: 992px) {
  .section-title h2 {
    font-size: 5rem;
  }	  
}
@media (max-width: 768px) {
  .section-title h2 {
    font-size: 4rem;
  }	  
}

.section-title h2:after {
  content: "";
  position: absolute;
  display: none; /*change to block to show line border*/
  width: 50px;
  height: 3px;
  background: var(--main-color);
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.section-title p {
  margin-bottom: 0;
}

.blue-title {color: var(--main-color);}
.black-title {color: #000;}
.white-title {color: #fff;}

/*--------------------------------------------------------------
# General Animation
--------------------------------------------------------------*/
@keyframes fadeInUp {
  from {opacity: 0; transform: translate3d(0, 100%, 0);}
  to {opacity: 1; transform: translate3d(0, 0, 0);}
}

@keyframes fadeInDown {
  from {opacity: 0; transform: translate3d(0, -100%, 0);}
  to {opacity: 1; transform: translate3d(0, 0, 0);}
}

@keyframes fadeInRight {
  0% {opacity: 0; transform: translateX(40px);}
  100% {opacity: 1; transform: translateX(0);}
}

@keyframes fadeInLeft {
    0% {opacity: 0; transform: translateX(-40px);}
    100% {opacity: 1; transform: translateX(0);}
}

@media (min-width: 1200px) {
  .fadeInDown-animation {
    animation-name: fadeInDown;
    animation-duration: 1s; /* The animation takes 1 second to complete */
    animation-timing-function: ease-out; /* Controls the speed curve */
    animation-fill-mode: both; /* Ensures the final state persists after the animation ends */
  }
}

.fadeInRight-animation {
  animation-name: fadeInRight;
  animation-duration: 1.5s; /* The animation takes 1 second to complete */
  animation-timing-function: ease-out; /* Controls the speed curve */
  animation-fill-mode: both; /* Ensures the final state persists after the animation ends */
}

.fadeInLeft-animation {
  animation-name: fadeInLeft;
  animation-duration: 1.0s; /* The animation takes 1 second to complete */
  animation-timing-function: ease-out; /* Controls the speed curve */
  animation-fill-mode: both; /* Ensures the final state persists after the animation ends */
}

.fadeInUp-animation {
  animation-name: fadeInUp;
  animation-duration: 1.0s; /* The animation takes 1 second to complete */
  animation-timing-function: ease-out; /* Controls the speed curve */
  animation-fill-mode: both; /* Ensures the final state persists after the animation ends */
}

/*--------------------------------------------------------------
# Fonts & Colors
--------------------------------------------------------------*/
.bebas-kandi {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.roboto-kandi {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

/* Main Colors*/
:root { 
  --main-color: #01a2e0; /* Kandi Blue */
  --light-grey: #efefef; /* Light Grey */
  --medium-grey: #b3b3b3; /* Medium Grey */
  --dark-overlay: #222435; /* Dark Blue Overlay */
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
.blue-btn {
  background: var(--main-color);
  color: #fff;
  border: none;
  border-radius: var(--button-radius);
  padding: 10px 22px 8px 22px;
  font-size: 18px;
  font-family: "Bebas Neue";
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.3;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.blue-btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #000;
  transition: width 0.3s ease;
  z-index: -1;
  border-radius: var(--button-radius);
}

.blue-btn:hover {
  --box-shadow: 0 8px 25px color-mix(in srgb, var(--accent-color), transparent 80%);
  color: #fff;
}

.blue-btn:hover:before {
  width: 100%;
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: -15px;
  z-index: 99999;
  background-color: var(--main-color);
  width: 44px;
  height: 44px;
  border-radius: var(--button-radius);
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.scroll-top:hover {
  background-color: #000;
  color: #FFF;
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: #fff;
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: var(--main-color) transparent var(--main-color) transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1.5s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

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

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Top Bar
--------------------------------------------------------------*/
/* Top Bar Styles */
.top-bar {
    background-color: #000;
    color: white;
    width: 100%;
    padding: 10px 0;
    font-size: 14px;
    top: 0;
    left: 0;
    z-index: 1000;
    height: 40px;
}

.top-bar-content {
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.top-bar-links a {
    color: white;
    text-decoration: none;
    margin-left: 15px;
}

.top-bar-links a:hover {
    text-decoration: none;
    color: var(--main-color);
}




/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {
  color: #000;
  background-color: #fff;
  padding: 15px 0;
  transition: all 0.5s;
  z-index: 1000;
}

.header .logo img {
  max-height: 36px;
  margin-right: 8px;
  transition: transform 0.3s;
  --animation: fadeInLeft 1.5s both;
}

.header .logo img:hover{
  transform: scale(1.1);
}

.header .blue-btn {
  margin: 0 0 0 30px;
}

@media (max-width: 1200px) {
  .header .logo {
    order: 1;
  }

  .header .blue-btn {
    order: 2;
    margin: 0 15px 0 0;
  }

  .header .navmenu {
    order: 3;
  }
}

/* Header on Scroll
------------------------------*/
.scrolled .header {
  --background-color: rgba(244, 239, 237, 0.95);
  box-shadow: 0px 0 18px rgba(0, 0, 0, 0.1);
}

/*--------------------------------------------------------------
# Sticky Action Bar
--------------------------------------------------------------*/
.sticky-bar {
  position: fixed;
  bottom: -100px; /* Hidden by default */
  left: 0;
  width: 100%;
  background: var(--light-grey);
  backdrop-filter: blur(10px);
  color: white;
  z-index: 998; /* Just below the main header z-index */
  padding: 13px 0;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-top: 1px solid #fff;
}

.sticky-bar .bar-content {
  display: flex;
  align-items: center;
  justify-content: space-between;  
  width: 90%; 
}	

@media (max-width: 868px) {
  .sticky-bar .bar-content {
	--width: 75%;
  }	
}	

/* The "Active" state when visible */
.sticky-bar.visible {
  bottom: 0;
}

/* The "Shrunk" state for high-density scrolling */
.sticky-bar.shrunk {
  padding: 10px 0;
  background: var(--light-grey);
}

.bar-vehicle-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.5rem;
  letter-spacing: 1px;
  display: block;
  line-height: 1;
  color: var(--main-color);
}

.sticky-bar.shrunk .bar-vehicle-name {
  font-size: 1.1rem;
}

.bar-price {
  font-weight: 700;
  color: #000;
}

.btn-primary-blue {
  background: var(--main-color);
  color: white;
  padding: 10px 28px;
  font-weight: 400;
  text-decoration: none;
  border-radius: var(--button-radius);
  transition: 0.3s;
  font-family: "Bebas Neue", sans-serif;
  line-height: 1.3; 
  letter-spacing: 1px;
}

.sticky-bar .btn-mobile {
  display: none;	
  padding: 11px 15px;
}
	
@media (max-width: 868px) {
  .sticky-bar .btn-desktop {
    display: none;
  }	
  .sticky-bar .btn-mobile {
    display: block;
	margin-right: 30px;
  }	  
}	

.btn-primary-blue:hover {
  background: #000;
  color: #fff;
}



/*--------------------------------------------------------------
# Desktop Navigation
--------------------------------------------------------------*/
@media (min-width: 1200px) {
  .navmenu {
    padding: 0;
  }

  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navmenu li {
    position: relative;
  }

  .navmenu>ul>li {
    white-space: nowrap;
    padding: 15px 14px;
  }

  .navmenu>ul>li:last-child {
    padding-right: 0;
  }

  .navmenu a,
  .navmenu a:focus {
    color: #000;
    font-size: 20px;
    padding: 0 2px;
    font-family: "Bebas Neue";
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
    position: relative;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 14px;
    -webkit-text-stroke: 1px;
    line-height: 0;
    margin-left: 5px;
    transition: 0.3s;
    display: none;
  }

  .navmenu>ul>li>a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -6px;
    left: 0;
    background-color: var(--main-color);
    visibility: hidden;
    width: 0px;
    transition: all 0.3s ease-in-out 0s;
  }

  .navmenu a:hover:before,
  .navmenu li:hover>a:before,
  .navmenu .active:before {
    visibility: visible;
    width: 100%;
  }

  .navmenu li:hover>a,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--main-color);
  }

  .navmenu .dropdown ul {
    margin: 0;
    padding: 10px 0;
    background: #fff;
    display: block;
    position: absolute;
    visibility: hidden;
    left: 14px;
    top: 100%;
    opacity: 0;
    transition: 0.3s;
    border-radius: 4px;
    z-index: 99;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu .dropdown ul::before {
    content: "";
    position: absolute;
    top: -20px; /* Adjust this to match your gap size */
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
  }


  

  .navmenu .dropdown ul li {
    min-width: 200px;
  }

  .navmenu .dropdown ul a {
    padding: 10px 20px;
    font-size: 16px;
    font-family: "Roboto";
    font-weight: 500;
    text-transform: none;
    color: #000;
  }

  .navmenu .dropdown ul a i {
    font-size: 18px;
  }

  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul .active:hover,
  .navmenu .dropdown ul li:hover>a {
    color: var(--main-color);
  }

  .navmenu .dropdown:hover>ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .dropdown .dropdown ul {
    top: 0;
    left: -117%;
    visibility: hidden;
  }

  .navmenu .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: -117%;
    visibility: visible;
  }
}

/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/
@media (min-width: 1199px) {
  .mobile-only { display: none;}
  }

@media (max-width: 1199px) {
  .mobile-nav-toggle {
    color: #000;
    font-size: 28px;
    line-height: 0;
    margin-right: 10px;
    cursor: pointer;
    transition: color 0.3s;
  }

  .mobile-nav-toggle:hover {
    color: var(--main-color);
  }

  .navmenu {
    padding: 0;
    z-index: 9997;
  }

  .navmenu ul {
    display: none;
    list-style: none;
    position: absolute;
    inset: 60px 20px 20px 20px;
    padding: 30px 0;
    margin: 0;
    border-radius: 6px;
    background-color: #fff;
    border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    box-shadow: none;
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;

  }

  .navmenu a,
  .navmenu a:focus {
    color: #000;
    padding: 10px 20px;
    font-family: "Bebas Neue";
    font-size: 22px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 18px;
    -webkit-text-stroke: 1px;
    line-height: 0;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.3s;
    background-color: #fff;
    color: #000;
  }

  .navmenu a i:hover,
  .navmenu a:focus i:hover {
    background-color: #fff;
    color: var(--main-color);
  }

  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--main-color);
  }

.navmenu li.active > a i {
  transform: rotate(180deg);
}

  .navmenu li.active > a {
    color: var(--main-color); 
  }

  .navmenu li.active > a i {
    color: var(--main-color); 
  }

.navmenu .dropdown ul li a {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.navmenu .dropdown ul {
  position: static;
  display: block;
  max-height: 0;
  overflow: hidden;
  margin: 0 20px;
  padding: 0;
  background-color: var(--light-grey);
  opacity: 0;
  transition:
    max-height 0.7s ease,
    opacity 0.3s ease;
}

.navmenu .dropdown ul.dropdown-active {
  max-height: 900px;
  opacity: 1;
  margin: 8px 20px;
  padding: 4px 0;
}

  .navmenu .dropdown-title {
    color: var(--main-color);
    padding: 10px 20px;
    font-family: "Roboto";
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
    text-transform: uppercase;
    border-bottom: 1px solid var(--medium-grey);
  }

  .navmenu .dropdown ul ul {
    background-color: rgba(33, 37, 41, 0.1);
  }



  .mobile-nav-active {
    overflow: hidden;
  }

  .mobile-nav-active .mobile-nav-toggle {
    color: #fff;
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-nav-active .mobile-nav-toggle:hover {
    color: var(--main-color);
  }

  .mobile-nav-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: rgba(33, 37, 41, 0.8);
    transition: 0.3s;
  }

  .mobile-nav-active .navmenu>ul {
    display: block;
  }

}


/*--------------------------------------------------------------
# Mega Menu Vehicles
--------------------------------------------------------------*/
@media (max-width: 1199px) {
  .desktop-only { display: none;}
  }

@media (min-width: 1200px) {
  .navmenu .megamenu-vehicles {
    position: static;
    /*  Hide Desktop Mega Menu 1 in Desktop */
    /* Bootstrap Tabs Navigation */
    /* Tab Content */
  }

  .navmenu .megamenu-vehicles .desktop-megamenu::before {
    content: "";
    position: absolute;
    top: -30px;    /* Matches the 30% offset (130% - 100%) */
    left: 0;
    right: 0;
    height: 30px;  /* Covers the gap */
    background: transparent;
    z-index: -1;   /* Keeps it behind the menu content but still clickable */
  }
  
  .navmenu .megamenu-vehicles .mobile-megamenu {
    display: none;
  }

  .navmenu .megamenu-vehicles .desktop-megamenu,
  .navmenu .megamenu-vehicles .active,
  .navmenu .megamenu-vehicles .active:focus {
    background-color: #FFF;
  }

  .navmenu .megamenu-vehicles .desktop-megamenu {
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
    border-radius: 6px;
    z-index: 99;
    padding: 20px;
    display: flex;
    flex-direction: column;
    max-height: 80vh;
    overflow: hidden;
  }

  .navmenu .megamenu-vehicles:hover>.desktop-megamenu {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .megamenu-vehicles .megamenu-tabs {
    margin-bottom: 15px;
  }

  .navmenu .megamenu-vehicles .megamenu-tabs .nav-tabs {
    border-bottom: 1px solid var(--medium-grey);
  }

  .navmenu .megamenu-vehicles .megamenu-tabs .nav-tabs .nav-item {
    margin-bottom: 0;
  }

  .navmenu .megamenu-vehicles .megamenu-tabs .nav-tabs .nav-link {
    border: none;
    padding: 10px 20px;
    color: #000;
    font-weight: 500;
    font-size: 20px;
    transition: 0.3s;
    font-family: "Bebas Neue";
    background-color: transparent;
    border-bottom: 2px solid transparent;
  }

  .navmenu .megamenu-vehicles .megamenu-tabs .nav-tabs .nav-link:hover {
    color: var(--main-color);
    border-color: transparent;
  }

  .navmenu .megamenu-vehicles .megamenu-tabs .nav-tabs .nav-link.active {
    color: var(--main-color);
    background-color: transparent;
    border-bottom: 2px solid var(--main-color);
  }

  .navmenu .megamenu-vehicles .megamenu-content {
    flex: 1;
    overflow-y: auto;
    padding-right: 5px;
    /* Hide scrollbar for Chrome, Safari and Opera */
    /* Category Grid */
    /* Product Grid */
  }

  .navmenu .megamenu-vehicles .megamenu-content::-webkit-scrollbar {
    width: 5px;
  }

  .navmenu .megamenu-vehicles .megamenu-content::-webkit-scrollbar-track {
    background: #FFF;
    border-radius: var(--button-radius);
  }

  .navmenu .megamenu-vehicles .megamenu-content::-webkit-scrollbar-thumb {
    background: #FFF;
    border-radius: var(--button-radius);
  }

  .navmenu .megamenu-vehicles .megamenu-content .tab-content {
    display: none;
  }

  .navmenu .megamenu-vehicles .megamenu-content .tab-content.active {
    display: block;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column {
    background-color: #FFF;
    border-radius: var(--button-radius);
    padding: 15px;
    transition: 0.3s;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column h4 {
    color: #000;
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: 600;
    padding-bottom: 10px;
    border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    position: relative;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column h4:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: #FFF;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul li {
    margin-bottom: 10px;
    background-color: none !important;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: start !important;
    width: 100%;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul li:last-child {
    margin-bottom: 0;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul li a {
    color: #000;
    font-size: 14px;
    transition: 0.3s;
    padding: 0 0 0 20px;
    display: block;
    position: relative;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul li a:before {
    content: "\f285";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 12px;
    color: #000;
    opacity: 0.7;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul li a:hover {
    color: #000;
    transform: translateX(3px);
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column ul li a:hover:before {
    opacity: 1;
  }

  .navmenu .megamenu-vehicles .megamenu-content .category-grid .category-column .active {
    background-color: none;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding-top: 10px;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card {
    background-color: #FFF;
    overflow: hidden;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card:hover .product-image img {
    transform: scale(1.1);
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-image {
    height: 220px;
    position: relative;
    overflow: hidden;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-image .badge-new,
  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-image .badge-sale {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 3px;
    z-index: 1;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-image .badge-new {
    background-color: #28a745;
    color: white;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-image .badge-sale {
    background-color: #dc3545;
    color: white;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-info {
    padding: 15px;
    text-align: center;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-info h5 {
    margin: 0 0 5px;
    font-size: 24px;
    font-weight: 400;
    font-family: "Bebas Neue";
    color: #000;
    text-transform: uppercase;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-info .description {
    color: #000;
    font-weight: 400;
    margin-bottom: 10px;
    font-size: 14px;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-info .price .original-price {
    text-decoration: line-through;
    color: #000;
    margin-right: 5px;
    font-weight: normal;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-info .btn-view {
    display: inline-block;
    padding: 5px 12px;
    background-color: var(--main-color);
    color: #fff;
    border-radius: var(--button-radius);
    font-size: 12px;
    font-weight: 500;
    font-family: "Roboto";
    transition: 0.3s;
    text-transform: uppercase;
  }

  .navmenu .megamenu-vehicles .megamenu-content .product-grid .product-card .product-info .btn-view:hover {
    background-color: #000;
    color: #fff;
  }
}

.navmenu .mobile-menu-btn { 
  display: none;
}

@media (max-width: 768px) {
  .navmenu .mobile-menu-btn {
    background: #000;
    color: #fff;
    border: none;
    border-radius: var(--button-radius);
    padding: 10px 20px 8px 20px;
    font-size: 20px;
    font-family: "Bebas Neue";
    font-weight: 400;
    letter-spacing: 0.2px;
    line-height: 1.3;
    transition: all 0.3s;
    margin: 20px;
    display: flex;
    margin-left: 16px;
    margin-right: 16px;
    width: calc(100% - 32px);
    justify-content: center;
  }

  .navmenu .mobile-menu-btn:hover {
    background: var(--main-color);
    color: #fff;
  }
}


@media (max-width: 1200px) {
  .navmenu .mobile-menu-btn {
    background: #000;
    color: #fff;
    border: none;
    border-radius: var(--button-radius);
    padding: 10px 20px 8px 20px;
    font-size: 20px;
    font-family: "Bebas Neue";
    font-weight: 400;
    letter-spacing: 0.2px;
    line-height: 1.3;
    transition: all 0.3s;
    margin: 20px;
    display: inline-flex;
  }

  .navmenu .mobile-menu-btn:hover {
    background: var(--main-color);
    color: #fff;
  }
}


/*============================================================
# Hero Section
==============================================================*/
/*--------------------------------------------------------------
# Keyframe Animations
--------------------------------------------------------------*/
@keyframes heroGrow {
  0% { transform: scale(1); }
  50% { transform: scale(1.03); }
  100% { transform: scale(1.05); }
}

@keyframes progressAnimation {
  0% { width: 0%; }
  100% { width: 100%; }
}


/*--------------------------------
# Hero Section - Layout & Carousel
----------------------------------*/
.hero {
  padding: 0;
  margin: 0;
  position: relative;
}

.hero .carousel {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
  /* Default Hero Height (Screen - TopBar/Nav) */
  height: calc(100vh - 90px); 
  min-height: 500px;   
}

/* Variant: Short Hero (for sub-pages) */
.short-hero .carousel {
  height: calc(100vh - 170px); 
  min-height: 500px;  
  max-height: 900px;  
}

/* Variant: Shorter Hero (for sub-pages) */
.shorter-hero .carousel {
  height: calc(100vh - 250px);  
  min-height: 500px;   
  max-height: 900px;
}

/*--------------------------------
# Hero Images & Overlay
----------------------------------*/
.hero .carousel-inner,
.hero .carousel-item {
  height: 100%;
}

.hero .carousel-item {
  --position: absolute;
  --inset: 0;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  z-index: 1;
}

@media (max-width: 768px) {
  .hero .carousel-item img.about-hero {
    /* This moves the actual <img> content to the right */
    object-position: 85% center; 
  }
}

/* Dark Overlay on top of image */
.hero:not(.vehicle-hero) .carousel-item:before {
  content: "";
  background: color-mix(in srgb, var(--dark-overlay), transparent 80%);
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Remove overlay for specific hero pages */
.hero.shorter-hero .carousel-item:before {
  --content: none;
}

/* Image Animation */
.hero .carousel-item img {
  --position: absolute;
  --inset: 0;
  height: 100%
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center center;
  animation: heroGrow 10s ease-in-out infinite alternate;
}

/* Remove animation for short and shorter heros */
.hero.short-hero .carousel-item img,
.hero.shorter-hero .carousel-item img {
  animation: none;
}

/*--------------------------------
# Hero Content (Text & Container)
----------------------------------*/
.hero .carousel-container {
  position: absolute;
  inset: 64px 64px 64px 64px; /* Padding from edges */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 3;
}

.hero h2 {
  margin-bottom: 0px;
  line-height: 0.8;
  font-size: 150px;
  font-weight: 400;
  font-family: "Bebas Neue", sans-serif;
  color: #fff;
  text-align: center;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
  animation: fadeInDown 1s both;
}

.hero p {
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  text-shadow: 3px 3px 8px rgba(0, 0, 0, 1);
  animation: fadeInDown 1s both 0.2s; /* Slight delay */
}

/*--------------------------------
# Hero Buttons
---------------------------------*/
.hero .button-group {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

/* Shared Button Styles */
.hero .explore-btn,
.hero .dealer-btn {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 1px;
  display: inline-flex;
  border-radius: var(--button-radius);
  transition: 0.5s;
  margin: 5px; /* Reduced margin since we use gap in button-group */
  color: #fff;
}

/* Primary Button (Explore) */
.hero .explore-btn {
  background: var(--main-color);
  padding: 10px 22px 8px 22px;
}

.hero .explore-btn:hover {
  background: #fff;
  color: #000;
  transform: translateY(-3px);
}

/* Outline/Secondary Button (Dealer) */
.hero .dealer-btn {
  background: rgba(0, 0, 0, 0.3);
  padding: 8px 22px;
  box-shadow: inset 0 0 0 2px white; /* Solid inner border */
}

.hero .dealer-btn:hover {
  background: #fff;
  color: #000;
  transform: translateY(-3px);
}

/*--------------------------------
# Carousel Controls (Arrows)
----------------------------------*/
.hero .carousel-control-prev,
.hero .carousel-control-next {
  width: 10%;
  transition: 0.3s;
  opacity: 0.5;
  z-index: 4;
}

.hero .carousel-control-prev:hover,
.hero .carousel-control-next:hover {
  opacity: 0.9;
}

.hero .carousel-control-prev:focus,
.hero .carousel-control-next:focus {
  opacity: 0.5;
}

.hero .carousel-control-next-icon,
.hero .carousel-control-prev-icon {
  font-size: 32px;
  line-height: 1;
}

/*--------------------------------
# Carousel Indicators (Progress Bars)
----------------------------------*/
.hero .carousel-indicators {
  bottom: 30px;
  z-index: 5;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

.hero .carousel-indicators li {
  width: 60px; /* Width of the indicator */
  height: 5px; /* Thickness */
  background-color: rgba(255, 255, 255, 0.3); /* Track color */
  border: none;
  border-radius: var(--button-radius);
  margin: 0 5px;
  position: relative;
  overflow: hidden;
  opacity: 1; /* Override Bootstrap opacity */
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.hero .carousel-indicators li:hover {
  background-color: var(--main-color);
}

/* The animated progress fill */
.hero .carousel-indicators li span {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #fff;
}

/* Animation trigger when active */
.hero .carousel-indicators li.active span {
  animation: progressAnimation 5s linear forwards;
}

/* Reset width when not active */
.hero .carousel-indicators li:not(.active) span {
  width: 0;
}

/* Clean up auto-generated Bootstrap indicators without spans */
.hero .carousel-indicators li:not(:has(span)) {
  display: none !important;
}

/*--------------------------------
# Responsive / Mobile Styles
----------------------------------*/

/* Large Screens */
@media (min-width: 1024px) {
  .hero h2,
  .hero p {
    max-width: 80%;
  }

  .hero .carousel-control-prev,
  .hero .carousel-control-next {
    width: 5%; /* Thinner click area on desktop */
  }
}

/* Laptop / Tablet Heights */
@media (max-width: 1200px) {
  .hero .carousel {
    height: calc(100vh - 66px);
  }
  .short-hero .carousel {
    height: calc(80vh - 66px);
  }
  .shorter-hero .carousel {
    --height: calc(70vh - 66px);
	height: calc(100vh - 240px);
  }  
}

/* Mobile */
@media (max-width: 768px) {
  .hero h2 {
    font-size: 6rem;
    padding-bottom: 10px;
  }
  
  .hero p {
    font-size: 18px;
  }
}


/*============================================================
# Page Title
==============================================================*/
.page-title {
  padding: 30px;	
}
	
.page-title.grey {
  background: var(--light-grey);
  color: #000
}	

.page-title.blue {
  background: var(--main-color);
  color: #fff  
}	

.page-title h2 {
  font-size: 3rem;
  text-align: center;
}	

/*============================================================
# Vehicles Section
==============================================================*/
.vehicles .product-card {
  position: relative;
  height: 100%;
  background-color: #fff;
  border-radius: var(--container-radius);
  /* Use 'card-inner' for the animation, keep wrapper stable */
}

.vehicles .product-card .card-inner {
  height: 100%;
  background-color: #fff;
  border-radius: var(--container-radius);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  will-change: transform;
  /* Default shadow */
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.0);
}

/* Lift Effect on Hover */
.vehicles .product-card:hover .card-inner {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0);
}

/*--------------------------------
# Vehicle Images (Swap on Hover)
---------------------------------*/
.vehicles .product-image {
  position: relative;
  padding-top: 75%; /* Aspect Ratio */
  overflow: hidden;
  background-color: #fff;
}

.vehicles .product-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.5s ease;
  pointer-events: none;
}

/* Default Image State */
.vehicles .product-image .default-image {
  opacity: 1;
  transition: opacity 0.5s ease;
}

/* Hover Image State */
.vehicles .product-image .hover-image {
  opacity: 0;
  transition: opacity 0.5s ease;
}

/* Swap Logic */
.vehicles .product-card:hover .default-image {
  opacity: 0;
}

.vehicles .product-card:hover .hover-image {
  opacity: 1;
}

/*--------------------------------
# Product Info & Typography
----------------------------------*/
.vehicles .product-info {
  padding: 0 30px;
  background: #fff;
  text-align: center;
}

.vehicles .product-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: 36px;
  font-weight: 400;
  margin-bottom: 0;
  
  /* Text Truncation (2 lines max) */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vehicles .product-title a {
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
}

.vehicles .product-title a:hover {
  color: var(--main-color);
}

.vehicles .product-subtitle {
  color: var(--main-color);
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.vehicles .product-description {
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  color: #000; 
}

/*--------------------------------
# Buttons
----------------------------------*/
.vehicles .btn-explore {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 auto;
  overflow: hidden;
  
  /* Visuals */
  background: var(--main-color);
  color: #fff;
  border: none;
  border-radius: var(--button-radius);
  padding: 10px 22px 8px 22px;
  
  /* Typography */
  font-size: 18px;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.3;
  
  transition: all 0.3s ease;
}

/* Swipe Fill Animation Effect */
.vehicles .btn-explore:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0; /* Starts empty */
  height: 100%;
  
  /* Create a darker shade of the main color for hover */
  background: color-mix(in srgb, var(--main-color), black 100%);
  
  transition: width 0.3s ease;
  z-index: -1; /* Behind text */
  border-radius: var(--button-radius);
}

.vehicles .btn-explore:hover {
  color: #fff;
  /* Optional glow effect */
  box-shadow: 0 8px 25px color-mix(in srgb, var(--main-color), transparent 100%);
}

.vehicles .btn-explore:hover:before {
  width: 100%; /* Swipes across */
}

.vehicles .btn-explore i {
  font-size: 1rem;
}

/* Disabled State */
.vehicles .btn-explore.btn-disabled {
  background-color: #e9ecef;
  color: #6c757d;
  cursor: not-allowed;
  pointer-events: none;
}

.vehicles .btn-explore.btn-disabled:before {
  display: none; /* Disable hover effect */
}

/*--------------------------------
# Responsive / Mobile Styles
----------------------------------*/
@media (max-width: 768px) {
  .vehicles .product-card {
    max-width: 320px;
    margin: 0 auto 30px auto;
  }

  .vehicles .product-actions {
    opacity: 1;
    transform: translateX(0);
  }
}


/*=============================================================
# Dealer Network Section
===============================================================*/
.dealer-network {
  background-color: var(--light-grey);
  background-image: url("../img/kandi-bg-grey.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.dealer-network .dealer-wrapper {
  display: flex;
  align-items: center;
  gap: 3rem;
  background-color: #fff;
  border-radius: var(--container-radius);
  padding: 3rem;
  position: relative;
  overflow: visible;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/*--------------------------------
# Content Side
----------------------------------*/
.dealer-network .dealer-content {
  position: relative;
  z-index: 2;
  flex: 1;
  max-width: 400px;
}

.dealer-network .dealer-content h2 {
  font-size: 6rem;
  font-weight: 400;
  color: #000;
  margin-bottom: 0.8rem;
  line-height: 0.8;
}

.dealer-network .dealer-content h4 {
  font-size: 45px;
  font-weight: 400;
  color: #000;
  line-height: 0.8;
}

.dealer-network .dealer-content p {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  opacity: 0.9;
}

/*--------------------------------
# Image Side
----------------------------------*/
.dealer-network .dealer-image {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dealer-network .dealer-image img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.1));
  transition: transform 0.3s ease;
}

.dealer-network .dealer-image img:hover {
  transform: translateY(-5px);
}

  /* Floating Card */
.dealer-network .dealer-image .floating-card {
  position: absolute;
  bottom: 30%;
  right: -80px;
  background: #fff;
  padding: 1.5rem 3rem;
  border-radius: var(--button-radius);
  box-shadow: 0 15px 40px color-mix(in srgb, #000, transparent 85%);
  backdrop-filter: blur(10px);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  cursor: pointer;  
  max-width: 280px;
}

.dealer-network .dealer-image .floating-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}


.dealer-network .dealer-image .floating-card .metric {
  text-align: center;
}

.dealer-network .dealer-image .floating-card .metric .number {
  display: block;
  font-size: 4rem;
  font-weight: 400;
  color: var(--main-color);
  line-height: 0.8;
  font-family: "Bebas Neue";
}

.dealer-network .dealer-image .floating-card .metric .label {
  font-size: 0.875rem;
  color: #000;
  margin-top: 0.25rem;
  font-family: Roboto;
}

.dealer-network .dealer-image .floating-card .metric .label-details{
  font-size: 0.875rem;
  color: var(--main-color);
  margin-top: 0.25rem;
  font-family: Roboto;
  font-weight: 600;  
}

@media (max-width: 1400px) {
  .dealer-network .dealer-image .floating-card {
    bottom: -120px;
    right: 0%;
  }
}

@media (max-width: 1180px) {
  .dealer-network .dealer-image .floating-card {
    bottom: -160px;
    right: 0%;
  }
}

@media (max-width: 991px) {
  .dealer-network .dealer-image .floating-card {
    bottom: -120px;
    right: 0%;
  }
}

@media (max-width: 768px) {
  .dealer-network .dealer-image .floating-card {
    bottom: -120px;
    right: 0;
	width: 260px;
  }
  .dealer-network .dealer-image .floating-card .metric .number {  
    font-size: 3rem;
  }
}

/*--------------------------------
# Buttons
---------------------------------*/
.dealer-network .dealer-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.dealer-network .dealer-buttons .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.dealer-network .dealer-buttons .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/*--------------------------------
# Responsive / Mobile Styles
----------------------------------*/
@media (max-width: 992px) {
  .dealer-network .dealer-wrapper {
    flex-direction: column;
    padding: 2.5rem;
  }

  .dealer-network .dealer-content {
    text-align: center;
    max-width: 100%; /* Overrides desktop restriction to fill width */
  }

  .dealer-network .dealer-content h2 {
    font-size: 5rem;
  }

  .dealer-network .dealer-content h4 {
    font-size: 38px;
  }

  .dealer-network .dealer-content p {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px; /* Adds a reading limit only when centered */
  }

  .dealer-network .dealer-buttons {
    justify-content: center;
  }

  .dealer-network .dealer-image img {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .dealer-network .dealer-wrapper {
    padding: 2rem;
  }

  .dealer-network .dealer-content h2 {
    font-size: 4rem;
  }

  .dealer-network .dealer-content h4 {
    font-size: 32px;
  }

  .dealer-network .dealer-content p {
    font-size: 1rem;
  }

  /* Full width buttons on mobile */
  .dealer-network .dealer-buttons .btn-primary,
  .dealer-network .dealer-buttons .btn-outline {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

/*============================================================
# Scenario Selection
==============================================================*/
.scenario .section-title h2 {
  padding-bottom: 2rem;
}

/* Outer Container */
.scenario .hover-card {
  position: relative;
  height: 500px;
  overflow: visible; 
  z-index: 1;
}

/* Inner Wrapper: Safari Border-Radius Fix applied here */
.scenario .card-inner {
  position: absolute;
  inset: 0;
  overflow: hidden; 
  border-radius: var(--container-radius, 20px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  z-index: 1;
  /* Fixes Safari overflow:hidden glitch during transforms */
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* Base Pseudo-element for Images */
.scenario .card-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -2;
  /* Hardware acceleration for Safari */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Background Image Definitions */
.card-neighborhood::before { background-image: url('../img/scenario-neighborhood.webp'); }
.card-work::before { background-image: url('../img/scenario-work.webp'); }
.card-recreation::before { background-image: url('../img/scenario-recreation.webp'); }

/* Gradient Overlay */
.scenario .card-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    to top,
    rgba(34, 36, 53, 0.95) 0%,
    rgba(34, 36, 53, 0.4) 30%,
    transparent 100%
  );
  transition: background 0.4s ease;
}

/* Hover States */
.scenario .hover-card:hover .card-inner::before {
  transform: scale(1.1);
}

.scenario .hover-card:hover .card-inner::after {
  background: rgba(34, 36, 53, 0.75);
}

/* Card Text Content */
.scenario .card-content {
  position: relative;
  z-index: 2;
  text-align: left;
  color: #fff;
  margin-bottom: 0;
  transition: transform 0.8s ease;  
}

.scenario .card-content h3 {
  font-size: 3rem;
  line-height: 0.9;
  font-family: "Bebas Neue", sans-serif;
  margin-bottom: 0;
  text-align: center;
}

/* Description Reveal */
.scenario .hover-card-overlay {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transform: translateY(15px);
  transition: opacity 0.8s ease, transform 0.8s ease, max-height 0.8s ease;
  text-align: center;  
}

.scenario .hover-card:hover .card-content {
  transform: translateY(-50%); 
}

.scenario .hover-card:hover .hover-card-overlay {
  opacity: 1;
  visibility: visible;
  max-height: 150px;
  transform: translateY(0);
}

.scenario .hover-card-overlay p {
  font-size: 1.05rem;
  margin: 15px auto 0 auto;
  max-width: 280px;
  line-height: 1.4;
}

/* The Hanging Button */
.scenario .btn-explore {
  position: absolute;
  bottom: 0; 
  left: 50%;
  transform: translate(-50%, 50%); 
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--main-color, #ff0000);
  color: #fff;
  border: none;
  border-radius: var(--button-radius, 8px);
  padding: 8px 25px;
  font-size: 18px;
  font-family: "Bebas Neue";
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  white-space: nowrap;
  pointer-events: auto;
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.scenario .btn-explore::after {
  content: "";
  position: absolute;
  top: -15px;
  bottom: -30px;
  left: -15px;
  right: -15px;
  background: transparent;
  z-index: -1;
}

.scenario .hover-card:hover .btn-explore {
  background: #fff;
  color: #000;
  transform: translate(-50%, 42%);
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}

/* Responsive Styles */
@media (max-width: 1399px) {
  .scenario .hover-card { height: 450px; }
  .scenario h3 { font-size: 3rem; }
}

@media (max-width: 992px) {
  .scenario .hover-card {
    height: 380px;
    margin-bottom: 60px;
  }
}

@media (max-width: 768px) {
  .scenario .hover-card-overlay {
    opacity: 1;
    visibility: visible;
    max-height: 200px;
    transform: translateY(0);
    margin-bottom: 10px;
  }
  .scenario h3 { text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5); }
}

/*=============================================================
# Why Kandi Section
===============================================================*/
.why-kandi {
  background: var(--light-grey);
}

.why-kandi .cta-wrapper {
  display: flex;
  align-items: center;
  gap: 3rem;
  border-radius: var(--container-radius);
  padding: 60px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Background Layer (Parallax/Movement Support) */
.why-kandi .cta-bg {
  position: absolute;
  inset: -6%; /* Allows movement without revealing edges */
  z-index: 1;
  background:
    linear-gradient(
      to right,
      rgba(34,36,53, 0.75),
      rgba(34,36,53, 0)
    ),
    url("../img/why-kandi.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  
  /* Animation/Transition properties */
  transform: translate(0, 0);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

/*--------------------------------
# Content
---------------------------------*/
.why-kandi .cta-content {
  position: relative;
  z-index: 2;
  flex: 1;
  max-width: 500px;
}

.why-kandi .cta-content h2 {
  font-size: 6rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0.8rem;
  line-height: 0.8;
}

.why-kandi .cta-content p {
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: 1.2rem;
  max-width: 500px;
  opacity: 1;
}

/*--------------------------------
# Buttons
----------------------------------*/
.why-kandi .cta-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Primary Button */
.why-kandi .cta-buttons .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.why-kandi .cta-buttons .btn-primary:hover {
  background-color: #fff;
  color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Outline Button */
.why-kandi .cta-buttons .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  box-shadow: inset 0 0 0 2px white; /* solid inner 'border' */
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.why-kandi .cta-buttons .btn-outline:hover {
  background-color: #fff;
  color: #000;
  transform: translateY(-3px);
}

/*--------------------------------
# Image (Right Side)
---------------------------------*/
.why-kandi .cta-image {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.why-kandi .cta-image img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.1));
  transition: transform 0.3s ease;
}

.why-kandi .cta-image img:hover {
  transform: translateY(-5px);
}

/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 992px) {
  /* Layout Changes */
  .why-kandi .cta-wrapper {
    flex-direction: column;
    padding-bottom: 350px; /* Spacer for vertical background image */
  }

  /* Switch to Vertical Background */
  .why-kandi .cta-bg {
    background: linear-gradient(
      0deg,
      color-mix(in srgb, var(--dark-overlay), transparent 100%) 50%,
      color-mix(in srgb, var(--dark-overlay), transparent 20%) 70%
    ),
    url("../img/why-kandi-vertical.webp");
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
  }

  /* Content Alignment */
  .why-kandi .cta-content {
    text-align: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }

  .why-kandi .cta-content h2 {
    font-size: 5rem;
  }

  .why-kandi .cta-content p {
    margin-left: auto;
    margin-right: auto;
  }

  .why-kandi .cta-buttons {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  /* No need to redefine background here, inherited from 992px */
  
  .why-kandi .cta-wrapper {
    padding-bottom: 350px;
  }

  .why-kandi .cta-content h2 {
    font-size: 4rem;
    text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
  }

  .why-kandi .cta-content p {
    font-size: 1rem;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
  }

  /* Full Width Buttons */
  .why-kandi .cta-buttons .btn-primary,
  .why-kandi .cta-buttons .btn-outline {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

/*=============================================================
# Electric Advantage Section
===============================================================*/
.electric-advantage {
  position: relative;
  padding-top: 60px;
  overflow: visible;
}

.electric-advantage .container,
.electric-advantage .advantages-showcase {
  overflow: visible;
  margin-bottom: 1rem;
}

/*--------------------------------
# Left Column (Sticky Image & Overlay)
---------------------------------*/
.electric-advantage .advantages-showcase .col-lg-6:first-child {
  position: sticky;
  top: 120px; /* Adjust based on your header height */
  align-self: flex-start;
  z-index: 10;
}

.electric-advantage .advantages-showcase .advantages-cta {
  position: relative;
  height: 600px;
  overflow: hidden;
  border-radius: var(--container-radius);
}

#electric-advantage .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#electric-advantage .container {
  overflow: clip; 
  position: relative;  
}

/* Background Image */
.electric-advantage .advantages-showcase .advantages-cta .advantage-image {
  position: absolute;
  inset: 0;
}

.electric-advantage .advantages-showcase .advantages-cta .advantage-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.electric-advantage .advantages-showcase .advantages-cta:hover img {
  transform: scale(1.05);
}

/* Gradient Overlay */
.electric-advantage .advantages-showcase .advantages-cta .advantage-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--dark-overlay), transparent 100%) 50%,
    color-mix(in srgb, var(--dark-overlay), transparent 20%) 70%
  );
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.electric-advantage .advantages-showcase .advantages-cta:hover .advantage-overlay {
  opacity: 1;
}

/* Overlay Text Content */
.electric-advantage .advantages-showcase .advantages-cta .overlay-content {
  text-align: center;
  color: #fff;
  padding: 2rem;
  transform: translateY(30px);
  transition: transform 0.4s ease;
}

.electric-advantage .advantages-showcase .advantages-cta:hover .overlay-content {
  transform: translateY(0);
}

.electric-advantage .advantages-showcase .advantages-cta .overlay-content h3 {
  font-size: 55px;
  font-weight: 400;
  margin-bottom: 1rem;
  line-height: 0.8;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
}

.electric-advantage .advantages-showcase .advantages-cta .overlay-content p {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  opacity: 1;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
}

/* Overlay Button */
.electric-advantage .advantages-showcase .advantages-cta .overlay-content .advantage-btn {
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--container-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
  border: none;
}

.electric-advantage .advantages-showcase .advantages-cta .overlay-content .advantage-btn:hover {
  background-color: #fff;
  color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/*--------------------------------
# Right Column (Content & List)
---------------------------------*/
.electric-advantage .advantages-showcase .main-title {
  display: flex;
  align-items: center;
  padding: 3rem 4rem 6rem 4rem;
  transition: all 0.3s ease;
}

.electric-advantage .content-title {
  position: relative;
  z-index: 2;
  flex: 1;
}

.electric-advantage .content-title h2 {
  font-size: 6rem;
  font-weight: 400;
  color: var(--main-color);
  margin-bottom: 0.8rem;
  line-height: 0.8;
}

.electric-advantage .content-title p {
  font-size: 1.1rem;
  color: #000;
  margin-bottom: 1.2rem;
  max-width: 500px;
  opacity: 1;
}

/* Main Buttons (Under Title) */
.electric-advantage .cta-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.electric-advantage .cta-buttons .btn-primary {
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.electric-advantage .cta-buttons .btn-primary:hover {
  background-color: #000;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Advantage List Items */
.electric-advantage .advantages-showcase .advantages-list {
  display: flex;
  flex-direction: column;
  background: #fff;
}

.electric-advantage .advantages-showcase .advantage-item {
  display: flex;
  align-items: center;
  padding: 3rem 4rem;
  transition: all 0.3s ease;
}

.electric-advantage .advantages-showcase .advantage-item:last-child {
  border-bottom: none;
  border-bottom-left-radius: var(--container-radius);
}

.electric-advantage .advantages-showcase .advantage-item:hover {
  background: var(--light-grey);
  transform: translateX(10px);
}

/* Icons */
.electric-advantage .advantages-showcase .advantage-icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  margin-right: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.electric-advantage .advantages-showcase .advantage-icon svg {
  fill: var(--main-color);
}

.electric-advantage .advantages-showcase .advantage-item:hover .advantage-icon {
  width: 70px;
  height: 70px;
}

/* Item Text */
.electric-advantage .advantages-showcase .advantage-content h4 {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.electric-advantage .advantages-showcase .advantage-content h4 a {
  color: var(--heading-color);
  text-decoration: none;
  transition: color 0.3s ease;
}

.electric-advantage .advantages-showcase .advantage-content h4 a:hover {
  color: var(--accent-color);
}

.electric-advantage .advantages-showcase .advantage-content p {
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  color: #000;
}

.electric-advantage .advantages-list .tablet-only {
  display: none;
}

/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 991px) {
  /* Layout Adjustments */
  .electric-advantage {
    margin-top: -60px;
  }

  /* Disable Sticky Behavior */
  .electric-advantage .advantages-showcase .col-lg-6:first-child {
    position: static;
  }

  /* Reveal Tablet Elements */
  .electric-advantage .advantages-list .tablet-only {
    display: block;
  }

  /* CTA / Image Card */
  .electric-advantage .advantages-showcase .advantages-cta {
    height: 350px;
    margin-bottom: 2rem;
    margin-top: -30px;
	
    width: 100%;
    left: 0;
    transform: none !important; /* Prevents AOS from holding it off-screen */	
  }
  
  .electric-advantage .advantages-showcase .advantage-item:hover {
    transform: none; /* Prevents the item from shifting outside the viewport */
  }  

  .electric-advantage .advantages-showcase .advantages-cta .advantage-overlay {
    opacity: 0; /* Always visible on mobile */
    background: color-mix(in srgb, var(--dark-overlay), transparent 40%);
    align-items: center;
    justify-content: center;
  }

  .electric-advantage .advantages-showcase .advantages-cta .overlay-content {
    transform: translateY(30px);
  }

  /* Content & Titles */
  .electric-advantage .content-title h2 {
    font-size: 5rem;
    text-align: center;
  }

  .electric-advantage .content-title p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .electric-advantage .cta-buttons {
    justify-content: center;
  }

  /* List Items */
  .electric-advantage .advantages-showcase .advantages-list .advantage-item {
    padding: 1.5rem;
    flex-direction: column;
    text-align: center;
	
    width: 100%;
    max-width: 100vw; /* Ensures items cannot be wider than the screen */
    overflow: hidden;	
  }

  .electric-advantage .advantages-showcase .advantages-list .advantage-item .advantage-icon {
    margin-right: 0;
    margin-bottom: 1rem;
  }

  .electric-advantage .advantages-showcase .advantage-item:last-child {
    border-bottom-left-radius: 0px;
  }

.electric-advantage .advantages-showcase {
  overflow: hidden; /* Clips any sub-elements that try to expand the width */
}

.electric-advantage .advantages-showcase .row {
    margin-right: 0 !important; /* Prevents Bootstrap's negative margin from creating scroll */
    margin-left: 0!important;
	width: 100%;
  }  
}

@media (max-width: 768px) {
  .electric-advantage .content-title h2 {
    font-size: 4rem;
  }
  .electric-advantage .advantages-showcase .main-title {
    padding: 2rem 1rem 4rem 1rem;
  }  
}


/*=============================================================
# About Kandi Section
===============================================================*/
.about-kandi {
  background: var(--light-grey);
}

.about-kandi .about-wrapper {
  background-color: #fff;
  border-radius: var(--container-radius);
  box-shadow: 0 15px 40px color-mix(in srgb, var(--default-color), transparent 94%);
  overflow: hidden;
}

/* Force Bootstrap columns to be equal height */
.about-wrapper .row.align-items-center {
  display: flex;
  align-items: stretch !important;
}

/*--------------------------------
# Image / Video Column (Left Side)
---------------------------------*/
.about-wrapper .col-lg-6:first-child {
  position: relative;
  min-height: 100%; /* Ensures it stays as tall as the content row */
  padding-left: 0;
  overflow: hidden;
}

.about-video {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-top-left-radius: var(--container-radius);
  border-bottom-left-radius: var(--container-radius);
}

.about-kandi .about-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.about-kandi .about-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}

/*--------------------------------
# Content Column (Right Side)
----------------------------------*/
.about-kandi .about-content {
  padding: 3rem;
}

.about-kandi .about-content h2 {
  font-size: 6rem;
  font-weight: 400;
  color: var(--main-color);
  margin-bottom: 0.5rem;
  line-height: 0.8;
}

.about-kandi .about-content p {
  font-size: 1.1rem;
  color: #000;
  margin-bottom: 1.2rem;
  max-width: 500px;
}

/*--------------------------------
# Buttons
---------------------------------*/
.about-kandi .about-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.about-kandi .about-buttons .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.about-kandi .about-buttons .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 991px) {
  
  
  /* Reset Layout for Stacking */
  .about-wrapper .row > div:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-right: 0;
  }
  .about-wrapper {
    width: 100%;
    max-width: 100vw;
    margin-left: 0;
    margin-right: 0;
  }

  .about-video {
    border-radius: 0;
    margin-top: 0 !important;
  }

  /* Switch Image from Absolute to Relative with Aspect Ratio */
  .about-kandi .about-img {
    position: relative;
    height: auto;
  }

  .about-kandi .about-img img {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  /* Content Adjustments */
  .about-kandi .about-content {
    padding: 2rem;
    text-align: center;
  }

  .about-kandi .about-content h2 {
    font-size: 5rem;
    padding-top: 20px;
  }

  .about-kandi .about-content p {
    margin-left: auto;
    margin-right: auto;
  }

  .about-kandi .about-buttons {
    justify-content: center;
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .about-kandi .about-content {
    padding: 1.5rem;
  }

  .about-kandi .about-content h2 {
    font-size: 4rem;
  }

  .about-kandi .about-content p {
    font-size: 1.1rem;
  }
}


/*=============================================================
# Smart Choice Section
===============================================================*/
/*--------------------------------
# Keyframe Animations
----------------------------------*/
@keyframes slideSideToSide {
  from {
    background-position: 0% 50%;
  }
  to {
    background-position: 100% 50%;
  }
}

/*--------------------------------
# Smart Choice Section - Layout
---------------------------------*/
.smart-choice {
  background: #fff;
}

.smart-choice .cta-wrapper {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding: 4rem 3rem;
  position: relative;
  overflow: hidden;
  border-radius: var(--container-radius);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  
  /* Background & Animation */
  background-color: #fff;
  background-image: url("../img/kandi-bg-blue.webp");
  background-repeat: repeat-x;
  animation: slideSideToSide 10s linear infinite alternate;
}

.smart-choice .cta-content {
  position: relative;
  z-index: 2;
  flex: 1;
  text-align: center;
}

/*--------------------------------
# Typography
----------------------------------*/
.smart-choice .cta-content h2 {
  font-size: 6rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0.8rem;
  line-height: 0.8;
}

.smart-choice .cta-content h4 {
  font-size: 45px;
  font-weight: 400;
  color: #fff;
  line-height: 0.8;
}

.smart-choice .cta-content p {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  text-align: center;
  opacity: 1;
  color: #fff; 
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------
# Buttons
---------------------------------*/
.smart-choice .cta-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

/* Primary Button (White Fill) */
.smart-choice .cta-buttons .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: #fff;
  color: #000;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.smart-choice .cta-buttons .btn-primary:hover {
  background-color: #000;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Outline Button (Transparent with Border) */
.smart-choice .cta-buttons .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background: transparent;
  color: #000;
  box-shadow: inset 0 0 0 2px white; /* solid inner 'border' */
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.smart-choice .cta-buttons .btn-outline:hover {
  background-color: #000;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 992px) {
  .smart-choice .cta-wrapper {
    flex-direction: column;
    padding: 2.5rem;
  }

  .smart-choice .cta-content {
    text-align: center;
  }

  .smart-choice .cta-content h2 {
    font-size: 5rem;
  }

  .smart-choice .cta-content h4 {
    font-size: 38px;
  }

  .smart-choice .cta-content p {
    margin-left: auto;
    margin-right: auto;
  }

  .smart-choice .cta-buttons {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .smart-choice .cta-wrapper {
    padding: 2rem;
  }

  .smart-choice .cta-content h2 {
    font-size: 4rem;
  }

  .smart-choice .cta-content h4 {
    font-size: 32px;
  }

  .smart-choice .cta-content p {
    font-size: 1rem;
  }

  .smart-choice .cta-buttons .btn-primary,
  .smart-choice .cta-buttons .btn-outline {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

/*=============================================================
# Social Media Section
===============================================================*/

.social-media {
  background: #fff;
}

.social-media .cta-wrapper {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding: 6rem 3rem;
  position: relative;
  overflow: hidden;
  border-radius: var(--container-radius);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  

  background-color:var(--main-color);
  background-image: url("../img/social-media-bg.webp");
  background-repeat: repeat-x;
  background-position: center;
  background-size: cover;
}

.social-media .cta-content {
  position: relative;
  z-index: 2;
  flex: 1;
  text-align: center;
}

/*--------------------------------
# Typography
----------------------------------*/
.social-media .cta-content h2 {
  font-size: 6rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0.8rem;
  line-height: 0.8;
}

.social-media .cta-content h4 {
  font-size: 45px;
  font-weight: 400;
  color: #fff;
  line-height: 0.8;
}

.social-media .cta-content p {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  text-align: center;
  opacity: 1;
  color: #fff; 
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------
# Icons
---------------------------------*/

.social-media .social-links {
  display: flex;
  flex-wrap: wrap;            /* allow multiple rows */
  justify-content: center;    /* center icons horizontally */
  gap: 20px;                  /* spacing between icons */
  margin-top: 2rem;
  max-width: 700px;           /* optional: keeps row from stretching too wide */
  margin-left: auto;
  margin-right: auto;         /* centers the flex container */
}

.social-media .social-links a {
  width: 80px;
  height: 80px;
  border-radius: 50%; /* circular */
  background-color: rgba(255, 255, 255, 0.0);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem; /* icon size */
  transition: all 0.3s ease;
}

.social-media .social-links a i {
  font-size: 2.5rem; /* increase/decrease as needed */
}

.social-media .social-links a:hover {
  transform: scale(1.1); /* subtle zoom effect */
  background-color: rgba(255, 255, 255, 0.0);
  color: #000;
}

/* Medium devices (tablets) */
@media (max-width: 768px) {
  .social-media .social-links a {
    width: calc((100% - 40px) / 3); /* 3 per row with gap */
    height: calc((100% - 40px) / 3);
    font-size: 1.8rem;
  }
}


/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 992px) {
  .social-media .cta-wrapper {
    flex-direction: column;
    padding: 2.5rem;
  }

  .social-media .cta-content {
    text-align: center;
  }

  .social-media .cta-content h2 {
    font-size: 5rem;
  }

  .social-media .cta-content h4 {
    font-size: 38px;
  }

  .social-media .cta-content p {
    margin-left: auto;
    margin-right: auto;
  }

}

@media (max-width: 768px) {
  .social-media .cta-wrapper {
    padding: 2rem;
  }

  .social-media .cta-content h2 {
    font-size: 4rem;
  }

  .social-media .cta-content h4 {
    font-size: 32px;
  }

  .social-media .cta-content p {
    font-size: 1rem;
  }

}

/*=============================================================
# Categories Section
===============================================================*/

/*--------------------------------
# Keyframe Animations
---------------------------------*/
@keyframes fadeInContent {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatAnimation {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}

/*--------------------------------
# Categories Section - Layout
---------------------------------*/
.categories {
  margin-top: -140px;
  z-index: 10;
  position: relative;
  padding-bottom: 0;
}

.categories .tabs-wrapper {
  max-width: 1350px;
  margin: 0 auto;
}

/*---------------------------------
# Tabs Navigation
---------------------------------*/
.categories .tabs-header {
  max-width: 1100px;
  display: flex;
  justify-content: center;
  background: var(--main-color);
  border-radius: var(--button-radius);
  margin: 0 auto 80px;
}

.categories .tabs-header .nav-tabs {
  border: none;
  justify-content: center;
  gap: 0;
  background: var(--main-color);
  border-radius: var(--button-radius);
  padding: 8px;
  width: 800px;
}

.categories .tabs-header .nav-tabs .nav-item {
  flex: 1;
  cursor: pointer;
}

.categories .tabs-header .nav-tabs .nav-link {
  border: none;
  background: transparent;
  padding: 0;
  border-radius: var(--container-radius);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Tab Content Preview (Icon/Number) */
.categories .tabs-header .nav-tabs .nav-link .tab-content-preview {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px 24px 12px 24px;
  justify-content: center;
  text-align: left;
}

.categories .tabs-header .nav-tabs .nav-link .tab-content-preview .tab-number {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in srgb, #fff, transparent 0%);
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.categories .tabs-header .nav-tabs .nav-link .tab-content-preview .tab-text {
  text-align: left;
}

.categories .tabs-header .nav-tabs .nav-link .tab-content-preview .tab-text h6 {
  margin: 0 0 2px 0;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  transition: all 0.3s ease;
  line-height: 1;
  font-family: Roboto;
  text-transform: uppercase;
}

/* Tabs: Active & Hover States */
.categories .tabs-header .nav-tabs .nav-link.active {
  background: var(--main-color);
}

.categories .tabs-header .nav-tabs .nav-link.active .tab-content-preview .tab-number {
  color: #fff;
  background: #000;
}

.categories .tabs-header .nav-tabs .nav-link.active .tab-content-preview .tab-text h6 {
  padding-bottom: 0;
  font-size: 16px;
  font-weight: 500;
  color: #000;
}

.categories .tabs-header .nav-tabs .nav-link:hover:not(.active) .tab-content-preview .tab-number {
  background: #000;
  color: #fff;
}

.categories .tabs-header .nav-tabs .nav-link:hover:not(.active) .tab-content-preview .tab-text h6 {
  color: #000;
  padding-left: 8px;
}

/* Bottom Tabs Navigation */
.categories .bottom-nav {
  margin-top: 40px;	
}

.categories .bottom-nav, 
.categories .bottom-nav .nav-tabs, 
.categories .bottom-nav .nav-tabs .nav-link.active {
  background: var(--light-grey);	
}

.categories .bottom-nav .nav-tabs .nav-link.active .tab-content-preview .tab-number {
  color: var(--light-grey);
  background: var(--medium-grey);
}

.categories .bottom-nav .nav-tabs .nav-link.active .tab-content-preview .tab-text h6 {
  color: var(--medium-grey);
}

.categories .bottom-nav .nav-tabs .nav-link .tab-content-preview .tab-text h6 {
  color: #000;
}

.categories .bottom-nav .nav-tabs .nav-link .tab-content-preview .tab-number {
  color: #fff;
  background: #000;
}
	
.categories .bottom-nav .nav-tabs .nav-link:hover:not(.active) .tab-content-preview .tab-number {
  background: var(--main-color);
  color: #fff;
}

.categories .bottom-nav .nav-tabs .nav-link:hover:not(.active) .tab-content-preview .tab-text h6 {
  color: var(--main-color);
}


/*--------------------------------
# Main Tab Content Areas
---------------------------------*/
.categories .tab-content .tab-pane {
  animation: fadeInContent 0.5s ease-in-out;
}

.categories .tab-content .content-area {
  padding-right: 40px;
}

.categories .tab-pane .section-title h2 {
  margin-bottom: -10px;
}

.categories .tab-pane .section-title h5 {
  font-size: 2rem;
  text-transform: uppercase;
}

.categories .tab-pane .section-title p {
  font-size: 18px;
  margin-bottom: 40px;
}

/*--------------------------------
# Category Cards (Vehicles)
---------------------------------*/
.categories .category-card {
  position: relative;
  background: #fff;
  border-radius: var(--container-radius);
  overflow: hidden;
  box-shadow: 0 5px 25px color-mix(in srgb, var(--medium-grey), transparent 70%);
  transition: all 0.6s ease;
  height: 100%;
}

/* Card Image */
.categories .category-image {
  position: relative;
  overflow: hidden;
  height: 425px;
}

.categories .category-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.categories .category-image-standard {
  display: none;
}

@media (hover: hover) {
  .categories .category-card:hover img {
    transform: scale(1.15);
  }
}

@media (max-width: 991px) {
  .categories .category-image-standard {
    display: block;
  }
  .categories .category-image-wide {
    display: none;
  }  
}

/* Card Content Overlay */
.categories .card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 30px 30px 10px 30px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  transition: background 0.4s ease;
  background: linear-gradient(
    0deg,
    color-mix(in srgb, var(--dark-overlay), transparent 10%) 0%,
    color-mix(in srgb, var(--dark-overlay), transparent 50%) 33%,
    color-mix(in srgb, var(--dark-overlay), transparent 100%) 50%
  );
}

@media (hover: hover) {
  .categories .category-card:hover .card-content {
    background: linear-gradient(
      0deg,
      color-mix(in srgb, var(--dark-overlay), transparent 0%) 0%,
      color-mix(in srgb, var(--dark-overlay), transparent 40%) 100%
    );
  }
}

/* Card Typography */
.categories .card-content h3 a {
  color: #fff;
  font-size: 3rem;
  line-height: .8;
  text-align: left;
}

.categories .card-content h6 {
  font-size: 1rem;
  font-family: Roboto;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: left;
}

.categories .card-content p {
  color: #000;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: center;
}

/* Card Details (Description & Price) */
.categories .card-content .vehicle-price p {
  color: #fff;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 0;
  margin-top: 10px;
}

.categories .vehicle-description {
  display: block;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  color: #fff;
  transition: all 0.3s ease-out;
  margin-bottom: 0;
}

.categories .vehicle-description p {
  color: #fff;
  text-align: left;
  font-size: 1rem;
}

@media (hover: hover) {
  .categories .category-card:hover .vehicle-description {
    max-height: 200px;
    opacity: 1;
    margin-bottom: 20px;
    transition: all 0.5s ease-in;
  }
}

.categories .category-card:hover .vehicle-description .vehicle-stats {
  padding-top: 15px;
}

.categories .category-card:hover .vehicle-description .vehicle-stats li {
  padding-top: 5px;
}

.categories .category-card:hover .vehicle-description .vehicle-stats span {
  font-weight: 600;
  color: #01a2e0;
}

/* Price Badge */
.categories .category-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10;
  background-color: var(--main-color);
  color: #fff;
  padding: 5px 15px 4px 15px;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.3rem;
  border-radius: var(--button-radius);
  pointer-events: none; /* Prevents the badge from interfering with clicks */
    
  /* Animation Properties */
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.4s ease-out;
	
  display: flex;
  align-items: center;
  gap: 8px; /* Space between text and price */	
}

.categories .category-badge span {
  font-family: Roboto;
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1; 
  color: #000;
}

/* Hover State: Slide down and fade in */
@media (hover: hover) {
    .categories .category-card:hover .category-badge {
        opacity: 1;
        transform: translateY(0);
        transition: all 0.5s ease-in;		
    }
}

/* Mobile fallback */
@media (max-width: 991px) {
    .categories .category-badge {
        opacity: 0;
        transform: translateY(0);
        top: 15px;
        right: 15px;
    }
}

/*--------------------------------
# Buttons
----------------------------------*/
.categories .button-group {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

/* Reveal buttons on hover (Desktop) */
.categories .category-card:hover .button-group {
  margin-top: 10px;
}

.categories .card-content .category-btn {
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--container-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
  border: none;
  display: inline-block;
}

.categories .card-content .category-btn:hover {
  background-color: #fff;
  color: #000;
  transform: translateY(-3px);
}

.categories .card-content .category-btn-outline {
  padding: 8px 28px;
  background-color: transparent;
  color: #fff;
  border-radius: var(--container-radius);
  box-shadow: inset 0 0 0 2px white;
  border: 2px solid #fff;
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  border: none;
  display: inline-block;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

@media (hover: hover) {
  .categories .category-card:hover .category-btn-outline {
    opacity: 1;
  }
}

.categories .card-content .category-btn-outline:hover {
  background-color: #fff;
  color: #000;
  transform: translateY(-3px);
}


/*--------------------------------
# Comparison Cards
----------------------------------*/

/* --- Section Layout & Wrapper --- */
.categories .comparison-slider h5 {
  padding: 30px 0 0 0;
  color: #000;
  font-size: 50px !important;
}

.categories .comparison-carousel {
  padding-top: 20px;
  padding-bottom: 30px;
}

.categories .comparison-carousel .swiper-wrapper {
  align-items: stretch;
}

.categories .comparison-carousel .swiper-slide {
  display: flex;
  height: auto;
  margin-bottom: 20px;
  backface-visibility: hidden;
  transform: translateZ(0);  
}

/* --- Card Container --- */
.categories .comparison-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;  
  height: 100%;
  padding: 32px;
  overflow: hidden;
  background: var(--light-grey);
  border: 2px solid color-mix(in srgb, var(--light-grey), transparent 0%);
  border-radius: var(--container-radius);
  transition: transform 0.3s ease-in-out, padding 0.3s ease-in-out; 
}

.categories .comparison-card:hover {
  padding-top: 22px;
  border-top: 2px solid color-mix(in srgb, var(--main-color), transparent 0%);  
}

.comparison-card .card-top {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 0 auto; /* don't shrink */
  border-bottom: 1px solid var(--medium-grey);  
  margin-bottom: 15px;  
}

.swiper-slide {
  display: flex;
}

.swiper-slide .comparison-card {
  flex: 1;
}

/* --- Card Typography --- */

.categories .comparison-card h3 {
  color: var(--main-color);
  transition: color 0.3s ease;
  text-align: center;
  font-size: 2rem;
}

.categories .comparison-card .center {
  text-align: center;
}

.categories .comparison-card:hover h3 {
  color: var(--main-color);
}

.categories .comparison-card p {
  font-size: 0.9rem;
  text-align: center;  
}

.categories .comparison-card .item-title {
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;    
}

.categories .comparison-card .comparison-price {
  text-align: center;  
  border-top: 1px solid var(--medium-grey);  
  padding-top: 10px;
}

.categories .comparison-card .comparison-price span {
  font-size: 0.6rem;
  font-weight: 400;
}

.categories .comparison-card .comparison-price p {
  font-size: 1.1rem;
  font-weight: 600;
}

/* --- Specification Rows (Icons & Text) --- */
.categories .spec-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.categories .spec-row .spec-text p {
  text-align: left;
}

.categories .spec-row i {
  margin-top: 2px;
  font-size: 1rem;
  color: var(--main-color);
}

.categories .spec-text {
  display: flex;
  flex-direction: column;
  text-align: left;  
}

.categories .spec-text .item-title {
  white-space: nowrap;
  text-align: left;  
}

/* --- Action Button --- */
.categories .comparison-card .comparison-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
  transition: all 0.3s ease;
  background: var(--main-color);
  padding: 8px 20px;
  border-radius: var(--button-radius);
}

.categories .comparison-card .comparison-btn i {
  transition: transform 0.3s ease;
}

/* Button Hover Effects */
.categories .comparison-card .comparison-btn:hover {
  color: #fff;
  background: #000;
}

.categories .comparison-card:hover .comparison-btn {
  letter-spacing: 0.5px;
}

.categories .comparison-card:hover .comparison-btn i {
  transform: translateX(6px);
}

/* --- Swiper Controls: Pagination --- */
.categories .swiper {
  position: relative;
}

.categories .swiper-controls {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 20px;
}

.categories .swiper-pagination {
  position: static;
  display: flex;
  align-items: center;
  gap: 6px;
}

.categories .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: color-mix(in srgb, var(--main-color), transparent 0%);
  border-radius: 10px;
  opacity: 1;
  transition: all 0.4s ease;
}

.categories .swiper-pagination .swiper-pagination-bullet-active {
  width: 32px;
  background: var(--main-color);
}

.categories .swiper-button-prev,
.categories .swiper-button-next {
  position: static;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--medium-grey);
  opacity: 0.6;
  transition: all 0.3s ease;
}

.categories .swiper-button-next::after,
.categories .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 600;
}

.categories .swiper-button-next:hover,
.categories .swiper-button-prev:hover {
  color: var(--main-color);
  opacity: 1;
}

/* Hide pagination when swiper is locked (not enough slides) */
.categories .swiper-pagination-lock {
  display: none;
}

/* Hide arrows too when locked */
.categories .swiper-button-lock {
  display: none;
}

/*--------------------------------
# Responsive / Mobile Styles
----------------------------------*/
@media (max-width: 992px) {
  .categories .tab-content .content-area {
    padding-right: 0;
    margin-bottom: 50px;
  }
}

@media (max-width: 768px) {
  /* Header Adjustments */
  .categories .tabs-header {
    margin-bottom: 60px;
  }

  /* Nav Tabs Stacked */
  .categories .tabs-header .nav-tabs {
    flex-direction: column;
    gap: 4px;
  }

  .categories .tabs-header .nav-tabs .nav-item {
    flex: none;
    width: 100%;
  }

  .categories .tabs-header .nav-tabs .nav-link .tab-content-preview {
    padding: 16px 20px;
    gap: 12px;
  }

  .categories .tabs-header .nav-tabs .nav-link .tab-content-preview .tab-text {
    flex: 1;
  }

  /* Card Content Centering */
  .categories .card-content {
    align-items: center;
    justify-content: flex-end;
    text-align: center;
  }

  .categories .card-content h3 a,
  .categories .card-content h6,
  .categories .card-content p {
    text-align: center;
    width: 100%;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
  }

  .categories .button-group {
    justify-content: center;
  }

  .categories .category-card .vehicle-description .vehicle-stats li {
    text-align: left;
  }

  /* Visibility outline buttons on mobile (no hover state) */
  .categories .card-content .category-btn-outline {
    --opacity: 1;
	display: none;
  }
}

/*=============================================================
# Confidence Bar Section
===============================================================*/

.confidence-bar {
  background: #fff;
  padding: 10px 0 4rem 0;
  --border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

.confidence-bar .section-title h2 {
  margin-top: 0;	
}	

.confidence-bar .feature-item {
  text-align: center;
  padding: 2rem 1rem;
  transition: all 0.3s ease;
  position: relative;
}

.confidence-bar .feature-item:hover {
  transform: translateY(-5px);
}

.confidence-bar .feature-item .icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.confidence-bar .feature-item svg {
  fill: var(--main-color);
}

.confidence-bar .feature-item h4 {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 1rem;
  color: #000;
}

.confidence-bar .feature-item p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #000;
  margin: 0;
}

.confidence-bar .feature-item:hover .icon {
  background: var(--accent-color);
  transform: scale(1.1);
}

.confidence-bar .feature-item:hover svg {
  fill: #000;
}

.confidence-bar .feature-item:hover h4 {
  color: var(--main-color);
}

.confidence-bar .feature-item .feature-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 15px 20px;
  background: rgba(0, 0, 0, 0); /* semi-transparent overlay */
  color: var(--main-color);
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.3s ease;
  font-weight: 700;
}

.confidence-bar .feature-item:hover .feature-text {
  opacity: 1;
  transform: translateY(25%);
}


/*=============================================================
# Vehicle Title Section
===============================================================*/
.vehicle-title {
  padding: 40px 0;
  background: var(--light-grey);
}	

.vehicle-title .title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;  
}

.vehicle-title .price-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vehicle-title .vehicle-name  {
  text-align: left;	
  font-size: 6rem;
  color: var(--main-color);
  font-family: "Bebas Neue";  
  line-height: .8;  
}	

.vehicle-title .price-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  color: #000;
  opacity: .75;
}

.vehicle-title .vehicle-price {
  font-size: 3rem;
  color: #000;
  font-family: "Bebas Neue";
  line-height: 1;    
}

@media (max-width: 991px) {
  .vehicle-title .title-row {
    flex-direction: column;
    align-items: center;
	text-align: center;
  }
  
  .vehicle-title .vehicle-name {
    align-items: center;
	text-align: center;	
    font-size: 5rem;	
  }
  .vehicle-title .vehicle-price {
    font-size: 3rem;
  }  
  .vehicle-title .price-block {
    align-items: center;
    margin-top: 0.25rem;
  }
}

@media (max-width: 768px) {
  .vehicle-title .vehicle-name {
    font-size: 4rem;	
  }

}


/*=============================================================
# Vehicle Intro Section
===============================================================*/
.vehicle-intro {
  background: #fff;
  display: block !important;  
  max-width: 2000px;
  margin: auto;
}

.vehicle-intro .row {
  align-items: stretch;
}
.vehicle-intro .col-lg-6 {
  display: flex;
}

/*--------------------------------
# Image (Left Side)
---------------------------------*/
.vehicle-intro .intro-img {
  height: auto;
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;  
}

@media (min-width: 1800px) {
  .vehicle-intro .intro-img   {
    --margin-right: -100px; 
  }	
}

.vehicle-intro .tab-pane img {
  width: 100%;
  height: auto;
  object-fit: contain; /* Prevents vehicle stretching */
  display: block;
}

/* Fix for invisible tabs */
.vehicle-intro .tab-content > .tab-pane {
  display: none;
}
.vehicle-intro .tab-content > .active {
  display: block;
}


/*--------------------------------
# Content Column (Right Side)
----------------------------------*/
.vehicle-intro .intro-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* vertically center content */
  padding: 3rem 3rem 3rem 0;
  width: 100%;
  max-width: 700px;  
}

.vehicle-intro .intro-content h2 {
  font-size: 6rem;
  font-weight: 400;
  color: var(--main-color);
  margin-bottom: 1rem;
  line-height: 0.8;
}

.vehicle-intro .intro-content p {
  font-size: 1.1rem;
  color: #000;
  margin-bottom: 1.2rem;
  max-width: 600px;
}

/*-Stats-------------*/

.vehicle-intro .intro-content .stats-row {
  display: flex;
  gap: 60px;
  margin-bottom: 20px;
  margin-top: 40px;
  justify-content: flex-start;
}

@media (max-width: 991px) {
  .vehicle-intro .intro-content .stats-row {
    justify-content: center;
  }
  .vehicle-intro .intro-content .stats-row .stat-item {
    text-align: center;
  }  
  .vehicle-intro .intro-content {
    padding: 2rem 1rem !important;
    text-align: center;
  }  
}

@media (max-width: 768px) {
  .vehicle-intro .intro-content .stats-row {
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .vehicle-intro .intro-content .stats-row {
    justify-content: center;
    gap: 20px;
  }
}

.vehicle-intro .intro-content .stats-row .stat-item .stat-number {
  font-size: 2rem;
  font-family: "Bebas Neue";
  color: #000;
  line-height: 1;
  margin-bottom: 8px;
}


.vehicle-intro .intro-content .stats-row .stat-item .stat-label {
  font-size: 0.875rem;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 700;  
}

/*--------------------------------
# Buttons
---------------------------------*/
.vehicle-intro .intro-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.vehicle-intro .intro-buttons .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.vehicle-intro .intro-buttons .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}


/*---------------------------------
# Tabs Navigation Left
---------------------------------*/
.vehicle-intro .intro-img .tabs-header  {
  max-width: 400px;
  display: flex;
  justify-content: center;
  background: #fff;
  margin: 0 auto 40px;
  align-items: center;
}

.vehicle-intro .intro-img .swatch-container {
  text-align: center;
  margin-top: 20px;
}

.vehicle-intro .intro-img .swatch-description {
  margin-top: 10px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 1px;
  min-height: 1.2em; /* Prevents layout jump when text is empty */
  color: #000;  
}
	
@media (min-width: 1600px) {
  .vehicle-intro .intro-img .tabs-header  {
    display: none;
  }	
}

/*---------------------------------
# Tabs Navigation Right
---------------------------------*/
.vehicle-intro .intro-content .tabs-header  {
  max-width: 400px;
  display: flex;
  justify-content: flex-start;
  background: #fff;
  margin: 0px 0 10px 0;
  align-items: flex-start;

}

.vehicle-intro .intro-content .swatch-container {
  justify-content: flex-start !important; /* Forces left alignment */
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}

.vehicle-intro .intro-content .swatch-description {
  text-align: left;
  width: 100%;
  font-size: 0.7rem;
  font-weight: 900;
  margin-top: 0px;
  margin-left: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #000;
}

@media (max-width: 1599px) {
  .vehicle-intro .intro-content .tabs-header  {
    display: none;
  }	
}
/*---------------------------------
# Tabs Navigation Boxes
---------------------------------*/
.vehicle-intro .tabs-header .swatch-container .nav-box {
  position: relative;	
  display: inline-block;
  width: 30px;          
  height: 30px;         
  border: 1px solid var(--medium-grey);
  border-radius: 4px;   
  transition: transform 0.2s;
  margin: 10px;
  cursor: pointer;
  vertical-align: middle;	
}

.vehicle-intro .tabs-header .swatch-container .nav-box.active::before {
  content: "";
  position: absolute;
  bottom: -15px;        
  left: 50%;           
  transform: translateX(-50%); 
  width: 6px;           
  height: 6px;         
  background-color: var(--main-color);
  border-radius: 50%;  
  display: block;
}

.vehicle-intro .tabs-header .swatch-container .nav-box.active {
  transform: scale(.8);
}

.vehicle-intro .tabs-header .swatch-container .nav-box:hover {
  transform: scale(.8); /* Subtle grow effect on hover */
}

/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 1555px) {
  .vehicle-intro .nav-next-1 {
	right: 10px;
  }

  .vehicle-intro .nav-prev-1 {
	left: 10px;
  } 
}	

@media (max-width: 1091px) {
  .vehicle-intro .intro-content h2 {
    font-size: 5rem;
  }
}	

@media (max-width: 991px) {
  .vehicle-intro  {
    padding-bottom: 30px;
  }	

  /* Content Adjustments */
  .vehicle-intro .intro-content {
    padding: 2rem;
    text-align: center;
	margin-top: 0;
  }

  .vehicle-intro .intro-content h2 {
    font-size: 5rem;
  }

  .vehicle-intro .intro-content p {
    margin-left: auto;
    margin-right: auto;
  }

  .vehicle-intro .intro-buttons {
    justify-content: center;
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .vehicle-intro .intro-content {
    padding: 1.5rem;
  }

  .vehicle-intro .intro-content h2 {
    font-size: 4rem;
  }

  .vehicle-intro .intro-content p {
    font-size: 1.1rem;
  }
 
  .vehicle-intro .nav-prev-1:hover, 
  .vehicle-intro .nav-next-1:hover {
    background: none;
    color: var(--main-color) !important;
  }  
}



/*--------------------------------------------------------------
# Features Section
--------------------------------------------------------------*/
.features {
  --padding: 0 0 40px 0;
  --margin-top: -30px;
}

.features .section-title h2 {
  margin-top: 0;	
}	

.features .feature-item {
  padding: 20px 40px;
  background-color: #fff;
  border-radius: 8px;
  transition: all 0.4s ease;
  height: 100%;
  position: relative;
}

.features .feature-item:hover {
  transform: translateY(-8px);
}

.features .feature-icon {
  text-align: center;    
}

.features .feature-icon .icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  fill: var(--main-color);
  transition: all 0.4s ease;
}

.features .feature-item:hover .feature-icon .icon {
  transform: scale(1.1);
}

.features h2 {
  padding-top: 10px;  
  padding-bottom: 30px;
  color: var(--main-color);
}

.features h3 {
  font-size: 2.2rem;
  font-weight: 300;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
  line-height: 1.3;
  text-align: center;  
}

.features p {
  font-size: 1rem;
  line-height: 1.7;
  color: #000;
  margin-bottom: 30px;
  text-align: center;
}

/*--------------------------------
# Image
---------------------------------*/
.features .feature-image {
  position: relative;
  overflow: hidden;
  border-radius: var(--container-radius);
  width: 100%;
  height: 450px; 
  margin: 30px 0;
}

.features .feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
  transition: transform 0.5s ease;
}

.features .feature-image:hover img {
  --transform: scale(1.1);
}


/*--------------------------------
# Swiper Controls
---------------------------------*/
.features .swiper {
  position: relative;
  padding-bottom: 30px; 
}

.features .swiper-controls {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 20px;
}

.features .swiper-pagination {
  position: static;
  display: flex;
  align-items: center;
  gap: 6px;
}

.features .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: color-mix(in srgb, var(--main-color), transparent 0%);
  border-radius: 10px;
  opacity: 1;
  transition: all 0.4s ease;
}

.features .swiper-pagination .swiper-pagination-bullet-active {
  width: 32px;
  background: var(--main-color);
}

.features .swiper-button-prev,
.features .swiper-button-next {
  position: static;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--medium-grey);
  opacity: 0.6;
  transition: all 0.3s ease;
}

.features .swiper-button-next::after,
.features .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 600;
}

.features .swiper-button-next:hover,
.features .swiper-button-prev:hover {
  color: var(--main-color);
  opacity: 1;
}

/* Hide pagination when swiper is locked (not enough slides) */
.features .swiper-pagination-lock {
  display: none;
}

/* Hide arrows too when locked */
.features .swiper-button-lock {
  display: none;
}

/*--------------------------------
# Button
---------------------------------*/
.features .specs-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}
	
.features .specs-btn .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.features .specs-btn .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}	


@media (max-width: 768px) {
  .features .feature-image {
    height: 250px !important;
  }	
}	


/*=============================================================
# Use-Case Section
===============================================================*/
.use-case {
  background: var(--light-grey);
  padding-bottom: 50px;
}

.use-case .use-case-swiper {
  background-color: #fff;
  border-radius: var(--container-radius, 20px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.06);
  overflow: hidden;
  position: relative;
}

.use-case .use-case-slide {
  background: #fff;	
  border-radius: var(--container-radius, 20px);  
}	

.use-case .use-case-img-container {
  height: 100%;
  min-height: 400px;
  overflow: hidden;
  border-radius: var(--container-radius) 0 0 var(--container-radius) ; 
  position: relative;
}

@media (max-width: 991px) {
  .use-case .use-case-img-container {
    border-radius: var(--container-radius) var(--container-radius) 0 0; 
  }	
}	

.use-case .use-case-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transform: scale(1.2);
  transform-origin: top center;  
  transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

/* Hover effect now triggers on the active slide */
.use-case .swiper-slide:hover .use-case-img-container img {
  --transform: scale(1.1);
}

/* Content Area */
.use-case .use-case-content {
  padding: 4rem;
}

.use-case .section-title h2 {
  margin-bottom: 0;
}

.use-case .use-case-content h3 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 3rem;
  font-weight: 400;
  color: var(--main-color);
  line-height: 0.9;
  text-transform: uppercase;
}

.use-case .use-case-content h5 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #000;
  line-height: 0.9;
  text-transform: uppercase;
}

.use-case .use-case-content p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #000;
  margin-bottom: 2rem;
}


/* Buttons */
.use-case .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.use-case .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.use-case .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background: #fff;
  color: #000;
  box-shadow: inset 0 0 0 2px var(--main-color); /* solid inner 'border' */
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.use-case .btn-outline:hover {
  background-color: var(--main-color);
  color: #fff;
  transform: translateY(-3px);
}

/* Swiper Navigation Styling (Customized for your theme) */
.use-case-swiper .swiper-button-next,
.use-case-swiper .swiper-button-prev {
  color: var(--main-color);
  background: rgba(255, 255, 255, 0.8);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  after { font-size: 18px; font-weight: bold; } /* Makes arrows smaller/cleaner */
}

.use-case-swiper .swiper-pagination-bullet-active {
  background: var(--main-color);
}

/*--------------------------------
# Custom Swiper Links
---------------------------------*/
.use-case-nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 30px;
}

.use-case-nav-links .path-link {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.5rem;
  color: #000;
  text-decoration: none;
  padding: 5px 10px;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
  letter-spacing: 1px;
}

.use-case-nav-links .path-link:hover {
  color: var(--main-color);
}

.use-case-nav-links .path-link.active {
  --color: var(--main-color);
  border-bottom: 2px solid var(--main-color);
}

@media (max-width: 768px) {
  .use-case-nav-links {
    flex-direction: column; /* This forces them to stack vertically */
    gap: 5px;
  }
  
  .use-case-nav-links .path-link {
    font-size: 1.3rem;
    padding: 0px 10px;
    width: 100%; /* Makes the clickable area span the width */
    text-align: center; /* Centers the text perfectly */
  }

  .use-case-nav-links .path-link.active {
    color: var(--main-color);
    border-bottom: 2px solid var(--light-grey);
  }  
}

/* Hot Spots */
/* Container must be relative for absolute hotspots */
.use-case-img-container {
  position: relative;
}

.hotspot {
  position: absolute;
  width: 20px;
  height: 20px;
  background: var(--main-color);
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
}

/* The Animated Pulse Ring */
.hotspot-pulse {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--main-color);
  border-radius: 50%;
  opacity: 0.6;
  animation: hotspot-animation 2s infinite;
}

@keyframes hotspot-animation {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(3); opacity: 0; }
}

/* Tooltip Styling */
.hotspot::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.hotspot:hover::after {
  opacity: 1;
  visibility: visible;
  bottom: 35px;
}


/* Responsive Adjustments */
@media (max-width: 991px) {
  .use-case-content {
    padding: 3rem 2rem;
    text-align: center;
    min-height: 450px; 
    display: flex;
    flex-direction: column;
    justify-content: center;	
  }
  .use-case-slide {
    display: flex;
    flex-direction: column;
  }
  
  .use-case-img-container {
    min-height: 300px;
  }
  
  /* Hide navigation on mobile for a cleaner look, rely on touch swipe */
  .use-case-swiper .swiper-button-next,
  .use-case-swiper .swiper-button-prev {
    display: none;
  }
}

@media (max-width: 768px) {
  .use-case .use-case-content h3 {
    margin-bottom: 0;
  }

  .use-case .use-case-content h5 {
    margin-bottom: 0;
  }
  .use-case .use-case-content {
    padding: 2rem;
    min-height: 350px; 		
  }
}	

/*--------------------------------
# Swiper Controls
---------------------------------*/
.use-case .swiper {
  position: relative;
  padding-bottom: 0; 
  --margin-bottom: 30px; 
}

.use-case .swiper-controls {
  position: relative;
  left: auto;
  transform: none;
  display: flex;
  justify-content: center; 
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}

.use-case .swiper-pagination {
  position: static; 
  width: auto;
}

.use-case .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: color-mix(in srgb, var(--main-color), transparent 0%);
  border-radius: 10px;
  opacity: 1;
  transition: all 0.4s ease;
}

.use-case .swiper-pagination .swiper-pagination-bullet-active {
  width: 32px;
  background: var(--main-color);
}

.use-case .swiper-button-prev,
.use-case .swiper-button-next {
  position: static;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--medium-grey);
  opacity: 0.6;
  transition: all 0.3s ease;
}

.use-case .swiper-button-next::after,
.use-case .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 600;
}

.use-case .swiper-button-next:hover,
.use-case .swiper-button-prev:hover {
  color: var(--main-color);
  opacity: 1;
}

/* Hide pagination when swiper is locked (not enough slides) */
.use-case .swiper-pagination-lock {
  display: none;
}

/* Hide arrows too when locked */
.use-case .swiper-button-lock {
  display: none;
}



/*--------------------------------------------------------------
# Portfolio Section
--------------------------------------------------------------*/
.portfolio {
  --background: var(--light-grey);
}

.portfolio .section-title h2 {
  padding-top: 10px;
}


.portfolio .portfolio-container {
  position: relative;
}

.portfolio .portfolio-filters {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
}

.portfolio .portfolio-filters li {
  cursor: pointer;
  padding: 8px 16px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  color: var(--heading-color);
  transition: all 0.3s ease-in-out;
  border-radius: 50px;
  background: color-mix(in srgb, var(--surface-color), var(--heading-color) 5%);
}

.portfolio .portfolio-filters li:hover {
  color: var(--accent-color);
}

.portfolio .portfolio-filters li.filter-active {
  color: var(--contrast-color);
  background: var(--accent-color);
}

.portfolio .portfolio-wrap {
  transition: 0.3s;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  z-index: 1;
}

.portfolio .portfolio-wrap::before {
  content: "";
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  left: 30px;
  right: 30px;
  top: 30px;
  bottom: 30px;
  transition: all ease-in-out 0.3s;
  z-index: 2;
  opacity: 0;
}

.portfolio .portfolio-wrap img {
  transition: 0.3s;
  width: 100%;
}

.portfolio .portfolio-wrap .portfolio-info {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  z-index: 3;
  transition: all ease-in-out 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.portfolio .portfolio-wrap .portfolio-info h4 {
  font-size: 2rem;
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  margin-bottom: 5px;
}

.portfolio .portfolio-wrap .portfolio-info p {
  color: #fff;
  font-size: 1rem;
  margin: 0 0 15px 0;
  padding: 1rem;
}

.portfolio .portfolio-wrap .portfolio-info .portfolio-links {
  display: flex;
  gap: 15px;
}

.portfolio .portfolio-wrap .portfolio-info .portfolio-links a {
  color: #fff;
  font-size: 20px;
  transition: 0.3s;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--main-color);
  border-radius: 50%;
  line-height: 0;
}

.portfolio .portfolio-wrap .portfolio-info .portfolio-links a:hover {
  background: #fff;
  color: var(--main-color);
}

.portfolio .portfolio-wrap:hover::before {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
}

.portfolio .portfolio-wrap:hover img {
  transform: scale(1.1);
}

.portfolio .portfolio-wrap:hover .portfolio-info {
  opacity: 1;
}

/* Lightbox Attributes */
.glightbox-clean .gslide-description {
    background: var(--main-color) !important;
}

.glightbox-clean .gslide-title {
    font-size: 2em !important;
    font-weight: 400;
    font-family: "Bebas Neue", sans-serif !important;
    color: #fff !important;
    margin-bottom: 3px;
    line-height: 1.4em;
}

.glightbox-clean .gslide-description {
    color: #fff !important;
    font-size: 1.1rem !important;	
}

/*--------------------------------------------------------------
# 360 Visualizer
--------------------------------------------------------------*/
/* Responsive 360 Visualizer Container */
.visualizer-container {
	/*removed due to blurry image */
  --width: 100%;
  --max-width: 950px;
  --margin: 0 auto; 
}



.v360-viewer {
  position: relative;
  width: 100%;
  /* This maintains the frame size even before the image loads */
  aspect-ratio: 3 / 2; 
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  background: radial-gradient(circle, #fff 100%, #f0f0f0 0%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.v360-viewer:active { cursor: grabbing; }

.v360-overlay {
  position: absolute;
  bottom: 5px; /* Positions it at the bottom */
  left: 50%; /* Moves to horizontal center */
  transform: translateX(-50%); /* Perfectly offsets its own width to center */
  pointer-events: none; /* Prevents it from blocking drag/clicks */
  opacity: 0.6;
  transition: opacity 0.3s;
  z-index: 5; /* Ensures it stays above the image */
}

.v360-overlay-icon svg {
  width: 60px;
  height: 60px;
  fill: var(--medium-grey);
}  
.v360-overlay-icon {
  position: absolute;
  top: 0px; 
  right: 20px;
  pointer-events: none; /* Prevents it from blocking drag/clicks */
  opacity: 0.6;
  z-index: 5; /* Ensures it stays above the image */
}

/* Ensure the text itself is styled correctly */
.v360-hint {
  background: rgba(0,0,0,0.5);
  color: #fff;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.8rem;
  white-space: nowrap; /* Prevents text from stacking vertically */
}

/* Navigation Button Styling */
.v360-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.6);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  cursor: pointer;
  color: var(--medium-grey);
}

.v360-nav-btn:hover {
  background: var(--main-color);
  color: #fff;
  opacity: 1;
}

.v360-nav-btn.prev { left: 20px; }
.v360-nav-btn.next { right: 20px; }

.v360-nav-btn i { font-size: 28px; opacity: 0.6;}



/* Pulse animation for the hint to make it more interactive */
.v360-hint {
  animation: hintPulse 2s infinite;
}

@keyframes hintPulse {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}

/* Hide arrows on mobile to keep the screen clear for touch-dragging */
@media (max-width: 768px) {
  .v360-nav-btn { display: none; }
}

#v360-image {
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain; /* Ensures the vehicle isn't cropped */
  display: block;
}

/* Adjust overlay for mobile so it doesn't block the view */
@media (max-width: 768px) {
  .v360-hint {
    font-size: 0.7rem;
    padding: 4px 10px;
  }
}

/*--------------------------------------------------------------
# Specs Modal
--------------------------------------------------------------*/
.specs-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #fff;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  padding: 0;
}

.specs-modal.active {
  transform: translateY(0);
}

.specs-modal-header {
  position: sticky;
  top: 0;
  background: #fff;
  border-bottom: 1px solid var(--light-grey);
  z-index: 10;
  box-shadow: 0 4px 10px rgba(0,0,0,0.03);
  padding: 20px 0; /* Vertical padding only */
}

.specs-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px; /* Matches the 40px horizontal padding of .specs-content */
}

/* Left side container */
.modal-header-left {
  display: flex;
  align-items: baseline;
  gap: 0px;
  flex-wrap: wrap;
  flex-direction: column;  
}

.specs-modal-header h2 {
  font-size: 2.8rem;
  margin: 0;
  line-height: 1;
  color: #000;
  text-transform: uppercase;
}

.modal-vehicle-name {
  font-family: "Roboto", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--main-color);
  letter-spacing: 0.5px;
  text-transform: uppercase;  
}

/* Right side container */
.modal-header-right {
  display: flex;
  align-items: center;
  gap: 25px;
}

/* Download Button Specifics */
.download-brochure-btn {
  font-size: 16px !important;
  padding: 6px 18px !important;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.close-specs {
  background: none;
  border: none;
  font-size: 2.5rem;
  cursor: pointer;
  color: #000;
  line-height: 1;
  padding: 0;
  
  /* Added these properties to force smooth rotation */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
  transition: all 0.4s ease; 
  transform: rotate(0deg) scale(1); /* Explicit starting point */
}

.close-specs:hover {
  color: var(--main-color);
  transform: rotate(180deg) scale(1.1); /* 180deg gives a very clear, satisfying half-spin */
}

.specs-content {
  padding: 40px;
  max-width: 1000px;
  margin: 0 auto;
}

.spec-category {
  margin-bottom: 50px;
}

.spec-category h3 {
  font-size: 2.2rem;
  border-bottom: 3px solid var(--main-color);
  padding-bottom: 8px;
  margin-bottom: 15px;
  color: #000;
  text-transform: uppercase;
}

.modal-spec-row {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid var(--light-grey);
  font-family: "Roboto", sans-serif;
  font-size: 1.1rem;
}

.modal-spec-row .spec-label {
  font-weight: 700;
  color: #000;
  width: 45%;
}

.modal-spec-row .spec-value {
  color: #555;
  width: 55%;
  text-align: left;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  .specs-modal-header {
    padding: 15px 0;
  }
  
  .specs-header-inner {
    padding: 0 20px; 
  }
  
  .specs-modal-header h2 {
    font-size: 1.8rem;
  }
  
  .modal-vehicle-name {
    font-size: 1rem;
  }
  
  .modal-header-right {
    gap: 15px;
  }
  
  /* Hide the text, keep the PDF icon on mobile */
  .download-brochure-btn {
    padding: 8px 12px !important;
    font-size: 0 !important; /* Hides the text */
  }
  
  .download-brochure-btn i {
    font-size: 1.8rem; /* Keeps the icon visible */
    margin: 0;
  }
  
  .specs-content {
    padding: 20px 20px 60px 20px;
  }
  .spec-category h3 {
    font-size: 1.8rem;
  }
  .modal-spec-row {
    flex-direction: column;
    padding: 12px 0;
  }
  .modal-spec-row .spec-label,
  .modal-spec-row .spec-value {
    width: 100%;
  }
  .modal-spec-row .spec-label {
    margin-bottom: 5px;
  }
}

/*--------------------------------------------------------------
# Our Story
--------------------------------------------------------------*/
	
.our-story .section-title {
  background: #fff;
}

.our-story .section-title h2 {
  color: var(--main-color);
  font-size: 10rem;  
  margin-bottom: 0;
  padding-bottom: 0;
}	

.our-story .section-title p {
  font-size: 1.5rem;
  line-height: 1.3;
  text-align: left;
  max-width: 500px;
}	

@media (max-width: 1200px) {
  .our-story .section-title h2 {  
    font-size: 9rem;
  }  
}	

@media (max-width: 991px) {
  .our-story .section-title p {  
    margin: auto;
	text-align: center;
	padding: 20px;
    font-size: 1.5rem;
  }	
  .our-story .section-title h2 {  
    font-size: 8rem;
  }  
}	

@media (max-width: 440px) {
  .our-story .section-title h2 {  
    font-size: 6rem;
  }  
}

/*--------------------------------------------------------------
# Positioning
--------------------------------------------------------------*/
.positioning {
  background: var(--light-grey);	
}
	
.positioning .section-title h2 {
  color: var(--main-color);
  margin-bottom: 0;
}	

.positioning .mobile-break {
  display: none;
}	

.positioning .section-title p {
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 20px auto;
}

.positioning .proof-point {
  text-align: center;
  padding: 2rem 1rem 0 1rem;
  transition: transform 0.3s ease;
}

.positioning .proof-point:hover {
  transform: translateY(-12px);
}


.positioning .proof-point p {
  font-size: 1.1rem;
}

.positioning .proof-point .icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.positioning .proof-point svg {
  fill: var(--main-color);
}

@media (max-width: 768px) {
  .positioning .mobile-break {
    display: inline;
  }		
}	

/*--------------------------------------------------------------
# Our Foundation
--------------------------------------------------------------*/
	
.our-foundation .section-title {
  background: #fff;
}

.our-foundation .section-title h3 {
  color: var(--main-color);
  text-align: left;
  letter-spacing: 1.5px;
}	

.our-foundation .section-title .large-right {
  text-align: right;
}	

.our-foundation .section-title p {
  font-size: 2rem;
  line-height: 1.3;
  text-align: left;
}	

.our-foundation .section-title p .large-right {
  text-align: right;
}	

.our-foundation img {
  border-radius: var(--container-radius);
}

.our-foundation .image-hover {
  overflow: hidden; /* Keeps zoomed image inside */
  border-radius: var(--container-radius); /* Optional if you're using rounded cards */
}

.our-foundation .image-hover img {
  transition: transform 0.5s ease;
  display: block; /* Prevents tiny bottom gap */
}

.our-foundation .image-hover:hover img {
  transform: scale(1.1); /* Adjust zoom amount */
}

@media (max-width: 991px) {
  .our-foundation .section-title p {  
    margin: auto;
	text-align: left;
	padding: 0 20px 20px 20px;
  }	
  .our-foundation .section-title h3,
  .our-foundation .section-title .large-right,
  .our-foundation .section-title p  {
	text-align: center;
  }
}	

@media (max-width: 768px) {
  .our-foundation .section-title p {  
    font-size: 1.5rem;
  }	

  .our-foundation {  
    padding-bottom: 30px;
  }	  
}

/*--------------------------------------------------------------
# Kandi Philosophy
--------------------------------------------------------------*/
	
.philosophy .section-title {
  --background: #fff;
}

.philosophy .section-title h1 {
  color: var(--main-color);
  text-align: center;  
}	

.philosophy h1 {
  color: var(--main-color);
  text-align: left;
}	

.philosophy .section-title .large-right {
  text-align: right;
}	

.philosophy .section-title p {
  font-size: 1.1rem;
  line-height: 1.5;
  text-align: left;
}	

.philosophy .section-title .text-right {
  text-align: right;
}	

.philosophy img {
  border-radius: var(--container-radius);
}

.philosophy .image-hover {
  overflow: hidden; /* Keeps zoomed image inside */
  border-radius: var(--container-radius); /* Optional if you're using rounded cards */
}

.philosophy .image-hover img {
  transition: transform 0.5s ease;
  display: block; /* Prevents tiny bottom gap */
}

.philosophy .image-hover:hover img {
  transform: scale(1.1); /* Adjust zoom amount */
}

@media (max-width: 991px) {
  .philosophy .section-title p {  
    margin: auto;
	text-align: left;
	padding: 0 20px 20px 20px;
  }	
  .philosophy .section-title .text-right {  
	text-align: center;
  }	  
  .philosophy .section-title h1,
  .philosophy .section-title .large-right,
  .philosophy .section-title p  {
	text-align: center;
  }
}	

@media (max-width: 768px) {

  .philosophy {  
    padding-bottom: 30px;
  }	  
}

/*--------------------------------------------------------------
# Our Approach
--------------------------------------------------------------*/

.our-approach .section-title h1 {
  color: var(--main-color);
  text-align: center;  
}	

.our-approach h1 {
  color: var(--main-color);
  text-align: left;
}	

.our-approach p strong {
  color: #000; 
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: 1rem;
}

/* Image */
.our-approach img {
  border-radius: var(--container-radius);
}

.our-approach .image-hover {
  overflow: hidden; /* Keeps zoomed image inside */
  border-radius: var(--container-radius); /* Optional if you're using rounded cards */
}

.our-approach .image-hover img {
  transition: transform 0.5s ease;
  display: block; /* Prevents tiny bottom gap */
}

.our-approach .image-hover:hover img {
  transform: scale(1.1); /* Adjust zoom amount */
}

.our-approach-divider {
  width: 100%;
  height: 1px;
  background-color: #efefef; 
  margin: 3rem auto;
  border-radius: 2px;
}

/* List Styling */
.our-approach .philosophy-points, .our-approach .feature-list {
  list-style: none;
  padding-left: 0;
  margin-top: 1.5rem;
}

.our-approach .philosophy-points li, .our-approach .feature-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  font-weight: 500;
  color: #444;
}

.our-approach .philosophy-points li i, .our-approach .feature-list li i {
  color: var(--main-color);
}

/* Custom Bullet: A small geometric shape fits Kandi's vibe */
.our-approach .philosophy-points li::before, .our-approach .feature-list li::before {
  content: ""; 
  position: absolute;
  left: 0;
  color: var(--main-color);
  font-weight: bold;
}

/*--------------------------------------------------------------
# Dealer Support
--------------------------------------------------------------*/
.dealer-support .section-title h1 {
  color: var(--main-color);
  text-align: center; 
}	

.dealer-support .section-title h2 {
  margin-bottom: 0;  
}	


.dealer-support .section-title p {
  max-width: 700px;  
  margin: auto;
  padding-bottom: 30px;
  font-size: 1.1rem;    
}	

.dealer-support .dealer-card {
  background: #fff;	
  padding: 40px;
  border-radius: var(--container-radius); 
  display: flex;
  flex-direction: column;
  height: 100%;   
  transition: all 0.4s ease;
}
	
.dealer-support .dealer-card:hover {	
  transform: translateY(-5px);
  box-shadow: 0 20px 40px color-mix(in srgb, #000, transparent 85%);
}
  
.dealer-support .sub-section h1 {
  color: var(--main-color);
  text-align: center;
  font-size: 1.8rem;  
}	

.dealer-support .sub-section p {
  font-size: 1.1rem;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 20px;  
}	

.dealer-support .sub-section li i {
  color: var(--main-color);
}	

.dealer-support .sub-section li h6 {
  font-size: 15px;
  font-family: Roboto, "sans-serif";
  text-transform: uppercase;
  font-weight: 700;
}	

.dealer-support .sub-section li p {
  text-align: left;
  padding: 0;
  font-size: 15px;
}	



/*=============================================================
# Northstar Section
===============================================================*/

.northstar {
  background: #fff;
}

.northstar .cta-wrapper {
  position: relative;
  overflow: hidden; 
  min-height: 200px;
  display: flex;
  align-items: center;
  border-radius: var(--container-radius);
  background-color: #fff;
  z-index: 1;
}

.parallax-bg {
  position: absolute;
  top: -50%; /* Center the overflow image */
  left: 0;
  width: 100%;
  height: 200%; 
  background-image: url("../img/kandi-bg-blue.webp") !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* CRITICAL: Remove background-attachment: fixed if it is there */
  background-attachment: scroll; 
  z-index: -1;
  will-change: transform;
}

.northstar .cta-content {
  position: relative;
  z-index: 2;
  padding: 6rem 3rem;
  pointer-events: none;
  text-align: center;
}

/*--------------------------------
# Typography
----------------------------------*/
.northstar .cta-content h2 {
  font-size: 10rem;
  font-weight: 400;
  color: #fff;
  line-height: 0.8;
  padding-top: 10px;
}


/*--------------------------------
# Responsive / Mobile Styles
---------------------------------*/
@media (max-width: 992px) {
  .northstar .cta-content h2 {
    font-size: 8rem;
  }
}

@media (max-width: 768px) {
  .northstar .cta-wrapper {
    padding: 2rem;
  }
  .northstar .cta-content h2 {
    font-size: 6rem;
  }
}

@media (max-width: 470px) {
  .northstar .cta-content h2 {
    font-size: 5rem;
  }
  .northstar .cta-content {
    padding: 2rem 1rem;
  }  
}

/*--------------------------------------------------------------
# The Kandi Promise
--------------------------------------------------------------*/
.kandi-promise {
  background: #fff;	
  padding-top: 10px;
}
	
.kandi-promise .section-title h2 {
  color: var(--main-color);
  margin-bottom: 0;
}	

.kandi-promise .section-title p {
  font-size: 2rem;
  max-width: 1000px;
  margin: 0 auto 20px auto;
}

@media (max-width: 768px) {
  .kandi-promise .section-title p {
    font-size: 1.5rem;
  }
}

/*--------------------------------------------------------------
# Next Steps Section
--------------------------------------------------------------*/
.next-steps {
  padding-top: 0;	
}	

.next-steps .next-steps-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid color-mix(in srgb, var(--light-grey), transparent 0%);
  border-radius: var(--container-radius);
  overflow: hidden;
  background: #fff;
}

.next-steps .next-steps-item {
  padding: 3rem 2.5rem;
  position: relative;
  transition: all 0.4s ease;
}

.next-steps .next-steps-item:nth-child(1) {
  border-right: 1px solid color-mix(in srgb, var(--light-grey), transparent 0%);
}

.next-steps .next-steps-item:nth-child(3) {
  border-right: 1px solid color-mix(in srgb, var(--light-grey), transparent 0%);
}

.next-steps .next-steps-item:hover {
  background: color-mix(in srgb, var(--light-grey), transparent 0%);
  transform: translateY(-2px);
}

.next-steps .next-steps-item:hover .next-steps-content {
    height: 90%;
}

.next-steps .next-steps-item .next-steps-content {
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}

.next-steps .next-steps-item .next-steps-icon {
  margin-bottom: 1rem;
}

.next-steps .next-steps-item .next-steps-icon svg {
  fill: #000;
  width: 80px;
  height: 80px;
}

.next-steps .next-steps-item .next-steps-label {
  color: var(--main-color);
  font-family: "Bebas Neue", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: 0.01em;
  line-height: 0.9;
}

.next-steps .next-steps-item .next-steps-description {
  color: #000;
  font-size: 1.1rem;
  line-height: 1.6;
  font-weight: 400;
  margin: 0;
  max-width: 250px;
}

.next-steps .next-steps-item .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
  margin-top: 15px;
}

.next-steps .next-steps-item .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.next-steps .finance-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}	

.next-steps .finance-logo img {
  width: 140px;  
}	

@media (max-width: 992px) {
  .next-steps .next-steps-container {
    gap: 0;
  }

  .next-steps .next-steps-item {
    padding: 2.5rem 2rem;
  }
}

@media (max-width: 768px) {
  .next-steps .next-steps-container {
    grid-template-columns: 1fr;
  }

  .next-steps .next-steps-item {
    padding: 2rem 1.5rem;
  }

  .next-steps .next-steps-item:nth-child(1) {
    border-right: none;
    border-bottom: 1px solid color-mix(in srgb, var(--light-grey), transparent 0%);
  }

  .next-steps .next-steps-item .next-steps-description {
    max-width: 300px;
  }
}

/*--------------------------------------------------------------
# Electric Advantage Page
--------------------------------------------------------------*/
.advantage {
  background: #fff;	
}
	
.advantage .section-title h2 {
  color: var(--main-color);
  margin: 0 auto;
  max-width: 900px;
}	

.advantage .mobile-break {
  display: none;
}	

.advantage .section-title p {
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 20px auto;
}

.advantage .proof-point {
  text-align: center;
  padding: 2rem 1rem 0 1rem;
  transition: transform 0.3s ease;
}

.advantage .proof-point:hover {
  transform: translateY(-12px);
}

.advantage .proof-point.no-hover:hover {
  transform: none;
}

.advantage .proof-point p {
  font-size: 1.1rem;
}

.advantage .proof-point .icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.advantage .proof-point svg {
  fill: var(--main-color);
}

.advantage .proof-point i {
  color: var(--main-color);
  font-size: 36px;
}

.advantage .proof-point i:hover {
  color: #000;
}


@media (max-width: 768px) {
  .advantage .mobile-break {
    display: inline;
  }		
}	

/*--------------------------------
# Divider Image
---------------------------------*/
.image-divider {
  padding: 0;	
}	
.image-divider .feature-image {
  position: relative;
  overflow: hidden;
  border-radius: var(--container-radius);
  width: 100%;
  height: 450px; 
  margin: 30px 0;
}

.image-divider .feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
  transition: transform 0.5s ease;
}

@media (max-width: 768px) {
  .image-divider .feature-image {
    height: auto; 

  }	
  .image-divider .feature-image img {
    height: auto;
	aspect-ratio: 16/9;
  }
}
	

/*--------------------------------
# Blog Hero Image
---------------------------------*/
.blog-img {
  padding: 0;	
}	

.blog-img .feature-image {
  position: relative;
  overflow: hidden;
  border-radius: var(--container-radius);
	aspect-ratio: 16/9;
  margin: 30px 0;
}

.blog-img .feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
  transition: transform 0.5s ease;
}

@media (max-width: 768px) {
  .blog-img .feature-image {
    height: auto; 

  }	
  .blog-img .feature-image img {
    height: auto;
	aspect-ratio: 16/9;
  }
}
		


/*--------------------------------------------------------------
# Blog Section
--------------------------------------------------------------*/
.blog .section-title h2 {
  color: var(--main-color);	
  margin-bottom: 0;
}

.blog .section-title p {
  max-width: 700px;	
  margin: auto;
}

.blog .card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.blog .card-link:hover {
  text-decoration: none;
  color: inherit;
}

.blog .blog-posts .blog-info {
  background: #fff;
  transition: all 0.4s ease;
  height: 100%;
  border-radius: var(--container-radius);
    position: relative;
  overflow: hidden;
}

.blog .blog-posts .blog-info .date-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  background: #01a2e0;
  color: #fff;
  padding: 12px 14px;
  border-radius: var(--container-radius);
  text-align: center;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  z-index: 2;
}

.blog .blog-posts .blog-info .date-badge .day {
  display: block;
  font-size: 22px;
  font-weight: 700;
}

.blog .blog-posts .blog-info .date-badge .month {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: 2px;
}

.blog .blog-posts .blog-info .date-badge .year {
  display: block;
  font-size: 10px;
  margin-top: 2px;
  font-weight: 500;
}

.blog .blog-posts .blog-info .card-image {
  overflow: hidden;
  height: 250px;
  border-radius: var(--container-radius);  
}

.blog .blog-posts .blog-info .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog .blog-posts .blog-info .card-body {
  padding: 2.5rem 2rem;
}

.blog .blog-posts .blog-info .card-meta {
  font-size: .8rem;
  font-weight: 600;
  color: #01a2e0;
  margin-bottom: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.blog .blog-posts .blog-info .card-body h5 {
  font-size: 1.375rem;
  font-weight: 400;
  margin-bottom: 1rem;
}

.blog .blog-posts .blog-info .card-body p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: color-mix(in srgb, #000, transparent 25%);
  margin-bottom: 2rem;
}

.blog .blog-posts .blog-info .card-body .read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #000;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.3s ease;
}

.blog .blog-posts .blog-info .card-body .read-more i {
  transition: transform 0.3s ease;
}

.blog .blog-posts .blog-info:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px color-mix(in srgb, #000, transparent 85%);
}

.blog .blog-posts .blog-info:hover h5 {
  color: var(--main-color);
}

.blog .blog-posts .blog-info:hover .read-more {
  color: var(--main-color);
}

.blog .blog-posts .blog-info:hover .read-more i {
  transform: translateX(3px);
}

.blog .blog-posts .blog-info:hover .card-image img{
  transform: scale(1.05);
}

.blog .blog-posts .blog-info:hover .card-image {
  border-radius: 5px 5px 0px 0px;
}

.blog .pagination .page-link {
  color: #01a2e0;
  border-radius: 8px;
  margin: 0 4px;
  transition: all 0.2s ease;
}

.blog .pagination .page-link:hover {
  background: #01a2e0;
  color: #fff;
}

.blog .pagination .page-item.active .page-link {
  background: #01a2e0;
  border-color: #01a2e0;
  color: #fff;
}

@media (max-width: 768px) {
  .blog {
    padding: 80px 0;
  }

  .blog .intro-content {
    margin-bottom: 3rem;
  }

  .blog .blog-posts .blog-info .card-body {
    padding: 2rem 1.5rem;
  }
}

/*--------------------------------------------------------------
# Blog Details
--------------------------------------------------------------*/
.blog-details {
  padding-top: 30px;	
}	

.blog-details a {
  color: var(--main-color);	
}
	
.blog-details a:hover {
  text-decoration: underline;
}		


section.blog-details {
  overflow: visible;	
}

.blog-details .article {
  padding-top: 30px;
}

.blog-details .article .article-wrapper {
  padding-top: 90px;
  border-top: 1px solid color-mix(in srgb, #000, transparent 90%);  
}	

.blog-details .article .article-date {
  color: var(--medium-grey);
  font-size: 1rem;
  font-style: italic;
  float: right;
  text-align: right;
}
	
.blog-details .section-title h2 {
  color: var(--main-color);	
  margin: 0 auto;
  max-width: 900px;
}

.blog-details .section-title p {
  max-width: 700px;
  margin: auto;
  font-size: 1.1rem;
}

.blog-details .article-header {
  max-width: 800px;
  margin: 0 auto 3rem;
  text-align: center;
}

.blog-details .article-wrapper {
  display: grid;
  grid-template-columns: minmax(200px, 300px) 1fr;
  gap: 3rem;
  position: relative;
  align-items: start;  
}

@media (max-width: 992px) {
  .blog-details .article-wrapper {
    grid-template-columns: 1fr;
  }
}

.blog-details .article-wrapper .table-of-contents {
  position: -webkit-sticky;	
  position: sticky;
  top: 100px;
  height: fit-content;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

@media (max-width: 992px) {
  .blog-details .article-wrapper .table-of-contents {
    display: none;
  }
}

.blog-details .article-wrapper .table-of-contents h3 {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: #000;
}

.blog-details .article-wrapper .table-of-contents nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-details .article-wrapper .table-of-contents nav ul li {
  margin-bottom: 0.75rem;
}

.blog-details .article-wrapper .table-of-contents nav ul li a {
  color: color-mix(in srgb, #000, transparent 30%);
  text-decoration: none;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  padding-left: 1rem;
  position: relative;
}

.blog-details .article-wrapper .table-of-contents nav ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--main-color);
  transform: translateY(-50%);
  opacity: 0;
  transition: all 0.3s ease;
}

.blog-details .article-wrapper .table-of-contents nav ul li a:hover,
.blog-details .article-wrapper .table-of-contents nav ul li a.active {
  color: var(--main-color);
}

.blog-details .article-wrapper .table-of-contents nav ul li a:hover::before,
.blog-details .article-wrapper .table-of-contents nav ul li a.active::before {
  opacity: 1;
}

.blog-details .article-wrapper .article-content {
  font-size: 1.1rem;
  line-height: 1.8;
}

.blog-details .article-wrapper .article-content .content-section {
  margin-bottom: 4rem;
  scroll-margin-top: 120px;
}

@media (max-width: 1199px) {
  .blog-details .article-wrapper .article-content .content-section {
    scroll-margin-top: 90px;
  }
}

.blog-details .article-wrapper .article-content .content-section .lead {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--main-color);
  margin-bottom: 2rem;
}

.blog-details .article-wrapper .article-content .content-section h2 {
  font-size: 2.2rem;
  color: var(--main-color);
  margin-bottom: 1.5rem;
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote {
  margin: 3rem 0;
  padding: 3rem;
  background: var(--light-grey);
  border-radius: 12px;
  position: relative;
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote::before {
  content: "“";
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 5rem;
  color: color-mix(in srgb, #000, transparent 85%);
  font-family: serif;
  line-height: 1;
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote blockquote {
  padding-left: 3rem;
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote blockquote p {
  font-size: 1.5rem;
  font-style: italic;
  color: #000;
  margin-bottom: 1rem;
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote blockquote cite {
  font-style: normal;
  color: #000;
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption {
  margin: 2rem 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption.right {
  float: right;
  max-width: 450px;
  margin: 0 0 2rem 2rem;
}

@media (max-width: 768px) {
  .blog-details .article-wrapper .article-content .content-section .image-with-caption.right {
    float: none;
    max-width: 100%;
    margin: 2rem 0;
  }
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption img {
  width: 100%;
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption figcaption {
  padding: 1rem;
  background: #fff;
  text-align: center;
  font-size: 0.9rem;
  color: #000;
}

.blog-details .article-wrapper .article-content .content-section .feature-points {
  display: grid;
  gap: 2rem;
  margin: 2rem 0;
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point i {
  font-size: 2rem;
  color: var(--main-color);
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point h4 {
  margin: 0 0 0.5rem;
  color: #000;
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point p {
  margin: 0;
  font-size: 1rem;
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid {
  margin: 2rem 0;
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card {
  background: #fff);
  border-radius: 12px;
  padding: 2rem;
  height: 100%;
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card .icon {
  margin-bottom: 1rem;
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card .icon i {
  font-size: 2rem;
  color: var(--main-color);
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card h4 {
  color: var(--main-color);
  margin-bottom: 1rem;
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card ul {
  padding-left: 1.2rem;
  margin: 0;
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card ul li {
  margin-bottom: 0.5rem;
  color: color-mix(in srgb, #000, transparent 15%);
}

.blog-details .article-wrapper .article-content .content-section .key-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin: 3rem 0;
}

@media (max-width: 768px) {
  .blog-details .article-wrapper .article-content .content-section .key-principles {
    grid-template-columns: 1fr;
  }
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle {
  text-align: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  position: relative;
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle .number {
  position: absolute;
  top: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--main-color);
  color: #fff;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: bold;
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle h4 {
  color: #000;
  margin: 1rem 0;
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle p {
  margin: 0;
  font-size: 0.95rem;
}

.blog-details .article-wrapper .article-content .content-section .info-box {
  display: flex;
  gap: 1.5rem;
  padding: 2rem;
  background: var(--light-grey);
  border-radius: 12px;
  margin: 2rem 0;
}

.blog-details .article-wrapper .article-content .content-section .info-box .icon i {
  font-size: 2.5rem;
  color: var(--main-color);
}

.blog-details .article-wrapper .article-content .content-section .info-box .content h4 {
  color: var(--main-color);
  margin-bottom: 0.5rem;
}

.blog-details .article-wrapper .article-content .content-section .info-box .content p {
  margin: 0;
}

.blog-details .article-wrapper .article-content .content-section .future-trends {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin: 2rem 0;
}

@media (max-width: 768px) {
  .blog-details .article-wrapper .article-content .content-section .future-trends {
    grid-template-columns: 1fr;
  }
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend {
  text-align: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  transition: transform 0.3s ease;
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend:hover {
  transform: translateY(-5px);
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend i {
  font-size: 2.5rem;
  color: var(--main-color);
  margin-bottom: 1rem;
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend h4 {
  color: #000;
  margin-bottom: 1rem;
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend p {
  margin: 0;
  font-size: 0.95rem;
}

.blog-details .article-footer {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid color-mix(in srgb, #000, transparent 90%);
}

.blog-details .article-footer h4 {
  color: var(--main-color);
  margin-bottom: 1.5rem;
}

.blog-details .article-footer .share-article {
  margin-bottom: 3rem;
}

.blog-details .article-footer .share-article .share-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.blog-details .article-footer .share-article .share-buttons .share-button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.5rem;
  background: #fff;
  border-radius: var(--container-radius);
  color: #000;
  text-decoration: none;
  transition: all 0.3s ease;
}

.blog-details .article-footer .share-article .share-buttons .share-button i {
  font-size: 1.2rem;
}

.blog-details .article-footer .share-article .share-buttons .share-button:hover {
  background: var(--main-color);
  color: #fff;
  transform: translateY(-2px);
}

.blog-details .article-footer .share-article .back-button {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.blog-details .article-footer .share-article .back-button .back-to-blog{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.5rem;
  background: var(--main-color);
  border-radius: var(--container-radius);
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
}

.blog-details .article-footer .share-article .back-button .back-to-blog:hover {
  background: #000;
  color: #fff;
  transform: translateY(-2px);
}


/*--------------------------------------------------------------
# Support
--------------------------------------------------------------*/
.support {
  background: var(--light-grey);	
}
	
.support .section-title h2 {
  color: var(--main-color);
  margin-bottom: 0;
}	

.support .section-title h4 {
  color: var(--main-color);
  margin-bottom: 0;
}	

.support .mobile-break {
  display: none;
}	

.support .proof-point img {
  max-width: 200px;
}

.support .section-title p {
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 40px auto;
}

.support .proof-point {
  text-align: center;
  align-items: center;
  padding: 2rem 1rem;
  transition: transform 0.3s ease;
  background: #fff;
  border-radius: var(--container-radius);
  display: flex;
  flex-direction: column; /* Keeps content stacked vertically */
  width: 100%;  
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 20px color-mix(in srgb, #000, transparent 90%);  
}

.support .proof-point::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px; /* Thickness of your border */
  background: var(--main-color);
  transform: scaleX(0); /* Hidden by default */
  transition: transform 0.3s ease;
}

.support .proof-point:hover::after {
  transform: scaleX(1); /* Slides out to full width on hover */
}

.support .proof-point:hover {
  transform: translateY(-12px);
}

.support .proof-point p {
  font-size: 1rem;
}

.support .proof-point .icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.support .proof-point svg {
  fill: var(--main-color);
}


.support .proof-point i {
  font-size: 40px;
  color: var(--main-color);
}

.support .proof-point .hover-icon {
  display: none;
}

.support .proof-point:hover .normal-icon {
  display: none;
}

.support .proof-point:hover .hover-icon {
  display: inline-block;
}

.support .proof-point .icon-hover i {
  transition: transform 0.3s ease;
}

.support .proof-point .card-content h2{
  font-size: 1.6rem;
}
	
.support .proof-point .card-links span {
  display: block;
}
	
.support .proof-point .card-links .support-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 12px;
  text-transform: uppercase;
  font-family: "Roboto";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 600;
  transition: all 0.3s ease;
}

.support .proof-point .card-links .support-btn a:hover {
  background-color: #000;
}	


.legacy-vehicles {
  max-height: 0; 
  overflow: hidden;
  transition: max-height 1.0s ease;
  display: flex;
  flex-wrap: wrap;
  padding-top: 50px;
}

.legacy-vehicles.show {
  max-height: 600px; 
}

.support .legacy-vehicles .list-group-item:hover {
  color: var(--main-color);	
  font-weight: 600;
}	

/*--------------------------------
# Button
---------------------------------*/
.support .section-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 60px;
}
	
.support .section-btn .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: #000;
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.support .section-btn .btn-primary:hover {
  background-color: var(--main-color);
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}	



@media (min-width: 450px) and (max-width: 768px) {
  .support .proof-point {
    flex-direction: row;      /* Switch from vertical to horizontal */
    align-items: center;  /* Align icon and text to the top */
    text-align: left;         /* Align text to the left */
    padding: 1.25rem;         /* Slightly tighter padding for mobile */
    gap: 15px;                /* Space between icon and text content */
  }

  .support .proof-point .icon {
    flex: 0 0 50px;
    height: 50px;
    margin-bottom: 0;
  }

  .support .proof-point .card-content {
    flex: 1; 
  }
  
  .support .proof-point .manuals-content {
    flex: 1; 
	text-align: center;
  }  

  .support .proof-point h2 {
    font-size: 1.5rem;        
    margin-bottom: 4px;
  }
  

  .support .proof-point p {
    font-size: 0.9rem;
    margin-bottom: 0;
  }

  .support .proof-point .card-links {
    flex-direction: column;
    gap: 4px;
	align-items: center;
  }  
}

@media (max-width: 768px) {
  .support .proof-point.faq {
    flex-direction: row;  
    align-items: center;
    text-align: left; 
    padding: 1.25rem;
    gap: 15px;   
	justify-content: space-between;
	width: 100%
  }
    .support .proof-point.faq .card-content {
    flex: 1; 
  }
}


/*--------------------------------------------------------------
# Warranty
--------------------------------------------------------------*/
.warranty {
  background: #fff;	
  padding-bottom: 20px;
}
	
.warranty .section-title h2 {
  color: var(--main-color);
  margin-bottom: 0;
}	

.warranty .section-title h4 {
  color: var(--main-color);
  margin-bottom: 0;
}	

.warranty .section-title p {
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 40px auto;
}

.warranty .proof-point {
  text-align: left;
  align-items: flex-start;
  padding: 2rem 2rem;
  transition: transform 0.3s ease;
  background: #fff;
  border-radius: var(--container-radius);
  display: flex;
  flex-direction: row; /* Keeps content stacked vertically */
  width: 100%;  
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 20px color-mix(in srgb, #000, transparent 90%);  
}
  
.warranty .proof-point::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px; /* Thickness of your border */
  background: var(--main-color);
  transform: scaleX(0); /* Hidden by default */
  transition: transform 0.3s ease;
}

.warranty .proof-point:hover::after {
  transform: scaleX(1); /* Slides out to full width on hover */
}

.warranty .proof-point:hover {
  transform: translateY(-12px);
}

.warranty .proof-point p {
  font-size: 1rem;
}

.warranty .proof-point .bullet-point {
    display: flex;
    align-items: flex-start; /* aligns icon with top of text */
    gap: 12px; /* space between icon and text */
    margin-bottom: 12px;
	padding-top: 15px;
}

.warranty .proof-point .bullet-point i {
  font-size: 1.5rem;
  color: var(--main-color);
  min-width: 30px; /* ensures all icons align */
}

.warranty .proof-point .bullet-text {
  display: flex;
  flex-direction: column; /* stack h5 and p vertically */
}

.warranty .proof-point .bullet-text h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  font-family: Roboto, "sans-serif";
}

.warranty .proof-point .bullet-text p {
  margin: 0;
  font-size: 0.95rem;
  color: #555;
}

.warranty .proof-point .card-content h2 {
  font-size: 2rem;
}

.warranty .coverage-cards {
  margin-top: 20px;
}	

.warranty .alert-kandi {
  background: var(--light-grey);	
}	

.warranty .alert-text {
  margin-top: var(--light-grey);	
}	




/*--------------------------------------------------------------
# Common Questions
--------------------------------------------------------------*/
.faq .faq-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.faq .faq-item {
  border-radius: var(--container-radius);
  background: #efefef;
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
  overflow: hidden;
}

.faq .faq-item:last-child {
  margin-bottom: 0;
}

.faq .faq-item:hover {
  transform: translateY(-2px);
}

.faq .faq-item:hover .faq-header h4 {
  color: var(--main-color);
}

.faq .faq-item.faq-active .faq-header .faq-icon {
  color: var(--main-color);
}

.faq .faq-item.faq-active .faq-header h4 {
  color: var(--main-color);
}

.faq .faq-item.faq-active .faq-header .faq-toggle {
  color: var(--main-color);
}

.faq .faq-item.faq-active .faq-header .faq-toggle i {
  transition: transform 0.3s ease;
}

.faq .faq-item.faq-active .faq-header .faq-toggle i {
  transform: rotate(135deg) scale(1.1);
}

.faq .faq-item:hover .faq-header .faq-toggle {
  color: var(--main-color);
}


.faq .faq-item.faq-active .faq-content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
}

.faq .faq-item .faq-header {
  display: flex;
  align-items: center;
  padding: 25px;
  cursor: pointer;
  gap: 20px;
}

.faq .faq-item .faq-header .faq-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--light-grey);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--main-color);
  font-size: 30px;
  transition: all 0.3s ease;
}

.faq .faq-item .faq-header h4 {
  flex: 1;
  margin: 0;
  font-size: 1.1rem;
  font-family: Roboto, "sans-serif";
  font-weight: 600;
  color: #000;
  transition: color 0.3s ease;
  line-height: 1.4;
}

.faq .faq-item .faq-header .faq-toggle {
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: var(--light-grey);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 25px;
  transition: all 0.3s ease;
  position: relative;
  -webkit-text-stroke: 1px;
  text-stroke: 1px;  
}

.faq .faq-item .faq-header .faq-toggle i {
  position: absolute;
  transition: all 0.3s ease;
}


.faq .faq-item .faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  opacity: 0;
}

.faq .faq-item.faq-active .faq-content {
  max-height: 500px; /* big enough to fit content */
  opacity: 1;
}

.faq .faq-item .faq-content .content-inner {
  padding: 0 25px 25px 25px;
  overflow: hidden;
}

.faq .faq-item .faq-content .content-inner p {
  margin: 0;
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  line-height: 1.6;
  font-size: 0.95rem;
  overflow: hidden;
}

/*--------------------------------
# Button
---------------------------------*/
.faq .section-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}
	
.faq .section-btn .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.faq .section-btn .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}	

@media (max-width: 768px) {
  .faq .faq-item .faq-header {
    padding: 20px;
    gap: 15px;
  }

  .faq .faq-item .faq-header .faq-icon {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .faq .faq-item .faq-header h4 {
    font-size: 1rem;
  }

  .faq .faq-item .faq-header .faq-toggle {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .faq .faq-item .faq-content .content-inner {
    padding: 0 20px;
  }

  .faq .faq-item.faq-active .faq-content .content-inner {
    padding-bottom: 20px;
  }
}

/*--------------------------------------------------------------
# Video Guides
--------------------------------------------------------------*/
.video-guides {
  background: var(--light-grey);	
}

.video-guides .section-title h2 {
  margin-bottom: 0;
  color: var(--main-color);
}	
	
.video-guides .section-title p {
  max-width: 700px;	
  margin: auto;
  font-size: 1.1rem;
  padding: 0 20px 50px 20px;
}	

.video-guides .closing-statement p {
  padding-top: 20px;
  text-align: center;
}

.video-guides .video-item {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: visible; /* allow shadows to show */
  box-shadow: 0 0 20px rgba(0,0,0,0.08);
  position: relative;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  z-index: 1;
  overflow: hidden; /* clip thumbnail zoom */  
}

.video-guides .video-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 18px 40px rgba(0,0,0,0);
}

.video-guides .video-item:hover .video-info h4 {
  color: var(--main-color);
}

/* Thumbnail */

.video-guides .video-thumbnail {
  position: relative;
  overflow: hidden;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;  
}

.video-guides .video-thumbnail::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none; /* IMPORTANT */
}

.video-guides .video-thumbnail img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  transition: transform 0.5s ease;
}

/* Thumbnail zoom */
.video-guides .video-item:hover .video-thumbnail img {
  transform: scale(1.08);
}

/* Dark overlay */
.video-guides .video-thumbnail::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none; /* allow clicks through overlay */
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.video-guides .video-item:hover .video-thumbnail::after {
  opacity: 1;
}

/* Play Button */

.video-guides .play-btn {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  font-size: clamp(48px, 5vw, 64px);
  color: rgba(255,255,255,0.9);
  opacity: 0.95;
  transition: transform 0.35s ease, color 0.3s ease;
  animation: playPulse 2.6s ease-in-out infinite;
}

.video-guides .video-item:hover .play-btn {
  transform: translate(-50%, -50%) scale(1.05);
  animation: none; /* pause pulse on hover to prevent snapping */
}

.video-guides .play-btn:hover {
  color: var(--main-color);
  cursor: pointer;
}

/* Pulse animation */
@keyframes playPulse {
  0%   { transform: translate(-50%, -50%) scale(0.95); }
  50%  { transform: translate(-50%, -50%) scale(1.05); }
  100% { transform: translate(-50%, -50%) scale(0.95); }
}

/* Video Info */

.video-guides .video-info {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.video-guides .video-info h4 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.7rem;
  margin-bottom: 10px;
  transition: color 0.3s ease;
}

.video-guides .video-info p {
  font-size: 1rem;
  color: #5a5a5a;
  margin-bottom: 0;
  flex-grow: 1;
}

/* Button */
.video-guides .section-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}
	
.video-guides .section-btn .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: var(--button-radius);
  font-size: 18px;
  font-family: "Bebas Neue";
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 400;
  transition: all 0.3s ease;
}

.video-guides .section-btn .btn-primary:hover {
  background-color: #000;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}	

/* Swiper Controls */
.video-guides .swiper {
  overflow: visible; /* Swiper was clipping the card shadow */
  display: flex;
  justify-content: center; /* center cards */
  padding-bottom: 60px; 
}

@media (min-width: 1200px) {
  .video-guides .swiper {
      --padding-bottom: 20px;
  }	  
}	

.video-guides .swiper-wrapper {
  display: flex;
  align-items: stretch; 
}

.video-guides .swiper-slide {
  height: auto; 
  display: flex;
}

.video-guides .swiper-slide:hover {
  transform: none !important;
}

.video-guides .swiper-controls {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 20px;
}

.video-guides .swiper-pagination {
  position: static;
  display: flex;
  align-items: center;
  gap: 6px;
}

.video-guides .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: color-mix(in srgb, var(--main-color), transparent 0%);
  border-radius: 10px;
  opacity: 1;
  transition: all 0.4s ease;
}

.video-guides .swiper-pagination .swiper-pagination-bullet-active {
  width: 32px;
  background: var(--main-color);
}

.video-guides .swiper-button-prev,
.video-guides .swiper-button-next {
  position: static;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--medium-grey);
  opacity: 0.6;
  transition: all 0.3s ease;
}

.video-guides .swiper-button-next::after,
.video-guides .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 600;
}

.video-guides .swiper-button-next:hover,
.video-guides .swiper-button-prev:hover {
  color: var(--main-color);
  opacity: 1;
}

/* Hide pagination bullets and arrows when locked */
.video-guides .swiper-pagination.swiper-pagination-lock {
  display: none;
}

.video-guides .swiper-button-prev.swiper-button-lock,
.video-guides .swiper-button-next.swiper-button-lock {
  display: none;
}

/* Default bottom padding */
.video-guides .swiper {
  padding-bottom: 60px; /* default padding when pagination visible */
  transition: padding 0.3s ease;
}

/*--------------------------------------------------------------
# iframe
--------------------------------------------------------------*/
.iframe-wrapper {
  position: relative;
  width: 100%;
  height: 850px;
  background: #fff;
  overflow: hidden;
  display: flex;
  justify-content: center;  
}

/* iframe */
.iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  opacity: 0;
  transition: opacity .4s ease;
}

/* loader container */
.iframe-loader {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;  
  align-items: center;
  justify-content: flex-start;
  background: #fff;
  z-index: 10;
  gap: 20px;
  padding-top: 60px;
}

.loader-text {
  font-family: 'Roboto', sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: #333;
  margin-top: 15px;
  transition: opacity 0.3s ease;
}

/* thin EV-style ring */
.loader-ring {
  width: 44px;
  height: 44px;
  border: 3px solid #efefef;
  border-top: 3px solid #01a2e0;
  border-radius: 50%;
  animation: evSpin 0.9s linear infinite;
}

/* animation */
@keyframes evSpin {
  to {
    transform: rotate(360deg);
  }
}

/* iframe visible */
.iframe-loaded iframe {
  opacity: 1;
}

/* hide loader */
.iframe-loaded .iframe-loader {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
}

/*--------------------------------------------------------------
# Careers
--------------------------------------------------------------*/
.BambooHR-ATS-board h2,
#BambooHR-Footer {
  display: none !important;
}  

/* Board container */
.BambooHR-ATS-board {
    max-width: 900px;
    margin: 0 auto;
    font-family: inherit;
	padding-top: 20px;
}

/* Title */
.BambooHR-ATS-board h2 {
    font-size: 36px;
    font-weight: 600;
    margin-bottom: 30px;
}

/* Remove default list styles */
.BambooHR-ATS-Department-List,
.BambooHR-ATS-Jobs-List {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Department card */
.BambooHR-ATS-Department-Item {
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
    background: #fff;
}

/* Department header */
.BambooHR-ATS-Department-Header {
    font-size: 18px;
    font-weight: 600;
    padding: 16px 20px;
    background: var(--light-grey);
    border-bottom: 1px solid #eee;
}

.BambooHR-ATS-Jobs-List {
    padding: 0;
}

/* Job item row */
.BambooHR-ATS-Jobs-Item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 20px;
    border-top: 1px solid #f1f1f1;
    transition: background 0.2s ease;
}

.BambooHR-ATS-Jobs-Item:first-child {
    border-top: none;
}

.BambooHR-ATS-Jobs-Item:hover {
    background: #fafafa;
	color: var(--main-color);
}

/* Job link */
.BambooHR-ATS-Jobs-Item a {
    font-weight: 500;
    text-decoration: none;
    color: #222;
}

/* Hover link */
.BambooHR-ATS-Jobs-Item a:hover {
    text-decoration: underline;
	color: var(--main-color);
}

/* Location styling */
.BambooHR-ATS-Location {
    font-size: 14px;
    color: #777;
    white-space: nowrap;
}

.BambooHR-ATS-Department-Header:empty {
    display: none;
}

#jobs-board:empty::before{
content:"Loading open positions...";
display:block;
padding:40px;
text-align:center;
color:#777;
}

/* Mobile layout */
@media (max-width: 768px) {
    .BambooHR-ATS-Jobs-Item {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .BambooHR-ATS-Location {
        font-size: 13px;
    }
}


/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact {
  background: #fff;	
}	
.contact .contact-main-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  --max-height: 200px;  
}

@media (min-width: 1024px) {
  .contact .contact-main-wrapper {
    grid-template-columns: 45% 55%;
    align-items: stretch;
  }
}

.contact .map-wrapper {
  hheight: 200px;
  width: 100%;
  border-radius: var(--container-radius);;
  overflow: hidden;
}

@media (min-width: 992px) {
  .contact .map-wrapper {
    height: 100%;
    position: sticky;

  }
}

.contact .map-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* This is the magic line */
  display: block;
}

.contact .contact-content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.contact .contact-cards-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}

@media (min-width: 576px) {
  .contact .contact-cards-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

.contact .contact-card {
  background-color: #fff;
  padding: 20px;
  border-radius: var(--container-radius);
  display: flex;
  align-items: flex-start;
  gap: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact .contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}


.contact .contact-card .icon-box {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  background-color: var(--light-grey);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact .contact-card .icon-box:hover i{
  color: var(--main-color);
}

.contact .contact-card .icon-box i {
  font-size: 22px;
  color: #000;
}

.contact .contact-card .contact-text h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--heading-color);
  font-family: Roboto, "sans-serif";
}

.contact .contact-card .contact-text p {
  font-size: 14px;
  line-height: 1.5;
  color: var(--default-color);
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Comparison
--------------------------------------------------------------*/
/* --------------------------
   1. BASE LAYOUT
----------------------------- */
.comparison .card {
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 0;
  background: #fff;
}

.comparison .row.no-gap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

#comparison {
  overflow: visible;
}

#comparison .col-md-6 {
  flex: 0 0 auto;
  transition: opacity 0.4s ease, transform 0.8s ease;
}

/* -----------------------------
   2. RESPONSIVE GRID (CARDS)
----------------------------- */

/* Desktop: 4 cards */
@media (min-width: 992px) {
  #comparison .col-lg-3 {
    width: 25% !important;
  }
}

/* Tablet: 3 cards */
@media (min-width: 768px) and (max-width: 991px) {
  #comparison .col-md-6 {
    width: 33.33% !important;
  }
}

/* Mobile: 2 cards */
@media (max-width: 767px) {
  #comparison .col-md-6 {
    width: 50% !important;
    min-width: 50%;
  }

  .comparison .card {
    height: auto !important;
    min-height: 100%;
    justify-content: flex-start !important;
  }

  .comparison .row.no-gap {
    justify-content: center;
  }
}

/* -----------------------------
   3. STICKY ELEMENTS
----------------------------- */

/* Selector buttons */
.comparison .compare-nav-wrapper {
  position: sticky;
  top: 80px; /* if changed, change root margin in javascript */
  z-index: 999;
  background: #fff;
  border-bottom: 2px solid #eee;
}

/* Card header (image + title) */
.comparison .card-header-sticky {
  position: sticky;
  top: 165px;
  z-index: 998;
  background: #fff;
  border-bottom: 1px solid #eee;
  will-change: transform, padding;
  transform: translate3d(0, 0, 0);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Adjustments */
@media (max-width: 1200px) {
  .comparison .compare-nav-wrapper {
    top: 60px;
  }
  .comparison .card-header-sticky {
    top: 140px;
  }
}

/* Tablet adjustments */
@media (max-width: 991px) {
  .comparison .compare-nav-wrapper {
    top: 70px;
  }

  .comparison .card-header-sticky {
    top: 210px;
    z-index: 998;
  }
}

/* Mobile sticky behavior */
@media (max-width: 771px) {
  .comparison .compare-selector {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
  }

  .comparison .card-header-sticky {
    top: 255px !important;
  }

  .comparison .card-title {
    top: 258px !important;
    font-size: 24px;
    padding: 10px 2px;
  }
}

/* Small screen height handling */
@media (max-height: 700px) {
  .comparison .card {
    overflow: visible !important;
  }

  .comparison .card-header-sticky {
    display: contents;
  }

  .comparison .card-header-sticky img {
    display: block;
    width: 100%;
    background: #fff;
  }

  .comparison .card-title {
    position: sticky !important;
    top: 165px;
    z-index: 990;
    background: #fff;
    margin: 0;
    padding: 15px 5px;
  }
}

@media (max-height: 700px) and (max-width: 1200px) {
  .comparison .card-title {
    top: 145px;
  }
}

@media (max-height: 700px) and (max-width: 992px) {
  .comparison .card-title {
    top: 208px;
  }
}

@media (max-height: 700px) and (max-width: 771px) {
  .comparison .card-title {
    top: 208px;
  }
}

/* -----------------------------
   4. IMAGE + HEADER TRANSITIONS
----------------------------- */
.comparison .card-header-sticky img {
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: contain;
  padding: 10px;
  display: block;
  transition: max-height 0.4s ease-in-out, padding 0.4s ease-in-out;
}

/* Shrink on scroll */
body.sticky-active .card-header-sticky img {
  max-height: 150px;
  padding: 5px;
}

@media (max-width: 767px) {
  .comparison .card-header-sticky img {
    max-height: 180px;
    padding: 5px 5px 0;
  }
}

/* -----------------------------
   5. TITLE STYLING
----------------------------- */
.comparison .card-title {
  text-align: center;
  margin: 0;
  padding: 15px 5px;
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 1px;
  font-size: 36px;
  border-bottom: 2px solid #01a2e0;
  transition: font-size 0.4s ease, padding 0.4s ease;
}

/* Shrink on scroll */
body.sticky-active .card-title {
  font-size: 24px;
  padding: 10px 5px;
}

@media (max-width: 992px) {
  .comparison .card-title {
    font-size: 28px;
  }
}

@media (max-width: 771px) {
  .comparison .card-title {
    font-size: 24px;
  }
}

/* -----------------------------
   6. SPEC LIST STYLING
----------------------------- */
.comparison .card ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
  background: #fff;
}

.comparison .card ul li {
  padding: 50px 5px;
  border-bottom: 1px solid #eee;
  text-align: center;
  height: 150px;
}

.comparison .item-label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: #01a2e0;
  margin-bottom: 2px;
  font-weight: 600;  
}

.comparison .item-value  i{
  padding-bottom: 0; 
}

.comparison .item-value {
  font-size: 1.8rem;
  font-weight: 400;
  font-family: "Bebas Neue", sans-serif;  
  line-height: 0.8;
}

.comparison .card-body .btn {
  display: block;
  width: fit-content;
  margin: 20px auto;
}

/* -----------------------------
   7. COMPARE BUTTONS
----------------------------- */
.comparison .compare-selector .btn {
  padding: 6px 18px;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: var(--button-radius);
  border: solid 2px #01a2e0;
  color: #000;
  transition: all 0.2s ease;
}

.comparison .compare-selector .btn:hover,
.comparison .compare-selector .btn.active:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}

.comparison .compare-selector .btn.active {
  background-color: #01a2e0;
  border-color: #01a2e0;
  color: #fff;
}

/* Responsive selector grid */
@media (max-width: 991px) {
  .comparison .compare-selector {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .comparison .compare-selector .btn {
    width: 100%;
    margin: 0 !important;
    padding: 8px 4px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 400px) {
  .comparison .compare-selector {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* -----------------------------
   8. STATES & ANIMATIONS
----------------------------- */

/* Hidden state */
#comparison .col-md-6.d-none,
.comparison .d-none {
  display: none !important;
}

/* Fade-out alternative */
.vehicle-hidden {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none;
  position: absolute;
}

/* Shake animation */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.comparison .shake {
  animation: shake 0.2s ease-in-out 0s 2;
  background: #dc3545 !important;
}





/*--------------------------------------------------------------
# Legal - Privacy Policy, Terms of Service, Return Policy
--------------------------------------------------------------*/
/* Privacy Policy Section */
.legal {
  background-color: #fff;
  padding: 60px 20px;
}

.legal .container {
  max-width: 900px;
  margin: 0 auto;
}

/* Intro Section */
.legal .intro h2 {
  font-size: 2.5em;
  margin-bottom: 15px;
}

.legal .intro p {
  font-size: 1.1em;
  color: #666;
}

/* Each Section */
.legal .info-section {
  margin-bottom: 40px;
}

.legal .info-section h3 {
  font-size: 1.6em;
  margin-bottom: 15px;
  color: #222;
}

/* Lists */
.legal ul {
  --list-style: none;
  padding-left: 15px;
}

.legal ul li {
  margin-bottom: 10px;
}

/* Links */
.legal a {
  color: #000;
  text-decoration: none;
}

.legal a:hover {
  text-decoration: underline;
  color: var(--main-color);
}

/* Centered Text */
.legal .text-center {
  text-align: center;
}

	
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  color: #000;
  background-color: var(--light-grey);
  font-size: 14px;
  padding: 60px 0 30px;
  position: relative;
}

.footer .footer-top {
  padding-bottom: 40px;
  border-bottom: 1px solid color-mix(in srgb, #000, transparent 80%);
}

.footer .footer-info .logo img{
  width: 110px;
  margin-left: -8px;
}

.footer .footer-info p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.6;
}

.footer .social-links {
  display: flex;
  gap: 12px;
}

.footer .social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--button-radius);
  background-color: color-mix(in srgb, var(--main-color), transparent 100%);
  font-size: 16px;
  color: #000;
  transition: all 0.3s ease;
}

.footer .social-links a:hover {
  color: #fff;
  background-color: var(--main-color);
  transform: translateY(-3px);
}

.footer h4 {
  font-size: 20px;
  font-weight: 400;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 20px;
}

.footer h4:after {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 2px;
  background-color: var(--main-color);
  bottom: 0;
  left: 0;
}

.footer h5 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 15px;
}

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

.footer .footer-links ul li {
  padding: 8px 0;
  display: flex;
  align-items: center;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
  color: #000;
  display: inline-block;
  line-height: 1.2;
  transition: all 0.3s ease;
  position: relative;
}

.footer .footer-links ul a:hover {
  color: var(--main-color);
  transform: translateX(5px);
}

.footer .footer-newsletter p {
  margin-bottom: 20px;
  line-height: 1.6;
}

.footer .footer-newsletter form {
  margin-top: 25px;
}

.footer .footer-newsletter form .position-relative {
  display: flex;
  margin-bottom: 15px;
}

.footer .footer-newsletter form input[type=email] {
  height: 44px;
  border-radius: 8px;
  padding: 10px 15px;
  width: 100%;
  color: #000;
  background-color: #fff;
  border: 1px solid color-mix(in srgb, #000, transparent 70%);;
  font-size: 14px;
}

.footer .footer-newsletter form input[type=email]:focus {
  outline: none;
  border-color: var(--main-color);
}

.footer .footer-newsletter form input[type=email]::placeholder {
  color: color-mix(in srgb, #000, transparent 70%);
}

.footer .footer-newsletter form .btn-subscribe {
  position: absolute;
  right: 5px;
  top: 5px;
  bottom: 5px;
  border: 0;
  background-color: var(--main-color);
  color: #fff;
  transition: 0.3s;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
}

.footer .footer-newsletter form .btn-subscribe:hover {
  background-color: #000;
}

.footer .footer-newsletter form .btn-subscribe i {
  font-size: 18px;
}

.footer .footer-bottom {
  padding-top: 25px;
}

.footer .footer-bottom .copyright p {
  margin-bottom: 0;
  font-size: 13px;
  color: color-mix(in srgb, #000, transparent 30%);
}

.footer .footer-bottom .legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-end;
}

.footer .footer-bottom .legal-links a {
  color: color-mix(in srgb, #000, transparent 30%);
  font-size: 13px;
  transition: color 0.3s ease;
}

.footer .footer-bottom .legal-links a:hover {
  color: var(--main-color);
}

@media (max-width: 991.98px) {
  .footer .footer-links,
  .footer .footer-info {
    margin-bottom: 30px;
  }
}

@media (max-width: 991px) {
  .footer .footer-bottom .legal-links {
    justify-content: center;
    margin-bottom: 15px;
  }
  .footer .copyright,
  .footer .credits {
    text-align: center;
  }
  .footer .footer-links ul li {
    justify-content: center;
  }
  #footer h4 {
    text-align: center;
  }
  #footer h4:after {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (min-width: 768px) {
  .footer-links .collapse {
    display: block !important;
    height: auto !important;
  }
  .footer-links h4 {
    pointer-events: none; /* Disable clicking on desktop */
  }
}

/* Mobile Styling */
@media (max-width: 767.98px) {
  .footer-links h4 {
    border-bottom: 1px solid #ddd;
    cursor: pointer;
	display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .footer-links h4:hover {
    color: var(--main-color);
  }  
  .footer .footer-links ul li {
    justify-content: flex-start;
  }
  .footer .footer-links ul li:last-child {
    padding-bottom: 40px;
  }  
  .footer .footer-links {
	max-width: 100%;
	margin: 0;
  }
  .footer .container {
    overflow: hidden;
  }
  
  .footer h4:after {
    display: none;
  }
  .footer-links h4 i {
    transition: transform 0.3s ease; /* Makes the spin smooth */
  }
  .footer-links h4[aria-expanded="true"] i {
    transform: rotate(180deg);
  }
  .footer-links h4 i, .footer-links h4:focus i {
        -webkit-text-stroke: 1px;
     }
}  
  

