/*** Spinner Start ***/
/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}
/*** Spinner End ***/

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    transition: 0.5s;
    z-index: 99;
}



/* Animated Gradient Text */
    .animated-gradient-text {
      font-size: 3.2rem;                     /* same as display-5 */
      font-weight: 800;
      background: linear-gradient(90deg, 
        #FFD700, #FF8C00, #FF2E63, #9D00FF, #0070F3, #00D4FF, #FFD700);
      background-size: 300% 300%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: gradientFlow 12s ease infinite, glow 3s ease-in-out infinite alternate;
    }

    .text-gradient {
  background: linear-gradient(90deg, #0066ff, #9d4edd);
  background-clip: text;
  -webkit-background-clip: text;        /* iOS/Safari साठी */
  -webkit-text-fill-color: transparent; /* warning बंद करतो */
  color: transparent;                   /* standard browsers साठी */
  display: inline-block;                /* काही cases मध्ये गरजेचं */
}

    /* Smooth flowing gradient animation */
    @keyframes gradientFlow {
      0%   { background-position: 0% 50%; }
      50%  { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }
    /* Optional soft glowing effect */
    @keyframes glow {
      from { text-shadow: 0 0 20px rgba(255,215,0,0.5); }
      to   { text-shadow: 0 0 40px rgba(255,140,0,0.8), 0 0 60px rgba(255,215,0,0.4); }
    }

    /* Dark background to make it pop */
    .hero-bg {
      background: #0f0f23;
      padding: 100px 20px;
      text-align: center;
    }
.gradient-text {
  font-size: 36px;                    /* adjust as needed */
  font-weight: bold;
  background: linear-gradient(to right, #d73499, #99557a, #f40388);
                                   /* change colors here */
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  
  display: inline-block;              /* important for some cases */
}

/*** Button Start ***/
.btn {
    font-weight: 600;
    transition: .5s;
}

.btn-square { width: 32px; height: 32px; }
.btn-sm-square { width: 34px; height: 34px; }
.btn-md-square { width: 44px; height: 44px; }
.btn-lg-square { width: 56px; height: 56px; }
.btn-xl-square { width: 66px; height: 66px; }

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square,
.btn-xl-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}

.btn.btn-primary {
    color: var(--bs-white);
    border: none;
}

.btn.btn-primary:hover {
    background: var(--bs-dark);
    color: var(--bs-primary);
}

.btn.btn-light {
    color: var(--bs-primary);
    border: none;
}

.btn.btn-light:hover {
    color: var(--bs-white);
    background: var(--bs-primary);
}

/*** Topbar Start ***/
.topbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    vertical-align: middle;
    margin-left: 8px;
    color: var(--bs-primary);
}

.topbar .dropdown .dropdown-menu a:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.topbar .dropdown .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light);
    padding-top: 11px;
    border: 0;
    transition: .5s;
    opacity: 1;
}
/*** Topbar End ***/

/*** Navbar ***/
.navbar-light .navbar-nav .nav-link {
    font-family: 'Roboto', sans-serif;
    position: relative;
    margin-right: 25px;
    padding: 35px 0;
    color: var(--bs-white);
    font-size: 17px;
    font-weight: 400;
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link,
.sticky-top.navbar-light .navbar-nav .nav-item .nav-link {
    padding: 20px 0;
    color: var(--bs-dark);
}

.navbar-light .navbar-nav .nav-item .nav-link { color: var(--bs-white); }

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-item .nav-link:hover,
.navbar-light .navbar-nav .nav-item .nav-link.active {
    color: var(--bs-primary);
}

.navbar-light .navbar-brand img {
    max-height: 60px;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-brand img {
    max-height: 45px;
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    vertical-align: middle;
    margin-left: 8px;
}

.dropdown .dropdown-menu a:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light);
    transition: .5s;
    opacity: 1;
}

