@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');


html, body {
  overflow-x: hidden; /* Prevent horizontal scroll */
  margin: 0;
  padding: 0;
}

/*** Spinner Start ***/
  body {
  background-image: url('../img/madrassa.jpg');
background-size: cover; 
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed; 
   overflow-x: hidden; /* Prevent horizontal scroll */
  margin: 0;
  font-family: 'Poppins', sans-serif;
  overflow-x: hidden; /* This will disable horizontal scroll */
  margin: 0; /* Reset margin to prevent any extra space */
    
  }
  .quran-loader {
  overflow: hidden; /* Prevent scroll during loader */
}
/* Ensure center content is aligned properly */
.shell-content {
  position: relative;
  z-index: 2;
}


  body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: rgba(0, 0, 0, 0.5);  */
  z-index: 0;
}

.container, main, #content {
  position: relative;
  z-index: 1;
}

.card {
  /* background-color: rgba(0, 0, 0, 0.6); */
  /* color: white; */
}
.minhead{
  background: rgba(0,0,0,0.5); display: inline-block; border-radius: 5px;
}

.bighead{
  background: rgba(0,0,0,0.5);
   padding: 20px; 
   border-radius: 12px;
}
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .8s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .8s ease-out, visibility 0s linear .0s;
    visibility: visible;
    opacity: 1;
}

.wow,
.animated {
    animation-duration: 2s !important;
}

/*** Spinner End ***/

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    z-index: 99;
}

.back-to-top:hover {
    background: var(--bs-dark);
    color: var(--bs-primary);
}

h1, h2, h3, .h1, .h2, .h3 {
    font-weight: 700 !important;
    font-family: 'Open', sans-serif !important;
}

h4, h5, h6, .h4, .h5, .h6 {
    font-weight: 600 !important;
    font-family: 'Open', sans-serif !important;
}

.py-6 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}


/*** Button Start ***/

.btn {
    font-weight: 600;
    transition: .5s;
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-md-square {
    width: 46px;
    height: 46px;
}

.btn-lg-square {
    width: 58px;
    height: 58px;
}

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}

.btn.btn-primary:hover {
    color: var(--bs-primary) !important;
    background: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
}

.btn.btn-dark:hover {
    color: var(--bs-dark) !important;
    background: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}
/*** Button End ***/
.topbar-wrapper {
  background-color: white;
  width: 100%;
  border-bottom: 1px solid #ddd;
}

/* 
.navbar-wrapper {
  background-color: #f7d588;
  width: 100%;
} */

.navbar-wrapper {
  background: linear-gradient(135deg, rgba(22, 60, 45, 0.85), rgba(15, 40, 30, 0.9));
backdrop-filter: blur(10px) saturate(120%);
-webkit-backdrop-filter: blur(10px) saturate(120%);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  border-bottom: 3px solid white;
  z-index: 999;
  position: relative;
  transform: translateZ(0); /* force GPU rendering to prevent line flicker */
height:85px;


}
/* .navbar-wrapper {
  background: linear-gradient(135deg, rgba(22, 60, 45, 0.85), rgba(15, 40, 30, 0.9));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  border-bottom: 0 !important;
  z-index: 999;
  overflow: hidden;

  /* ✅ Add these 👇 */
  /* transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
}  */

.navbar-wrapper::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: rgba(0, 0, 0, 0.15); /* subtle dark overlay to mask flicker */
  pointer-events: none;
}

/* .navbar-wrapper {
  background: rgba(34, 81, 59, 0.6); 

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 999;
} */
/* .navbar .nav-link {
  color: black !important;
  font-weight: 600;
} */

.navbar .nav-link {
  color: #ffffff !important;
  font-weight: 600;
  padding: 12px 16px;
  transition: color 0.3s ease;
}

/* .navbar .nav-link:hover,
.navbar .nav-link.active {
  color: #000 !important;
  text-decoration: underline;
} */
 .navbar .nav-link:hover,
.navbar .nav-link.active {
  color: #f7d588 !important; /* golden hover */
  text-decoration: none;
}
.topbar-navbar-wrapper {
  z-index: 1030;
  width: 100%;
}
.navbar-wrapper .container,
.topbar-wrapper .container {
  padding-left: 15px;
  padding-right: 15px;
}
/*** Topbar Start ***/
.topbar .topbar-inner {
    height: 45px;
    padding: 10px 15px;
    background: rgba(255, 255, 255, .5);
}

.topbar a,
.topbar a i {
    transition: 0.5s;
}

.topbar a:hover,
.topbar a i:hover {
    color: var(--bs-primary) !important;
}
/*** Topbar End ***/


/*** Navbar Start ***/
.fixed-top {
    transition: .5s;
}

/* .navbar {
    border-bottom: 1px solid rgba(255, 255, 255, .5);
} */

.navbar .navbar-nav .nav-link {
    padding: 12px;
    color: var(--bs-dark);
    font-size: 17px;
    font-weight: 600;
    transition: .5s;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active,
.fixed-top.bg-white .navbar .navbar-nav .nav-link:hover,
.fixed-top.bg-white .navbar .navbar-nav .nav-link.active {
    color: var(--bs-primary);
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    vertical-align: middle;
    margin-left: 8px;
}

@media (min-width: 992px) {
    .navbar-collapse {
        background: transparent !important;
    }

    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        border: 0;
        transition: .5s;
        opacity: 0;
    }

    .navbar .nav-item:hover .dropdown-menu {
        transform: rotateX(0deg);
        visibility: visible;
        background: var(--bs-light) !important;
        transition: .5s;
        opacity: 1;
    }
}

