/* ================= HEADER ================= */

#mainHeader{position:fixed;top:0;width:100%;z-index:999;padding:18px 0;transition:.4s;background:transparent;}
#mainHeader.scrolled{background:var(--red);box-shadow:0 5px 20px rgba(0,0,0,0.1);padding:12px 0;}
.logo{font-size:22px;font-weight:600;color:var(--white);text-decoration:none;}
#mainHeader.scrolled .logo{color:var(--white);}
.desktop-menu{display:flex;gap:30px;margin:0;}
.desktop-menu li{list-style:none;}
.desktop-menu a{color:var(--white);text-decoration:none;font-size:15px;position:relative;}
#mainHeader.scrolled .desktop-menu a{color:var(--white);}
.desktop-menu a::after{content:'';position:absolute;width:0;height:2px;bottom:-5px;left:0;background:#d4af37;transition:.3s;}
.desktop-menu a:hover::after{width:100%;}
.menu-btn{display:none;background:none;border:none;font-size:22px;color:var(--white);}
#mainHeader.scrolled .menu-btn{color:var(--white);}
.side-menu{position:fixed;top:0;right:-320px;width:320px;height:100vh;background:#0d0d0d;padding:30px;transition:.4s;z-index:9999;}
.side-menu.active{right:0;}
.menu-link{display:block;padding:14px 0;font-size:18px;color:var(--white);text-decoration:none;}
.menu-link:hover{color:--yellow;}
.menu-overlay{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.6);opacity:0;visibility:hidden;transition:.3s;}
.menu-overlay.active{opacity:1;visibility:visible;}

/* ================= HERO ================= */

.hero-section{position: relative;min-height: 100vh;display: flex;align-items: center;overflow: hidden;background: #18050b;}
.hero-bg{position: absolute;inset: 0;background-size: cover;background-position: center;z-index: 1;
    background:linear-gradient(180deg, rgba(20,4,9,.88), rgba(40,8,16,.92)), url('../images/hero-purohit-bg.jpg');}
.hero-overlay{position: absolute;inset: 0;background:radial-gradient(circle at center,rgba(255,140,0,.12),transparent 65%);z-index: 2;}
.hero-content{position: relative;z-index: 5;}
.hero-badge{display: inline-flex;gap: 15px;align-items: center;padding: 12px 30px;border: 1px solid rgba(255,183,77,.25);border-radius: 50px;
    background: rgba(255,255,255,.03);color: var(--yellow);font-size: 12px;margin-bottom: 20px;}
.hero-counter-wrap{margin-top: 40px;border: 1px solid rgba(255,255,255,.08);border-radius: 20px;overflow: hidden;display: flex;}
.hero-counter-item{flex: 1;padding: 20px;border-right: 1px solid rgba(255,255,255,.08);}
.hero-counter-item:last-child{border-right: 0;}
.hero-counter-item h3{color: var(--yellow);font-size: 25px;margin-bottom: 5px;}
.hero-counter-item span{color: rgba(255,255,255,.7);font-size: 13px;}
.hero-bell{position: absolute;left: 40px;top: 50%;transform: translateY(-50%) !important;opacity: .08;z-index: 6;
    animation: swing 4s infinite ease-in-out;}
.hero-om{position: absolute;right: 40px;top: 50%;transform: translateY(-50%) !important;opacity: .08;z-index: 6;
    animation: swing 4s infinite ease-in-out;}
@keyframes swing{
    0%{transform:translateX(-50%) rotate(0deg);}
    50%{transform:translateX(-50%) rotate(8deg);}
    100%{transform:translateX(-50%) rotate(0deg);}
}

/* ================= HIGHLIGHT ================= */

.highlight-section{background: #f8f5ef;}
.highlight-item{text-align: center;height: 100%;transition: .4s;border-radius: 15px;}
.highlight-icon-wrap{position: relative;width: 150px;height: 150px;margin: 0 auto 40px;}
.highlight-icon-wrap::before{content: '';position: absolute;inset: 20px;border: 1px solid var(--yellow);border-radius: 50%;}
.highlight-icon{position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);}
.highlight-icon img{width: 50px;}
.highlight-dot{position: absolute;width: 16px;height: 16px;border-radius: 50%;background: var(--yellow);}
.highlight-dot-one{top: 20px;right: 40px;}
.highlight-dot-two{bottom: 20px;left: 40px;}

/* ================= ABOUT ================= */

.about-section{background: url(../images/about-bg.jpg);background-size:cover;background-position: right;overflow: hidden;}
.about-image-wrap{position: relative;max-width: 600px;}
.about-image{position: relative;}
.about-image img{width: 100%;height: 500px;object-fit: cover;display: block;}
.about-image-sm{position: absolute;bottom: -70px;right: -70px;}
.about-image-sm img{width: 380px;height: 300px;object-fit: contain;display: block;}
.about-section .shape-box{position: absolute;width: 65px;height: 65px;background: #f58220;bottom: -30px;left: -20px;border-radius: 5px;}
.about-content{padding-left: 80px;}
.about-feature-wrap{display: grid;grid-template-columns: repeat(2,1fr);gap: 30px;margin-bottom: 40px;}
.about-feature-item{display: flex;align-items: center;gap: 15px;font-size: 15px;font-weight: 600;color: #b34f2d;}
.about-feature-item i{width: 40px;height: 40px;border-radius: 50%;background: #ececec;display: flex;align-items: center;
    justify-content: center;color: #204450;font-size: 22px;}
.about-quote{display: flex;gap: 30px;margin-bottom: 40px;}
.quote-line{width: 5px;min-width: 5px;background: #204450;position: relative;}

/* ================= VIDEO SECTION ================= */

.video-section{position: relative;}
.video-wrapper{position: relative;}
.video-wrapper video{width: 100%;display: block;}
.video-overlay{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;z-index: 2;}
.video-overlay.hidden{opacity: 0;visibility: hidden;}
.video-control{width: 90px;height: 90px;border: none;border-radius: 50%;background: #b34f2d;color: #fff;font-size: 30px;
    cursor: pointer;transition: .3s;z-index: 3;}
.video-control:hover{transform: scale(1.08);}

/* ================= SERVICE ================= */

.service-section{ position: relative;overflow: hidden; } 
.service-card{background: #fff;border-radius: 20px;overflow: hidden;height: 100%;box-shadow: 0 10px 40px rgba(0,0,0,.08);transition: .4s;}
.service-card:hover{transform: translateY(-10px);}
.service-image{position: relative;overflow: hidden;}
.service-image img{width: 100%;height: 200px;object-fit: cover;object-position: top center;transition: .6s;}
.service-card:hover .service-image img{transform: scale(1.1);}
.service-content{padding: 35px 20px 20px 20px;position: relative;}
.service-count{position: absolute;top: -25px;right: 25px;width: 50px;height: 50px;background: #b34f2d;color: #fff;border-radius: 50%;
    display: flex;align-items: center;justify-content: center;font-weight: 700;}

.service-details-section{background: #f8f5ef;}
.service-details-image{margin-bottom: 40px;}
.service-details-image img{width: 100%;border-radius: 10px;}
.service-details-content .heading{margin-bottom: 25px;}
.service-details-content .paragraph{margin-bottom: 20px;line-height: 1.9;}
.service-highlights{margin: 40px 0;}
.highlight-box{background: #fff;padding: 18px 25px;border-radius: 8px;font-weight: 600;color: #204450;}
.highlight-box i{color: #b34f2d;margin-right: 10px;}
.service-details-content .title{margin: 40px 0 20px;}
.service-list{padding-left: 20px;}
.service-list li{margin-bottom: 12px;color: #555;}
.service-gallery{margin-top: 40px;}
.service-gallery img{width: 100%;border-radius: 10px;}
.service-sidebar{position: sticky;top: 120px;}
.sidebar-widget{background: #fff;padding: 35px;margin-bottom: 30px;border-radius: 10px;}
.widget-title{margin-bottom: 25px;}
.service-menu{padding: 0;margin: 0;list-style: none;}
.service-menu li{margin-bottom: 12px;}
.service-menu li a{display: block;padding: 15px 20px;background: #f8f5ef;color: #333;text-decoration: none;border-radius: 6px;transition: .4s;}
.service-menu li a:hover{background: #b34f2d;color: #fff;}
.booking-widget{text-align: center;background: #204450;color: #fff;}
.booking-widget .widget-title{color: #fff;}
.booking-widget p{margin-bottom: 25px;}

/* ================= GURU SECTION ================= */

.guru-section{background: linear-gradient(180deg,#faf7f2 0%,#f4efe7 100%);overflow: hidden;}
.guru-info-list{display: flex;flex-wrap: wrap;gap: 15px;margin-bottom: 40px;}
.guru-info-item{display: inline-flex;align-items: center;gap: 10px;background: #fff;border: 1px solid #ececec;border-radius: 50px;padding: 12px 18px;
    font-size: 15px;color: #555;transition: .3s;}
.guru-info-item:hover{border-color: #b34f2d;transform: translateY(-3px);}
.guru-info-item i{color: #b34f2d;font-size: 14px;}
.guru-image-wrap{position: relative;}
.guru-image{position: relative;overflow: hidden;border-radius: 30px;}
.guru-image::after{content: '';position: absolute;inset: 0;background: linear-gradient(to top,rgba(0,0,0,.15),transparent);}
.guru-image img{width: 100%;height: 500px;object-fit: cover;transition: .7s;}
.guru-image:hover img{transform: scale(1.05);}
.guru-experience{position: absolute;right: -20px;bottom: 40px;background: rgba(255,255,255,.92);backdrop-filter: blur(15px);padding: 20px 30px;
    border-radius: 20px;box-shadow: 0 15px 40px rgba(0,0,0,.08);text-align: center;min-width: 180px;}
.guru-experience h3{margin: 0;color: #b34f2d;font-size: 52px;line-height: 1;font-weight: 700;}
.guru-experience span{display: block;margin-top: 8px;color: #555;font-size: 14px;font-weight: 500;letter-spacing: .5px;}

/* ================= WHY SECTION ================= */

.why-section{background: #ffffff;}
.why-section .section-header{max-width: 800px;margin: 0 auto 50px;}
.why-card{background: #fff;padding: 45px;display: flex;align-items: flex-start;gap: 30px;height: 100%;border-radius: 8px;transition: .4s;
    box-shadow: 0 15px 40px rgba(0,0,0,.08);}
.why-card:hover{transform: translateY(-5px);}
.why-icon{width: 90px;min-width: 90px;}
.why-icon img{width: 70px;}
.why-content{flex: 1;}

/* ================= PUJA SLIDER ================= */

.puja-slider-section{background: url(../images/puja-bg.jpg);background-size:cover;background-position: right;overflow: hidden;}
.puja-slider{padding: 20px 60px 80px;position: relative;}
.puja-card{position: relative;border-radius: 25px;overflow: hidden;box-shadow: 0 15px 40px rgba(0,0,0,.15);}
.puja-image{position: relative;}
.puja-image img{width: 100%;height: 300px;object-fit: cover;display: block;}
.puja-content{position: absolute;left: 0;right: 0;bottom: 0;padding: 25px;text-align: center;
    background: linear-gradient( transparent, rgba(0,0,0,.85));}
.puja-prev,
.puja-next{width: 60px;height: 60px;border-radius: 50%;background: #fff;color: #b34f2d;position: absolute;top: 50%;transform: translateY(-50%);
    z-index: 10;display: flex;align-items: center;justify-content: center;cursor: pointer;box-shadow: 0 10px 25px rgba(0,0,0,.15);}
.puja-prev{left: 10px;}
.puja-next{right: 10px;}
.puja-slider .swiper-pagination{bottom: 10px !important;}
.puja-slider .swiper-pagination-bullet{width: 12px;height: 12px;}
.puja-slider .swiper-pagination-bullet-active{background: #b34f2d;}

/* ================= EXPERIENCE SECTION ================= */

.experience-section{background: #f8f5ef;overflow: hidden;padding:70px 0 0 0;}
.experience-image-wrap{position: relative;}
.experience-main-image{overflow: hidden;}
.experience-main-image img{width: 100%;height: 500px;object-fit: cover;object-position: top center;}
.experience-purohit-shape{position: absolute;left: -160px;bottom: -40px;z-index: 2;}
.experience-purohit-shape img{max-width: 400px;}
.experience-box{position: absolute;right: 0;bottom: 40px;width: 200px;height: 200px;background: #b34f2d;display: flex;flex-direction: column;
    justify-content: center;align-items: center;color: #fff;z-index: 3;}
.experience-box h3{font-size: 60px;font-weight: 700;line-height: 1;margin-bottom: 10px;}
.experience-box span{text-transform: uppercase;letter-spacing: 3px;font-size: 14px;text-align: center;}
.experience-content{padding-left: 50px;}
.quote-box{border-left: 4px solid #204450;padding-left: 25px;margin-bottom: 40px;}
.experience-feature{display: flex;gap: 20px;margin-bottom: 30px;}
.experience-feature .feature-icon{width: 70px;height: 70px;min-width: 70px;border-radius: 50%;background: rgba(179,79,45,.1);
    display: flex;align-items: center;justify-content: center;}
.experience-feature .feature-icon i{color: #b34f2d;font-size: 28px;}

/* ================= CTA SECTION ================= */

.cta-section{background: #204450;}
.cta-box{background: #204450;height: 100%;color: #fff;position: relative;}
.cta-box .mini-text{color: #ff7a45;font-weight: 600;display: block;margin-bottom: 15px;}
.cta-box .title{color: #fff;font-size: 28px;margin-bottom: 20px;}
.cta-link{color: #fff;font-size: 22px;font-weight: 700;text-decoration: none;}
.cta-form{display: flex;margin-top: 25px;}
.cta-form input{width: 100%;border: none;height: 65px;padding: 0 20px;background: rgba(255,255,255,.08);color: #fff;}
.cta-form input::placeholder{color: rgba(255,255,255,.7);}
.cta-form button{width: 65px;border: none;background: #b34f2d;color: #fff;flex-shrink: 0;}

/* ================= TESTIMONIAL ================= */

.testimonial-section{background:#ffffff;color:#050505;}
.testimonial-card{background:#ffffff;padding:30px;border-radius:12px;position:relative;height:100%;transition:0.4s;box-shadow: 0 15px 40px rgba(0, 0, 0, .08);}
.testimonial-card:hover{transform:translateY(-5px);}
.testimonial-card p{color:#444;font-size:15px;margin-bottom:25px;}
.client{display:flex;align-items:center;gap:15px;}
.client img{width:50px;height:50px;border-radius:50%;}
.client h5{margin:0;font-size:15px;}
.client span{font-size:13px;color:#888;}

/* ================= FAQ SECTION ================= */

.faq-section{background: url(../images/faq-bg1.jpg);background-size:cover;background-position: right;overflow: hidden;}
.faq-image-wrap{position: relative;text-align: center;}
.faq-pattern{position: absolute;inset: 0;display: flex;justify-content: center;align-items: center;opacity: .12;}
.faq-pattern img{max-width: 100%;}
.faq-image{position: relative;z-index: 2;}
.faq-image img{max-width: 450px;width: 100%;}
.faq-accordion .accordion-item{border: none;margin-bottom: 15px;border-radius: 10px !important;overflow: hidden;background: #fff;}
.faq-accordion .accordion-button{background: #fff;color: #b34f2d;font-size: 16px;font-weight: 600;padding: 15px 20px;box-shadow: none;}
.faq-accordion .accordion-button:not(.collapsed){background: #8a5066;color: #fff;}
.faq-accordion .accordion-button:focus{box-shadow: none;}
.faq-accordion .accordion-body{padding: 15px 20px;color: #555;line-height: 1.9;font-size: 14px;}

/* =================== FOOTER =================== */

.footer-section{ position: relative; padding: 100px 0 30px;background-size: cover; background-position: center; overflow: hidden;
    background: linear-gradient( rgba(120,25,25,.92), rgba(120,25,25,.92) ), url('../images/footer-bg.jpg'); } 
.footer-section .container{ position: relative; z-index: 2; } 
.footer-widget{ margin-bottom: 40px; } 
.footer-logo img{ max-width: 240px; margin-bottom: 30px; } 
.footer-tagline{ color: var(--yellow); font-size: 18px; font-style: italic; margin-bottom: 20px; } 
.footer-text{ color: rgba(255,255,255,.85); line-height: 1.9; margin-bottom: 25px;font-size: 15px;} 
.footer-title-sm{ color: #fff; margin: 30px 0 20px; font-size: 20px; } 
.social-links{ display: flex; gap: 12px; padding: 0; margin: 0; list-style: none; } 
.social-links a{ width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.25); display: flex; align-items: center; justify-content: center; 
    border-radius: 12px; color: #fff; transition: .4s; } .social-links a:hover{ background: #fff; color: #a93f2f; } 
.footer-heading{ color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 40px; position: relative; } 
.footer-heading::after{ content: ''; width: 80px; height: 2px; background: #fff; position: absolute; left: 0; bottom: -12px; } 
.footer-links{ list-style: none; padding: 0; margin: 0; } 
.footer-links li{ margin-bottom: 20px; } 
.footer-links li a{ color: rgba(255,255,255,.9); text-decoration: none; transition: .4s; } 
.footer-links li a:hover{ color: #ffd29a; padding-left: 8px; } 
.footer-section .footer-contact{ list-style: none; padding: 0; margin: 0; } 
.footer-section .footer-contact li{ display: flex; gap: 20px; margin-bottom: 35px; } 
.footer-section .contact-icon{ width: 35px; height: 35px;min-width:35px;border-radius: 15px; background: rgba(255,255,255,.15); display: flex; align-items: center;justify-content: center;} 
.footer-section .contact-icon i{ color: #fff; font-size: 16px; } 
.footer-section .contact-content h5{ color: #fff;margin-bottom: 3px;font-size: 15px;font-weight: 600; } 
.footer-section .contact-content p{ color: rgba(255,255,255,.9); margin: 0; line-height: 1.7;font-size: 15px; } 
.footer-bottom{ margin-top: 40px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.15); text-align: center; } 
.footer-bottom p{ color: #fff; margin: 0; font-size: 13px; }

.whatsapp-btn{position: fixed;right: 25px;bottom: 25px;width: 65px;height: 65px;background: #25D366;color: #fff;border-radius: 50%;display: flex;
    align-items: center;justify-content: center;font-size: 34px;text-decoration: none;z-index: 9999;box-shadow: 0 10px 30px rgba(37,211,102,.35);
    animation: whatsappPulse 2s infinite;transition: .3s;}
.whatsapp-btn:hover{color: #fff;transform: translateY(-5px);}

/* =================== BANNER =================== */

.page-banner-section{position: relative;padding: 100px 0 70px 0;background-size: cover;background-position: center;overflow: hidden;
    background:linear-gradient(180deg, rgba(20,4,9,.88), rgba(40,8,16,.92)), url('../images/hero-purohit-bg.jpg');}
.page-banner-content{position: relative;z-index: 2;text-align: center;}
.page-title{color: #fff;font-size: 50px;font-weight: 700;margin-bottom: 15px;}
.breadcrumb-list{display: flex;justify-content: center;align-items: center;gap: 10px;list-style: none;padding: 0;margin: 0;}
.breadcrumb-list li{color: rgba(255,255,255,.85);font-size: 13px;}
.breadcrumb-list a{color: #fff;text-decoration: none;}
.banner-shape{position: absolute;opacity: .08;}
.shape-one{top: 60px;left: 60px;}
.shape-two{right: 60px;top: 60px;}
.shape-one img{width: 180px;}
.shape-two img{width: 180px;}

/* =================== CONTACT =================== */

.contact-section{background: #f8f5ef;}
.contact-info-wrap{display: flex;flex-direction: column;gap: 25px;}
.contact-info-card{display: flex;align-items: center;gap: 20px;background: #fff;padding: 25px;border-radius: 10px;box-shadow: 0 5px 20px rgba(0,0,0,.05);}
.contact-icon{width: 70px;height: 70px;min-width: 70px;background: #b34f2d;border-radius: 50%;display: flex;align-items: center;justify-content: center;}
.contact-icon i{color: #fff;font-size: 24px;}
.contact-content .title{font-size: 22px;margin-bottom: 8px;color: #222;}
.contact-content .mini-text{margin: 0;color: #666;}
.contact-form-wrap{background: #fff;padding: 40px;border-radius: 10px;box-shadow: 0 5px 20px rgba(0,0,0,.05);}
.contact-form-wrap .form-group{margin-bottom: 25px;}
.contact-form-wrap .form-control{height: 60px;border: 1px solid #ddd;border-radius: 6px;box-shadow: none;padding: 0 20px;}
.contact-form-wrap textarea.form-control{height: auto;padding: 15px 20px;}
.contact-form-wrap .form-control:focus{border-color: #b34f2d;box-shadow: none;}
.contact-form-wrap select.form-control{cursor: pointer;}

/* =================== BOOKING MODAL =================== */

.booking-modal .modal-content{
    border: none;
    border-radius: 15px;
    overflow: hidden;
}

.booking-modal .modal-header{
    background: #204450;
    padding: 25px 30px;
    border: none;
}

.booking-modal .modal-tagline{
    color: #ffb347;
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: 600;
}

.booking-modal .modal-title{
    color: #fff;
    margin: 0;
}

.booking-modal .btn-close{
    filter: brightness(0) invert(1);
}

.booking-modal .modal-body{
    padding: 35px;
}

.booking-modal .form-group{
    margin-bottom: 20px;
}

.booking-modal label{
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #222;
}

.booking-modal .form-control{
    height: 55px;
    border-radius: 8px;
    border: 1px solid #ddd;
    box-shadow: none;
}

.booking-modal textarea.form-control{
    height: auto;
    padding-top: 15px;
}

.booking-modal .form-control:focus{
    border-color: #b34f2d;
    box-shadow: none;
}

.booking-modal .theme-btn{
    width: 100%;
    justify-content: center;
    margin-top: 10px;
}

@media(max-width:767px){

    .booking-modal .modal-body{
        padding: 25px;
    }

    .booking-modal .modal-header{
        padding: 20px;
    }

}

/* =================== RESPONSIVE =================== */

@media(max-width:768px){
.desktop-menu{display:none;}
.menu-btn{display:block;}
.about-stats{grid-template-columns:1fr 1fr;gap:20px;}
.why-collage{height:300px;}
.cta-parallax{padding:100px 20px;background-attachment:scroll;}
.story-img img{height:220px;}
.footer{padding:60px 0 30px;}
}