/* Responsive navbar rules remain unchanged */
@media (max-width: 991.98px) {
    .sticky-top.navbar-light { position: relative; background: var(--bs-white); }
    .navbar.navbar-expand-lg .navbar-toggler { padding: 10px 20px; border: 1px solid var(--bs-primary); color: var(--bs-primary); }
    .navbar-light .navbar-collapse { margin-top: 15px; border-top: 1px solid #DDDDDD; }
    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link { padding: 10px 0; margin-left: 0; color: var(--bs-dark); }
    .navbar-light .navbar-nav .nav-item .nav-link { color: var(--bs-dark); }
    .navbar-light .navbar-brand img { max-height: 45px; }
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu { display: block; visibility: hidden; top: 100%; transform: rotateX(-75deg); transform-origin: 0% 0%; border: 0; border-radius: 10px; transition: .5s; opacity: 0; }
    .navbar-light { position: absolute; width: 100%; top: 0; left: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); z-index: 999; }
    .sticky-top.navbar-light { position: fixed; background: var(--bs-light); }
    .navbar-light .navbar-nav .nav-link::before { position: absolute; content: ""; width: 0; height: 2px; bottom: -1px; left: 50%; background: var(--bs-primary); transition: .5s; }
    .navbar-light .navbar-nav .nav-link:hover::before,
    .navbar-light .navbar-nav .nav-link.active::before { width: calc(100% - 2px); left: 1px; }
    .navbar-light .navbar-nav .nav-link::after { position: absolute; content: ""; width: 0; height: 0; bottom: -1px; left: 50%; background: var(--bs-primary); transition: .5s; }
    .navbar-light .navbar-nav .nav-link:hover::after,
    .navbar-light .navbar-nav .nav-link.active::after { width: 2px; height: 12px; }
}
/*** Navbar End ***/

/*** Carousel Hero Header Start ***/
.header-carousel {
    position: relative;
    background: linear-gradient(rgba(167, 81, 228, 0.88), rgba(133, 29, 208, 0.95)), 
                        url('assets/images/header.jpg') no-repeat center center/cover;
                background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.header-carousel .header-carousel-item,
.header-carousel .header-carousel-item img {
    height: 520px;
    object-fit: cover;
}
.header-carousel-item {
            background: 
                linear-gradient(rgba(167, 81, 228, 0.88), rgba(133, 29, 208, 0.95)),
                url('assets/images/header.jpg') center center / cover no-repeat !important;
            height: 100vh;
        }
/* Navigation arrows */
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 60px;
    background: var(--bs-primary);
    color: var(--bs-white);
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
}

.header-carousel .owl-nav .owl-prev { bottom: 30px; left: 30px; margin-left: 90px; }
.header-carousel .owl-nav .owl-next { bottom: 30px; left: 30px; }

.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
    box-shadow: inset 0 0 100px 0 var(--bs-light);
    color: var(--bs-primary);
}

/* Caption */
.header-carousel .header-carousel-item .carousel-caption {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    padding-top: 80px;
    background: transparent; /* Overlay removed since no image */
    display: flex;
    align-items: center;
}

@media (max-width: 991px) {
    .header-carousel .header-carousel-item .carousel-caption { padding-top: 45px; }
}

@media (max-width: 767px) {
    .header-carousel .owl-nav .owl-prev { left: 50%; transform: translateX(-50%); margin-left: -45px; }
    .header-carousel .owl-nav .owl-next { left: 50%; transform: translateX(-50%); margin-left: 45px; }
}
@media (max-width: 991px) {
    .header-carousel .header-carousel-item,
    .header-carousel .header-carousel-item img {
        height: 480px !important;    /* Mobile pe bhi compact */
    }
    .header-carousel .header-carousel-item .carousel-caption {
        padding-top: 50px;           /* Mobile pe aur compact */
    }
}
/* Removed image zoom animation since no background image */
.header-carousel .header-carousel-item img {
    display: none; /* Completely hide the <img> tags in carousel */
}
/*** Carousel Hero Header End ***/