/* .navbar-toggler {
    background: var(--bs-secondary);
    color: var(--bs-light) !important;
    padding: 10px 20px;
    border: 2px solid var(--bs-primary) !important;
    box-shadow: none !important;
} */

.navbar-toggler {
  background-color: #f7d588;
  border: none;
  color: #1a2c53 !important;
}
/*** Navbar End ***/


/*** Hero Header ***/
/* .hero-header {
    margin-bottom: 6rem;
    padding-top: 15rem;
    padding-bottom: 6rem;
    background: url("../img/hero.jpg"), center center no-repeat;
    background-size: cover;
}

.hero-header .hero-header-inner {
    padding: 3rem;
    background: rgba(255, 255, 255, .5);
}

@media (max-width: 992px) {
    .hero-header {
        padding-top: 12rem;
    }
}

.hero-header .breadcrumb-item {
    font-size: 18px;
} */

/* Header ki real height jitni ho utni set kar do */
:root { --header-h: 150px; }

/* ✅ FULL banner fix */
.hero-header {
  /* margins/padding trimmed so image full dikhe */
  /* margin: 0 0 6rem; */
  padding: 0;

  /* ❌ old: background: url("../img/hero.jpg"), center center no-repeat;  (comma galat)
     ✅ new syntax with position/size/repeat ek hi line me */
  background: url("frontassets/img/contactbanner.png") center center / cover no-repeat;

  /* full screen minus fixed header */
  min-height: calc(100dvh - var(--header-h));
  /* fallback */
  min-height: calc(100vh - var(--header-h));
  margin-top: var(--header-h);

  display: flex;
  align-items: center;
  position: relative;
}

/* Optional: halka overlay so text readable ho */
.hero-header::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(rgba(0,0,0,.15), rgba(0,0,0,.25));
  pointer-events:none;
}

/* Text card styling */
.hero-header .hero-header-inner {
  padding: 2rem 2.5rem;
  background: rgba(255,255,255,.65); /* agar dark chahiye to rgba(0,0,0,.35) + color:#fff */
  backdrop-filter: blur(2px);
  border-radius: 12px;
  position: relative; /* overlay ke upar */
}

/* Breadcrumb / headings contrast */
.hero-header h1,
.hero-header .breadcrumb,
.hero-header .breadcrumb a { color: #111; } /* dark on light card */
.breadcrumb-item+.breadcrumb-item::before { color:#111; }

/* Mobile me header chhota hota hai to variable adjust */
@media (max-width: 992px){
  :root{ --header-h: 100px; }
}
@media (max-width: 576px){
  :root{ --header-h: 80px; }
}
/* 📱 Mobile (<=576px): hero top se start */
@media (max-width: 576px){
  :root{ --header-h: 0px; }               /* agar kahin var use ho rahi ho */
  .hero-header{
    margin-top: 0 !important;
    min-height: 100dvh;                   /* full screen */
    min-height: 100vh;                    /* fallback */
  }
}



/* Make sure hero-header can host overlay */
.hero-header { position: relative; overflow: hidden; }

/* Put page content above the overlay */
.hero-header > .container { position: relative; z-index: 2; }

/* Left-side shadow/tint in #274034 */
.hero-header::before{
  content: "";
  position: absolute;
  inset: 0;
  /* #274034 = rgb(39, 64, 52) */
  background: linear-gradient(
    90deg,
    rgba(39, 64, 52, 0.85) 0%,
    rgba(39, 64, 52, 0.55) 35%,
    rgba(39, 64, 52, 0.20) 60%,
    rgba(39, 64, 52, 0.00) 85%
  );
  pointer-events: none;
  z-index: 1;
}

/* Mobile tweak: thoda zyada coverage for readability */
@media (max-width: 992px){
  .hero-header::before{
    background: linear-gradient(
      90deg,
      rgba(39, 64, 52, 0.90) 0%,
      rgba(39, 64, 52, 0.60) 45%,
      rgba(39, 64, 52, 0.00) 100%
    );
  }
}

/*** Hero Header ***/


/*** About Start ***/
.about a.btn.btn-light:hover {
    background: var(--bs-dark) !important;
    color: var(--bs-primary) !important;
    border: 0;
}
/*** About End ***/


/*** Activities Start ***/
.activities .activities-item {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 45px rgba(12, 18, 20, .08);
    transition: 0.5s;
    background:white;
}

.activities .activities-item:hover {
    /* background: var(--bs-primary); */
    background:linear-gradient(135deg, rgba(22, 60, 45, 0.85), rgba(15, 40, 30, 0.9));
    /* color: var(--bs-dark) !important; */
    color:white;
}

.activities .activities-item:hover h4{
  color:white;
}
.activities .activities-item i{
  color:black;
}
.activities .activities-item:hover i{
  color:white;
}
.activities .activities-item:hover a {
    background: var(--bs-light) !important;
    color: var(--bs-dark) !important;
}

.activities .activities-item:hover a:hover {
    background: var(--bs-dark) !important;
    color: var(--bs-primary) !important;
}

/* Remove top padding for mobile view */
@media (max-width: 767px) {
    .activities {
        padding-top: 0 !important;  /* Remove extra space at the top */
    }

    .container {
        padding-top: 0 !important;  /* Ensure container doesn't have extra space */
    }

    /* Reduce margin-top for the header on mobile */
    .bighead h1 {
        margin-top: 0 !important;  /* Remove extra space from header */
    }

    /* Ensure the section has no excessive margin or padding */
    .activities-item {
        padding-top: 10px;  /* Adjust padding to fit better */
    }
    
    /* Adjust the size of the icon and text */
    .activities-item i {
        font-size: 3rem;  /* Resize icon for better fit */
    }

    .activities-item h4 {
        font-size: 1.2rem; /* Resize heading for mobile */
    }

    .activities-item p {
        font-size: 0.9rem;  /* Resize paragraph for mobile */
    }
}




/*** Activities End ***/

/* .event-item{
color:white;
} */
/*** Events Start ***/
.event-item img {
    transition: 0.5s;
}

.event .event-item a {
    transition: 0.5s;
}

.event-item:hover img {
    transition: 0.5s;
    transform: scale(1.2)
}


/* ================= MOBILE RESPONSIVE: Quran Services Section ================= */
@media (max-width: 768px) {
  .event .event-item {
    flex-direction: column !important;
  }

  .event-item .col-3,
  .event-item .col-9,
  .event-item .col-lg-2,
  .event-item .col-lg-6,
  .event-item .col-lg-4 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 10px 15px !important;
    border: none !important;
  }

  .event .event-item .ms-3 {
    margin-left: 0 !important;
  }

  .event .event-item img {
    width: 100% !important;
    border-radius: 12px;
    margin-top: 15px;
  }

  .event .event-item h4 {
    font-size: 20px !important;
  }

  .event .event-item p {
    font-size: 14px !important;
  }

  .event .event-item a.btn {
    padding: 10px 20px;
    font-size: 14px;
  }

  .event .event-item .text-center {
    border-bottom: none !important;
    text-align: left !important;
    padding-left: 0 !important;
  }

  .event h1.display-3 {
    font-size: 28px !important;
    text-align: center;
  }
}


/* .event-item a:hover { */
    /* background: var(--bs-dark); */
    /* color: var(--bs-primary);
    opacity: 0.5s;
} */
/*** Events End ***/


/*** Sermon Start ***/
.sermon-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.sermon-item::after {
  content: "Click to View Course";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  color: white;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.6);
  padding: 10px 18px;
  border-radius: 30px;
  font-size: 16px;
  z-index: 2;
  transition: all 0.3s ease-in-out;
}

