.logo {
  font-weight: bold;
  color: #4b0082;
}

.d-flex {
  flex-wrap: wrap;
  gap: 16px;
}

.navbar-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  list-style: none;
}

.navbar-nav li {
  margin: 0 4px; /* Spacing between nav items */
}

.dropdown-menu {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 0;
}

.dropdown-item {
  color: #1a1a1a;
  font-weight: 600;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  padding: 10px 20px;
  background-color: white;
  transition: background-color 0.3s ease, color 0.3s ease;
  min-width: 180px;
}

.navbar-nav .nav-link {
  font-size: 17px;
  font-weight: 600;
  color: #2f2f93;
  display: block;
  padding: 10px 0;
  transition: color 0.3s ease;
  position: relative;

  font-family: "Poppins", sans-serif;

  text-decoration: none;
}
.navbar-nav .nav-link:hover {
  color: #fc8939; /* Orange */
  text-decoration: none;
}
/* Force consistent color, remove hover effects */
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:active {
  background-color: #f9f9f9;
  color: #fc8939 !important; /* Orange text on hover */
  text-decoration: none;
}

.navbar-brand {
  margin-left: 0;
  padding-left: 0;
}

.navbar {
  border-bottom: 1px;
  width: 100%;
  height: auto;
}

.container {
  padding-left: 0;
  padding-right: 0;
}

.heading {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 120%;
  color: rgba(46, 49, 146, 1);
  margin-bottom: 3rem;
}

.heading-mobile {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 120%;
  color: rgba(46, 49, 146, 1);
}

.heading-black {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 120%;
  color: #222222;
  margin-bottom: 3rem;
}

.heading-black-mobile {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 120%;
  color: #222222;
}

.vb-banner {
  margin-top: 32px;
  background-image: url("../images/dakshata-banner.svg"); /* Replace with your image path */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  /* height: 650px; */
  position: relative;
  aspect-ratio: 16/7;
}
.btn-phonenumber {
  /* background: linear-gradient(100.08deg, #9fa2e3 -35.1%, #5054c8 42.84%); */
  padding: 12px 14px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 650;
  /* background: linear-gradient(100.08deg, #9FA2E3 -35.1%, #5054C8 42.84%, #0E0F2C 162.24%); */
  color: aliceblue;
}
.btn-primary {
  background: linear-gradient(
    100.08deg,
    #9fa2e3 -35.1%,
    #5054c8 42.84%,
    #0e0f2c 162.24%
  );
  color: white;
  border-radius: 24px;
  padding: 12px 24px;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-size: 16px;
  border: none;
}

.contact-section {
  text-align: center;
  padding: 0% 15% 0% 15%;
}

.contact-section h2 {
  font-family: Plus Jakarta Sans;
  font-weight: 700;
  font-size: 35px;
  line-height: 150%;
  letter-spacing: 0%;
  text-align: center;
  color: #222222;
  margin-bottom: 32px;
}

.contact-form {
  max-width: 700px;
  margin: auto;
  text-align: left;
  /* font-family: Plus Jakarta Sans; */
  font-weight: 500;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
  color: #222222;
}

.btn-submit {
  width: 105px;
  background: #262a90;
  color: white;
  border: none;
  display: block;
  gap: 8px;
  border-radius: 1000px;
  /* font-family: Plus Jakarta Sans; */
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
  /* box-shadow: 0px 4px 4px 0px #0000000d; */
  margin: auto;
}

.btn-submit:hover {
  background: #262a90;
  color: white;
  border: none;
  display: block;
  gap: 8px;
  border-radius: 1000px;

  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
  box-shadow: 0px 4px 4px 0px #0000000d;
}
@media (min-width: 350px) and (max-width: 767px) {
  .contact-section {
    padding: 15px 20px;
  }

  .contact-section h6 {
    font-size: 16px;
    line-height: 120%;
  }

  .contact-section h2 {
    font-size: 24px;
    line-height: 150%;
  }

  .contact-form {
    padding-top: 24px;
    color: #000000;
    font-size: 16px;
    line-height: 150%;
  }
}

/* --------------------------------------------------------------------------------------------- */
/* body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: #f4f7ff;
    margin: 0;
    padding: 0;
  } */
html,
body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  width: 100%;
}

