html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

:root {
  --background: 225 30% 6%;
  --foreground: 210 40% 98%;
  --card: 220 20% 97%;
  --card-foreground: 210 40% 98%;
  --glass: 225 30% 12%;
  --popover: 225 25% 10%;
  --popover-foreground: 210 40% 98%;
  --primary: 280 85% 65%;
  --primary-light: 285 90% 75%;
  --primary-dark: 275 80% 55%;
  --primary-foreground: 0 0% 100%;
  --secondary: 185 85% 50%;
  --secondary-accent: 190 100% 60%;
  --secondary-foreground: 225 30% 6%;
  --muted: 225 20% 15%;
  --muted-foreground: 220 15% 60%;
  --accent: 280 60% 20%;
  --accent-foreground: 210 40% 98%;
  --success: 160 85% 45%;
  --success-foreground: 0 0% 100%;
  --destructive: 0 75% 55%;
  --destructive-foreground: 0 0% 100%;
  --border: 220 15% 88%;
  --input: 225 20% 12%;
  --ring: 280 85% 65%;
  --gradient-primary: linear-gradient(135deg, hsl(280 85% 65%) 0%, hsl(285 90% 75%) 50%, hsl(190 100% 60%) 100%);
  --gradient-hero: linear-gradient(135deg, hsl(280 90% 50%) 0%, hsl(285 85% 60%) 30%, hsl(185 85% 50%) 70%, hsl(190 100% 60%) 100%);
  --gradient-card: linear-gradient(145deg, hsl(225 25% 12% / .9) 0%, hsl(225 30% 8% / .95) 100%);
  --gradient-subtle: linear-gradient(180deg, hsl(225 30% 8%) 0%, hsl(225 25% 10%) 100%);
  --gradient-overlay: linear-gradient(to right, hsl(225 30% 6% / .9) 0%, hsl(225 30% 6% / .7) 50%, transparent 100%);
  --shadow-soft: 0 4px 30px -5px hsl(280 85% 65% / .2);
  --shadow-medium: 0 10px 50px -10px hsl(280 85% 65% / .25);
  --shadow-strong: 0 20px 80px -15px hsl(280 85% 65% / .35);
  --shadow-glow: 0 0 60px hsl(190 100% 60% / .4);
  --shadow-glow-purple: 0 0 60px hsl(280 85% 65% / .4);
  --transition-fast: .2s cubic-bezier(.4, 0, .2, 1);
  --transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);
  --transition-slow: .5s cubic-bezier(.4, 0, .2, 1);
  --radius: 1rem;
  --sidebar-background: 225 25% 10%;
  --sidebar-foreground: 210 40% 98%;
  --sidebar-primary: 280 85% 65%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 225 20% 15%;
  --sidebar-accent-foreground: 210 40% 98%;
  --sidebar-border: 225 20% 18%;
  --sidebar-ring: 280 85% 65%;
}

/* Header Css */
.dropdown-item a:hover h4 {
  color: #fff;
}

.home .home-hero {
  padding-left: 20px;
  padding-right: 20px;
}

body>section:first-of-type {
  padding-top: 120px;
}