.sermon-item:hover::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.sermon .sermon-item {
    height: 100%;
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}
/* new style of courses */
.sermon-item img {
    transition: 0.5s;
}
.quran-courses-flip .sub-title {
  text-transform: uppercase;
  color: #f4b400;
  font-weight: 600;
}
.quran-courses-flip .main-title {
  font-size: 36px;
  font-weight: 700;
  color: #1a2c53;
}

/* Flip Card Styles */
.flip-card {
  perspective: 1200px;
}
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 400px;
  transition: transform 0.8s ease;
  transform-style: preserve-3d;
}
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  backface-visibility: hidden;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

/* FRONT */
.flip-card-front {
  background: #fff;
  display: flex;
  flex-direction: column;
      border-top: 3px solid #162D23;
          border-bottom: 3px solid #162D23;
              border-right: 3px solid #162D23;
                            border-left: 3px solid #162D23;

}
.flip-card-front img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.card-content {
  padding: 20px;
}
.card-content h4 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.card-content p {
  color: #666;
  font-size: 14px;
  margin-bottom: 16px;
}
.btn-flip {
  display: inline-block;
  padding: 8px 20px;
  background-color: #f7d588;
  border-radius: 30px;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s ease;
}
.btn-flip:hover {
  background-color: #ffeb99;
}

.flip-card-back {
  background: linear-gradient(135deg, #254b38, #f7d588); /* More contrast, classy */
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  color: #fff;
  transform: rotateY(180deg);
  padding: 25px;
  border-radius: 16px;
}

.flip-card-back h5 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #fff; /* ⬅ black hatao, white karo for visibility */
}

.flip-card-back p {
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
}

.flip-card-back .btn-flip {
  margin-top: 16px;
  background-color: #fff;
  color: #254b38; /* same as first bg color */
}

.sermon-item:hover img {
    transform: scale(1.2)
}

.sermon-item .sermon-meta a,
.sermon-item .sermon-meta a i {
    transition: 0.5s;
}

.sermon-item .sermon-meta a:hover,
.sermon-item .sermon-meta a i:hover {
    color: var(--bs-primary) !important;
}
/*** Sermon End ***/


