body {
  font-family: Libre Franklin;
}

h3 {
  font-family: Libre Franklin;
  font-weight: 700;
  font-style: Bold !important;
  font-size: 30px !important;
  line-height: 129% !important;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle !important;
}
.elementor.elementor-1020.elementor-location-popup {
  display: none !important;
}
div#ast-scroll-top {
  display: none !important;
}
.heading-miniline {
  font-family: Libre Franklin;
  font-weight: 400;
  font-style: Regular;
  font-size: 18px;
  line-height: 164%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  color: #9a9a9a;
}
.banner-heading {
  color: #000;
}
.header-section {
  padding: 10px 0;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* Hide header */
.header-section.hide-header {
  transform: translateY(-100%);
}

/* Optional shadow when visible */
.header-section.show-shadow {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Prevent content jump */
body {
  padding-top: 93px !important; /* adjust based on header height */
}

.appointment-btn {
  display: inline-block;
  background-color: #8a1b7e;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  text-align: center;
  border: 1px solid rgba(138, 27, 126, 1);
  font-size: 13px;
  line-height: 1.2;
  transition: background-color 0.3s ease;
  text-decoration: none;
}
.appointment-btn:hover,
.appointment-btn:focus,
.appointment-btn:active {
  background-color: #5d1459; /* darker purple on hover */
  color: #fff; /* keep text white */
  text-decoration: none; /* no underline */
  outline: none;
  box-shadow: none;
}

/* .appointment-btn:hover {
  background-color: #5d1459;
} */
.appointment a {
  text-decoration: none;
}

/* card css */

.light-pink-bk {
  background-color: #f6eef5;
  padding: 70px 0 !important;
}

.program-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.program-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.program-card .card-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #7a1b74;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  text-align: center;
  border-radius: 0 0 12px 12px;
  transition: all 0.4s ease;
  min-height: 60px;
  padding: 22px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
  text-wrap: balance;
  white-space: normal;
  overflow: visible;
  bottom: -8px;
}

/* Overlay (hidden initially) */
.program-card .overlay {
  position: absolute;
  bottom: -100%;
  left: 0;
  right: 0;
  background-color: #7a1b74;
  color: #fff;
  padding: 20px;
  border-radius: 0 0 12px 12px;
  transition: all 0.5s ease;
}

.program-card .overlay h5 {
  font-weight: 500;
  font-size: 20px;
  margin-bottom: 20px;
  color: #fff;
}

.program-card .overlay ul {
  padding-left: 20px;
  margin: 0;
  font-size: 16px;
  list-style: disc;
  font-weight: 300 !important;
}

/* Hover effect */
.program-card:hover .overlay {
  bottom: 0;
}

.program-card:hover .card-title {
  transform: translateY(100%);
  opacity: 0;
}
.program-card img {
  transition: transform 0.6s ease; /* smooth zoom */
}

.program-card:hover img {
  transform: scale(1.1); /* slight zoom-in */
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .program-card .overlay {
    padding: 30px;
  }
  .program-card .overlay h5 {
    font-size: 22px;
  }
  .program-card .overlay ul {
    font-size: 16px;
    line-height: 26px;
  }
}

.normal-padding {
  padding: 70px 0;
}

.icon-circle {
  width: 55px;
  height: 55px;
  background-color: #ebd9e9; /* your color */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.icon-circle img {
  width: 50%;
  height: 50%;
  object-fit: contain;
}

/* wellness section */

.wellness-box {
  background-color: #7a1b74; /* purple box color */
  border-radius: 10px;
  padding: 90px 0 !important;
}

.text-purple {
  color: #7a1b74 !important;
}

.wellness-box a.btn {
  border-radius: 5px;
  transition: all 0.3s ease;
  padding: 15px 60px;
  border-radius: 5px;
  font-size: 20px;
  font-weight: 600;
}
.wellness-box h3 {
  font-family: Libre Franklin;
  font-weight: 700;
  font-style: Bold;
  font-size: 30px;
  line-height: 0%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}
.wellness-box p {
  font-family: Libre Franklin;
  font-weight: 400;
  font-style: Regular;
  font-size: 18px;
  line-height: 164%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}

.wellness-box a.btn:hover {
    background-color: #ffff;
    color: #5d1459 !important;
}

/* Responsive spacing adjustment */
@media (max-width: 768px) {
  .wellness-box {
    padding: 2rem 1rem;
  }
}

.custom-btn {
  padding: 10px 25px;
  border-radius: 5px;
  font-weight: 600;
  white-space: nowrap;
}

/* journey */

.journey-section {
  position: relative;
}

.journey-step {
  position: relative;
  z-index: 2;
  padding: 10px 20px;
}

.journey-circle {
  width: 70px;
  height: 70px;
  border: 1.5px solid #e0cde4; /* light border around circle */
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.journey-circle img {
  /* width: 35px;
  height: 35px; */
  object-fit: contain;
}

.journey-line {
  position: absolute;
  top: 45px; /* align with middle of icons */
  left: 1%;
  right: 7%;
  height: 1.5px;
  background-color: #e0cde4;
  z-index: 1;
}

/* Headings and text */
.journey-step h6 {
  color: #000;
  font-weight: 600;
  margin-top: 15px;
  font-size: 20px;
}

.journey-step p {
  color: #333;
  font-size: 16px;
  font-weight: 400 !important;
  line-height: 164%;
  margin-top: 15px;
}

/* footer */

.footer-section {
  background: linear-gradient(to top, #e9cfea, #d8e5ce);
  color: #000;
}

.footer-section p,
.footer-section a {
  font-size: 16px;
  line-height: 26px;
  color: #000;
  text-decoration: none;
  margin-bottom: 1rem;
}
ul.list-unstyled.footer-links {
    margin: 0;
}
textarea {
    height: 70px !important;
}
.consultation-form p {
    margin-bottom: 0;
}
.footer-section a:hover {
  color: #7a1b74;
  text-decoration: none;
}

.footer-links li {
  margin-bottom: 8px;
  font-family: Libre Franklin !important;
}
.footer-subhead {
  font-size: 20px !important;
  font-weight: 600;
}
.footer-head {
  font-size: 30px;
}
.footer-list ul li a {
  color: #5f5d5d;
}

.btn-subscribe {
  background-color: #7a1b74;
  border-radius: 5px;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.btn-subscribe:hover {
  background-color: #5d1459;
}

.social-icons a {
  color: #7a1b74;
  font-size: 20px;
  transition: color 0.3s ease;
}

.social-icons a:hover {
  color: #5d1459;
}

.facility h6 {
  font-weight: 700;
  font-style: Bold;
  font-size: 18px;
  line-height: 164%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
}
.facility p {
  font-weight: 400;
  font-style: Bold;
  font-size: 18px;
  line-height: 164%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
}

/* accordion */

/* Accordion wrapper */
.custom-accordion .accordion-item {
  border: none;
  background-color: #f6eef5;
  border-radius: 10px;
  margin-bottom: 15px;
  overflow: hidden;
}

/* Accordion button styling */
.custom-accordion .accordion-button {
  background-color: #f6eef5;
  font-weight: 600;
  color: #000;
  box-shadow: none !important;
  border: none !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px;
  font-size: 20px;
  font-weight: 700 !important;
}

/* Collapsed button color fix */
.custom-accordion .accordion-button.collapsed {
  background-color: #f6eef5;
  color: #000;
}

/* Accordion body */
.custom-accordion .accordion-body {
  background-color: #f6eef5;
  padding: 15px 30px 20px;
}

/* List styling inside accordion */
.custom-accordion ul {
  list-style: disc;
  /* padding-left: 20px; */
  margin-bottom: 0;
}

.custom-accordion li {
  margin-bottom: 18px;
  color: #333;
  font-size: 16px;
  font-weight: 400;
  line-height: 164%;
  color: rgba(0, 0, 0, 1);
}

/* Custom arrow icons */
.arrow-icon {
  font-size: 18px;
  color: #7a1b74;
  transition: transform 0.3s ease;
}

/* Rotate arrow when accordion opens */
.accordion-button:not(.collapsed) .arrow-icon {
  transform: rotate(180deg);
}

/* Smooth transition when collapsed */
.accordion-button.collapsed .arrow-icon {
  transform: rotate(0deg);
}

/* banner section */

.hero-section {
  background-image: url("../images/kseniya-lapteva-Dr8jO199ORY-unsplash\ 1.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: calc(100vh - 95px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  position: relative;
}

/* Optional: light overlay for better text contrast */
.hero-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background: rgba(255, 255, 255, 0.6); */
  z-index: 0;
}

.hero-section .container {
  position: relative;
  z-index: 1;
}
.banner-heading {
  font-family: Libre Franklin;
  font-weight: 700;
  font-style: Bold;
  font-size: 58px;
  line-height: 129%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
}

.hero-line {
  font-weight: 400;
  font-style: Regular;
  font-size: 20px;
  line-height: 129%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  color: #8a1b7e;
}

.text-purple {
  color: #7a1b74;
}

.btn-purple {
  background-color: #8a1b7e;
  color: #fff;
  border-radius: 5px;
  transition: all 0.3s ease;
  padding: 12px 65px;
  position: relative;
  overflow: hidden; /* ✅ ensures smooth zoom without overflow */
}

.btn-purple span {
  display: inline-block;
  transition: transform 0.5s ease; /* ✅ smooth zoom on text only */
}

/* ✅ hover effects */
.btn-purple:hover {
  background-color: #5d1459;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); /* ✅ subtle black shadow */
  color:#000;
}

.btn-purple:hover span {
  transform: scale(1.09); /* ✅ only text zooms */
  color: #fff;
}

/* slider */

/* Keep your existing image styling */
.main-img {
  border-radius: 10px;
  transition: transform 1s ease, opacity 1s ease;
  height: 450px !important;
  /* width: 600px; */
}

.side-img {
  opacity: 0.9;
  transform: scale(0.9);
  border-radius: 10px;
  transition: transform 1s ease, opacity 1s ease;
  height: 510px !important;
}
.about-text p {
  font-weight: 400;
  font-style: Regular;
  font-size: 18px;
  line-height: 164%;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  color: #212529;
}

/* Optional subtle zoom when visible */
.carousel-item.active .main-img {
  transform: scale(1.02);
  opacity: 1;
}

.carousel-item .main-img {
  opacity: 0.8;
}

/* Remove horizontal sliding effect padding */
.carousel-fade .carousel-item {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  opacity: 1;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  opacity: 0;
}

.footer-desc {
  color: #5f5d5d !important;
}

/* custom wellness button */
.btn-wellness {
  background-color: #fff;
  color: #8a1b7e; /* purple text */
  border-radius: 5px;
  transition: all 0.3s ease;
  padding: 12px 20px;
  position: relative;
  overflow: hidden; /* ✅ ensures zoomed text doesn't overflow */
  font-weight: 600;
}

/* ✅ inner span for text zoom */
.btn-wellness span {
  display: inline-block;
  transition: transform 0.6s ease;
}

/* ✅ hover: add subtle black shadow + zoom text */
.btn-wellness:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  color: #8a1b7e;
}

.btn-wellness:hover span {
  transform: scale(1.09); /* ✅ zoom only text */
}
:root {
  --green: #2f6b46;
  --purple: #6b3b6e;
  --white: #fff;
}
/* CARD */
.care-section .care-card {
  position: relative;
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
  color: #fff;
  transition: 0.4s ease;
}

.care-section .care-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* IMAGE */
.care-section .care-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

/* OVERLAY */
.care-section .overlay {
  position: absolute;
  inset: 0;
  opacity: 0.92;
}

/* .overlay.green{ background:var(--green); }
.overlay.purple{ background:var(--purple); } */

/* CONTENT */
.care-section .care-content {
  position: relative;
  z-index: 2;
  padding: 40px 35px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.care-section .care-body {
  flex: 1; /* pushes button to bottom */
}

/* ICON */
.care-section .care-icon {
  width: auto;
  height: 120px;
  margin: 30px auto 0;
}
.care-section .care-icon img {
  width: auto;
  height: 120px;
  margin: 30px auto 30px;
}
/* TEXT */
.care-section .care-content h4 {
    letter-spacing: .5px;
    margin-bottom: 12px;
    font-size: 1.5rem;
    color: #fff;
}

.care-section .care-content p {
  line-height: 1.6;
}

/* BUTTON */
.care-section .care-btn {
  display: block;
  width: 50%; /* 👈 controls button width */
  margin: 0 auto; /* centers button */
  text-align: center;
  border: 2px solid #ffffff;
  color: #ffffff;
  border-radius: 30px;
  padding: 12px 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* HOVER */
.care-section .care-btn:hover {
  background: #ffffff;
  color: #000000;
}
.testimonial-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.testimonial-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

.stars {
  color: #f4b400;
  font-size: 18px;
  letter-spacing: 2px;
}

.avatar {
  width: 45px !important;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
}
/* Slick track should stretch */
.testimonial-slider .slick-track {
  display: flex !important;
}
/* Slide inner padding wrapper */
.testimonial-slider .slick-slide > div {
  display: flex;
  height: 100%;
}
/* Slick spacing fix */
.testimonial-slider .slick-slide {
  height: auto !important;
  display: flex !important;
}

/* Center mode scaling */
.slick-center .testimonial-card {
  transform: scale(1.02);
}
.section-title {
  font-weight: 700;
  letter-spacing: 1px;
  color: #1f2b45;
}

/* ===== CARD ===== */
.doctor-card {
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  text-align: center;
  cursor: pointer;
  transition: transform 0.3s ease;
  height: 100%;
}

.doctor-card:hover {
  transform: translateY(-6px);
}

.doctor-card img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.doctor-card-body {
  padding: 25px 20px 30px;
}

.doctor-card-body h5 {
  font-weight: 600;
  margin-bottom: 6px;
}

.doctor-card-body p {
  color: #666;
  margin-bottom: 18px;
}

/* ===== SOCIAL ICONS (CARD) ===== */
.card-social {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.card-social a {
  width: 36px;
  height: 36px;
  background: #8a1b7e;
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  transition: background 0.3s ease;
  text-decoration: none;
}

.card-social a:hover {
  background: #8a1b7e;
}

/* Prevent card click when clicking icons */
.card-social a {
  pointer-events: auto;
}

.doctor-card {
  position: relative;
}

/* ===== MODAL ===== */
.doctor-modal {
  border-radius: 0;
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10;
}

.doctor-modal-img {
  width: 100%;
  max-height: 650px;
  object-fit: cover;
}

.doctor-name {
  font-weight: 600;
  text-align: left;
}

.doctor-designation {
  color: #777;
  margin-bottom: 20px;
}

.doctor-points li {
  margin-bottom: 10px;
  line-height: 1.6;
}
/* ===== SOCIAL ICONS (MODAL) ===== */
.doctor-social {
  display: flex;
  gap: 12px;
}

.doctor-social a {
  width: 36px;
  height: 36px;
  background: #8a1b7e;
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background 0.3s ease;
  text-decoration: none !important;
}

.doctor-social a:hover {
  background: #8a1b7e;
  text-decoration: none !important;
}
.btn-book {
  background: #8a1b7e !important;
  color: #fff !important;
  padding: 12px 28px !important;
  border-radius: 4px !important;
  font-weight: 500 !important;
  border: none !important;
  width: 100%;
}
textarea {
  height: 55px;
}
.btn-book:hover {
  background: #75156b !important;
  color: #fff !important;
}
/* Responsive */
@media (max-width: 768px) {
  .header-section {
    text-align: center;
  }

  .row {
    flex-direction: column;
  }

  .brand-name {
    margin-top: 5px;
  }

  .appointment-btn {
    margin-top: 10px;
  }

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

  .footer-section .social-icons {
    justify-content: center;
  }
  .side-img {
    display: none;
  }
  .hero-section {
    min-height: 60vh;
    padding: 60px 15px;
  }

  .hero-section p {
    font-size: 0.95rem;
    line-height: 24px;
  }
  .journey-step {
    margin-bottom: 30px;
  }

  .banner-heading {
    font-size: 23px;
  }
  h3 {
    font-size: 24px;
  }
  .about-text p {
    font-size: 14px !important;
  }
  .heading-miniline {
    font-size: 16px;
  }

  .custom-accordion .accordion-button {
    font-size: 18px;
  }
  .custom-accordion li {
    font-size: 14px;
  }
  .custom-accordion .accordion-body {
    padding: 0px 15px 10px;
  }
  .journey-step h6 {
    font-size: 18px;
  }
  .journey-step p {
    font-size: 16px;
  }
  .facility p {
    font-size: 14px;
  }
  .btn-purple {
    padding: 8px 30px;
  }
  .footer-head {
    font-size: 24px;
  }
  .footer-links li {
    margin-bottom: 4px;
  }
  .wellness-box p {
    font-size: 16px;
  }
  .wellness-box h3 {
    font-size: 24px;
  }
  .wellness-box a.btn {
    font-size: 16px;
    padding: 4px 20px;
  }
  .custom-accordion li {
    font-size: 16px;
  }
}

.header-section {
  background-color: #fff;
  padding: 10px 0;
}

/* ✅ flex layout that always stays horizontal */
.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap; /* prevent wrapping even on small screens */
}

/* ✅ appointment button styling */
.appointment-btn {
  display: inline-block;
  /* background-color: #0056b3; */
  color: #fff;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 5px;
  text-align: center;
  line-height: 1.2;
}

/* ✅ responsive tweaks */
@media (max-width: 768px) {
  .logo {
    height: 55px !important;
  }

  .appointment-btn {
    font-size: 13px;
    padding: 6px 12px;
  }

  /* ✅ hide line break below 768px */
  .appointment-btn br {
    display: none;
  }
}