/*** Single Page Hero Header Start ***/
.bg-breadcrumb {
    position: relative;
    overflow: hidden;
     background: linear-gradient(rgba(167, 81, 228, 0.88), rgba(133, 29, 208, 0.95)), 
                        url('assets/images/header.jpg') no-repeat center center/cover;
                
                background-position: center center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 140px 0 60px 0;
    transition: 0.5s;
}
button:hover {
    background: linear-gradient(90deg, #FF8C00 0%, #FFD700 50%, #FFF1A8 100%);
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 10px 25px rgba(255, 165, 0, 0.6);
    transition: all 0.3s ease-in-out;
}

@media (min-width: 992px) { .bg-breadcrumb { padding: 140px 0 60px 0; } }
@media (max-width: 991px) { .bg-breadcrumb { padding: 60px 0 60px 0; } }

@media (max-width: 991px) {
    .header-carousel .header-carousel-item,
    .header-carousel .header-carousel-item img {
        height: 480px !important;    /* Mobile pe bhi compact */
    }
    .header-carousel .header-carousel-item .carousel-caption {
        padding-top: 50px;           /* Mobile pe aur compact */
    }
}
.bg-breadcrumb .breadcrumb .breadcrumb-item a { color: var(--bs-white); }
/*** Single Page Hero Header End ***/

/* Baaki sagla code 100% tujhya original pramane – kahi change nahi */
.service .service-item { background: var(--bs-light); border-radius: 10px; transition: 0.5s; }
.service .service-item:hover { box-shadow: 0 0 45px rgba(0, 0, 0, .2); }
.service .service-item .service-img { position: relative; overflow: hidden; border-top-left-radius: 10px; border-top-right-radius: 10px; transition: 0.5s; }
.service .service-item .service-img img { transition: 0.5s; }
.service .service-item:hover .service-img img { transform: scale(1.2); }

.feature .feature-item { text-align: center; border-radius: 10px; background: var(--bs-light); border: 1px solid transparent; transition: 0.5s; }
.feature .feature-item:hover { border: 1px solid var(--bs-primary); }
.feature .feature-item .feature-icon { background: var(--bs-white); border-radius: 10px; display: inline-block; }

.offer-section .nav a.accordion-link { width: 100%; border-radius: 10px; display: flex; background: var(--bs-white); transition: 0.5s; }
.offer-section .nav a.accordion-link.active { color: var(--bs-white); background: var(--bs-primary); }
.offer-section .nav a.accordion-link h5 { transition: 0.5s; }
.offer-section .nav a.accordion-link.active h5 { color: var(--bs-white); }

/* Blog, Team, Testimonial, Footer – sagla as it is */
.blog .blog-item { border-radius: 10px; background: var(--bs-white); box-shadow: inset 0 0 45px rgba(0, 0, 0, .1); transition: 0.5s; }
.blog .blog-item:hover a:hover { color: var(--bs-primary); }
.blog .blog-item .blog-img { border-radius: 10px; position: relative; overflow: hidden; }
.blog .blog-item .blog-img img { transition: 0.5s; }
.blog .blog-item:hover .blog-img img { transform: scale(1.2); }
/* ... baaki sagla code unchanged ... */

.footer { background: var(--bs-secondary); }
.copyright { background: var(--bs-dark); }


.timeline {
    position: relative;
    padding-left: 30px;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #6a0dad, #d8b4f7);
    border-radius: 10px;
}

.timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.timeline-year {
    position: absolute;
    left: -10px;
    top: 0;
    background: linear-gradient(135deg, #6a0dad, #9b59b6);
    color: #fff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

.timeline-content {
    background: #f9f6ff;
    padding: 15px 20px;
    border-radius: 12px;
    margin-left: 40px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.timeline-content h6 {
    font-weight: 700;
    color: #4b0082;
}

a.btn {
    transition: all 0.4s ease-in-out;
}

a.btn:hover {
    background: linear-gradient(90deg, #FFB703, #FF8C00);
    color: #fff !important;
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 12px 25px rgba(255, 165, 0, 0.6);
}