/*** Blog Start ***/
.blog-item {
    height: 100%;
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.blog-item img {
    transition: 0.5s;
}

.blog-item:hover img {
    transform: scale(1.2)
}

.blog-item .blog-meta a,
.blog-item .blog-meta a i {
    transition: 0.5s;
}

.blog-item .blog-meta a:hover,
.blog-item .blog-meta a i:hover {
    color: var(--bs-primary) !important;
}
/*** Blog End ***/


/*** Team Start ***/
.team .team-img {
    height: 100%;
    padding: 25px;
    background: var(--bs-white);
    overflow: hidden;
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.team .team-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team .team-item {
    position: relative;
    overflow: hidden;
}

.team .team-item img {
    transition: 0.5s;
}

.team .team-item:hover img {
    transform: scale(1.2);
}

.team .team-item .team-content {
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   padding: 15px;
   transform: translateX(-50%, -50%);
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   transition: 0.5s;
}

.team .team-item:hover .team-content {
    opacity: 1;
    background: rgba(241, 193, 82, .7);
}
/*** Team End ***/


/*** testimonial Start ***/
.testimonial-item {
    background: var(--bs-light);
    padding: 40px;
}

.testimonial-carousel .owl-item img {
    width: 100px;
    height: 100px;
}

.testimonial-carousel {
    position: relative;
    padding-left: 60px;
    padding-right: 60px;
}

.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 60px;
    height: 40px;
    background: var(--bs-primary);
    color: var(--bs-dark);
    font-size: 22px;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    transition: .5s;
}

.testimonial-carousel .owl-nav .owl-prev:hover {
    background: var(--bs-dark) !important;
    color: var(--bs-primary) !important;
}

.testimonial-carousel .owl-nav .owl-next {
    left: auto;
    right: 0px;
}

.testimonial-carousel .owl-nav .owl-next:hover {
    background: var(--bs-dark) !important;
    color: var(--bs-primary) !important;
}
/*** testimonial End ***/
@media (max-width: 576px) {
  .testimonial .testimonial-item {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 15px !important;
    margin: 0 auto;
    border-radius: 12px;
  }

   .testimonial-content .d-flex {
    justify-content: center;
    gap: 4px;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }

  

  .testimonial-item img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
  }

  .testimonial-item .ps-3 {
    padding-left: 0 !important;
  }

  .testimonial-content {
    text-align: center;
  }

  .testimonial-content p {
    font-size: 14px;
    padding-top: 10px;
  }

  .testimonial-content .fa-star {
    font-size: 16px;
    margin: 0 1px;
  }
 

  .testimonial-carousel {
    padding: 0 10px !important;
  }

  .testimonial-carousel .owl-nav {
    display: none !important;
  }

   .testimonial-item .btn-md-square {
    top:10px;
    left: -15px !important; /* ✅ adjust for mobile */
  }
}



/*** Footer Start ***/
.footer {
    
    background: var(--bs-dark);
}

.footer .footer-item p {
    font-size: 16px;
    line-height: 35px;
}

.footer .border-top,
.footer .border-bottom {
    border-color: rgba(255, 255, 255, .08) !important;
}

.footer button {
    border: 0;
    transition: 0.5s;
}

.footer button:hover {
    background: var(--bs-dark);
    color: var(--bs-primary);
}

.footer-item a.btn.btn-light:hover {
    background: var(--bs-primary);
    color: var(--bs-dark) !important;
    border: var(--bs-primary);
}

.footer-item a,
.footer-item a i {
    transition: 0.5s;
}

.footer-item a:hover,
.footer-item a i:hover {
    color: var(--bs-primary) !important;
}
/*** Footer End ***/
/* Hero Slider Base */
.hero-slider {
  position: relative;
  height: 100vh;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
}

.hero-slide {
  position: relative;
  background-size: cover;
  background-position: center;
  height: 100vh;
  display: flex;
  align-items: center;
}

.hero-slide .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.hero-slide .content {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 700px;
  padding-left: 20px;
}

.hero-slide .bismillah {
  font-size: 22px;
  margin-bottom: 10px;
  color: #f7d588;
}

.hero-slide h1 {
  font-size: 44px;
  font-weight: 600;
  margin-bottom: 10px;
}

.hero-slide h2 {
  font-size: 55px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #fff;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.6);
}

.hero-slide p {
  font-size: 20px;
  color: #ddd;
  margin-bottom: 25px;
  line-height: 1.6;
}

.demo-btn {
  display: inline-block;
  padding: 12px 30px;
  border: 2px solid #f7d588;
  background: transparent;
  color: #fff;
  font-weight: bold;
  border-radius: 5px;
  transition: 0.3s ease;
  text-decoration: none;
  text-align: center;
}

.demo-btn:hover {
  background: #f7d588;
  color: #000;
}

/* Carousel Container */
.carousel-container {
  max-height: 100vh;
  overflow: hidden;
  position: relative;
}


/* Reset unnecessary repetition */
#verticalCarousel {
  height: 100vh;
  overflow: hidden;
  position: relative;
  background-color: #000; /* ya koi dark theme color */
}


#verticalCarousel .carousel-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 1.2s ease-in-out;
    background-color: #000; /* match with overall design */

}

#verticalCarousel .carousel-item {
  flex: 0 0 100%;
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transform: translateY(100%);
  transition: transform 1s ease-in-out, opacity 1s ease-in-out;
  z-index: 1;
}


  #verticalCarousel .carousel-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 1s ease-in-out;
}

#verticalCarousel .carousel-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4); /* Optional dark overlay on image */
  z-index: 0;
}

