html,body {
  background-color: #f4faff;
  font-family: 'Segoe UI', sans-serif;
  overflow-x:hidden ;
}

.hero-section {
  position: relative;
}

.hero-section h1 span {
  color: #007bff;
}

.navbar-nav .nav-link {
  margin-right: 1rem;
  font-weight: 500;
}
@media (max-width: 767px){
    .nav-item a {
        color: #000 !important;
        
    }
}
.btn-outline-primary {
  border: 2px solid #0d6efd;
  color: #0d6efd;
  font-weight: 500;
}

.btn-outline-primary:hover {
  background-color: #0d6efd;
  color: #fff;
}
.contact-bar {
  background-color: #0b3444;
}

.contact-bar i {
  font-size: 1.5rem;
}
.about-section {
    margin-top: 0rem;
  background-color: #f4faff;
  position: relative;
  overflow-x: hidden;
}

.rotate-circle {
  animation: rotate360 10s linear infinite;
  top: -30px;
  z-index: 10;
}

@keyframes rotate360 {
  from {
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}

.about-section img {
  object-fit: cover;
}
/* Common animation */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Initially hidden */
.contact-bar,
.hero-section,
.about-section .col-md-6 {
    margin-bottom: 0rem;
  opacity: 0;
  transform: translateY(40px);
  transition: all 1s ease-out;
}
@media (max-width: 767px){
    .contact-bar{
        margin-top: 0rem ;
        
    }
}
.animate-in {
  opacity: 1 !important;
  transform: translateY(0);
}

/* Active when in viewport */
.contact-bar.in-view,
.hero-section.in-view,
.about-section .col-md-6.in-view {
  animation: fadeUp 1s forwards;
}

.cursor-dot {
  position: fixed;
  width: 12px;
  height: 12px;
  background-color: rgba(0, 123, 255, 0.7);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: top 0.05s linear, left 0.05s linear;
}
.service-card {
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: transform 0.3s ease;
}

.service-card::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  height: 100%;
  background: rgba(0, 123, 255, 0.08); /* Light blue */
  z-index: 0;
  transition: bottom 0.4s ease;
}

.service-card:hover::before {
  bottom: 0;
}

.service-card * {
  position: relative;
  z-index: 1;
}

.service-card:hover {
  transform: translateY(-5px);
}.service-card {
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: transform 0.3s ease;
}

.service-card::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  height: 100%;
  background: rgba(0, 123, 255, 0.08);
  z-index: 0;
  transition: bottom 0.4s ease;
}

.service-card:hover::before {
  bottom: 0;
}

.service-card * {
  position: relative;
  z-index: 1;
}

.service-card:hover {
  transform: translateY(-5px);
}

.scroll-fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.scroll-fade-up.active {
  opacity: 1;
  transform: translateY(0);
}

.scroll-fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.scroll-fade-up.active {
  opacity: 1;
  transform: translateY(0);
}

.clinic-box .overlay {
  z-index: 1;
}

.clinic-box .position-relative.z-1 {
  z-index: 2;
}
.why-choose-section {
  background-color: #f0f8ff;
}

.circle-border {
  position: relative;
  width: 280px;
  height: 280px;
  border: 2px solid #0066cc2a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tooth-img {
  max-width: 150px;
  z-index: 1;
}

.scroll-fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.scroll-fade-up.active {
  opacity: 1;
  transform: translateY(0);
}
.how-we-work {
  background-color: #f8fcff;
}

.custom-accordion .accordion-button {
  font-weight: bold;
  color: #1d1d1d;
  background-color: #fff;
  border: none;
  border-bottom: 1px solid #e5e5e5;
  box-shadow: none;
}

.custom-accordion .accordion-button:focus {
  box-shadow: none;
}

.custom-accordion .accordion-item {
  border: none;
  border-radius: 0;
}

.custom-accordion .accordion-body {
  font-size: 0.9rem;
  padding-top: 0;
}
.team-section {
  background-color: #f0f9ff;
}

.team-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.team-card {
  transition: transform 0.3s ease;
}

.team-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.testimonial-section {
  background-color: #f0f9ff;
}

.rating-box {
  width: 220px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.rating-box small,
.rating-box p {
  margin: 0;
}

.testimonial-section .btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}










    .treatment-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      max-width: 1200px;
      margin: auto;
    }

    .treatment-card {
      width: 200px;
      text-align: center;
      border: 2px solid #2b78ba;
      border-radius: 10px;
      overflow: hidden;
      padding: 10px;
      cursor: pointer;
      background-color: #fff;
      transition: transform 0.2s ease;
    }

    .treatment-card:hover {
      transform: scale(1.03);
    }

    .treatment-card img {
      width: 100%;
      height: 150px;
      object-fit: cover;
      border-radius: 10px;
    }

    .treatment-card div {
      margin-top: 10px;
      font-size: 1.1em;
      color: #4377df;
    }

    /* Popup styles */
    #popup-overlay {
      display: none;
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0, 0, 0, 0.6);
      z-index: 9998;
    }

    #appointment-popup {
      display: none;
      position: fixed;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      background: #fff;
      padding: 30px;
      max-width: 500px;
      width: 90%;
      border-radius: 8px;
      z-index: 9999;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
      text-align: center;
    }

    #appointment-popup h2 {
      color: #007fb1;
      margin-bottom: 20px;
    }

    #appointment-popup input,
    #appointment-popup textarea {
      width: 100%;
      padding: 10px;
      border: 2px solid #0070b1;
      margin-bottom: 15px;
      border-radius: 5px;
      font-size: 16px;
    }

    #appointment-popup button {
      background: #0061b1;
      color: #fff;
      border: none;
      padding: 12px 20px;
      font-size: 16px;
      font-weight: bold;
      border-radius: 5px;
      width: 100%;
      cursor: pointer;
    }

    .close-btn {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 18px;
      cursor: pointer;
      color: #999;
    }

    @media (max-width: 600px) {
      .treatment-card {
        width: 100%;
      }
    }

    .navbar-custom {
      background-color: #007BFF;
    }

    .navbar-custom .nav-link {
      color: #fff;
      margin-right: 15px;
      font-weight: 500;
    }

    .navbar-custom .nav-link:hover {
      color: #d9f0ff;
    }

    .btn-book {
      background-color: #ffffff;
      color: #007BFF;
      font-weight: 500;
      padding: 6px 18px;
      border-radius: 30px;
      transition: 0.3s;
    }

    .btn-book:hover {
      background-color: #e2e6ea;
      color: #0056b3;
    }
 .section-title {
      text-align: center;
      color: #4a90e2;
      font-size: 2rem;
      font-weight: 500;
      position: relative;
      margin-bottom: 20px;
    }

    .section-title::after {
      content: "";
      display: block;
      width: 40px;
      height: 3px;
      background-color: #4a90e2;
      margin: 8px auto 0; /* centers the underline */
      border-radius: 2px;
    }


    