.btn-button {
  padding: 12px 24px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  /* background: linear-gradient(100.08deg, #9FA2E3 -35.1%, #5054C8 42.84%, #0E0F2C 162.24%); */
  color: white;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.btnchange {
  padding: 12px 24px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  border: 2px solid white;

  background: white;
  color: black;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.btn-ok {
  background: #aaaaaa;
  color: #000000;
  border-radius: 1000px;
  font-family: Arial, sans-serif;
  border: none;
}

.bg-dark-blue {
  background: linear-gradient(225.22deg, #262a90 53.87%, #577eb9 138.32%);
  color: white;
}

.footer p {
  font-size: 14.5px;
  font-family: "Poppinsmedium", sans-serif;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}

.footer-links a:hover {
  text-decoration: underline;
}

.divider {
  color: #fff;
  margin: 0 8px;
}

.text-pink {
  color: white;
}

.text-orange {
  color: white;
}

/* validation */
.error {
  color: red;
  font-size: 0.875rem;
  margin-top: 4px;
}

/* ------------------------------------------------------------------------------------------------- */

/* actual change */
.adaptive-learning {
  background: url("../images/bluebanner-finial.png") no-repeat center center;
  padding: 35px 10px;
  background-size: cover;
  color: #fff;
}
@media (min-width: 350px) and (max-width: 767px) {
  .hero-section {
    padding: 48px 20px;
  }
}
/*  */

/* ========== TABLE STRUCTURE ========== */

.learning-comparison-section {
  padding: 0% 10% 0% 10%;
}

.wrapper {
  /* padding: 25px; */
  max-width: 100%;
  max-height: 100%;
}

/* Common table cell styles */
table th,
table td {
  vertical-align: middle !important;
  line-height: 2.1;

  /* border-spacing: 0 10px; */
}

/* Emphasize feature names */
table td strong {
  color: #2c2c8a;
  font-weight: bold;
}

/* ========== VIDYABUDDHI COLUMN STYLES ========== */

/* Top-right and top-left rounded header cell */
.vidyabuddhi-column {
  background: linear-gradient(to top left, #ff6600, #ff9966);
  color: white;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-left: 8px solid #fef0e3;
  border-right: 8px solid #fef0e3;
  border-top: 8px solid #fef0e3;
}

/* Middle cells */
.vidyabuddhi {
  background: linear-gradient(to top left, #ff6600, #ff9966);
  color: white;
  border-left: 8px solid #fef0e3;
  border-right: 8px solid #fef0e3;
  border-top: 2px solid #fef0e3;
}

/* Bottom cell with rounded corners */
.table {
  border-collapse: separate !important;
  border-spacing: 0;
}

.vidyabuddhi-column-end {
  background: linear-gradient(to top left, #ff6600, #ff9966);
  color: white;
  border-left: 8px solid #fef0e3;
  border-right: 8px solid #fef0e3;
  /* remove border-bottom here if using after */
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 16px 8px;
  position: relative;
  z-index: 1;
}

.vidyabuddhi-column-end::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 8px;
  width: 100%;
  background-color: #fef0e3;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  pointer-events: none;
}

/* Make sure gradient cells override tbody blue */
.vidyabuddhi,
.vidyabuddhi-column,
.vidyabuddhi-column-end {
  background: linear-gradient(to top left, #ff6600, #ff9966) !important;
  color: white !important;
}
.table {
  border-collapse: separate !important;
  border-spacing: 0;
}

/*  */

/* .vijnata-section .section-title {
  font-size: 2rem;
  font-weight: 700;
  color: #262e9c;
  margin-bottom: 30px;
} */

.vijnata-box {
  background-color: #f7f7fb;
  padding: 30px 40px;
  border-radius: 10px;
  max-width: 1000px;
}

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

.vijnata-list li {
  position: relative;
  padding-left: 30px;
  font-size: 1rem;
  font-weight: bold;
  color: #1c1c1c;
  margin-bottom: 15px;
  line-height: 1.6;
}

.vijnata-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 17px; /* small tick size */
  height: 17px;
  background-image: url(../images/tick.svg); /* update path if needed */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ===== Our Impact Section ===== */

.impact-card {
  border: 1px solid #d1d9e6; /* soft bluish-gray border */

  border-radius: 15px;
  /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: left;
}

.impact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.impact-card h5 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: #333;
}

.impact-card ul {
  list-style-type: disc;
  padding-left: 20px;
  margin: 0;
}

.impact-card ul li {
  font-size: 16px;
  color: black;
  margin-bottom: 6px;
  line-height: 1.5;
}

@media (min-width: 350px) and (max-width: 767px) {
  .impact-card {
    text-align: center;
  }

  .impact-card ul {
    padding-left: 0;
    list-style: none;
  }
}

/* link for source */
/* keep anchor white in all states */
.white-link,
.white-link:visited {
  color: #fff;
}
.white-link:hover,
.white-link:focus {
  color: #e0e0e0; /* optional hover tint */
  text-decoration: underline;
}
/* content sources impact */
.custom-card {
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

.custom-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.custom-card-body {
  padding: 20px;
}

.icon-text-wrap {
  gap: 15px;
}

.icon-wrap {
  width: 40px;
  height: 40px;
}

.icon-img {
  width: 100%;
  height: auto;
}

.custom-card-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #222;
  margin: 0;
}

.custom-card-text {
  font-size: 0.95rem;
  color: black;
  margin-top: 12px;
}

/* end */

.content-source {
  padding: 0% 5% 0% 5%;
}
/*  */
/* courasol */

.testimonials-section {
  text-align: center;
  /* padding: 112px 64px; */
  width: 100%;
  /* max-width: 1920px; */
}

.testimonials-section h2 {
  /* font-family: Plus Jakarta Sans; */
  font-weight: 700;
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: 0%;
  text-align: center;
  color: #222222;
}

.carousel-item {
  height: 100%;
  padding: 20px;
}
.testimonial-box {
  background: white;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 3px solid transparent; /* Initially set to transparent */
  border-top: 3px solid #fd9a57; /* Top border with color FD9A57 */
  border-bottom: 3px solid #fd9a57; /* Bottom border with color FD9A57 */
  border-left: 3px solid #6267ff; /* Left border with color FD9A57 */
  border-right: 3px solid #6267ff; /* Right border with color 6267FF */
  margin: auto;
  width: 75%;
  height: 240px;
  gap: 20px;
}
.testimonial-logo {
  width: 100px;
  margin-bottom: 10px;
}
.testimonial-text {
  color: black;
  height: 100px;

  font-size: 16px;
  line-height: 1.2;
  text-align: center;
}

.testimonial-person p {
  /* font-family: Roboto; */
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
  text-align: center;
  color: black;
}
.testimonial-person img {
  width: 50px;
  border-radius: 50%;
}
.carousel-control-prev,
.carousel-control-next {
  filter: invert(1);
}

@media (min-width: 350px) and (max-width: 767px) {
  .testimonials-section {
    padding: 15px 20px;
  }

  .testimonials-section h2 {
    font-size: 24px;
    line-height: 150%;
  }

  .testimonial-box {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
  }

  .testimonial-text {
    font-size: 18px;
    line-height: 140%;
  }

  .carousel-control-next {
    right: -25px;
  }

  .carousel-control-prev {
    left: -25px;
  }
}
/* mobile view */
/* mobile start */
@media (min-width: 350px) and (max-width: 767px) {
  .navbar {
    background-color: #ffffff !important;
    height: auto !important;
    padding: 0.75rem 1rem;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }

  .navbar-brand .logo {
    height: 35px !important;
  }

  .navbar-nav {
    flex-direction: column;
    align-items: stretch;
    padding-top: 1rem;
  }

  .navbar-nav .nav-item {
    margin: 4px 0;
  }

  .navbar-nav .btn-phonenumber,
  .navbar-nav .btn-primary {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 30px;
    padding: 12px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
  }

  .navbar-nav .btn-phonenumber {
    color: black;
  }

  .navbar-nav .btn-primary {
    background-color: #fc8939;
    border: none;
  }

  .navbar-right {
    display: none !important;
  }
}
/* mobile end */
/* Default: show table, hide mobile image outside 375–430px */
.vijnata-mobile-image {
  display: none;
}
/* Hide table and show image ONLY on devices between 375px and 430px */
@media (min-width: 350px) and (max-width: 767px) {
  .vijnata-table {
    display: none !important;
  }

  .vijnata-mobile-image {
    display: block !important;
  }
  /* vijnita box */
  .vijnata-box {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  /* imopact */
  .impact-card {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .custom-card-title{
    font-size: 18px !important;
  }
  /* testmonial */

   .testimonial-box {
    height: 400px; 
    width: 280px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .testimonial-text {
    margin: 0px, 10px,0 10px;
    /* height: 30px; */
    color: #000;
    font-size: 13px;
    line-height: 1.0;
    text-align: center;
   
  }

  .testimonial-person p {
    font-size: 16px;
    text-align: center;
    margin-top: 100px;
  }
.testimonial-logo {
  /* the Dakshata lockup is cropped tight to the wordmark, so size it by
     height to keep the same optical weight as the mark it replaced */
  height: 15px;
  width: auto;
  max-width: 100%;
  margin: 0 auto 10px auto; /* centers horizontally */
  display: block; /* required for margin auto to work */
}
.testimonials-section{
  margin: 0px !important;
}
/* contact us */
.contact-section{
    margin: 0px !important;
}
/* blue banner */
.adaptive-learning h3 {
font-size: 20px !important;
}
.adaptive-learning h5 {
font-size: 17px !important;
}
.adaptive-learning h6 {
font-size: 16px !important;
}
.adaptive-learning p {
font-size: 14px !important;
}

}

/* start */


/* ============================================================
   NAVBAR RESPONSIVENESS FIX
   ------------------------------------------------------------
   This block fixes three separate navbar problems. Keep it LAST
   in the file so it wins over the older rules above.

   1. FULL BAR ON LAPTOPS.
      The markup used navbar-expand-xl / -xxl, so the complete
      navbar only appeared at 1200px / 1400px and every ordinary
      laptop fell back to the hamburger. A 1366x768 laptop at
      125% Windows scaling reports only 1092 CSS pixels, which
      is why it looked like "tablet view" on a laptop. The
      markup is now navbar-expand-lg (992px).

   2. OPAQUE HAMBURGER MENU.
      Below the breakpoint the opened menu had NO background of
      its own, and the <nav> is a fixed 100px-tall bar, so the
      menu spilled outside that white bar and the page showed
      straight through it. Previously the only mobile navbar CSS
      lived in a max-width:767px block, so every screen between
      768px and the breakpoint got a hamburger with no styling
      at all. The panel below is solid white, sits under the
      bar, and scrolls internally if it is taller than the
      screen so short laptop screens can still reach every item.

   3. NOTHING RUNS OFF THE SCREEN.
      The row is width-capped and the logo, link and button
      sizes step down on narrow screens, so the bar always fits
      on one line inside the viewport instead of overflowing
      sideways or wrapping onto a second line.
   ============================================================ */


/* The phone pill must never break across two lines */
.btn-phonenumber,
.navbar-right .btn-phonenumber {
  white-space: nowrap;
}

/* ---- Compact the desktop bar so it fits on one line ---- */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .navbar-brand .logo {
    height: 58px !important;
  }

  .navbar-nav .nav-link {
    font-size: 14px;
  }

  .navbar-nav li {
    margin: 0 2px;
  }

  .navbar-right .btn-phonenumber,
  .navbar-right .btn-primary {
    font-size: 13px;
    padding: 9px 12px;
  }

  .navbar-right .btn-phonenumber {
    margin-right: 0.5rem !important;
  }
}

/* 992-1199px is the tightest band - the container is only 960px
   wide here, so the bar needs a little more compaction. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-brand .logo {
    height: 50px !important;
  }

  .navbar-nav .nav-link {
    font-size: 13px;
  }

  .navbar-nav li {
    margin: 0 1px;
  }

  .navbar-right .btn-phonenumber,
  .navbar-right .btn-primary {
    font-size: 12px;
    padding: 8px 10px;
  }
}

/* Roomier again on large laptops, still smaller than full size */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .navbar-brand .logo {
    height: 68px !important;
  }

  .navbar-nav .nav-link {
    font-size: 15px;
  }
}

/* ---- Hamburger panel: opaque at EVERY width below 992px ---- */
@media (max-width: 991.98px) {
  .navbar {
    height: 100px !important;
    position: fixed;
    width: 100%;
  }

  .navbar > .container,
  .navbar > .container-fluid {
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #ffffff;
    border-top: 1px solid #ececec;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
    padding: 0.5rem 1.25rem 1.25rem;
    /* Never taller than the screen below the bar - scroll instead */
    max-height: calc(100vh - 100px);
    overflow-y: auto;
  }

  .navbar-nav {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .navbar-nav li {
    margin: 0;
  }

  .navbar-nav .nav-link {
    padding: 12px 4px;
    font-size: 16px;
    border-bottom: 1px solid #f3f3f3;
    text-align: left;
  }

  /* The "Who We Are" submenu opens inline inside the panel instead
     of floating over the page, so it cannot cover the links below. */
  .navbar-nav .dropdown-menu {
    position: static !important;
    float: none;
    width: 100%;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
    background-color: #fafafa;
    transform: none !important;
  }

  .navbar-nav .dropdown-item {
    min-width: 0;
    padding-left: 1.5rem;
    background-color: transparent;
  }

  .navbar-nav .btn-phonenumber,
  .navbar-nav .btn-primary {
    width: 100%;
    border-radius: 30px;
    padding: 12px;
    font-size: 16px;
    text-align: center;
  }

  .navbar-nav .btn-phonenumber {
    color: #000000;
  }
}

/* On phones the bar itself is shorter, so the panel gets more room */
@media (max-width: 767.98px) {
  .navbar-collapse {
    max-height: calc(100vh - 70px);
  }
}

/* ---- Education Excellence Awards badge under the footer logo ---- */
.footer-award {
  display: block;
  width: 125px;
  margin: 14px 15px 0 0;
}

.footer-award-wreath {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767.98px) {
  .footer-award {
    margin: 12px auto 0 auto;
  }
}