.carousel-item {
  background-color: transparent !important;
}
#verticalCarousel .carousel-item.active {
  opacity: 1;
  transform: translateY(0);
  z-index: 2;
}

  /* 
  #verticalCarousel .carousel-item.active {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s; 
      background-color: #111; 
    background-image: url('frontassets/img/online.webp'); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    flex: 0 0 100%;
    height: 100vh;
    opacity: 0;
    transform: translateY(100%);
    transition: transform 1.2s ease-in-out, opacity 1.2s ease-in-out;

  } */

/* Remove unwanted horizontal transform */
.carousel.slide .carousel-inner {
  transform: none !important;
}

/* Caption Styling */
/* .carousel-caption {
  position: absolute;
  top: 50%; 
  left: 8%;
  transform: translateY(-50%);
  text-align: left;
  color: white;
  z-index: 1;
} */


@media (min-width: 1400px) {
  .carousel-caption {
    left: 5%;
    max-width: 600px;
  }

  .carousel-indicators-vertical {
    right: 5%;
  }
}


/* Optional dark overlay if needed */
.carousel-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.carousel-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
}

/* Dots Pagination - vertical right */
.carousel-indicators-vertical {
  position: absolute;
  top: calc(80px + 50%); /* pushes it down after navbar */
  right:10%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 11;
}