header.header {
  position: fixed;
  /* Keep it fixed from the start to prevent layout shifts */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent;
  padding-top: 8px;
  box-shadow: none;
  padding-bottom: 8px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.header.fixed {
  box-shadow: none;
  /* animation: slideDown 0.35s ease-out; */
}

.header nav ul li {
  position: relative;
  padding: 10px 0;
}

.jv_header-wrap {
  padding: 16px 15px;
  border-radius: 16px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.header.fixed .jv_header-wrap {
  background-color: hsl(var(--card) / .8);
  backdrop-filter: blur(24px);
  border-color: hsl(var(--border));
  box-shadow: 0 6px 20px rgb(0 0 0 / 30%);
}

section:not(section:first-of-type) {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

.container {
  padding: 0 15px;
}

.hero-badge {
  font-size: 14px !important;
}

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

  to {
    transform: translateY(0);
  }
}

/* user dahboard css */

.vas-dashboard-active header,
.vas-dashboard-active footer {
  display: none;
}

.vas-dashboard-active .container {
  max-width: 100% !important;
  margin: 0 auto;
  padding: 0;
}

.vas-dashboard-active .vas-sidebar {
  position: sticky !important;
  transition: all .3s ease !important;
}

.vas-dashboard-active .vas-sidebar-toggle {
  right: 5px !important;
}

.vas-dashboard-active .mobile_toggle {
  display: none !important;
}

.vas-dashboard-active .vas-mobile-toggle {
  transition: all .3s ease !important;
}

.vas-dashboard-active .vas-dashboard-wrapper.sidebar-collapsed span.nav-icon {
  display: block !important;
}

.vas-dashboard-active .vas-dashboard-wrapper.sidebar-collapsed .vas-main-content {
  margin-left: 0 !important;
}

.toggle__menu {
  display: none;
}

.contact_icon:hover {
  /* color: #6a5acd; */
  background: #6dc9f94a;
}


.footer-contact li {
  margin-bottom: 10px;
  font-size: 16px;
  color: #444;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
}

.contact_icon {
  padding: 6px;
  width: 30px;
  height: 30px;
  background: rgb(0 0 0 / 6%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #00c6ff;
  backdrop-filter: blur(24px);
}

.foo_social {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  align-items: center;
}

.footer-services ul li {
  position: relative;
  padding-left: 20px;
}

.footer-services ul li::after {
  content: '';
  width: 6px;
  height: 6px;
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 8px;
}

.footer-rating {
  margin-top: 15px;
}

.footer-rating i {
  margin-right: 0;
}

.footer-bottom {
  border-color: #6dc9f93d;
}

.footer-about p,
.footer-col ul li a,
.footer-contact ul li {
  font-size: 14px;
}


.title_link {
  color: #000;
}

/* mobile menu */

.mobile_menu {
  background: #fff;
  padding: 35px;
  width: 100%;
  text-align: left;
  border-radius: 24px;
  box-shadow: 0 6px 20px rgb(0 0 0 / 30%);
  margin-top: 10px;
  animation: fadeInUp .8s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.mobile_bottom_buttons {
  display: flex;
  gap: 20px;
  flex-direction: column;
  border-top: 1px solid #eee8e8;
  margin-top: 20px;
  padding-top: 20px;
}

.mobile_menu_nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.mobile_menu_nav ul a {
  color: #000;
}

.mobile_bottom_buttons a {
  color: #fff;
}

.mobile_menu_nav ul li {
  padding: 12px 16px;

}

/* hover effect  */


.contact-card::after,
.va-why-card::after,
.va-card-need::after,
.value-card::after,
.timeline-content::after,
.team-card::after,
.process-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom right, rgb(59 130 246),
      /* blue */
      rgb(6 182 212)
      /* cyan */
    );
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}


.contact-card:hover::after,
.va-why-card:hover::after,
.va-card-need:hover::after,
.value-card:hover::after,
.timeline-content:hover::after,
.team-card:hover::after,
.process-card:hover::after {
  opacity: 0.05;
}

.contact-card .icon {
  color: #00c6ff;
}

.vas-form-label {
  text-align: left;
}

.va-card-need,
.va-why-card,
.value-card,
.team-card {
  background: linear-gradient(#fff, #fff) padding-box, var(--purple-blue-gradient) border-box !important;
  border: 1px solid transparent !important;
}


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

.pill-item {
  transition: all 0.3s ease;
}

.service-features span::before {
  background: var(--purple-blue-gradient) !important;
}

/* login popup */
.vs-login-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.vs-login-modal {
  width: 900px;
  max-width: 95%;
  display: flex;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}

/* LEFT PANEL */
/* subtle diagonal layers like screenshot */
.vs-login-left::before,
.vs-login-left::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.12);
  transform: skewX(-12deg);
}

.vs-login-left::after {
  background: rgba(255, 255, 255, 0.08);
  transform: skewX(-20deg);
}

/* TAB WRAPPER */
.vs-login-left {
  width: 40%;
  background: linear-gradient(135deg, #6a5acd, #00c6ff);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: end;
}

.vs-tab-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  z-index: 5;
}

/* Base Tab Styles */
.vs-tab {
  width: 120px;
  /* Apni width ke hisaab se set karein */
  height: 60px;
  /* Fix height zaroori hai sliding ke liye */
  padding: 0 20px;
  border: none;
  background: transparent !important;
  /* Button ka apna background hata dein */
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  z-index: 2;
  transition: color 0.3s ease;
}

/* Active Tab Text Color */
.vs-tab.active {
  color: #00c6ff;
}

/* SLIDING BACKGROUND */
.vs-active-bg {
  position: absolute;
  right: 0;
  top: 0;
  /* JS isko change karega */
  width: 100%;
  height: 60px;
  /* Tab ki height ke barabar */
  background: #fff;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  /* Smooth movement */
  z-index: 1;
}

/* CURVES on the Sliding Background */
.vs-active-bg::before,
.vs-active-bg::after {
  content: "";
  position: absolute;
  right: 0;
  width: 30px;
  height: 30px;
  background: transparent;
  pointer-events: none;
}

.vs-active-bg::before {
  top: -30px;
  border-radius: 50%;
  box-shadow: 15px 15px 0 #fff;
}

.vs-active-bg::after {
  bottom: -30px;
  border-radius: 50%;
  box-shadow: 15px -15px 0 #fff;
}

.message-container .nk-message.error p {
  color: red;
  background: #e9e9e9;
  padding: 7px 10px;
  border-radius: 5px;
  margin-bottom: 20px;
  font-size: 14px;
  text-align: left;
}



/* MOBILE / TABLET */
@media (max-width: 768px) {
  .vs-login-left {
    width: 100%;
    padding: 20px;
    justify-content: center;
  }

  .vs-tab-wrapper {
    flex-direction: row;
    gap: 16px;
  }

  .vs-tab {
    padding: 12px 28px;
    font-size: 14px;
  }

  .vs-tab.active {
    margin-right: 0;
    border-radius: 30px;
    background: #fff !important;
  }

  .vs-tab.active::before,
  .vs-tab.active::after {
    display: none;
  }

  .vs-active-bg {
    display: none;
  }

}


/* RIGHT PANEL */
.vs-login-right {
  width: 60%;
  padding: 40px;
  position: relative;
}

.vs-close-btn {
  position: absolute;
  top: 15px;
  right: 20px;
  border: none;
  background: none;
  font-size: 22px;
  cursor: pointer;
}

/* FORMS */
.vs-form {
  display: none;
}

.vs-form.active {
  display: block;
}

.vs-login-header {
  text-align: center;
  margin-bottom: 30px;
}

.vs-user-icon {
  font-size: 42px;
  width: 70px;
  height: 70px;
  margin: auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #6a5acd, #00c6ff);
}

/* INPUTS */
.vs-input-group {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ccc;
  margin: 25px 0;
}

.vs-input-group span {
  margin-right: 10px;
}

.vs-input-group input {
  border: none;
  outline: none;
  padding: 10px 0;
  width: 100%;
}

.vs-forgot {
  font-size: 14px;
  color: #6a5acd;
  text-decoration: none;
}

.vs-login-btn {
  margin-top: 25px;
  width: 100%;
  padding: 12px;
  border-radius: 30px;
  border: none;
  background: linear-gradient(135deg, #6a5acd, #00c6ff);
  color: #fff;
  font-size: 16px;
  cursor: pointer;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .vs-login-modal {
    flex-direction: column;
  }

  .vs-login-left {
    width: 100%;
    padding: 20px;
  }

  .vs-tab-wrapper {
    flex-direction: row;
  }

  .vs-login-right {
    width: 100%;
  }
}


/* FORM WRAPPER */
.nk-form {
  animation: fadeSlide 0.4s ease;
}

.nk-form.active {
  display: block;
}

/* HEADINGS */
.nk-form h2 {
  text-align: center;
  margin-bottom: 5px;
  font-size: 28px;
  font-weight: 700;
  color: #222;
}

.nk-form p {
  text-align: center;
  margin-bottom: 30px;
  color: #666;
}

/* INPUTS */
.nk-form input {
  width: 100%;
  padding: 14px 16px;
  margin-bottom: 20px;
  border-radius: 30px;
  border: 1px solid #ddd;
  outline: none;
  font-size: 15px;
  transition: 0.3s ease;
}

.nk-form input:focus {
  border-color: #6a5acd;
  box-shadow: 0 0 0 3px rgba(106, 90, 205, 0.15);
}

/* BUTTON */
.nk-form button {
  width: 100%;
  padding: 14px;
  border-radius: 30px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, #6a5acd, #00c6ff);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nk-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 198, 255, 0.35);
}

/* SWITCH TEXT */
.nk-switch {
  display: block;
  margin-top: 25px;
  text-align: center;
  font-size: 14px;
  color: #555;
}

.nk-switch b {
  cursor: pointer;
  color: #6a5acd;
  font-weight: 600;
  position: relative;
}

.nk-switch b::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background: linear-gradient(135deg, #6a5acd, #00c6ff);
  transform: scaleX(0);
  transition: 0.3s ease;
}

.nk-switch b:hover::after {
  transform: scaleX(1);
}

/* ANIMATION */
@keyframes fadeSlide {
  from {
    opacity: 0;
    transform: translateY(15px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* MOBILE OPTIMIZATION */
@media (max-width: 480px) {
  .nk-form h2 {
    font-size: 24px;
  }
}




/* media start */

@media (min-width:320px) and (max-width:400px) {
  .vas-content-header {
    flex-direction: column;
  }
}

@media (max-width: 768px) {

  /* .toggle__menu .hubmburger_icon{
        display:block;
    }
    .toggle__menu.open .close_icon{
        display:block;
    }
    .toggle__menu.open .hubmburger_icon{
        display:none;
    }
    .toggle__menu .close_icon{
        display:none;
    } */
  .vas-sidebar {
    width: 0px !important;
    height: 0px !important;
    position: fixed !important;
  }

  header .right {
    display: none;
  }

  .toggle__menu.open span {
    background-color: #000;
  }

  .vas-dashboard-wrapper {
    display: block !important;
  }

  .vas-sidebar.open {
    width: var(--vas-sidebar-width) !important;
    height: 100vh !important;
  }

  .mobile_toggle {
    display: block !important
  }

  .vas-mobile-toggle.open_toggle {
    display: none !important;
  }

  .toggle__menu {
    right: 18px;
    padding: 10px;
    width: auto;
    display: inline-block;
    background: #f3f3f354;
    border-radius: 10px;
    top: auto;
    transform: translateY(0px);

  }

  .toggle__menu.open {
    margin: 0px;
  }

  .hero {
    padding: 70px 0 40px !important;
  }

  .services-section {
    padding: 60px 20px !important;
  }

  .service-row {
    margin-bottom: 80px;
  }

  .reverse .service-content {
    order: 1;
  }

  .foo_social {
    justify-content: center;
  }
}

@media (max-width:900px) {
  .hero {
    padding: 70px 0 40px !important;
  }

  .services-section {
    padding: 60px 20px !important;
  }

  .service-row {
    margin-bottom: 80px;
  }

  .reverse .service-content {
    order: 1;
  }
}

@media (min-width:769px) and (max-width: 992px) {
  .hero-stats {
    flex-direction: row;
  }

  .stats-container {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  .foo_social {
    justify-content: center;
  }
}



/* Responsive laptop css */
@media (max-width:820px) {
  /* .home-hero {
      min-height: auto !important;
      padding: 0px 0 100px 0;
  } */
}

@media (max-width:1024px) {

  /* .home .home-hero {
      min-height: auto !important;
      padding: 100px 20px 100px 20px;
  } */
  .hero-content {
    text-align: left !important;
  }

  .va-bg-container,
  .va-services-container,
  .wcu-wrap {
    padding: 0 20px;
  }
}

@media (max-width:1367px) {
  /* .home .home-hero {
      min-height: auto !important;
      padding: 100px 0 100px 0;
  } */
}