
 /* Prevent overflow and horizontal scrolling */
 body,
 html {
   overflow-x: hidden;
    padding: 0;
   margin: 0;
   box-sizing: border-box;
   scroll-behavior: smooth;
   font-family: 'Poppins', sans-serif;
   max-width: 100%;
 }

  img {
   max-width: 100%;
   height: auto;
   display: block;
 }


 /* Fix button positioning issues on small screens */
 @media (max-width: 768px) {
   .enroll-btn {
     display: block;
     width: 100%;
     max-width: 250px;
     margin: 1rem auto;
     text-align: center;
   }
 }

 .navbar-brand {
   display: flex;
   font-size: 24px;
   position: relative;
   padding-left: 10px;
   color: #111;
 }

 .navbar-brand span {
   font-size: 15px;
   position: absolute;
   top: 50px;
   left: 87px;
   color: gray;

 }

 .navbar-brand h2 {
   margin-left: 10px;
 }

 .nav-link {
   color: #374151;
 }

 .nav-link:hover {
   color: #f48fb1;
 }

 .hero {
   position: relative;
   background: url("hero.jpg") center center/cover no-repeat fixed;
   min-height: 100vh;
   display: flex;
   align-items: center;
   color: white;
 }

 .hero::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.55);
   /* dark overlay */
 }

 .hero-content {
   position: relative;
   z-index: 2;
   max-width: 650px;
   padding: 1rem;
 }

 .hero h1 {
   font-size: 72px;
   font-weight: 800;
   line-height: 1.1;
 }

 .hero h1 span {
   color: #ffd23f;
 }

 .hero h2 {
   font-size: 24px;
   font-weight: 600;
   color: #ffc107;
   margin-top: 1rem;
 }

 .hero p {
   margin-top: 1.2rem;
   font-size: 30px;
   line-height: 1.7;
 }

 .btn-admission {
   background: linear-gradient(90deg, #bae0bb, #8be28d);
   color: #000;
   font-size: 18px;
   font-weight: 600;
   border-radius: 50px;
   padding: 16px 32px;
   display: inline-flex;
   align-items: center;
   gap: 0.6rem;
   transition: all 0.3s ease;
 }

 .btn-admission:hover {
   background-color: #8be28d;
   color: #000;
 }

 .floating-btn {
   position: fixed;
   bottom: 30px;
   right: 30px;
   background: linear-gradient(90deg, rgb(237, 69, 144), yellow);
   color: #000;
   border-radius: 50px;
   padding: 16px 32px;
   font-size: 16px;
   font-weight: 600;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
   display: flex;
   align-items: center;
   gap: 0.6rem;
   text-decoration: none;
   transition: all 0.3s ease;
   z-index: 5;
 }

 .floating-btn:hover {
   background-color: #ffc107;
   color: #000;
 }

 @media (max-width: 768px) {
   .hero h1 {
     font-size: 2.5rem;
   }
 }

 .about-section {
   padding: 80px 0;
 }

 .about-section h2 {
   font-weight: 800;
   text-align: center;
   margin: 0px 0px 16px;
   font-size: 36px;
 }

 .about-section p.lead {
   text-align: center;
   color: #e91e63;
   font-size: 20px;
   margin-bottom: 50px;
 }

 .founder-card {
   background: linear-gradient(135deg, #e3f9f1, #d9ebff);
   border-radius: 20px;
   padding: 55px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
 }

 .founder-card h4 {
   font-size: 24px;
   font-weight: 700;
   margin-bottom: 15px;
   color: #111;
 }

 .founder-card p {
   font-size: 16px;
   color: #333;
   line-height: 1.7;
 }

 @media (max-width: 992px) {
   .founder-card {
     margin-bottom: 30px;
   }
 }

 .programs-section {
   position: relative;
   background: linear-gradient(180deg, #fffbe8 0%, #f7ffe7 100%);
   padding: 100px 0;
   overflow: hidden;
   text-align: center;
 }

 .programs-section h2 {
   font-weight: 700;
   color: #111;
   margin-bottom: 20px;
 }

 .programs-section p.lead {
   color: #e91e63;
   margin-bottom: 60px;
   font-weight: 500;
 }

 /* ===== Program Card ===== */
 .program-card {
   background: #fff;
   border-radius: 25px;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
   padding: 60px 25px 35px;
   text-align: center;
   margin: 50px 15px 0;
   width: 260px;
   flex-shrink: 0;
   transition: all 0.4s ease;
   cursor: pointer;
   position: relative;
   overflow: visible;
 }

 /* Hover background transition */
 .program-card::before {
   content: "";
   position: absolute;
   inset: 0;
   background-color: #C2185B;
   opacity: 0;
   transition: opacity 0.4s ease;
   z-index: 0;
   border-radius: 25px;
 }

 .program-card:hover::before {
   opacity: 1;
 }

 .program-card * {
   position: relative;
   z-index: 1;
   transition: color 0.3s ease;
 }

 /* Hover text color */
 .program-card:hover h5,
 .program-card:hover small,
 .program-card:hover ul li {
   color: #fff !important;
 }

 /* ===== Icon ===== */
 .program-icon {
   width: 75px;
   height: 75px;
   border-radius: 50%;
   color: #fff;
   font-size: 1.8rem;
   display: flex;
   align-items: center;
   justify-content: center;
   position: absolute;
   top: -35px;
   /* makes it float above the card */
   left: 50%;
   transform: translateX(-50%);
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
   transition: transform 0.4s ease;
 }

 .orange {
   background: linear-gradient(90deg, yellow, rgb(237, 69, 144));
 }

 .pink {
   background: linear-gradient(90deg, rgb(237, 69, 144), yellow);
 }

 .green {
   background: linear-gradient(90deg, #81c784, #a5d6a7);
 }

 .blue {
   background: linear-gradient(90deg, #81c784, #a5d6a7);
 }


 .program-card:hover .program-icon {
   transform: translateX(-50%) scale(1.2);
   /* smooth scale up */
 }

 .program-card h5 {
   font-weight: 700;
   margin-top: 10px;
   color: #111;
 }

 .program-card small {
   color: #555;
   display: block;
   margin-bottom: 10px;
 }

 .program-card ul {
   list-style: none;
   padding: 0;
   margin: 0;
 }

 .program-card ul li {
   font-size: 0.9rem;
   color: #333;
   margin-bottom: 6px;
 }

 /* Fix Bootstrap default spacing on mobile */
@media (max-width: 576px) {
  .programs-section .container {
    padding: 0 15px !important;
  }

  .programs-section .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .programs-section .col-md-6,
  .programs-section .col-lg-3 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ✅ Center all program cards */
  .program-card {
    margin: 0 auto 30px auto;
    max-width: 300px; 
  }
}


 /* List Styling */
 .program-card ul {
   list-style: none;
   padding: 0;
   margin: 0;
 }

 .program-card ul li {
   display: flex;
   align-items: center;
   gap: 8px;
   justify-content: center;
   /* Centers text & bullet together */
   color: #333;
   font-size: 0.95rem;
   margin-bottom: 8px;
 }

 .program-card ul li::before {
   content: "•";
   color: gray;
   font-size: 1.2rem;
   line-height: 1;
 }


 /* --- Contact Section --- */
 /* CONTACT SECTION */
 /* Background */
 .contact-info-section {
   background-color: #f9fbfd;
 }

 /* Card styling */
 .info-card {
   background: linear-gradient(135deg, #fafdff, #e8f3ff);
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
   border-radius: 20px;
   transition: all 0.3s ease;
 }

 .info-card:hover {
   transform: translateY(-3px);
 }

 /* Icon circle styling */
 .info-icon {
   width: 50px;
   height: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 1.4rem;
   border-radius: 50%;
   color: #fff;
   flex-shrink: 0;
   box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
 }

 /* Specific colors for each icon */
 .phone-icon {
   background-color: #9cd67d;
   /* soft green */
 }

 .email-icon {
   background-color: #f17b91;
   /* pink */
 }

 .hours-icon {
   background-color: #ffd86b;
   /* yellow */
 }

 .bg-success {
   background-color: #7ac97c !important;
   /* address green */
 }

 /* Social icons */
 .social-link {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.3rem;
   color: #fff;
   transition: transform 0.3s ease, opacity 0.3s ease;
   box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
 }

 .social-link.facebook {
   background-color: #1877f2;
   align-items: center;
 }

 .social-link.instagram {
   background: linear-gradient(45deg, #feda75, #d62976, #962fbf, #4f5bd5);
 }

 .social-link.whatsapp {
   background-color: #25d366;
 }

 .social-link:hover {
   transform: scale(1.1);
   opacity: 0.9;
 }

 /* Responsive tweaks */
 @media (max-width: 767.98px) {
   .info-card {
     padding: 1.5rem;
   }

   .info-icon {
     width: 45px;
     height: 45px;
     font-size: 1.2rem;
   }

   .social-link {
     width: 38px;
     height: 38px;
     font-size: 1.1rem;
     align-items: center;
   }

   h4 {
     font-size: 1.2rem;
   }
 }

 /*Foooter css*/

 footer {
   background-color: #1e2a36;
   color: #fff;
   padding: 60px 0 20px;
   position: relative;
   font-family: "Poppins", sans-serif;
 }

 .footer-logo {
   display: flex;
   align-items: center;
   gap: 15px;
 }

 .footer-logo img {
   width: 70px;
   height: 70px;
   border-radius: 50%;
 }

 .footer-logo h5 {
   font-weight: 700;
   margin-bottom: 0;
 }

 .footer-logo span {
   display: block;
   color: #b0bec5;
   font-size: 15px;
 }

 .footer-text {
   color: #b0bec5;
   margin-top: 15px;
   line-height: 1.7;
 }

 .social-icons a {
   color: #b0bec5;
   margin-right: 15px;
   font-size: 20px;
   transition: color 0.3s;
 }

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

 .footer-title {
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: 600;
   margin-bottom: 20px;
   margin-top: 20px;
 }

 .footer-links a {
   display: flex;
   color: #b0bec5;
   justify-content: center;
   align-items: center;
   text-decoration: none;
   margin-bottom: 8px;
   transition: color 0.3s;
   margin-top: 5px;
 }

 .footer-links a:hover {
   color: #fff;
 }

 .footer-contact p {
   color: #b0bec5;
   margin-bottom: 10px;
 }

 .footer-contact i {
   color: #fff;
   margin-right: 10px;
 }

 footer hr {
   border-top: 1px solid #334a5e;
   margin: 30px 0;
 }

 .footer-bottom {
   text-align: center;
   color: #b0bec5;
   font-size: 16px;
 }

 /* Responsive */
 @media (max-width: 767px) {
   .footer-logo {
     justify-content: center;
     flex-direction: column;
     text-align: center;
   }

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

   .social-icons {
     text-align: center;
     justify-content: center;
   }

   .footer-links,
   .footer-contact {
     text-align: center;
   }
 }

 /*Gallery Css*/

 .gallery-section {
   text-align: center;
   padding: 80px 0 50px;
   background: linear-gradient(180deg, #e6e3d4 0%, #d7eeaa 100%);
 }

 .gallery-section h2 {
   font-weight: 700;
   color: #1e2a36;
   margin-bottom: 10px;
 }

 .gallery-section p {
   color: #e63971;
   font-size: 18px;
   margin-bottom: 40px;
 }

 .gallery-img {
   overflow: hidden;
   border-radius: 15px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .gallery-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 15px;
   transition: transform 0.4s ease;
 }

 .gallery-img:hover {
   transform: scale(1.05);
 }

 .gallery-img:hover {
   box-shadow: 0 6px 16px rgba(0, 0, 0, 0.5);
 }

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