/* .carousel-indicators-vertical button {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.6);
  border: none;
  border-radius: 50%;
  opacity: 0.7;
  transition: 0.3s;
}

.carousel-indicators-vertical button.active,
.carousel-indicators-vertical button:hover {
  background-color: #f7d588;
  opacity: 1;
} */
 .carousel-indicators-vertical button {
  width: 16px;
  height: 16px;
  background: radial-gradient(circle at center, #d3d3d3, #aaa); /* Inactive dot */
  border: 2px solid #fff;
  border-radius: 50%;
  opacity: 0.7;
  box-shadow: none;
  transition: all 0.4s ease-in-out;
}

.carousel-indicators-vertical button.active {
  background: radial-gradient(circle at center, #fff8dc, #f4c10f); /* Active gold */

  box-shadow: 0 0 12px rgba(255, 215, 0, 1); /* Bright gold glow */
  opacity: 1;
}

.carousel-indicators-vertical button:hover {
  background: radial-gradient(circle at center, #fef6d0, #f7d746);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
  opacity: 1;
}
/* Carousel Slide Text Styles */
.carousel-caption {
  position: absolute;
  top: 50%;
  left: 8%;
  transform: translateY(-50%);
  z-index: 10;
  max-width: 650px;
  padding: 30px;
  background: rgba(0, 0, 0, 0.4); /* translucent black */
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* Golden label heading */
.carousel-caption h5 {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #f7d588;
  font-weight: 600;
  margin-bottom: 12px;
}

/* Main heading */
.carousel-caption h1 {
  font-size: 46px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 15px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}

/* Paragraph text */
.carousel-caption p {
  font-size: 18px;
  color: #eee;
  line-height: 1.6;
  margin-bottom: 25px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}


.btn-warning {
  font-size: 16px;
  font-weight: 700;
  padding: 12px 30px;
  background: linear-gradient(135deg, #f4d35e);
  color:black;
  border: none;
  border-radius: 35px;
  position: relative;
  overflow: hidden;
  z-index: 2; /* increased z-index */
  transition: all 0.4s ease;
  box-shadow: 0 8px 20px rgba(244, 211, 94, 0.35);
}

/* Shine Animation */
.btn-warning::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 200%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.25), rgba(255,255,255,0));
  transform: skewX(-20deg);
  transition: 0.6s ease-in-out;
  z-index: 1; /* lowered z-index */
}

.btn-warning:hover::before {
  left: 100%;
}

.btn-warning:hover {
  background: linear-gradient(135deg, #1f3c2e, #ffdd7c);
  color: white;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); /* cleaner & softer */
  transform: translateY(-2px);
}




/* CTA Button */
/* .carousel-caption .btn-warning {
  font-size: 16px;
  font-weight: 600;
  padding: 12px 28px;
  background-color: #f7d588;
  color: #000;
  border: none;
  border-radius: 6px;
  transition: 0.3s;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
} */

.carousel-caption .btn-warning:hover {
  background-color: #ffd84d;
  color: #000;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}




.btn-sm.rounded-circle {
  width: 40px;
  height: 40px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* mobileres */
/* ========== MOBILE RESPONSIVENESS FIXES ========== */
@media (max-width: 768px) {
  /* Mobile Topbar Fix */
  .topbar-wrapper .topbar-inner {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 5px;
  }

  /* Navbar vertical on mobile */
  .navbar .navbar-nav {
    flex-direction: column;
    text-align: center;
  }

  /* Mobile Text Sizes */
  .hero-slide h1,
  .carousel-caption h1 {
    font-size: 28px !important;
  }

  .hero-slide h2,
  .carousel-caption h2 {
    font-size: 24px !important;
  }

  .hero-slide p,
  .carousel-caption p {
    font-size: 16px !important;
  }

  /* Mobile Carousel Caption Position */
  .carousel-caption {
    top: 50% !important;
    left: 5% !important;
    right: 5% !important;
    padding: 20px !important;
  }

  /* Heading Size in Caption */
  .carousel-caption h1 {
    font-size: 26px;
  }

  /* Move Indicators to Bottom for Mobile */
  .carousel-indicators-vertical {
    right: 4%;
    top: auto;
    bottom: 30px;
    flex-direction: row;
    gap: 8px;
    transform: none;
  }

  /* Inner Content Padding */
  .hero-slide .content {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* Button Size Adjust */
  .carousel-caption .btn-warning {
    font-size: 14px;
    padding: 10px 20px;
  }

  /* Button Icons Size */
  .btn-sm.rounded-circle {
    width: 36px;
    height: 36px;
  }

  /* ✅ Mobile-Specific Carousel Fixes */
  #mobileQuranCarousel .carousel-item {
    height: 400px;
    background-size: cover;
    background-position: center;
    position: relative;
  }

  .mobile-carousel-caption {
    position: absolute;
    bottom: 30px;
    left: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.6);
    padding: 20px;
    border-radius: 12px;
  }

  .mobile-carousel-caption h5 {
    font-size: 14px;
    color: #f7d588;
    margin-bottom: 6px;
  }

  .mobile-carousel-caption h2 {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .mobile-carousel-caption p {
    font-size: 14px;
    color: #eee;
  }

  .mobile-carousel-caption .btn {
    font-size: 14px;
    padding: 8px 20px;
    font-weight: 600;
  }


 .carousel-indicators-vertical button {
  width: 16px;
  height: 16px;
  background: radial-gradient(circle at center, #d3d3d3, #aaa); /* Inactive dot */
  border: 2px solid #fff;
  border-radius: 50%;
  opacity: 0.7;
  box-shadow: none;
  transition: all 0.4s ease-in-out;
}

.carousel-indicators-vertical button.active {
  background: radial-gradient(circle at center, #fff8dc, #f4c10f); /* Active gold */

  box-shadow: 0 0 12px rgba(255, 215, 0, 1); /* Bright gold glow */
  opacity: 1;
}

.carousel-indicators-vertical button:hover {
  background: radial-gradient(circle at center, #fef6d0, #f7d746);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
  opacity: 1;
}




}


/* @media (max-width: 768px) {
  .topbar-wrapper .topbar-inner {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 5px;
  }

  .navbar .navbar-nav {
    flex-direction: column;
    text-align: center;
  }

  .hero-slide h1,
  .carousel-caption h1 {
    font-size: 28px !important;
  }

  .hero-slide h2,
  .carousel-caption h2 {
    font-size: 24px !important;
  }

  .hero-slide p,
  .carousel-caption p {
    font-size: 16px !important;
  }

  .carousel-caption {
    top: 50% !important;
    left: 5% !important;
    right: 5% !important;
    padding: 20px !important;
  }

  .carousel-caption h1 {
    font-size: 26px;
  }

  .carousel-indicators-vertical {
    right: 4%;
    top: auto;
    bottom: 30px;
    flex-direction: row;
    gap: 8px;
    transform: none;
  }

  .hero-slide .content {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* .navbar-toggler {
    padding: 6px 12px !important;
    font-size: 18px;
  } */

  .carousel-caption .btn-warning {
    font-size: 14px;
    padding: 10px 20px;
  }

  .btn-sm.rounded-circle {
    width: 36px;
    height: 36px;
  }
/* }  */
/* carousel end */
/* contact form popup */
/* online badge */
/* Online Chat Badge */
/* #onlineChatBadge {
  position: fixed;
  bottom: 30px;
  right: 90px;
  background-color: #e53935;
  color: #fff;
  padding: 8px 16px;
  border-radius: 6px 6px 6px 0;
  font-weight: 600;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  z-index: 9999;
  transition: background 0.3s ease;
}
#onlineChatBadge:hover {
  background-color: #c62828;
} */
 #duaChatTrigger {
  position: fixed;
  bottom:80px;
  right: 90px;
  width: 60px;
  height: 60px;
  z-index: 9999;
  cursor: pointer;
  animation: pulse 2s infinite;
  transition: transform 0.2s;
}
#duaChatTrigger img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}
#duaChatTrigger:hover {
  transform: scale(1.1);
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.07);
  }
}


/* header online */
/* Mobile View Fixes */
@media (max-width: 768px) {
  #chatTooltip {
    display: none !important;
  }
}


 /* Chat Popup Box  */
/* #chatPopupBox {
  display: none;
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 300px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  z-index: 9999;
  overflow: hidden;
  animation: fadeInUp 0.3s ease-in-out;
} */
#chatPopupBox {
  display: none;
  position: fixed;
  bottom: 90px;
  right: 25px;
  width: 340px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 18px;
  border: 1px solid rgba(247, 213, 136, 0.6); /* golden border */
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  z-index: 99999;
  overflow: hidden;
  animation: fadeInUp 0.4s ease-in-out;
}


@keyframes fadeInUp {
  from {
    transform: translateY(40px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
} 

.chat-header {
  /* background: linear-gradient(135deg, #f7d588, #fffbe7); */
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);

  color: #000;
  padding: 14px 18px;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
  border-bottom: 1px solid #f1e4b2;
}

.chat-header button {
  background: transparent;
  
    color: #fff;

  color: #000;
  border: none;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
}
.chat-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
}
.chat-body label {
  font-size: 13px;
  margin-bottom: 6px;
  font-weight: 600;
  color: #333;
}
.chat-body span {
  color: red;
  margin-left: 3px;
}
.chat-body input {
  padding: 10px 14px;
  margin-bottom: 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(200, 200, 200, 0.4);
  font-size: 14px;
  outline: none;
  transition: all 0.3s ease;
}
.chat-body input:focus {
  border-color: #f7d588;
  box-shadow: 0 0 0 2px rgba(247, 213, 136, 0.3);
}

/* ✅ Submit Button */
.chat-body button {
  padding: 12px;
  background-color: #f7d588;
  color: #000;
  border: none;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  transition: background 0.3s ease, box-shadow 0.3s;
}
.chat-body button:hover {
  background-color: #ffe399;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* ✅ Animation */
@keyframes fadeInUp {
  from {
    transform: translateY(40px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* contactform in mobile */

@media (max-width: 768px) {
  #chatPopupBox,
  #duaChatTrigger {
    display: none !important;
  }
}
/* Floating Social Icons with Glassmorphism and Animation */
.floating-social-icons {
  position: fixed;
  top: 60%;
  right: 0;
  transform: translateY(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  animation: slideInRight 1s ease forwards;
}

.floating-social-icons a {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  border-radius: 10px 0 0 10px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
  opacity: 0;
  animation: fadeInUp 1s ease forwards;
}

.floating-social-icons a:nth-child(1) { animation-delay: 0.4s; }
.floating-social-icons a:nth-child(2) { animation-delay: 0.6s; }
.floating-social-icons a:nth-child(3) { animation-delay: 0.8s; }

.floating-social-icons a.facebook {
  background: linear-gradient(135deg, #3b5998, rgba(255, 255, 255, 0.08));
}

.floating-social-icons a.linkedin {
  background: linear-gradient(135deg, #0077b5, rgba(255, 255, 255, 0.08));
}

.floating-social-icons a.whatsapp {
  background: linear-gradient(135deg, #25d366, rgba(255, 255, 255, 0.08));
}

.floating-social-icons a:hover {
  transform: scale(1.15);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);
}

/* Animations */
@keyframes slideInRight {
  from {
    transform: translate(100px, -50%);
    opacity: 0;
  }
  to {
    transform: translateY(-50%);
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    transform: translateX(100px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.btn{
  background-color:#274034;
color:white;
}
.btn:hover{
    background-color:#f7d588;
    color:black;

}
#chatTooltip {
  position: fixed;
  bottom: 130px;
  right: 125px;
  background-color: #f7d588;
  color: #000;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  animation: slideLeft 0.4s ease-in-out;
  display: flex;
  align-items: center;
  gap: 8px;
}

#chatTooltip::after {
  content: "";
  position: absolute;
  bottom: -10px;
  right: 25px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-top-color: #f7d588;
}

@keyframes slideLeft {
  0% {
    transform: translateX(60%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}


/* navbar brand */
.navbar-brand {
  font-weight: 700;
  font-size: 26px;
  color: #ffffff;
  letter-spacing: 1px;
}


.navbar-brand span {
  color: #7ae582; /* Light fresh green */
}



@media (max-width: 768px) {
  .team .team-img {
    height: auto !important;
    padding: 0 !important;
    margin-bottom: 20px;
  }

  .team .team-img img {
    height: auto !important;
    object-fit: cover;
    border-radius: 10px;
  }

  .team .col-lg-4,
  .team .col-xl-5 {
    order: 1; /* Image column above text */
  }

  .team .col-lg-8,
  .team .col-xl-7 {
    order: 2;
    padding: 20px !important;
  }
}


/* brweadcrumbs */
.one{
  color:#324d3d;
}



/* Quran Section */
.quran-section {
  background-color: #eeeeee;
}

.quran-section .section-title {
  font-size: 2rem;
  font-weight: 600;
  color: #1a1a1a;
}

.quran-section .content-box p {
  margin-bottom: 1rem;
  color: #333;
  line-height: 1.7;
}



.quran-section .btn-secondary {
  background-color: #6c757d;
  color: #fff;
  padding: 10px 25px;
  border-radius: 4px;
}

.quran-section .btn-secondary:hover {
  background-color: #5a6268;
}

@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
}

.image-float {
  animation: floatUpDown 3s ease-in-out infinite;
}





.stat-box h2 {
  font-size: 3rem;
  margin-bottom: 0.5rem;
}

.stat-box p {
  font-size: 1.2rem;
  margin: 0;
}

/* modals */
/* .quran-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 600px;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.85);
} */
/* quran in mobile */
@media (max-width: 768px) {
  .quran-section .row,
  .section .row .mbone{
    flex-direction: column-reverse !important;
  }
}

@media (max-width: 768px) {
  #section_771778087 .row {
    flex-direction: column-reverse !important;
  }
}

.quran-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.quran-modal-content {
  background-color: #222;
  padding: 30px;
  border-radius: 15px;
  max-width: 650px;         /* wider */
  width: 90%;               /* responsive */
  max-height: 420px;        /* limited height */
  text-align: center;
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.15);
  position: relative;
  overflow: hidden;
}

.quran-modal-content img {
  max-height: 200px;
  object-fit: cover;
  border-radius: 10px;
}

.quran-close {
  color: white;
  font-size: 28px;
  font-weight: bold;
  position: absolute;
  top: 15px;
  right: 20px;
  cursor: pointer;
}

.quran-close:hover {
  color: #f4d35e;
}


/* Quran Loader Styles */
.quran-loader {
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #0d1b2a;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.quran-loader .quran-inner img {
  width: 100px;
  height: 100px;
  animation: spinQuran 2s linear infinite;
  filter: drop-shadow(0 0 10px #f4d35e);
}

.quran-loader p {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  letter-spacing: 1px;
}

/* Quran spin animation */
@keyframes spinQuran {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}


.quran-loader .quran-inner img {
  width: 100px;
  height: 200px;
  animation: spinQuran 3s linear infinite; /* medium-fast speed */
  filter: drop-shadow(0 0 10px #f4d35e);
position:relative;
left:100px;
}



 .carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 25px;
  height: 25px;
  background-size: 60% 60%; /* icon size reduced */
  background-position: center;
  background-repeat: no-repeat;
}


  .carousel-control-prev,
  .carousel-control-next {
    top: 50%;
    transform: translateY(-50%);
    width: 40px; /* total clickable area */
  }

  /* section two */
  /* Quran Section Enhancements */
.quran-overview img {
  border-radius: 12px;
  object-fit: cover;
}

.quran-overview .btn-warning {
  background-color: #f7d588;
  transition: all 0.3s ease-in-out;
}

.quran-overview .btn-warning:hover {
  background-color: #ffcc70;
  color: black;
}

@media (max-width: 768px) {
  .quran-overview .row.g-5 {
    flex-direction: column;
  }

  .quran-overview .col-lg-6 {
    width: 100%;
    max-width: 100%;
  }

  .quran-overview img {
    width: 100% !important;
    height: auto ;
    margin-bottom: 15px;
  }

  .quran-overview .btn {
    text-align: center;
  }

  .quran-overview h2 {
    font-size: 22px;
  }

  .quran-overview p,
  .quran-overview small {
    font-size: 14px;
  }
}
.section-stats {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/*  */
.stat-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  .stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  }




.glassy {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.glassy .form-label {
  color: #fff !important; /* or use #f8f9fa for softer white */
  font-weight: 500;
  letter-spacing: 0.3px;
}



 /* faqs */

.faq-section .nav-pills .nav-link {
  border-radius: 20px;
  background: #f7d588;
  color: #000;
  margin: 0 5px;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
}

.faq-section .nav-pills .nav-link.active {
  background: #254b38;
  color: #fff;
}

.faq-section .tab-content {
  border-top: 3px solid #f7d588;
  font-size: 15px;
}

/* accordion */

.accordion-button {
  background-color: #f7f7f7;
  color: #1a2c53;
  font-weight: 600;
  transition: background 0.3s ease;
}
.accordion-button:hover {
  background-color: #f7d588;
  color: #000;
}
/* .accordion-button:not(.collapsed) {
  background-color: #254b38;
  color: #fff;
}
.accordion-body {
  font-size: 15px;
  line-height: 1.7;
} */

.faq-title {
  position: relative;
  padding-right: 60px;
}

.accordion-button::after {
  content: '+';
  font-size: 20px;
  font-weight: bold;
  color: #254b38;
  background-color: #f7d588;
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: 10px;
  transition: 0.3s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* Open state shows minus */
.accordion-button:not(.collapsed)::after {
  content: '-';
  background-color: #254b38;
  color: #fff;
}
.accordion-button::after {
  background-image: none !important;
}


table thead th {
  background-color: #2B443A !important;
  color: white !important;
}




@media (max-width: 768px) {
  .content-wrapper {
    padding-top: 0px; 
  }
}


/* stats */

  :root{ --gold:#f5d66b; --deep:#1b3329; --deep2:#162b23; }
  .stats-wrap{ position:relative; isolation:isolate; }
  .stats-title{
    position:relative; z-index:3; text-align:center; margin:14px 0 22px;
    font-weight:800; letter-spacing:.2px;
  }
  .stats-title .gold{ color:var(--gold); }

  /* side ornaments */
  .ornament{
    position:absolute; top:-8px; width:210px; height:120px; opacity:.9; z-index:2; pointer-events:none;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.18));
  }
  .ornament.left{ left:-6px; transform:scaleX(-1); }
  .ornament.right{ right:-6px; }

  /* make ornaments smaller on mobile */
  @media (max-width:768px){
    .ornament{ width:140px; height:90px; top:-2px; opacity:.85; }
  }

  /* card base */
  .qs-card{
    position:relative; border-radius:24px; padding:2.25rem 1.75rem; overflow:hidden;
    border:1px solid rgba(39,64,52,.18);
    background:linear-gradient(180deg, var(--deep) 0%, var(--deep2) 100%);
    box-shadow:0 12px 28px rgba(0,0,0,.09), inset 0 1px 0 rgba(255,255,255,.75);
    transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
  }
  .qs-card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,0,0,.14); }

  /* svg inside card more visible */
  .qs-bgsvg{ position:absolute; inset:auto; right:-70px; top:-70px; width:360px; height:220px; opacity:.45; }
  .qs-grid{ opacity:.25 }
  .qs-dot{ position:absolute; right:14px; top:14px; width:9px; height:9px; border-radius:50%;
           background:var(--gold); box-shadow:0 0 12px rgba(245,214,107,.95); z-index:3; }
  .qs-icon{ position:absolute; left:18px; top:18px; z-index:3; }



  /* stats */

  /* servicestwo section */
  