/* =========================================================
   HARIDWAR PANDIT BOOKING
   HOME PAGE CSS
   wwwroot/css/site.css
========================================================= */

/* =========================
   GOOGLE FONT / RESET
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans Devanagari", Arial, sans-serif;
    color: #3b2418;
    background: #fffaf4;
    line-height: 1.7;
}

a {
    text-decoration: none;
    color: inherit;
}

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

button {
    font-family: inherit;
}

.container {
    width: min(1180px, 92%);
    margin: auto;
}
/* ================================
   HEADER MUST STAY ABOVE SLIDER
================================ */

.site-header,
.main-header,
header {
    position: relative;
    z-index: 1000 !important;
    background: #ffffff;
}

/* Top bar */
.top-bar {
    position: relative;
    z-index: 1001 !important;
}

/* Main navigation */
.main-navigation,
.navbar {
    position: relative;
    z-index: 1002 !important;
}

/* Dropdown must appear above everything */
.dropdown-menu {
    position: absolute;
    z-index: 9999 !important;
}

/* ================================
   HERO / SLIDER
================================ */

.hero-slider,
.hero-section,
.banner-slider,
.swiper,
.carousel {
    position: relative;
    z-index: 1 !important;
}

/* Bootstrap carousel */
.carousel-inner {
    position: relative;
    z-index: 1;
}

/* Prevent slider from covering header */
.hero-slider,
.hero-section {
    margin-top: 0 !important;
}

/* =========================================================
   TOP BAR
========================================================= */

.topbar {
    background: #641f12;
    color: #ffffff;
    font-size: 13px;
}

.topbar-inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.top-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

    .top-actions a {
        color: #ffffff;
        transition: 0.3s ease;
    }

        .top-actions a:hover {
            color: #ffc477;
        }


/* =========================================================
   HERO SLIDER
========================================================= */
========================================================= */

.hero-section {
    height: 650px;
    position: relative;
    overflow: hidden;
    background: #34150d;
}

.hero-slider {
    width: 100%;
    height: 100%;
}

.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}


    /*
    Different background images
*/

    .hero-slide:nth-child(1) {
        background-image: url('../Image/s1.png');
    }

    .hero-slide:nth-child(2) {
        background-image: url('../Image/s2.png');
    }

    .hero-slide:nth-child(3) {
        background-image: url('../Image/s3.png');
    }

    .hero-slide:nth-child(4) {
        background-image: url('../Image/s4.png');
    }

    .hero-slide:nth-child(5) {
        background-image: url('../Image/s5.png');
    }


    .hero-slide.active {
        opacity: 1;
        visibility: visible;
    }


    /* Dark overlay */

    .hero-slide::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, rgba(35, 10, 3, 0.90) 0%, rgba(53, 17, 6, 0.70) 38%, rgba(53, 17, 6, 0.18) 100% );
    }


    /* Decorative warm glow */

   /* .hero-slide::after {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        right: -250px;
        bottom: -200px;
        border-radius: 50%;
        background: rgba(244, 141, 37, 0.16);
        filter: blur(20px);
    }*/


/* =========================================================
   HERO CONTENT
========================================================= */

.hero-content {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
    padding-top: 20px;
}

.hero-label {
    display: inline-block;
    padding: 6px 14px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 211, 155, 0.45);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffd399;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.hero-content h1,
.hero-content h2 {
    max-width: 820px;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 58px;
    line-height: 1.18;
    color: #ffffff;
    margin-bottom: 18px;
}

    .hero-content h1 span,
    .hero-content h2 span {
        color: #ffb13b;
    }

.hero-content p {
    max-width: 720px;
    color: #fff5eb;
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 28px;
}


/* =========================================================
   BUTTONS
========================================================= */

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 13px;
    flex-wrap: wrap;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 23px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 800;
    border: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    cursor: pointer;
}

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

.btn-primary {
    background: #e87516;
    color: #ffffff;
    box-shadow: 0 9px 25px rgba(232, 117, 22, 0.30);
}

    .btn-primary:hover {
        background: #bd4d12;
    }

.btn-light {
    background: #ffffff;
    color: #6b2617;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

    .btn-light:hover {
        background: #fff1df;
    }

.btn-whatsapp {
    background: #168b52;
    color: #ffffff;
    box-shadow: 0 9px 25px rgba(22, 139, 82, 0.25);
}

    .btn-whatsapp:hover {
        background: #106d40;
    }


/* =========================================================
   SLIDER ARROWS
========================================================= */

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(0, 0, 0, 0.30);
    color: #ffffff;
    font-size: 22px;
    cursor: pointer;
    transition: 0.3s ease;
}

    .slider-arrow:hover {
        background: #e87516;
        border-color: #e87516;
    }

.slider-prev {
    left: 25px;
}

.slider-next {
    right: 25px;
}


/* =========================================================
   SLIDER DOTS
========================================================= */

.slider-dots {
    position: absolute;
    z-index: 20;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
}

.slider-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    transition: 0.3s ease;
}

    .slider-dot.active {
        width: 28px;
        border-radius: 20px;
        background: #f28a20;
    }


/* =========================================================
   QUICK CONTACT
========================================================= */

.quick-contact {
    background: #ffffff;
    border-bottom: 1px solid #ead9ca;
    box-shadow: 0 10px 30px rgba(70, 30, 10, 0.05);
    position: relative;
    z-index: 5;
}

.quick-contact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 22px 0;
}

.quick-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.quick-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: #fff1df;
    font-size: 23px;
}

.quick-item strong {
    display: block;
    color: #5a291b;
    font-size: 14px;
}

.quick-item span,
.quick-item a {
    display: block;
    color: #7c675b;
    font-size: 12px;
}

.quick-item a {
    color: #c45416;
    font-weight: 800;
}


/* =========================================================
   SECTION COMMON
========================================================= */

.intro-section,
.services-section,
.process-section {
    padding: 85px 0;    
}

.section-label {
    display: inline-block;
    color: #b84b16;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.section-heading {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

    .section-heading h2 {
        font-family: "Playfair Display", "Noto Sans Devanagari", serif;
        font-size: 40px;
        line-height: 1.3;
        color: #492719;
        margin-bottom: 12px;
    }

        .section-heading h2 span {
            color: #b84b16;
        }

    .section-heading p {
        color: #776359;
        font-size: 15px;
    }



/* =========================================================
   INTRO SECTION
========================================================= */

.intro-section {
    background: linear-gradient( 180deg, #fffaf4, #ffffff );
}

.intro-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 65px;
    align-items: center;
}

.intro-content h2 {
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 40px;
    line-height: 1.3;
    color: #492719;
    margin-bottom: 20px;
}

    .intro-content h2 span {
        color: #b84b16;
    }

.intro-content p {
    color: #6e5c51;
    font-size: 15px;
    margin-bottom: 14px;
}

.feature-list {
    list-style: none;
    margin-top: 22px;
}

    .feature-list li {
        margin: 10px 0;
        color: #5a4539;
        font-size: 14px;
        font-weight: 600;
    }

        .feature-list li::first-letter {
            color: #c45416;
        }


/* =========================================================
   INTRO CARD
========================================================= */

.intro-card {
    position: relative;
    padding: 45px 35px;
    text-align: center;
    border-radius: 28px;
    border: 1px solid #ead5c2;
    background: linear-gradient( 145deg, #ffffff, #f8e9d8 );
    box-shadow: 0 25px 60px rgba(79, 31, 11, 0.12);
    overflow: hidden;
}

    .intro-card::before {
        content: "";
        position: absolute;
        width: 200px;
        height: 200px;
        top: -90px;
        right: -80px;
        border-radius: 50%;
        background: #f5a13a22;
    }

.om-symbol {
    font-size: 70px;
    color: #b84b16;
    line-height: 1;
    margin-bottom: 15px;
}

.intro-card h3 {
    position: relative;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    color: #642316;
    font-size: 30px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.intro-card p {
    color: #745e51;
    font-size: 14px;
    margin-bottom: 22px;
}

.full-btn {
    width: 100%;
    margin-top: 10px;
}


/* =========================================================
   SERVICES
========================================================= */

.services-section {
    background: #f8efe5;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}


/* =========================================================
   SERVICE CARD
========================================================= */

.service-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #ead9c9;
    border-radius: 20px;
    padding: 28px 25px 25px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(70, 30, 10, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

    .service-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient( 90deg, #c45416, #f2a038 );
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.3s ease;
    }

    .service-card:hover {
        transform: translateY(-7px);
        border-color: #dfb68f;
        box-shadow: 0 20px 45px rgba(70, 30, 10, 0.12);
    }

        .service-card:hover::before {
            transform: scaleX(1);
        }

    .service-card img {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        display: block;
        object-fit: cover;
        object-position: center center;
        background: #f3eee9;
        border: 0;
        border-radius: 14px;
        margin: 0 0 18px;
    }

/* Service Number */

.service-number {
    position: absolute;
    top: 18px;
    right: 20px;
    color: #d9c1aa;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1px;
}


/* Service Icon */

.service-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient( 145deg, #fff3e3, #ffe4c6 );
    color: #c45416;
    font-size: 30px;
    margin-bottom: 17px;
    transition: 0.3s ease;
}

.service-card:hover .service-icon {
    transform: rotate(-4deg) scale(1.08);
}


/* Service Title */

.service-card h3 {
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 23px;
    line-height: 1.35;
    color: #5b2618;
    margin-bottom: 10px;
    padding-right: 30px;
}


/* Service Description */

.service-card p {
    color: #6e5d53;
    font-size: 14px;
    line-height: 1.75;
    min-height: 98px;
    margin-bottom: 15px;
}


/* Read More */

.service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #c45416;
    font-size: 14px;
    font-weight: 900;
    transition: 0.3s ease;
}

    .service-card > a:hover {
        color: #7f2716;
        gap: 12px;
    }


/* =========================================================
   PROCESS SECTION
========================================================= */

.process-section {
    background: #fffaf4;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.process-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #ead9c9;
    border-radius: 20px;
    padding: 30px 25px;
    text-align: center;
    transition: 0.3s ease;
}

    .process-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(70, 30, 10, 0.08);
    }

.process-number {
    width: 55px;
    height: 55px;
    margin: 0 auto 15px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff0df;
    color: #c45416;
    font-weight: 900;
    font-size: 17px;
}

.process-card h3 {
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 21px;
    color: #5a281a;
    margin-bottom: 8px;
}

.process-card p {
    color: #756259;
    font-size: 13px;
}


/* =========================================================
   MAIN CTA
========================================================= */

.main-cta {
    position: relative;
    padding: 80px 0;
    color: #ffffff;
    overflow: hidden;
    background: linear-gradient( 110deg, #57190e, #a43f15 );
}

    .main-cta::before {
        content: "ॐ";
        position: absolute;
        right: 8%;
        top: 50%;
        transform: translateY(-50%);
        font-size: 260px;
        line-height: 1;
        color: rgba(255, 255, 255, 0.05);
    }

.cta-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

    .cta-content h2 {
        font-family: "Playfair Display", "Noto Sans Devanagari", serif;
        font-size: 43px;
        line-height: 1.3;
        margin-bottom: 12px;
    }

        .cta-content h2 span {
            color: #ffbd50;
        }

    .cta-content p {
        max-width: 650px;
        margin: 0 auto 25px;
        color: #ffead9;
        font-size: 16px;
    }

    .cta-content .hero-buttons {
        justify-content: center;
    }


/* =========================================================
   FOOTER
========================================================= */

.footer {
    background: #3d160e;
    color: #ead8ca;
    padding-top: 55px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 40px;
}

.footer-brand {
    font-family: "Playfair Display", serif;
    color: #ffffff;
    font-size: 25px;
    margin-bottom: 12px;
}

.footer h3 {
    color: #ffffff;
    font-size: 18px;
    margin-bottom: 14px;
}

.footer p {
    font-size: 13px;
    color: #cdb9aa;
}

.footer a {
    display: block;
    font-size: 13px;
    color: #d9c6b9;
    margin: 7px 0;
    transition: 0.3s ease;
}

    .footer a:hover {
        color: #ffb23d;
        padding-left: 4px;
    }

.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    text-align: center;
    padding: 16px;
    color: #ad9689;
    font-size: 12px;
}


/* =========================================================
   FLOATING CALL / WHATSAPP
========================================================= */

.floating-contact {
    position: fixed;
    right: 18px;
    bottom: 20px;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .floating-contact a {
        width: 53px;
        height: 53px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: #ffffff;
        font-size: 22px;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
        transition: 0.3s ease;
    }

        .floating-contact a:hover {
            transform: scale(1.1);
        }

.float-call {
    background: #c45416;
}

.float-wa {
    background: #168b52;
}


/* =========================================================
   ANIMATIONS
========================================================= */

.hero-slide.active .hero-content {
    animation: heroContent 0.8s ease both;
}

@keyframes heroContent {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .nav-links {
        gap: 15px;
    }

        .nav-links a {
            font-size: 13px;
        }

    .hero-content h1,
    .hero-content h2 {
        font-size: 46px;
    }

    .quick-contact-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .intro-grid {
        grid-template-columns: 1fr;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   MOBILE NAVIGATION
========================================================= */

@media (max-width: 760px) {

    .topbar-inner {
        min-height: auto;
        padding: 8px 0;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 4px;
    }

    .top-actions {
        gap: 10px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-inner {
        min-height: 72px;
    }

    .brand img {
        width: 53px;
        height: 53px;
    }

    .brand strong {
        font-size: 21px;
    }

    .brand small {
        font-size: 11px;
    }

    .menu-btn {
        display: block;
    }

    .nav-links {
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        background: #ffffff;
        padding: 15px 4%;
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.10);
    }

    .menu-open .nav-links {
        display: flex;
    }

    .nav-links a {
        width: 100%;
        padding: 11px 0;
        border-bottom: 1px solid #f1e5db;
    }

    .nav-cta {
        text-align: center;
        margin-top: 8px;
    }


    /* Hero */

    .hero-section {
        height: 600px;
    }

    .hero-slide::before {
        background: linear-gradient( 90deg, rgba(35, 10, 3, 0.90), rgba(35, 10, 3, 0.55) );
    }

    .hero-content {
        justify-content: center;
        padding: 20px 5%;
    }

        .hero-content h1,
        .hero-content h2 {
            font-size: 38px;
            line-height: 1.25;
        }

        .hero-content p {
            font-size: 15px;
            line-height: 1.7;
        }

    .hero-buttons {
        width: 100%;
    }

        .hero-buttons .btn {
            width: 100%;
        }

    .slider-arrow {
        display: none;
    }


    /* Sections */

    .intro-section,
    .services-section,
    .process-section {
        padding: 60px 0;
    }

    .section-heading h2,
    .intro-content h2 {
        font-size: 31px;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .service-card p {
        min-height: auto;
    }


    /* CTA */

    .main-cta {
        padding: 60px 0;
    }

    .cta-content h2 {
        font-size: 32px;
    }


    /* Footer */

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .container {
        width: 90%;
    }

    .topbar {
        font-size: 10px;
    }

    .top-actions {
        font-size: 10px;
    }

    .hero-section {
        height: 570px;
    }

    .hero-label {
        font-size: 9px;
        letter-spacing: 1px;
    }

    .hero-content h1,
    .hero-content h2 {
        font-size: 31px;
    }

    .hero-content p {
        font-size: 14px;
    }

    .quick-contact-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .quick-item {
        padding: 4px 0;
    }

    .intro-card {
        padding: 35px 22px;
    }

        .intro-card h3 {
            font-size: 26px;
        }

    .service-card {
        padding: 23px 20px;
    }

        .service-card h3 {
            font-size: 21px;
        }

    .cta-content h2 {
        font-size: 29px;
    }

    .floating-contact {
        right: 12px;
        bottom: 12px;
    }

        .floating-contact a {
            width: 48px;
            height: 48px;
            font-size: 19px;
        }
}





/* =========================================================
   LAYOUT - FOOTER CTA
========================================================= */

.footer-booking-cta {
    background: linear-gradient( 110deg, #57190e, #a43f15 );
    color: #fff;
    padding: 55px 0;
}

.footer-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.footer-cta-label {
    color: #ffd39a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.footer-cta-inner h2 {
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 36px;
    line-height: 1.3;
    margin: 5px 0 8px;
}

    .footer-cta-inner h2 span {
        color: #ffbd50;
    }

.footer-cta-inner p {
    color: #ffe7d4;
    margin: 0;
}

.footer-cta-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}


/* =========================================================
   FOOTER BRAND
========================================================= */

.footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

    .footer-brand img {
        object-fit: contain;
    }

    .footer-brand strong {
        display: block;
        color: #fff;
        font-family: "Playfair Display", serif;
        font-size: 25px;
        line-height: 1;
    }

    .footer-brand span {
        display: block;
        color: #e77b20;
        font-size: 12px;
        font-weight: 700;
    }

.footer-tagline {
    color: #ffb34b !important;
    font-weight: 700;
}


/* =========================================================
   FOOTER CONTACT
========================================================= */

.footer-contact {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

.footer-contact-button {
    display: inline-block !important;
    margin-top: 15px !important;
    padding: 9px 15px;
    border: 1px solid #d56a1c;
    border-radius: 25px;
    color: #ffb34b !important;
    font-weight: 700;
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.10);
    padding: 17px 0;
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.footer-bottom p {
    margin: 0;
}

.footer-bottom-links {
    display: flex;
    gap: 18px;
}

    .footer-bottom-links a {
        margin: 0;
    }


/* =========================================================
   MOBILE FOOTER
========================================================= */

@media (max-width: 760px) {

    .footer-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

        .footer-cta-inner h2 {
            font-size: 29px;
        }

    .footer-cta-buttons {
        width: 100%;
    }

        .footer-cta-buttons .btn {
            width: 100%;
        }

    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }

    .footer-bottom-links {
        flex-wrap: wrap;
        justify-content: center;
    }
}


/* =========================================================
   SERVICE PAGE
========================================================= */

.service-breadcrumb {
    background: #fff4e8;
    border-bottom: 1px solid #ead8c5;
    padding: 12px 0;
    font-size: 13px;
}

    .service-breadcrumb .container {
        display: flex;
        align-items: center;
        gap: 9px;
    }

    .service-breadcrumb a {
        color: #a74616;
        font-weight: 700;
    }

    .service-breadcrumb span {
        color: #aa9182;
    }


/* =========================================================
   SERVICE HERO
========================================================= */

.service-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(110deg, #49150c, #9e3b14);
    color: #fff;
    padding: 75px 0;
}

    .service-hero::after {
        content: "ॐ";
        position: absolute;
        right: 5%;
        top: 50%;
        transform: translateY(-50%);
        font-size: 280px;
        color: rgba(255,255,255,.04);
    }

.service-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    align-items: center;
    gap: 50px;
}

.service-label {
    display: inline-block;
    color: #ffd39a;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.service-hero h1 {
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 53px;
    line-height: 1.22;
    margin-bottom: 18px;
}

    .service-hero h1 span {
        color: #ffb43e;
    }

.hero-description {
    max-width: 760px;
    color: #ffeadb;
    font-size: 17px;
    line-height: 1.85;
    margin-bottom: 25px;
}

.service-hero-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.hero-contact {
    margin-top: 17px;
    color: #ffd8b9;
    font-size: 14px;
    font-weight: 700;
}

    .hero-contact span {
        margin: 0 8px;
        opacity: .5;
    }

.service-hero-symbol {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.symbol-circle {
    width: 220px;
    height: 220px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);
    background: radial-gradient( circle, rgba(255,181,72,.25), rgba(255,255,255,.04) );
    font-size: 100px;
    box-shadow: 0 25px 70px rgba(0,0,0,.22);
}

.symbol-text {
    margin-top: 18px;
    font-size: 16px;
    color: #ffe3ca;
    text-align: center;
}

    .symbol-text strong {
        color: #ffb43e;
    }


/* =========================================================
   HIGHLIGHTS
========================================================= */

.service-highlights {
    background: #fff;
    border-bottom: 1px solid #ead9c9;
    box-shadow: 0 8px 25px rgba(70,30,10,.05);
}

.service-highlights-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    padding: 20px 0;
}

.highlight-box {
    display: flex;
    align-items: center;
    gap: 12px;
}

.highlight-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff0df;
    font-size: 22px;
}

.highlight-box strong {
    display: block;
    color: #5c2819;
    font-size: 14px;
}

.highlight-box span {
    display: block;
    color: #806c60;
    font-size: 11px;
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.service-content-section {
    padding: 80px 0;
}

.service-content-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 35px;
    align-items: start;
}

.service-main-content {
    background: #fff;
    padding: 5px 10px;
}

    .service-main-content h2 {
        font-family: "Playfair Display", "Noto Sans Devanagari", serif;
        color: #4b271b;
        font-size: 35px;
        line-height: 1.3;
        margin: 0 0 17px;
        margin-top: 35px;
    }

        .service-main-content h2:first-of-type {
            margin-top: 0;
        }

        .service-main-content h2 span {
            color: #b64c16;
        }

    .service-main-content p {
        color: #6d5b51;
        font-size: 15px;
        line-height: 1.9;
        margin-bottom: 15px;
    }


/* =========================================================
   CONTENT NOTE
========================================================= */

.content-note {
    margin: 25px 0;
    padding: 20px;
    border-left: 4px solid #d66a18;
    border-radius: 10px;
    background: #fff3e4;
}

    .content-note strong {
        color: #a84416;
    }

    .content-note p {
        margin: 5px 0 0;
    }


/* =========================================================
   REASON GRID
========================================================= */

.reason-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 17px;
    margin: 25px 0 35px;
}

.reason-card {
    padding: 23px;
    border-radius: 17px;
    background: #fffaf5;
    border: 1px solid #eadbca;
    transition: .3s ease;
}

    .reason-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 15px 35px rgba(70,30,10,.08);
    }

.reason-icon {
    font-size: 30px;
    margin-bottom: 8px;
}

.reason-card h3 {
    color: #60291a;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 20px;
    margin-bottom: 5px;
}

.reason-card p {
    font-size: 13px;
    margin: 0;
}


/* =========================================================
   RITUAL STEPS
========================================================= */

.ritual-steps {
    margin: 25px 0 35px;
}

.ritual-step {
    display: flex;
    gap: 17px;
    padding: 18px 0;
    border-bottom: 1px dashed #dfcdbb;
}

.step-number {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff0df;
    color: #b64c16;
    font-size: 14px;
    font-weight: 900;
}

.ritual-step h3 {
    color: #5c2819;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 20px;
    margin-bottom: 3px;
}

.ritual-step p {
    margin: 0;
    font-size: 13px;
}


/* =========================================================
   CHECK LIST
========================================================= */

.service-check-list {
    list-style: none;
    padding: 10px 0;
    margin-bottom: 30px;
}

    .service-check-list li {
        position: relative;
        padding-left: 32px;
        margin: 10px 0;
        color: #5f4b40;
        font-size: 14px;
    }

        .service-check-list li::before {
            content: "✓";
            position: absolute;
            left: 0;
            top: 1px;
            width: 22px;
            height: 22px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: #fff0df;
            color: #c45416;
            font-size: 12px;
            font-weight: 900;
        }


/* =========================================================
   IMPORTANT NOTE
========================================================= */

.important-note {
    padding: 25px;
    margin-top: 30px;
    border-radius: 18px;
    background: linear-gradient( 135deg, #fff3e2, #fff9f3 );
    border: 1px solid #ead6bf;
}

    .important-note h3 {
        color: #682718;
        font-size: 20px;
        margin-bottom: 7px;
    }

    .important-note p {
        margin: 0;
    }


/* =========================================================
   SIDEBAR BOOKING CARD
========================================================= */

.service-sidebar {
    position: sticky;
    top: 105px;
}

.booking-card {
    padding: 30px 25px;
    text-align: center;
    border-radius: 23px;
    background: linear-gradient( 145deg, #fff, #f8e9d8 );
    border: 1px solid #e6d1bd;
    box-shadow: 0 18px 45px rgba(65,27,10,.11);
}

.booking-card-icon {
    width: 65px;
    height: 65px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #fff0df;
    font-size: 31px;
}

.sidebar-label {
    color: #b44a17;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
}

.booking-card h3 {
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    color: #542619;
    font-size: 26px;
    line-height: 1.3;
    margin: 7px 0;
}

.booking-card p {
    color: #756156;
    font-size: 13px;
    margin-bottom: 18px;
}

.sidebar-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 55px;
    margin-top: 10px;
    border-radius: 30px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

    .sidebar-btn strong {
        font-size: 12px;
    }

.call-btn {
    background: #c45416;
}

.whatsapp-btn {
    background: #168b52;
}

.booking-card small {
    display: block;
    margin-top: 15px;
    color: #806c60;
    font-size: 11px;
}


/* =========================================================
   SIDEBAR SERVICES
========================================================= */

.sidebar-services {
    margin-top: 20px;
    padding: 25px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #ead9ca;
}

    .sidebar-services h3 {
        color: #592619;
        font-family: "Playfair Display", "Noto Sans Devanagari", serif;
        font-size: 22px;
        margin-bottom: 12px;
    }

    .sidebar-services a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 11px 0;
        border-bottom: 1px solid #f0e5dc;
        color: #66483b;
        font-size: 13px;
        font-weight: 700;
    }

        .sidebar-services a:last-child {
            border-bottom: 0;
        }

        .sidebar-services a:hover {
            color: #c45416;
        }


/* =========================================================
   FAQ
========================================================= */

.faq-section {
    padding: 80px 0;
    background: #f8efe5;
}

.faq-list {
    max-width: 900px;
    margin: auto;
}

    .faq-list details {
        background: #fff;
        border: 1px solid #ead9c9;
        border-radius: 14px;
        margin-bottom: 12px;
        overflow: hidden;
    }

    .faq-list summary {
        position: relative;
        padding: 18px 22px;
        cursor: pointer;
        list-style: none;
        color: #57281a;
        font-size: 15px;
        font-weight: 800;
    }

        .faq-list summary::-webkit-details-marker {
            display: none;
        }

        .faq-list summary::after {
            content: "+";
            position: absolute;
            right: 20px;
            color: #c45416;
            font-size: 22px;
        }

    .faq-list details[open] summary::after {
        content: "−";
    }

    .faq-list details p {
        padding: 0 22px 20px;
        color: #6e5c51;
        font-size: 14px;
    }


/* =========================================================
   FINAL CTA
========================================================= */

.service-final-cta {
    padding: 75px 0;
    text-align: center;
    color: #fff;
    background: linear-gradient( 110deg, #57190e, #a43f15 );
}

    .service-final-cta .section-label {
        color: #ffd39a;
    }

    .service-final-cta h2 {
        font-family: "Playfair Display", "Noto Sans Devanagari", serif;
        font-size: 42px;
        line-height: 1.3;
        margin-bottom: 12px;
    }

        .service-final-cta h2 span {
            color: #ffbd50;
        }

    .service-final-cta p {
        color: #ffe7d5;
        margin-bottom: 25px;
    }

    .service-final-cta .hero-buttons {
        justify-content: center;
    }


/* =========================================================
   SERVICE PAGE MOBILE
========================================================= */

@media (max-width: 900px) {

    .service-hero-grid {
        grid-template-columns: 1fr;
    }

    .service-hero-symbol {
        display: none;
    }

    .service-content-grid {
        grid-template-columns: 1fr;
    }

    .service-sidebar {
        position: static;
    }

    .service-highlights-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media (max-width: 600px) {

    .service-breadcrumb {
        font-size: 11px;
    }

    .service-hero {
        padding: 55px 0;
    }

        .service-hero h1 {
            font-size: 35px;
        }

    .hero-description {
        font-size: 14px;
    }

    .service-hero-buttons {
        width: 100%;
    }

        .service-hero-buttons .btn {
            width: 100%;
        }

    .service-highlights-grid {
        grid-template-columns: 1fr;
    }

    .service-content-section {
        padding: 55px 0;
    }

    .service-main-content h2 {
        font-size: 29px;
    }

    .reason-grid {
        grid-template-columns: 1fr;
    }

    .ritual-step {
        gap: 12px;
    }

    .step-number {
        width: 44px;
        height: 44px;
    }

    .faq-section {
        padding: 55px 0;
    }

    .faq-list summary {
        padding: 15px 40px 15px 17px;
        font-size: 13px;
    }

    .faq-list details p {
        padding: 0 17px 17px;
        font-size: 13px;
    }

    .service-final-cta {
        padding: 55px 0;
    }

        .service-final-cta h2 {
            font-size: 31px;
        }
}




/* =========================================================
   PINDDAAN SERVICE PAGE
   Haridwar Pandit Booking
   ========================================================= */

.pinddaan-page {
    background: #fffaf3;
    color: #3d2415;
}

    /* ---------- Breadcrumb ---------- */

    .pinddaan-page .service-breadcrumb {
        background: #fff3df;
        border-bottom: 1px solid #f0d8b4;
        padding: 14px 0;
    }

        .pinddaan-page .service-breadcrumb .container {
            max-width: 1200px;
            margin: auto;
            padding: 0 20px;
        }

        .pinddaan-page .service-breadcrumb a {
            color: #9b4d12;
            text-decoration: none;
            font-weight: 600;
        }

        .pinddaan-page .service-breadcrumb span {
            color: #7a6251;
            margin: 0 7px;
        }


    /* ---------- Service Hero ---------- */

    .pinddaan-page .service-hero {
        position: relative;
        padding: 75px 20px;
        overflow: hidden;
        background: linear-gradient(135deg, rgba(99, 42, 8, 0.94), rgba(170, 74, 10, 0.88)), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
    }

        .pinddaan-page .service-hero::before {
            content: "";
            position: absolute;
            width: 420px;
            height: 420px;
            border-radius: 50%;
            background: rgba(255, 193, 7, 0.08);
            top: -180px;
            right: -100px;
        }

        .pinddaan-page .service-hero::after {
            content: "";
            position: absolute;
            width: 300px;
            height: 300px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.05);
            bottom: -150px;
            left: -80px;
        }

        .pinddaan-page .service-hero .container {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: auto;
        }

        .pinddaan-page .service-hero h1 {
            color: #ffffff;
            font-size: clamp(32px, 5vw, 58px);
            line-height: 1.15;
            font-weight: 800;
            margin-bottom: 20px;
            max-width: 850px;
        }

        .pinddaan-page .service-hero p {
            color: #fff7ea;
            font-size: 18px;
            line-height: 1.8;
            max-width: 780px;
            margin-bottom: 28px;
        }


        /* ---------- Hero Buttons ---------- */

        .pinddaan-page .service-hero .btn-call,
        .pinddaan-page .service-hero .btn-whatsapp {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 13px 24px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 700;
            margin: 5px 8px 5px 0;
            transition: all 0.3s ease;
        }

        .pinddaan-page .service-hero .btn-call {
            background: #ffffff;
            color: #9b3e08;
        }

        .pinddaan-page .service-hero .btn-whatsapp {
            background: #f6a400;
            color: #ffffff;
        }

            .pinddaan-page .service-hero .btn-call:hover,
            .pinddaan-page .service-hero .btn-whatsapp:hover {
                transform: translateY(-3px);
                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.22);
            }


    /* ---------- Quick Highlights ---------- */

    .pinddaan-page .service-highlights {
        max-width: 1200px;
        margin: -35px auto 50px;
        padding: 0 20px;
        position: relative;
        z-index: 5;
    }

        .pinddaan-page .service-highlights .highlight-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 18px;
        }

        .pinddaan-page .service-highlights .highlight-card {
            background: #ffffff;
            padding: 25px 18px;
            border-radius: 16px;
            text-align: center;
            border: 1px solid #f1dfc8;
            box-shadow: 0 8px 28px rgba(91, 48, 14, 0.10);
            transition: all 0.3s ease;
        }

            .pinddaan-page .service-highlights .highlight-card:hover {
                transform: translateY(-6px);
                box-shadow: 0 15px 35px rgba(91, 48, 14, 0.16);
            }

        .pinddaan-page .service-highlights .highlight-icon {
            width: 55px;
            height: 55px;
            margin: 0 auto 12px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #fff0d4;
            color: #b4510b;
            font-size: 25px;
        }

        .pinddaan-page .service-highlights h3 {
            font-size: 17px;
            margin: 0 0 6px;
            color: #54260e;
        }

        .pinddaan-page .service-highlights p {
            margin: 0;
            font-size: 14px;
            color: #766354;
        }


    /* ---------- Main Content Layout ---------- */

    .pinddaan-page .service-content-section {
        padding: 20px 20px 70px;
    }

        .pinddaan-page .service-content-section .container {
            max-width: 1200px;
            margin: auto;
        }

    .pinddaan-page .service-content-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 350px;
        gap: 40px;
        align-items: start;
    }


    /* ---------- Main Content ---------- */

    .pinddaan-page .service-main-content {
        background: #ffffff;
        border-radius: 20px;
        padding: 38px;
        border: 1px solid #f0dfca;
        box-shadow: 0 8px 30px rgba(73, 38, 14, 0.07);
    }

        .pinddaan-page .service-main-content h2 {
            color: #702e0c;
            font-size: 30px;
            margin: 0 0 18px;
            line-height: 1.3;
        }

        .pinddaan-page .service-main-content h3 {
            color: #8e3d0b;
            font-size: 23px;
            margin: 34px 0 13px;
        }

        .pinddaan-page .service-main-content p {
            color: #59483b;
            font-size: 16px;
            line-height: 1.85;
            margin-bottom: 17px;
        }

        .pinddaan-page .service-main-content strong {
            color: #71300d;
        }


    /* ---------- Intro Box ---------- */

    .pinddaan-page .pinddaan-intro {
        background: linear-gradient(135deg, #fff6e8, #fffaf3);
        border-left: 5px solid #d98214;
        padding: 24px;
        border-radius: 12px;
        margin: 25px 0 30px;
    }

        .pinddaan-page .pinddaan-intro p {
            margin: 0;
        }


    /* ---------- Religious Significance ---------- */

    .pinddaan-page .significance-box {
        background: #fff9ed;
        border: 1px solid #efd7ae;
        border-radius: 16px;
        padding: 25px;
        margin: 25px 0;
    }

        .pinddaan-page .significance-box h3 {
            margin-top: 0;
        }


    /* ---------- Why Haridwar ---------- */

    .pinddaan-page .reason-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
        margin-top: 22px;
    }

    .pinddaan-page .reason-card {
        background: #fffaf2;
        border: 1px solid #f0dfc8;
        border-radius: 14px;
        padding: 22px;
        transition: all 0.3s ease;
    }

        .pinddaan-page .reason-card:hover {
            transform: translateY(-4px);
            border-color: #dda34d;
            box-shadow: 0 8px 20px rgba(107, 55, 12, 0.08);
        }

        .pinddaan-page .reason-card .icon {
            font-size: 27px;
            margin-bottom: 10px;
        }

        .pinddaan-page .reason-card h4 {
            color: #78330e;
            margin: 0 0 8px;
            font-size: 18px;
        }

        .pinddaan-page .reason-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
        }


    /* ---------- Ritual Steps ---------- */

    .pinddaan-page .ritual-steps {
        counter-reset: pinddaan-step;
        margin-top: 25px;
    }

    .pinddaan-page .ritual-step {
        position: relative;
        padding: 0 0 25px 65px;
        margin-bottom: 15px;
    }

        .pinddaan-page .ritual-step::before {
            counter-increment: pinddaan-step;
            content: counter(pinddaan-step);
            position: absolute;
            left: 0;
            top: 0;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #a94b0c;
            color: #ffffff;
            font-weight: 800;
            font-size: 16px;
        }

        .pinddaan-page .ritual-step::after {
            content: "";
            position: absolute;
            left: 20px;
            top: 42px;
            bottom: 0;
            width: 2px;
            background: #ead1ad;
        }

        .pinddaan-page .ritual-step:last-child::after {
            display: none;
        }

        .pinddaan-page .ritual-step h4 {
            margin: 0 0 6px;
            color: #71300d;
            font-size: 18px;
        }

        .pinddaan-page .ritual-step p {
            margin: 0;
            font-size: 15px;
        }


    /* ---------- Checklist ---------- */

    .pinddaan-page .service-check-list {
        list-style: none;
        padding: 0;
        margin: 20px 0;
    }

        .pinddaan-page .service-check-list li {
            position: relative;
            padding: 11px 0 11px 32px;
            color: #57463a;
            line-height: 1.6;
            border-bottom: 1px dashed #ead8c0;
        }

            .pinddaan-page .service-check-list li::before {
                content: "✓";
                position: absolute;
                left: 0;
                top: 10px;
                color: #a74c0d;
                font-weight: 900;
                font-size: 18px;
            }


    /* ---------- Important Note ---------- */

    .pinddaan-page .important-note {
        background: #fff1df;
        border: 1px solid #e7c48f;
        border-radius: 14px;
        padding: 22px;
        margin-top: 30px;
    }

        .pinddaan-page .important-note h4 {
            color: #8a3909;
            margin: 0 0 8px;
        }

        .pinddaan-page .important-note p {
            margin: 0;
            font-size: 14px;
        }


    /* ---------- Sidebar ---------- */

    .pinddaan-page .service-sidebar {
        position: sticky;
        top: 100px;
    }

    .pinddaan-page .booking-card {
        background: linear-gradient(145deg, #702e0b, #a84b0b);
        color: #ffffff;
        border-radius: 20px;
        padding: 30px 25px;
        box-shadow: 0 12px 35px rgba(89, 38, 8, 0.20);
        margin-bottom: 25px;
    }

        .pinddaan-page .booking-card h3 {
            color: #ffffff;
            margin: 0 0 10px;
            font-size: 25px;
        }

        .pinddaan-page .booking-card p {
            color: #ffeede;
            font-size: 14px;
            line-height: 1.7;
        }

        .pinddaan-page .booking-card .booking-contact {
            margin: 20px 0;
        }

            .pinddaan-page .booking-card .booking-contact a {
                display: flex;
                align-items: center;
                gap: 10px;
                color: #ffffff;
                text-decoration: none;
                padding: 11px 0;
                border-bottom: 1px solid rgba(255,255,255,0.16);
                font-weight: 600;
            }

        .pinddaan-page .booking-card .booking-btn {
            display: block;
            text-align: center;
            padding: 13px 15px;
            border-radius: 50px;
            background: #ffffff;
            color: #8a3509;
            text-decoration: none;
            font-weight: 800;
            margin-top: 15px;
            transition: all 0.3s ease;
        }

            .pinddaan-page .booking-card .booking-btn:hover {
                transform: translateY(-3px);
                box-shadow: 0 8px 20px rgba(0,0,0,0.18);
            }


    /* ---------- Related Services ---------- */

    .pinddaan-page .sidebar-services {
        background: #ffffff;
        border: 1px solid #eedcc5;
        border-radius: 18px;
        padding: 24px;
        box-shadow: 0 8px 25px rgba(75, 39, 14, 0.06);
    }

        .pinddaan-page .sidebar-services h3 {
            color: #702e0c;
            font-size: 21px;
            margin: 0 0 15px;
        }

        .pinddaan-page .sidebar-services a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 0;
            color: #684a35;
            text-decoration: none;
            border-bottom: 1px dashed #e7d7c2;
            font-size: 14px;
            font-weight: 600;
        }

            .pinddaan-page .sidebar-services a::after {
                content: "→";
                color: #b15b13;
            }

            .pinddaan-page .sidebar-services a:hover {
                color: #a5460b;
                padding-left: 5px;
            }


    /* ---------- FAQ ---------- */

    .pinddaan-page .faq-section {
        margin-top: 35px;
    }

    .pinddaan-page .faq-item {
        border: 1px solid #ead8c0;
        border-radius: 12px;
        background: #ffffff;
        margin-bottom: 12px;
        overflow: hidden;
    }

        .pinddaan-page .faq-item summary {
            cursor: pointer;
            padding: 17px 20px;
            font-weight: 700;
            color: #65300f;
            list-style: none;
            position: relative;
            padding-right: 50px;
        }

            .pinddaan-page .faq-item summary::-webkit-details-marker {
                display: none;
            }

            .pinddaan-page .faq-item summary::after {
                content: "+";
                position: absolute;
                right: 20px;
                top: 13px;
                font-size: 25px;
                color: #a94b0c;
            }

        .pinddaan-page .faq-item[open] summary::after {
            content: "−";
        }

        .pinddaan-page .faq-item p {
            padding: 0 20px 18px;
            margin: 0;
            font-size: 14px;
            color: #665448;
            line-height: 1.75;
        }


    /* ---------- Final CTA ---------- */

    .pinddaan-page .service-final-cta {
        margin-top: 55px;
        padding: 55px 25px;
        border-radius: 24px;
        text-align: center;
        background: linear-gradient(135deg, #71300b, #b3540c);
        color: #ffffff;
        position: relative;
        overflow: hidden;
    }

        .pinddaan-page .service-final-cta::before {
            content: "ॐ";
            position: absolute;
            font-size: 180px;
            opacity: 0.06;
            right: 5%;
            top: 50%;
            transform: translateY(-50%);
        }

        .pinddaan-page .service-final-cta h2 {
            position: relative;
            z-index: 2;
            color: #ffffff;
            font-size: 32px;
            margin-bottom: 12px;
        }

        .pinddaan-page .service-final-cta p {
            position: relative;
            z-index: 2;
            color: #ffead8;
            max-width: 700px;
            margin: 0 auto 25px;
            line-height: 1.7;
        }

        .pinddaan-page .service-final-cta .cta-buttons {
            position: relative;
            z-index: 2;
        }

        .pinddaan-page .service-final-cta a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 13px 25px;
            margin: 5px;
            border-radius: 50px;
            background: #ffffff;
            color: #853707;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

            .pinddaan-page .service-final-cta a:hover {
                transform: translateY(-3px);
                box-shadow: 0 8px 25px rgba(0,0,0,0.2);
            }


/* =========================================================
   RESPONSIVE DESIGN
   ========================================================= */

@media (max-width: 992px) {

    .pinddaan-page .service-highlights .highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pinddaan-page .service-content-grid {
        grid-template-columns: 1fr;
    }

    .pinddaan-page .service-sidebar {
        position: static;
    }

    .pinddaan-page .service-main-content {
        padding: 30px;
    }
}


@media (max-width: 768px) {

    .pinddaan-page .service-hero {
        padding: 55px 18px;
    }

        .pinddaan-page .service-hero h1 {
            font-size: 34px;
        }

        .pinddaan-page .service-hero p {
            font-size: 16px;
        }

    .pinddaan-page .service-highlights {
        margin-top: -20px;
        padding: 0 15px;
    }

        .pinddaan-page .service-highlights .highlight-grid {
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }

        .pinddaan-page .service-highlights .highlight-card {
            padding: 18px 12px;
        }

    .pinddaan-page .service-content-section {
        padding: 15px 15px 50px;
    }

    .pinddaan-page .service-main-content {
        padding: 23px 18px;
        border-radius: 16px;
    }

        .pinddaan-page .service-main-content h2 {
            font-size: 25px;
        }

        .pinddaan-page .service-main-content h3 {
            font-size: 21px;
        }

    .pinddaan-page .reason-grid {
        grid-template-columns: 1fr;
    }

    .pinddaan-page .service-final-cta {
        padding: 40px 18px;
        border-radius: 18px;
    }

        .pinddaan-page .service-final-cta h2 {
            font-size: 26px;
        }
}


@media (max-width: 480px) {

    .pinddaan-page .service-highlights .highlight-grid {
        grid-template-columns: 1fr;
    }

    .pinddaan-page .service-hero h1 {
        font-size: 29px;
    }

    .pinddaan-page .service-hero .btn-call,
    .pinddaan-page .service-hero .btn-whatsapp {
        width: 100%;
        margin-right: 0;
    }

    .pinddaan-page .ritual-step {
        padding-left: 55px;
    }

    .pinddaan-page .booking-card {
        padding: 25px 20px;
    }
}














/* =========================================================
   SHRADH PUJA SERVICE PAGE
   Haridwar Pandit Booking
   ========================================================= */

.shradh-puja-page {
    background: #fffaf3;
    color: #3d2415;
}


    /* =========================================================
   HERO
   ========================================================= */

    .shradh-puja-page .shradh-hero {
        position: relative;
        overflow: hidden;
        padding: 80px 20px;
        background: linear-gradient( 135deg, rgba(91, 35, 8, 0.96), rgba(168, 72, 8, 0.90) ), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
    }

        .shradh-puja-page .shradh-hero::before {
            content: "ॐ";
            position: absolute;
            right: 7%;
            top: 50%;
            transform: translateY(-50%);
            font-size: 230px;
            color: rgba(255, 255, 255, 0.06);
            line-height: 1;
        }

        .shradh-puja-page .shradh-hero::after {
            content: "";
            position: absolute;
            width: 350px;
            height: 350px;
            border-radius: 50%;
            left: -170px;
            bottom: -200px;
            background: rgba(255, 193, 7, 0.08);
        }

        .shradh-puja-page .shradh-hero .container {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: auto;
        }

    .shradh-puja-page .hero-content {
        max-width: 900px;
    }

    .shradh-puja-page .hero-badge {
        display: inline-block;
        padding: 8px 17px;
        border-radius: 30px;
        background: rgba(255,255,255,0.13);
        border: 1px solid rgba(255,255,255,0.24);
        color: #ffe4b5;
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 20px;
    }

    .shradh-puja-page .shradh-hero h1 {
        margin: 0 0 20px;
        color: #ffffff;
        font-size: clamp(34px, 5vw, 58px);
        line-height: 1.12;
        font-weight: 800;
    }

        .shradh-puja-page .shradh-hero h1 span {
            display: block;
            margin-top: 12px;
            color: #ffd47d;
            font-size: 0.55em;
            line-height: 1.4;
        }

    .shradh-puja-page .shradh-hero p {
        max-width: 780px;
        color: #fff0dc;
        font-size: 18px;
        line-height: 1.8;
        margin: 0 0 28px;
    }


    /* =========================================================
   HERO BUTTONS
   ========================================================= */

    .shradh-puja-page .hero-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

        .shradh-puja-page .hero-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 50px;
            padding: 12px 24px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

        .shradh-puja-page .hero-buttons .btn-call {
            background: #ffffff;
            color: #8b3809;
        }

        .shradh-puja-page .hero-buttons .btn-whatsapp {
            background: #f5a000;
            color: #ffffff;
        }

        .shradh-puja-page .hero-buttons a:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.22);
        }


    /* =========================================================
   HIGHLIGHTS
   ========================================================= */

    .shradh-puja-page .service-highlights {
        position: relative;
        z-index: 5;
        max-width: 1200px;
        margin: -35px auto 55px;
        padding: 0 20px;
    }

    .shradh-puja-page .highlight-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }

    .shradh-puja-page .highlight-card {
        padding: 25px 18px;
        background: #ffffff;
        border: 1px solid #f0ddc2;
        border-radius: 17px;
        text-align: center;
        box-shadow: 0 9px 30px rgba(76, 40, 13, 0.10);
        transition: all 0.3s ease;
    }

        .shradh-puja-page .highlight-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 15px 35px rgba(76, 40, 13, 0.16);
        }

    .shradh-puja-page .highlight-icon {
        width: 56px;
        height: 56px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: #fff0d2;
        font-size: 25px;
    }

    .shradh-puja-page .highlight-card h3 {
        margin: 0 0 6px;
        color: #672b0c;
        font-size: 17px;
    }

    .shradh-puja-page .highlight-card p {
        margin: 0;
        color: #776455;
        font-size: 14px;
    }


    /* =========================================================
   CONTENT LAYOUT
   ========================================================= */

    .shradh-puja-page .service-content-section {
        padding: 10px 20px 70px;
    }

        .shradh-puja-page .service-content-section > .container {
            max-width: 1200px;
            margin: auto;
        }

    .shradh-puja-page .service-content-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 350px;
        gap: 40px;
        align-items: start;
    }


    /* =========================================================
   MAIN ARTICLE
   ========================================================= */

    .shradh-puja-page .service-main-content {
        background: #ffffff;
        border: 1px solid #efddc7;
        border-radius: 20px;
        padding: 40px;
        box-shadow: 0 8px 30px rgba(73, 38, 14, 0.07);
    }

        .shradh-puja-page .service-main-content h2 {
            color: #702e0c;
            font-size: 29px;
            line-height: 1.35;
            margin: 0 0 18px;
        }

    .shradh-puja-page .content-block {
        margin-top: 42px;
    }

        .shradh-puja-page .content-block:first-child {
            margin-top: 0;
        }

    .shradh-puja-page .service-main-content p {
        color: #5d4a3c;
        font-size: 16px;
        line-height: 1.85;
        margin: 0 0 17px;
    }

    .shradh-puja-page .service-main-content strong {
        color: #75320e;
    }


    /* =========================================================
   INTRO
   ========================================================= */

    .shradh-puja-page .shradh-intro {
        padding: 28px;
        border-radius: 16px;
        border-left: 5px solid #d78315;
        background: linear-gradient(135deg, #fff4df, #fffaf2);
    }

        .shradh-puja-page .shradh-intro h2 {
            margin-bottom: 15px;
        }


    /* =========================================================
   SIGNIFICANCE BOX
   ========================================================= */

    .shradh-puja-page .significance-box {
        display: grid;
        gap: 14px;
        margin-top: 22px;
        padding: 20px;
        border: 1px solid #efd8b4;
        border-radius: 16px;
        background: #fff9ee;
    }

    .shradh-puja-page .significance-item {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        padding: 16px;
        background: #ffffff;
        border-radius: 12px;
        border: 1px solid #f0dfc8;
    }

        .shradh-puja-page .significance-item > span {
            flex: 0 0 45px;
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff0d2;
            font-size: 22px;
        }

        .shradh-puja-page .significance-item h4 {
            margin: 0 0 5px;
            color: #79330d;
            font-size: 18px;
        }

        .shradh-puja-page .significance-item p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   WHY HARIDWAR
   ========================================================= */

    .shradh-puja-page .reason-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
        margin-top: 24px;
    }

    .shradh-puja-page .reason-card {
        padding: 22px;
        border: 1px solid #efdfca;
        border-radius: 15px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .shradh-puja-page .reason-card:hover {
            transform: translateY(-4px);
            border-color: #d9a052;
            box-shadow: 0 9px 22px rgba(92, 48, 13, 0.08);
        }

        .shradh-puja-page .reason-card .icon {
            font-size: 28px;
            margin-bottom: 10px;
        }

        .shradh-puja-page .reason-card h4 {
            color: #74300c;
            font-size: 18px;
            margin: 0 0 8px;
        }

        .shradh-puja-page .reason-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
        }


    /* =========================================================
   RITUAL STEPS
   ========================================================= */

    .shradh-puja-page .ritual-steps {
        position: relative;
        margin-top: 28px;
    }

    .shradh-puja-page .ritual-step {
        position: relative;
        min-height: 60px;
        padding: 0 0 28px 67px;
    }

        .shradh-puja-page .ritual-step::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 43px;
            height: 43px;
            border-radius: 50%;
            background: #a74b0c;
            box-shadow: 0 5px 14px rgba(125, 49, 7, 0.20);
        }

        .shradh-puja-page .ritual-step:nth-child(1)::before {
            content: "1";
        }

        .shradh-puja-page .ritual-step:nth-child(2)::before {
            content: "2";
        }

        .shradh-puja-page .ritual-step:nth-child(3)::before {
            content: "3";
        }

        .shradh-puja-page .ritual-step:nth-child(4)::before {
            content: "4";
        }

        .shradh-puja-page .ritual-step:nth-child(5)::before {
            content: "5";
        }

        .shradh-puja-page .ritual-step::before {
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 15px;
            font-weight: 800;
        }

        .shradh-puja-page .ritual-step:not(:last-child)::after {
            content: "";
            position: absolute;
            left: 20px;
            top: 43px;
            width: 2px;
            height: calc(100% - 43px);
            background: #ead3b1;
        }

        .shradh-puja-page .ritual-step h4 {
            margin: 0 0 7px;
            color: #71300d;
            font-size: 18px;
        }

        .shradh-puja-page .ritual-step p {
            margin: 0;
            font-size: 15px;
        }


    /* =========================================================
   CHECK LIST
   ========================================================= */

    .shradh-puja-page .service-check-list {
        list-style: none;
        padding: 0;
        margin: 20px 0;
    }

        .shradh-puja-page .service-check-list li {
            position: relative;
            padding: 11px 0 11px 32px;
            color: #5d4b3d;
            line-height: 1.65;
            border-bottom: 1px dashed #ead9c3;
        }

            .shradh-puja-page .service-check-list li::before {
                content: "✓";
                position: absolute;
                left: 0;
                top: 9px;
                color: #a74a0b;
                font-size: 18px;
                font-weight: 900;
            }


    /* =========================================================
   IMPORTANT NOTE
   ========================================================= */

    .shradh-puja-page .important-note {
        margin-top: 38px;
        padding: 23px;
        border: 1px solid #e8c58e;
        border-radius: 15px;
        background: #fff3df;
    }

        .shradh-puja-page .important-note h4 {
            color: #853706;
            margin: 0 0 8px;
            font-size: 18px;
        }

        .shradh-puja-page .important-note p {
            margin: 0;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   SIDEBAR
   ========================================================= */

    .shradh-puja-page .service-sidebar {
        position: sticky;
        top: 100px;
    }


    /* ---------- Booking Card ---------- */

    .shradh-puja-page .booking-card {
        position: relative;
        overflow: hidden;
        padding: 30px 25px;
        margin-bottom: 25px;
        border-radius: 20px;
        color: #ffffff;
        background: linear-gradient(145deg, #6d2d0a, #a94b0b);
        box-shadow: 0 13px 35px rgba(85, 37, 9, 0.20);
    }

        .shradh-puja-page .booking-card::after {
            content: "ॐ";
            position: absolute;
            right: -20px;
            bottom: -40px;
            font-size: 130px;
            color: rgba(255,255,255,0.05);
        }

    .shradh-puja-page .booking-icon {
        width: 55px;
        height: 55px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 15px;
        border-radius: 50%;
        background: rgba(255,255,255,0.12);
        font-size: 25px;
    }

    .shradh-puja-page .booking-card h3 {
        position: relative;
        z-index: 2;
        color: #ffffff;
        font-size: 25px;
        margin: 0 0 10px;
    }

    .shradh-puja-page .booking-card p {
        position: relative;
        z-index: 2;
        color: #ffe9d3;
        font-size: 14px;
        line-height: 1.7;
    }

    .shradh-puja-page .booking-contact {
        position: relative;
        z-index: 2;
        margin: 20px 0;
    }

        .shradh-puja-page .booking-contact a {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255,255,255,0.16);
            color: #ffffff;
            text-decoration: none;
            font-weight: 700;
        }

    .shradh-puja-page .booking-btn {
        position: relative;
        z-index: 2;
        display: block;
        padding: 13px 15px;
        margin-top: 12px;
        border-radius: 50px;
        background: #ffffff;
        color: #843506;
        text-align: center;
        text-decoration: none;
        font-weight: 800;
        transition: all 0.3s ease;
    }

        .shradh-puja-page .booking-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.18);
        }

        .shradh-puja-page .booking-btn.whatsapp-btn {
            background: #f4a000;
            color: #ffffff;
        }


    /* =========================================================
   RELATED SERVICES
   ========================================================= */

    .shradh-puja-page .sidebar-services {
        padding: 24px;
        border: 1px solid #eddbc5;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 8px 25px rgba(75, 39, 14, 0.06);
    }

        .shradh-puja-page .sidebar-services h3 {
            color: #702e0c;
            font-size: 21px;
            margin: 0 0 15px;
        }

        .shradh-puja-page .sidebar-services a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 0;
            color: #654a36;
            text-decoration: none;
            border-bottom: 1px dashed #e8d8c2;
            font-size: 14px;
            font-weight: 600;
            transition: all 0.2s ease;
        }

            .shradh-puja-page .sidebar-services a::after {
                content: "→";
                color: #ae5510;
            }

            .shradh-puja-page .sidebar-services a:hover {
                padding-left: 5px;
                color: #a2460b;
            }


    /* =========================================================
   FAQ
   ========================================================= */

    .shradh-puja-page .faq-section {
        margin-top: 42px;
    }

        .shradh-puja-page .faq-section h2 {
            margin-bottom: 20px;
        }

    .shradh-puja-page .faq-item {
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #ead9c2;
        border-radius: 13px;
        background: #ffffff;
    }

        .shradh-puja-page .faq-item summary {
            position: relative;
            cursor: pointer;
            padding: 17px 50px 17px 20px;
            color: #63300f;
            font-size: 15px;
            font-weight: 700;
            list-style: none;
        }

            .shradh-puja-page .faq-item summary::-webkit-details-marker {
                display: none;
            }

            .shradh-puja-page .faq-item summary::after {
                content: "+";
                position: absolute;
                right: 20px;
                top: 11px;
                color: #a74b0c;
                font-size: 25px;
            }

        .shradh-puja-page .faq-item[open] summary::after {
            content: "−";
        }

        .shradh-puja-page .faq-item p {
            margin: 0;
            padding: 0 20px 18px;
            color: #655548;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   FINAL CTA
   ========================================================= */

    .shradh-puja-page .service-final-cta {
        position: relative;
        overflow: hidden;
        margin-top: 55px;
        padding: 58px 25px;
        border-radius: 24px;
        background: linear-gradient(135deg, #702d0a, #b4520c);
        text-align: center;
        color: #ffffff;
    }

        .shradh-puja-page .service-final-cta::before {
            content: "ॐ";
            position: absolute;
            right: 5%;
            top: 50%;
            transform: translateY(-50%);
            font-size: 180px;
            color: rgba(255,255,255,0.06);
        }

        .shradh-puja-page .service-final-cta h2 {
            position: relative;
            z-index: 2;
            color: #ffffff;
            font-size: 32px;
            margin: 0 0 13px;
        }

        .shradh-puja-page .service-final-cta p {
            position: relative;
            z-index: 2;
            max-width: 720px;
            margin: 0 auto 25px;
            color: #ffe9d6;
            line-height: 1.75;
        }

    .shradh-puja-page .cta-buttons {
        position: relative;
        z-index: 2;
    }

        .shradh-puja-page .cta-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 13px 25px;
            margin: 5px;
            border-radius: 50px;
            background: #ffffff;
            color: #823506;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

            .shradh-puja-page .cta-buttons a:hover {
                transform: translateY(-3px);
                box-shadow: 0 9px 25px rgba(0,0,0,0.20);
            }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {

    .shradh-puja-page .highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .shradh-puja-page .service-content-grid {
        grid-template-columns: 1fr;
    }

    .shradh-puja-page .service-sidebar {
        position: static;
    }
}


@media (max-width: 768px) {

    .shradh-puja-page .shradh-hero {
        padding: 58px 18px;
    }

        .shradh-puja-page .shradh-hero h1 {
            font-size: 35px;
        }

            .shradh-puja-page .shradh-hero h1 span {
                font-size: 19px;
            }

        .shradh-puja-page .shradh-hero p {
            font-size: 16px;
        }

    .shradh-puja-page .service-highlights {
        margin-top: -20px;
        padding: 0 15px;
    }

    .shradh-puja-page .highlight-grid {
        gap: 12px;
    }

    .shradh-puja-page .service-content-section {
        padding: 10px 15px 50px;
    }

    .shradh-puja-page .service-main-content {
        padding: 28px 20px;
        border-radius: 17px;
    }

        .shradh-puja-page .service-main-content h2 {
            font-size: 25px;
        }

    .shradh-puja-page .reason-grid {
        grid-template-columns: 1fr;
    }

    .shradh-puja-page .service-final-cta {
        padding: 42px 18px;
        border-radius: 18px;
    }

        .shradh-puja-page .service-final-cta h2 {
            font-size: 27px;
        }
}


@media (max-width: 480px) {

    .shradh-puja-page .highlight-grid {
        grid-template-columns: 1fr;
    }

    .shradh-puja-page .shradh-hero h1 {
        font-size: 29px;
    }

        .shradh-puja-page .shradh-hero h1 span {
            font-size: 18px;
        }

    .shradh-puja-page .hero-buttons {
        flex-direction: column;
    }

        .shradh-puja-page .hero-buttons a {
            width: 100%;
        }

    .shradh-puja-page .service-main-content {
        padding: 22px 17px;
    }

    .shradh-puja-page .shradh-intro {
        padding: 20px;
    }

    .shradh-puja-page .significance-item {
        padding: 13px;
    }

    .shradh-puja-page .ritual-step {
        padding-left: 58px;
    }

    .shradh-puja-page .booking-card {
        padding: 25px 20px;
    }
}
/* =========================================================
   TARPAN SERVICE PAGE
   Haridwar Pandit Booking
   ========================================================= */

.tarpan-page {
    background: #fffaf3;
    color: #3d2415;
}


    /* =========================================================
   HERO
   ========================================================= */

    .tarpan-page .tarpan-hero {
        position: relative;
        overflow: hidden;
        padding: 80px 20px;
        background: linear-gradient( 135deg, rgba(75, 31, 7, 0.96), rgba(157, 65, 7, 0.91) ), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
    }

        .tarpan-page .tarpan-hero::before {
            content: "ॐ";
            position: absolute;
            right: 6%;
            top: 50%;
            transform: translateY(-50%);
            font-size: 230px;
            line-height: 1;
            color: rgba(255,255,255,0.055);
        }

        .tarpan-page .tarpan-hero::after {
            content: "";
            position: absolute;
            width: 360px;
            height: 360px;
            border-radius: 50%;
            left: -180px;
            bottom: -220px;
            background: rgba(255,193,7,0.08);
        }

        .tarpan-page .tarpan-hero .container {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: auto;
        }

    .tarpan-page .hero-content {
        max-width: 900px;
    }

    .tarpan-page .hero-badge {
        display: inline-block;
        margin-bottom: 20px;
        padding: 8px 17px;
        border: 1px solid rgba(255,255,255,0.25);
        border-radius: 30px;
        background: rgba(255,255,255,0.12);
        color: #ffe3ad;
        font-size: 14px;
        font-weight: 700;
    }

    .tarpan-page .tarpan-hero h1 {
        margin: 0 0 20px;
        color: #ffffff;
        font-size: clamp(34px, 5vw, 58px);
        line-height: 1.12;
        font-weight: 800;
    }

        .tarpan-page .tarpan-hero h1 span {
            display: block;
            margin-top: 12px;
            color: #ffd37a;
            font-size: 0.55em;
            line-height: 1.4;
        }

    .tarpan-page .tarpan-hero p {
        max-width: 790px;
        margin: 0 0 28px;
        color: #fff0dc;
        font-size: 18px;
        line-height: 1.8;
    }


    /* =========================================================
   HERO BUTTONS
   ========================================================= */

    .tarpan-page .hero-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

        .tarpan-page .hero-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 50px;
            padding: 12px 25px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

        .tarpan-page .hero-buttons .btn-call {
            background: #ffffff;
            color: #873506;
        }

        .tarpan-page .hero-buttons .btn-whatsapp {
            background: #f3a000;
            color: #ffffff;
        }

        .tarpan-page .hero-buttons a:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.22);
        }


    /* =========================================================
   HIGHLIGHTS
   ========================================================= */

    .tarpan-page .service-highlights {
        position: relative;
        z-index: 5;
        max-width: 1200px;
        margin: -35px auto 55px;
        padding: 0 20px;
    }

    .tarpan-page .highlight-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }

    .tarpan-page .highlight-card {
        padding: 25px 18px;
        border: 1px solid #efddc3;
        border-radius: 17px;
        background: #ffffff;
        text-align: center;
        box-shadow: 0 9px 30px rgba(76,40,13,0.10);
        transition: all 0.3s ease;
    }

        .tarpan-page .highlight-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 15px 35px rgba(76,40,13,0.16);
        }

    .tarpan-page .highlight-icon {
        width: 57px;
        height: 57px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: #fff0d2;
        font-size: 25px;
    }

    .tarpan-page .highlight-card h3 {
        margin: 0 0 6px;
        color: #682d0c;
        font-size: 17px;
    }

    .tarpan-page .highlight-card p {
        margin: 0;
        color: #766254;
        font-size: 14px;
        line-height: 1.55;
    }


    /* =========================================================
   CONTENT LAYOUT
   ========================================================= */

    .tarpan-page .service-content-section {
        padding: 10px 20px 70px;
    }

        .tarpan-page .service-content-section > .container {
            max-width: 1200px;
            margin: auto;
        }

    .tarpan-page .service-content-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 350px;
        gap: 40px;
        align-items: start;
    }


    /* =========================================================
   MAIN CONTENT
   ========================================================= */

    .tarpan-page .service-main-content {
        padding: 40px;
        border: 1px solid #efddc7;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 8px 30px rgba(73,38,14,0.07);
    }

        .tarpan-page .service-main-content h2 {
            margin: 0 0 18px;
            color: #702e0c;
            font-size: 29px;
            line-height: 1.35;
        }

    .tarpan-page .content-block {
        margin-top: 42px;
    }

        .tarpan-page .content-block:first-child {
            margin-top: 0;
        }

    .tarpan-page .service-main-content p {
        margin: 0 0 17px;
        color: #5c493b;
        font-size: 16px;
        line-height: 1.85;
    }

    .tarpan-page .service-main-content strong {
        color: #74310d;
    }


    /* =========================================================
   TARPAN INTRO
   ========================================================= */

    .tarpan-page .tarpan-intro {
        padding: 28px;
        border-left: 5px solid #d58114;
        border-radius: 16px;
        background: linear-gradient(135deg,#fff4df,#fffaf2);
    }

        .tarpan-page .tarpan-intro h2 {
            margin-bottom: 15px;
        }


    /* =========================================================
   SIGNIFICANCE
   ========================================================= */

    .tarpan-page .significance-box {
        display: grid;
        gap: 14px;
        margin-top: 22px;
        padding: 20px;
        border: 1px solid #efd8b4;
        border-radius: 16px;
        background: #fff9ee;
    }

    .tarpan-page .significance-item {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        padding: 16px;
        border: 1px solid #f0dfc8;
        border-radius: 12px;
        background: #ffffff;
    }

        .tarpan-page .significance-item > span {
            flex: 0 0 45px;
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff0d2;
            font-size: 22px;
        }

        .tarpan-page .significance-item h4 {
            margin: 0 0 5px;
            color: #79330d;
            font-size: 18px;
        }

        .tarpan-page .significance-item p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   WHY HARIDWAR
   ========================================================= */

    .tarpan-page .reason-grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 18px;
        margin-top: 24px;
    }

    .tarpan-page .reason-card {
        padding: 22px;
        border: 1px solid #efdfca;
        border-radius: 15px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .tarpan-page .reason-card:hover {
            transform: translateY(-4px);
            border-color: #d9a052;
            box-shadow: 0 9px 22px rgba(92,48,13,0.08);
        }

        .tarpan-page .reason-card .icon {
            margin-bottom: 10px;
            font-size: 28px;
        }

        .tarpan-page .reason-card h4 {
            margin: 0 0 8px;
            color: #74300c;
            font-size: 18px;
        }

        .tarpan-page .reason-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
        }


    /* =========================================================
   RITUAL STEPS
   ========================================================= */

    .tarpan-page .ritual-steps {
        position: relative;
        margin-top: 28px;
    }

    .tarpan-page .ritual-step {
        position: relative;
        min-height: 60px;
        padding: 0 0 28px 67px;
    }

        .tarpan-page .ritual-step::before {
            position: absolute;
            left: 0;
            top: 0;
            width: 43px;
            height: 43px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #a74b0c;
            color: #ffffff;
            font-size: 15px;
            font-weight: 800;
            box-shadow: 0 5px 14px rgba(125,49,7,0.20);
        }

        .tarpan-page .ritual-step:nth-child(1)::before {
            content: "1";
        }

        .tarpan-page .ritual-step:nth-child(2)::before {
            content: "2";
        }

        .tarpan-page .ritual-step:nth-child(3)::before {
            content: "3";
        }

        .tarpan-page .ritual-step:nth-child(4)::before {
            content: "4";
        }

        .tarpan-page .ritual-step:nth-child(5)::before {
            content: "5";
        }

        .tarpan-page .ritual-step:not(:last-child)::after {
            content: "";
            position: absolute;
            left: 20px;
            top: 43px;
            width: 2px;
            height: calc(100% - 43px);
            background: #ead3b1;
        }

        .tarpan-page .ritual-step h4 {
            margin: 0 0 7px;
            color: #71300d;
            font-size: 18px;
        }

        .tarpan-page .ritual-step p {
            margin: 0;
            font-size: 15px;
        }


    /* =========================================================
   CHECK LIST
   ========================================================= */

    .tarpan-page .service-check-list {
        list-style: none;
        padding: 0;
        margin: 20px 0;
    }

        .tarpan-page .service-check-list li {
            position: relative;
            padding: 11px 0 11px 32px;
            border-bottom: 1px dashed #ead9c3;
            color: #5d4b3d;
            line-height: 1.65;
        }

            .tarpan-page .service-check-list li::before {
                content: "✓";
                position: absolute;
                left: 0;
                top: 9px;
                color: #a74a0b;
                font-size: 18px;
                font-weight: 900;
            }


    /* =========================================================
   PREPARATION CARDS
   ========================================================= */

    .tarpan-page .preparation-grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 16px;
        margin-top: 22px;
    }

    .tarpan-page .preparation-card {
        padding: 20px;
        border: 1px solid #efdfc9;
        border-radius: 14px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .tarpan-page .preparation-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(85,45,12,0.08);
        }

        .tarpan-page .preparation-card > span {
            font-size: 26px;
        }

        .tarpan-page .preparation-card h4 {
            margin: 10px 0 6px;
            color: #74310d;
            font-size: 17px;
        }

        .tarpan-page .preparation-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   IMPORTANT NOTE
   ========================================================= */

    .tarpan-page .important-note {
        margin-top: 38px;
        padding: 23px;
        border: 1px solid #e8c58e;
        border-radius: 15px;
        background: #fff3df;
    }

        .tarpan-page .important-note h4 {
            margin: 0 0 8px;
            color: #853706;
            font-size: 18px;
        }

        .tarpan-page .important-note p {
            margin: 0;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   SIDEBAR
   ========================================================= */

    .tarpan-page .service-sidebar {
        position: sticky;
        top: 100px;
    }


    /* ---------- Booking Card ---------- */

    .tarpan-page .booking-card {
        position: relative;
        overflow: hidden;
        padding: 30px 25px;
        margin-bottom: 25px;
        border-radius: 20px;
        background: linear-gradient(145deg,#6d2d0a,#a94b0b);
        color: #ffffff;
        box-shadow: 0 13px 35px rgba(85,37,9,0.20);
    }

        .tarpan-page .booking-card::after {
            content: "ॐ";
            position: absolute;
            right: -20px;
            bottom: -40px;
            color: rgba(255,255,255,0.05);
            font-size: 130px;
        }

    .tarpan-page .booking-icon {
        width: 55px;
        height: 55px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 15px;
        border-radius: 50%;
        background: rgba(255,255,255,0.12);
        font-size: 25px;
    }

    .tarpan-page .booking-card h3 {
        position: relative;
        z-index: 2;
        margin: 0 0 10px;
        color: #ffffff;
        font-size: 25px;
    }

    .tarpan-page .booking-card p {
        position: relative;
        z-index: 2;
        color: #ffe9d3;
        font-size: 14px;
        line-height: 1.7;
    }

    .tarpan-page .booking-contact {
        position: relative;
        z-index: 2;
        margin: 20px 0;
    }

        .tarpan-page .booking-contact a {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255,255,255,0.16);
            color: #ffffff;
            text-decoration: none;
            font-weight: 700;
        }

    .tarpan-page .booking-btn {
        position: relative;
        z-index: 2;
        display: block;
        padding: 13px 15px;
        margin-top: 12px;
        border-radius: 50px;
        background: #ffffff;
        color: #843506;
        text-align: center;
        text-decoration: none;
        font-weight: 800;
        transition: all 0.3s ease;
    }

        .tarpan-page .booking-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.18);
        }

        .tarpan-page .booking-btn.whatsapp-btn {
            background: #f4a000;
            color: #ffffff;
        }


    /* =========================================================
   RELATED SERVICES
   ========================================================= */

    .tarpan-page .sidebar-services {
        padding: 24px;
        border: 1px solid #eddbc5;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 8px 25px rgba(75,39,14,0.06);
    }

        .tarpan-page .sidebar-services h3 {
            margin: 0 0 15px;
            color: #702e0c;
            font-size: 21px;
        }

        .tarpan-page .sidebar-services a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 0;
            border-bottom: 1px dashed #e8d8c2;
            color: #654a36;
            text-decoration: none;
            font-size: 14px;
            font-weight: 600;
            transition: all 0.2s ease;
        }

            .tarpan-page .sidebar-services a::after {
                content: "→";
                color: #ae5510;
            }

            .tarpan-page .sidebar-services a:hover {
                padding-left: 5px;
                color: #a2460b;
            }


    /* =========================================================
   FAQ
   ========================================================= */

    .tarpan-page .faq-section {
        margin-top: 42px;
    }

        .tarpan-page .faq-section h2 {
            margin-bottom: 20px;
        }

    .tarpan-page .faq-item {
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #ead9c2;
        border-radius: 13px;
        background: #ffffff;
    }

        .tarpan-page .faq-item summary {
            position: relative;
            cursor: pointer;
            padding: 17px 50px 17px 20px;
            color: #63300f;
            font-size: 15px;
            font-weight: 700;
            list-style: none;
        }

            .tarpan-page .faq-item summary::-webkit-details-marker {
                display: none;
            }

            .tarpan-page .faq-item summary::after {
                content: "+";
                position: absolute;
                right: 20px;
                top: 11px;
                color: #a74b0c;
                font-size: 25px;
            }

        .tarpan-page .faq-item[open] summary::after {
            content: "−";
        }

        .tarpan-page .faq-item p {
            margin: 0;
            padding: 0 20px 18px;
            color: #655548;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   FINAL CTA
   ========================================================= */

    .tarpan-page .service-final-cta {
        position: relative;
        overflow: hidden;
        margin-top: 55px;
        padding: 58px 25px;
        border-radius: 24px;
        background: linear-gradient(135deg,#702d0a,#b4520c);
        color: #ffffff;
        text-align: center;
    }

        .tarpan-page .service-final-cta::before {
            content: "ॐ";
            position: absolute;
            right: 5%;
            top: 50%;
            transform: translateY(-50%);
            color: rgba(255,255,255,0.06);
            font-size: 180px;
        }

        .tarpan-page .service-final-cta h2 {
            position: relative;
            z-index: 2;
            margin: 0 0 13px;
            color: #ffffff;
            font-size: 32px;
        }

        .tarpan-page .service-final-cta p {
            position: relative;
            z-index: 2;
            max-width: 720px;
            margin: 0 auto 25px;
            color: #ffe9d6;
            line-height: 1.75;
        }

    .tarpan-page .cta-buttons {
        position: relative;
        z-index: 2;
    }

        .tarpan-page .cta-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 13px 25px;
            margin: 5px;
            border-radius: 50px;
            background: #ffffff;
            color: #823506;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

            .tarpan-page .cta-buttons a:hover {
                transform: translateY(-3px);
                box-shadow: 0 9px 25px rgba(0,0,0,0.20);
            }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {

    .tarpan-page .highlight-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .tarpan-page .service-content-grid {
        grid-template-columns: 1fr;
    }

    .tarpan-page .service-sidebar {
        position: static;
    }
}


@media (max-width: 768px) {

    .tarpan-page .tarpan-hero {
        padding: 58px 18px;
    }

        .tarpan-page .tarpan-hero h1 {
            font-size: 35px;
        }

            .tarpan-page .tarpan-hero h1 span {
                font-size: 19px;
            }

        .tarpan-page .tarpan-hero p {
            font-size: 16px;
        }

    .tarpan-page .service-highlights {
        margin-top: -20px;
        padding: 0 15px;
    }

    .tarpan-page .highlight-grid {
        gap: 12px;
    }

    .tarpan-page .service-content-section {
        padding: 10px 15px 50px;
    }

    .tarpan-page .service-main-content {
        padding: 28px 20px;
        border-radius: 17px;
    }

        .tarpan-page .service-main-content h2 {
            font-size: 25px;
        }

    .tarpan-page .reason-grid,
    .tarpan-page .preparation-grid {
        grid-template-columns: 1fr;
    }

    .tarpan-page .service-final-cta {
        padding: 42px 18px;
        border-radius: 18px;
    }

        .tarpan-page .service-final-cta h2 {
            font-size: 27px;
        }
}


@media (max-width: 480px) {

    .tarpan-page .highlight-grid {
        grid-template-columns: 1fr;
    }

    .tarpan-page .tarpan-hero h1 {
        font-size: 29px;
    }

        .tarpan-page .tarpan-hero h1 span {
            font-size: 18px;
        }

    .tarpan-page .hero-buttons {
        flex-direction: column;
    }

        .tarpan-page .hero-buttons a {
            width: 100%;
        }

    .tarpan-page .service-main-content {
        padding: 22px 17px;
    }

    .tarpan-page .tarpan-intro {
        padding: 20px;
    }

    .tarpan-page .significance-item {
        padding: 13px;
    }

    .tarpan-page .ritual-step {
        padding-left: 58px;
    }

    .tarpan-page .booking-card {
        padding: 25px 20px;
    }
}


/* =========================================================
   NARAYANBALI PUJA SERVICE PAGE
   Haridwar Pandit Booking
   ========================================================= */

.narayanbali-page {
    background: #fffaf3;
    color: #3d2415;
}


    /* =========================================================
   HERO
   ========================================================= */

    .narayanbali-page .narayanbali-hero {
        position: relative;
        overflow: hidden;
        padding: 80px 20px;
        background: linear-gradient( 135deg, rgba(72, 29, 6, 0.97), rgba(157, 64, 7, 0.91) ), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
    }

        .narayanbali-page .narayanbali-hero::before {
            content: "ॐ";
            position: absolute;
            right: 6%;
            top: 50%;
            transform: translateY(-50%);
            color: rgba(255,255,255,0.055);
            font-size: 235px;
            line-height: 1;
        }

        .narayanbali-page .narayanbali-hero::after {
            content: "";
            position: absolute;
            width: 370px;
            height: 370px;
            left: -190px;
            bottom: -225px;
            border-radius: 50%;
            background: rgba(255,193,7,0.08);
        }

        .narayanbali-page .narayanbali-hero .container {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: auto;
        }

    .narayanbali-page .hero-content {
        max-width: 900px;
    }

    .narayanbali-page .hero-badge {
        display: inline-block;
        margin-bottom: 20px;
        padding: 8px 17px;
        border: 1px solid rgba(255,255,255,0.25);
        border-radius: 30px;
        background: rgba(255,255,255,0.12);
        color: #ffe3ad;
        font-size: 14px;
        font-weight: 700;
    }

    .narayanbali-page .narayanbali-hero h1 {
        margin: 0 0 20px;
        color: #ffffff;
        font-size: clamp(34px,5vw,58px);
        line-height: 1.12;
        font-weight: 800;
    }

        .narayanbali-page .narayanbali-hero h1 span {
            display: block;
            margin-top: 12px;
            color: #ffd37a;
            font-size: 0.55em;
            line-height: 1.4;
        }

    .narayanbali-page .narayanbali-hero p {
        max-width: 790px;
        margin: 0 0 28px;
        color: #fff0dc;
        font-size: 18px;
        line-height: 1.8;
    }


    /* =========================================================
   HERO BUTTONS
   ========================================================= */

    .narayanbali-page .hero-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

        .narayanbali-page .hero-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 50px;
            padding: 12px 25px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

        .narayanbali-page .hero-buttons .btn-call {
            background: #ffffff;
            color: #873506;
        }

        .narayanbali-page .hero-buttons .btn-whatsapp {
            background: #f3a000;
            color: #ffffff;
        }

        .narayanbali-page .hero-buttons a:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.22);
        }


    /* =========================================================
   HIGHLIGHTS
   ========================================================= */

    .narayanbali-page .service-highlights {
        position: relative;
        z-index: 5;
        max-width: 1200px;
        margin: -35px auto 55px;
        padding: 0 20px;
    }

    .narayanbali-page .highlight-grid {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 18px;
    }

    .narayanbali-page .highlight-card {
        padding: 25px 18px;
        border: 1px solid #efddc3;
        border-radius: 17px;
        background: #ffffff;
        text-align: center;
        box-shadow: 0 9px 30px rgba(76,40,13,0.10);
        transition: all 0.3s ease;
    }

        .narayanbali-page .highlight-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 15px 35px rgba(76,40,13,0.16);
        }

    .narayanbali-page .highlight-icon {
        width: 57px;
        height: 57px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: #fff0d2;
        font-size: 25px;
    }

    .narayanbali-page .highlight-card h3 {
        margin: 0 0 6px;
        color: #682d0c;
        font-size: 17px;
    }

    .narayanbali-page .highlight-card p {
        margin: 0;
        color: #766254;
        font-size: 14px;
        line-height: 1.55;
    }


    /* =========================================================
   CONTENT LAYOUT
   ========================================================= */

    .narayanbali-page .service-content-section {
        padding: 10px 20px 70px;
    }

        .narayanbali-page .service-content-section > .container {
            max-width: 1200px;
            margin: auto;
        }

    .narayanbali-page .service-content-grid {
        display: grid;
        grid-template-columns: minmax(0,1fr) 350px;
        gap: 40px;
        align-items: start;
    }


    /* =========================================================
   MAIN CONTENT
   ========================================================= */

    .narayanbali-page .service-main-content {
        padding: 40px;
        border: 1px solid #efddc7;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 8px 30px rgba(73,38,14,0.07);
    }

        .narayanbali-page .service-main-content h2 {
            margin: 0 0 18px;
            color: #702e0c;
            font-size: 29px;
            line-height: 1.35;
        }

    .narayanbali-page .content-block {
        margin-top: 42px;
    }

        .narayanbali-page .content-block:first-child {
            margin-top: 0;
        }

    .narayanbali-page .service-main-content p {
        margin: 0 0 17px;
        color: #5c493b;
        font-size: 16px;
        line-height: 1.85;
    }

    .narayanbali-page .service-main-content strong {
        color: #74310d;
    }


    /* =========================================================
   INTRO
   ========================================================= */

    .narayanbali-page .narayanbali-intro {
        padding: 28px;
        border-left: 5px solid #d58114;
        border-radius: 16px;
        background: linear-gradient( 135deg, #fff4df, #fffaf2 );
    }

        .narayanbali-page .narayanbali-intro h2 {
            margin-bottom: 15px;
        }


    /* =========================================================
   SIGNIFICANCE
   ========================================================= */

    .narayanbali-page .significance-box {
        display: grid;
        gap: 14px;
        margin-top: 22px;
        padding: 20px;
        border: 1px solid #efd8b4;
        border-radius: 16px;
        background: #fff9ee;
    }

    .narayanbali-page .significance-item {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        padding: 16px;
        border: 1px solid #f0dfc8;
        border-radius: 12px;
        background: #ffffff;
    }

        .narayanbali-page .significance-item > span {
            flex: 0 0 45px;
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff0d2;
            font-size: 22px;
        }

        .narayanbali-page .significance-item h4 {
            margin: 0 0 5px;
            color: #79330d;
            font-size: 18px;
        }

        .narayanbali-page .significance-item p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   WHY HARIDWAR
   ========================================================= */

    .narayanbali-page .reason-grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 18px;
        margin-top: 24px;
    }

    .narayanbali-page .reason-card {
        padding: 22px;
        border: 1px solid #efdfca;
        border-radius: 15px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .narayanbali-page .reason-card:hover {
            transform: translateY(-4px);
            border-color: #d9a052;
            box-shadow: 0 9px 22px rgba(92,48,13,0.08);
        }

        .narayanbali-page .reason-card .icon {
            margin-bottom: 10px;
            font-size: 28px;
        }

        .narayanbali-page .reason-card h4 {
            margin: 0 0 8px;
            color: #74300c;
            font-size: 18px;
        }

        .narayanbali-page .reason-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
        }


    /* =========================================================
   RITUAL STEPS
   ========================================================= */

    .narayanbali-page .ritual-steps {
        position: relative;
        margin-top: 28px;
    }

    .narayanbali-page .ritual-step {
        position: relative;
        min-height: 60px;
        padding: 0 0 28px 67px;
    }

        .narayanbali-page .ritual-step::before {
            position: absolute;
            left: 0;
            top: 0;
            width: 43px;
            height: 43px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #a74b0c;
            color: #ffffff;
            font-size: 15px;
            font-weight: 800;
            box-shadow: 0 5px 14px rgba(125,49,7,0.20);
        }

        .narayanbali-page .ritual-step:nth-child(1)::before {
            content: "1";
        }

        .narayanbali-page .ritual-step:nth-child(2)::before {
            content: "2";
        }

        .narayanbali-page .ritual-step:nth-child(3)::before {
            content: "3";
        }

        .narayanbali-page .ritual-step:nth-child(4)::before {
            content: "4";
        }

        .narayanbali-page .ritual-step:nth-child(5)::before {
            content: "5";
        }

        .narayanbali-page .ritual-step:not(:last-child)::after {
            content: "";
            position: absolute;
            left: 20px;
            top: 43px;
            width: 2px;
            height: calc(100% - 43px);
            background: #ead3b1;
        }

        .narayanbali-page .ritual-step h4 {
            margin: 0 0 7px;
            color: #71300d;
            font-size: 18px;
        }

        .narayanbali-page .ritual-step p {
            margin: 0;
            font-size: 15px;
        }


    /* =========================================================
   CHECKLIST
   ========================================================= */

    .narayanbali-page .service-check-list {
        list-style: none;
        padding: 0;
        margin: 20px 0;
    }

        .narayanbali-page .service-check-list li {
            position: relative;
            padding: 11px 0 11px 32px;
            border-bottom: 1px dashed #ead9c3;
            color: #5d4b3d;
            line-height: 1.65;
        }

            .narayanbali-page .service-check-list li::before {
                content: "✓";
                position: absolute;
                left: 0;
                top: 9px;
                color: #a74a0b;
                font-size: 18px;
                font-weight: 900;
            }


    /* =========================================================
   PREPARATION
   ========================================================= */

    .narayanbali-page .preparation-grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 16px;
        margin-top: 22px;
    }

    .narayanbali-page .preparation-card {
        padding: 20px;
        border: 1px solid #efdfc9;
        border-radius: 14px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .narayanbali-page .preparation-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(85,45,12,0.08);
        }

        .narayanbali-page .preparation-card > span {
            font-size: 26px;
        }

        .narayanbali-page .preparation-card h4 {
            margin: 10px 0 6px;
            color: #74310d;
            font-size: 17px;
        }

        .narayanbali-page .preparation-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   IMPORTANT NOTE
   ========================================================= */

    .narayanbali-page .important-note {
        margin-top: 38px;
        padding: 23px;
        border: 1px solid #e8c58e;
        border-radius: 15px;
        background: #fff3df;
    }

        .narayanbali-page .important-note h4 {
            margin: 0 0 8px;
            color: #853706;
            font-size: 18px;
        }

        .narayanbali-page .important-note p {
            margin: 0;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   SIDEBAR
   ========================================================= */

    .narayanbali-page .service-sidebar {
        position: sticky;
        top: 100px;
    }


    /* ---------- Booking Card ---------- */

    .narayanbali-page .booking-card {
        position: relative;
        overflow: hidden;
        padding: 30px 25px;
        margin-bottom: 25px;
        border-radius: 20px;
        background: linear-gradient( 145deg, #6d2d0a, #a94b0b );
        color: #ffffff;
        box-shadow: 0 13px 35px rgba(85,37,9,0.20);
    }

        .narayanbali-page .booking-card::after {
            content: "ॐ";
            position: absolute;
            right: -20px;
            bottom: -40px;
            color: rgba(255,255,255,0.05);
            font-size: 130px;
        }

    .narayanbali-page .booking-icon {
        width: 55px;
        height: 55px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 15px;
        border-radius: 50%;
        background: rgba(255,255,255,0.12);
        font-size: 25px;
    }

    .narayanbali-page .booking-card h3 {
        position: relative;
        z-index: 2;
        margin: 0 0 10px;
        color: #ffffff;
        font-size: 25px;
    }

    .narayanbali-page .booking-card p {
        position: relative;
        z-index: 2;
        color: #ffe9d3;
        font-size: 14px;
        line-height: 1.7;
    }

    .narayanbali-page .booking-contact {
        position: relative;
        z-index: 2;
        margin: 20px 0;
    }

        .narayanbali-page .booking-contact a {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255,255,255,0.16);
            color: #ffffff;
            text-decoration: none;
            font-weight: 700;
        }

    .narayanbali-page .booking-btn {
        position: relative;
        z-index: 2;
        display: block;
        padding: 13px 15px;
        margin-top: 12px;
        border-radius: 50px;
        background: #ffffff;
        color: #843506;
        text-align: center;
        text-decoration: none;
        font-weight: 800;
        transition: all 0.3s ease;
    }

        .narayanbali-page .booking-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.18);
        }

        .narayanbali-page .booking-btn.whatsapp-btn {
            background: #f4a000;
            color: #ffffff;
        }


    /* =========================================================
   RELATED SERVICES
   ========================================================= */

    .narayanbali-page .sidebar-services {
        padding: 24px;
        border: 1px solid #eddbc5;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 8px 25px rgba(75,39,14,0.06);
    }

        .narayanbali-page .sidebar-services h3 {
            margin: 0 0 15px;
            color: #702e0c;
            font-size: 21px;
        }

        .narayanbali-page .sidebar-services a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 0;
            border-bottom: 1px dashed #e8d8c2;
            color: #654a36;
            text-decoration: none;
            font-size: 14px;
            font-weight: 600;
            transition: all 0.2s ease;
        }

            .narayanbali-page .sidebar-services a::after {
                content: "→";
                color: #ae5510;
            }

            .narayanbali-page .sidebar-services a:hover {
                padding-left: 5px;
                color: #a2460b;
            }


    /* =========================================================
   FAQ
   ========================================================= */

    .narayanbali-page .faq-section {
        margin-top: 42px;
    }

        .narayanbali-page .faq-section h2 {
            margin-bottom: 20px;
        }

    .narayanbali-page .faq-item {
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #ead9c2;
        border-radius: 13px;
        background: #ffffff;
    }

        .narayanbali-page .faq-item summary {
            position: relative;
            cursor: pointer;
            padding: 17px 50px 17px 20px;
            color: #63300f;
            font-size: 15px;
            font-weight: 700;
            list-style: none;
        }

            .narayanbali-page .faq-item summary::-webkit-details-marker {
                display: none;
            }

            .narayanbali-page .faq-item summary::after {
                content: "+";
                position: absolute;
                right: 20px;
                top: 11px;
                color: #a74b0c;
                font-size: 25px;
            }

        .narayanbali-page .faq-item[open] summary::after {
            content: "−";
        }

        .narayanbali-page .faq-item p {
            margin: 0;
            padding: 0 20px 18px;
            color: #655548;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   FINAL CTA
   ========================================================= */

    .narayanbali-page .service-final-cta {
        position: relative;
        overflow: hidden;
        margin-top: 55px;
        padding: 58px 25px;
        border-radius: 24px;
        background: linear-gradient( 135deg, #702d0a, #b4520c );
        color: #ffffff;
        text-align: center;
    }

        .narayanbali-page .service-final-cta::before {
            content: "ॐ";
            position: absolute;
            right: 5%;
            top: 50%;
            transform: translateY(-50%);
            color: rgba(255,255,255,0.06);
            font-size: 180px;
        }

        .narayanbali-page .service-final-cta h2 {
            position: relative;
            z-index: 2;
            margin: 0 0 13px;
            color: #ffffff;
            font-size: 32px;
        }

        .narayanbali-page .service-final-cta p {
            position: relative;
            z-index: 2;
            max-width: 720px;
            margin: 0 auto 25px;
            color: #ffe9d6;
            line-height: 1.75;
        }

    .narayanbali-page .cta-buttons {
        position: relative;
        z-index: 2;
    }

        .narayanbali-page .cta-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 13px 25px;
            margin: 5px;
            border-radius: 50px;
            background: #ffffff;
            color: #823506;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

            .narayanbali-page .cta-buttons a:hover {
                transform: translateY(-3px);
                box-shadow: 0 9px 25px rgba(0,0,0,0.20);
            }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {

    .narayanbali-page .highlight-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .narayanbali-page .service-content-grid {
        grid-template-columns: 1fr;
    }

    .narayanbali-page .service-sidebar {
        position: static;
    }
}


@media (max-width: 768px) {

    .narayanbali-page .narayanbali-hero {
        padding: 58px 18px;
    }

        .narayanbali-page .narayanbali-hero h1 {
            font-size: 35px;
        }

            .narayanbali-page .narayanbali-hero h1 span {
                font-size: 19px;
            }

        .narayanbali-page .narayanbali-hero p {
            font-size: 16px;
        }

    .narayanbali-page .service-highlights {
        margin-top: -20px;
        padding: 0 15px;
    }

    .narayanbali-page .highlight-grid {
        gap: 12px;
    }

    .narayanbali-page .service-content-section {
        padding: 10px 15px 50px;
    }

    .narayanbali-page .service-main-content {
        padding: 28px 20px;
        border-radius: 17px;
    }

        .narayanbali-page .service-main-content h2 {
            font-size: 25px;
        }

    .narayanbali-page .reason-grid,
    .narayanbali-page .preparation-grid {
        grid-template-columns: 1fr;
    }

    .narayanbali-page .service-final-cta {
        padding: 42px 18px;
        border-radius: 18px;
    }

        .narayanbali-page .service-final-cta h2 {
            font-size: 27px;
        }
}


@media (max-width: 480px) {

    .narayanbali-page .highlight-grid {
        grid-template-columns: 1fr;
    }

    .narayanbali-page .narayanbali-hero h1 {
        font-size: 29px;
    }

        .narayanbali-page .narayanbali-hero h1 span {
            font-size: 18px;
        }

    .narayanbali-page .hero-buttons {
        flex-direction: column;
    }

        .narayanbali-page .hero-buttons a {
            width: 100%;
        }

    .narayanbali-page .service-main-content {
        padding: 22px 17px;
    }

    .narayanbali-page .narayanbali-intro {
        padding: 20px;
    }

    .narayanbali-page .significance-item {
        padding: 13px;
    }

    .narayanbali-page .ritual-step {
        padding-left: 58px;
    }

    .narayanbali-page .booking-card {
        padding: 25px 20px;
    }
}





/* =========================================================
   TRIPINDI PUJA SERVICE PAGE
   Haridwar Pandit Booking
   ========================================================= */

.tripindi-page {
    background: #fffaf3;
    color: #3d2415;
}


    /* =========================================================
   HERO
   ========================================================= */

    .tripindi-page .tripindi-hero {
        position: relative;
        overflow: hidden;
        padding: 80px 20px;
        background: linear-gradient( 135deg, rgba(72,29,6,0.97), rgba(158,65,7,0.91) ), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
    }

        .tripindi-page .tripindi-hero::before {
            content: "ॐ";
            position: absolute;
            right: 6%;
            top: 50%;
            transform: translateY(-50%);
            color: rgba(255,255,255,0.055);
            font-size: 235px;
            line-height: 1;
        }

        .tripindi-page .tripindi-hero::after {
            content: "";
            position: absolute;
            width: 370px;
            height: 370px;
            left: -190px;
            bottom: -225px;
            border-radius: 50%;
            background: rgba(255,193,7,0.08);
        }

        .tripindi-page .tripindi-hero .container {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: auto;
        }

    .tripindi-page .hero-content {
        max-width: 900px;
    }

    .tripindi-page .hero-badge {
        display: inline-block;
        margin-bottom: 20px;
        padding: 8px 17px;
        border: 1px solid rgba(255,255,255,0.25);
        border-radius: 30px;
        background: rgba(255,255,255,0.12);
        color: #ffe3ad;
        font-size: 14px;
        font-weight: 700;
    }

    .tripindi-page .tripindi-hero h1 {
        margin: 0 0 20px;
        color: #ffffff;
        font-size: clamp(34px,5vw,58px);
        line-height: 1.12;
        font-weight: 800;
    }

        .tripindi-page .tripindi-hero h1 span {
            display: block;
            margin-top: 12px;
            color: #ffd37a;
            font-size: 0.55em;
            line-height: 1.4;
        }

    .tripindi-page .tripindi-hero p {
        max-width: 790px;
        margin: 0 0 28px;
        color: #fff0dc;
        font-size: 18px;
        line-height: 1.8;
    }


    /* =========================================================
   HERO BUTTONS
   ========================================================= */

    .tripindi-page .hero-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

        .tripindi-page .hero-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 50px;
            padding: 12px 25px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

        .tripindi-page .hero-buttons .btn-call {
            background: #ffffff;
            color: #873506;
        }

        .tripindi-page .hero-buttons .btn-whatsapp {
            background: #f3a000;
            color: #ffffff;
        }

        .tripindi-page .hero-buttons a:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.22);
        }


    /* =========================================================
   HIGHLIGHTS
   ========================================================= */

    .tripindi-page .service-highlights {
        position: relative;
        z-index: 5;
        max-width: 1200px;
        margin: -35px auto 55px;
        padding: 0 20px;
    }

    .tripindi-page .highlight-grid {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 18px;
    }

    .tripindi-page .highlight-card {
        padding: 25px 18px;
        border: 1px solid #efddc3;
        border-radius: 17px;
        background: #ffffff;
        text-align: center;
        box-shadow: 0 9px 30px rgba(76,40,13,0.10);
        transition: all 0.3s ease;
    }

        .tripindi-page .highlight-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 15px 35px rgba(76,40,13,0.16);
        }

    .tripindi-page .highlight-icon {
        width: 57px;
        height: 57px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: #fff0d2;
        font-size: 25px;
    }

    .tripindi-page .highlight-card h3 {
        margin: 0 0 6px;
        color: #682d0c;
        font-size: 17px;
    }

    .tripindi-page .highlight-card p {
        margin: 0;
        color: #766254;
        font-size: 14px;
        line-height: 1.55;
    }


    /* =========================================================
   CONTENT
   ========================================================= */

    .tripindi-page .service-content-section {
        padding: 10px 20px 70px;
    }

        .tripindi-page .service-content-section > .container {
            max-width: 1200px;
            margin: auto;
        }

    .tripindi-page .service-content-grid {
        display: grid;
        grid-template-columns: minmax(0,1fr) 350px;
        gap: 40px;
        align-items: start;
    }


    /* =========================================================
   MAIN ARTICLE
   ========================================================= */

    .tripindi-page .service-main-content {
        padding: 40px;
        border: 1px solid #efddc7;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 8px 30px rgba(73,38,14,0.07);
    }

        .tripindi-page .service-main-content h2 {
            margin: 0 0 18px;
            color: #702e0c;
            font-size: 29px;
            line-height: 1.35;
        }

    .tripindi-page .content-block {
        margin-top: 42px;
    }

        .tripindi-page .content-block:first-child {
            margin-top: 0;
        }

    .tripindi-page .service-main-content p {
        margin: 0 0 17px;
        color: #5c493b;
        font-size: 16px;
        line-height: 1.85;
    }

    .tripindi-page .service-main-content strong {
        color: #74310d;
    }


    /* =========================================================
   INTRO
   ========================================================= */

    .tripindi-page .tripindi-intro {
        padding: 28px;
        border-left: 5px solid #d58114;
        border-radius: 16px;
        background: linear-gradient( 135deg, #fff4df, #fffaf2 );
    }

        .tripindi-page .tripindi-intro h2 {
            margin-bottom: 15px;
        }


    /* =========================================================
   SIGNIFICANCE
   ========================================================= */

    .tripindi-page .significance-box {
        display: grid;
        gap: 14px;
        margin-top: 22px;
        padding: 20px;
        border: 1px solid #efd8b4;
        border-radius: 16px;
        background: #fff9ee;
    }

    .tripindi-page .significance-item {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        padding: 16px;
        border: 1px solid #f0dfc8;
        border-radius: 12px;
        background: #ffffff;
    }

        .tripindi-page .significance-item > span {
            flex: 0 0 45px;
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff0d2;
            font-size: 22px;
        }

        .tripindi-page .significance-item h4 {
            margin: 0 0 5px;
            color: #79330d;
            font-size: 18px;
        }

        .tripindi-page .significance-item p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   REASONS
   ========================================================= */

    .tripindi-page .reason-grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 18px;
        margin-top: 24px;
    }

    .tripindi-page .reason-card {
        padding: 22px;
        border: 1px solid #efdfca;
        border-radius: 15px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .tripindi-page .reason-card:hover {
            transform: translateY(-4px);
            border-color: #d9a052;
            box-shadow: 0 9px 22px rgba(92,48,13,0.08);
        }

        .tripindi-page .reason-card .icon {
            margin-bottom: 10px;
            font-size: 28px;
        }

        .tripindi-page .reason-card h4 {
            margin: 0 0 8px;
            color: #74300c;
            font-size: 18px;
        }

        .tripindi-page .reason-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
        }


    /* =========================================================
   RITUAL STEPS
   ========================================================= */

    .tripindi-page .ritual-steps {
        position: relative;
        margin-top: 28px;
    }

    .tripindi-page .ritual-step {
        position: relative;
        min-height: 60px;
        padding: 0 0 28px 67px;
    }

        .tripindi-page .ritual-step::before {
            position: absolute;
            left: 0;
            top: 0;
            width: 43px;
            height: 43px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #a74b0c;
            color: #ffffff;
            font-size: 15px;
            font-weight: 800;
            box-shadow: 0 5px 14px rgba(125,49,7,0.20);
        }

        .tripindi-page .ritual-step:nth-child(1)::before {
            content: "1";
        }

        .tripindi-page .ritual-step:nth-child(2)::before {
            content: "2";
        }

        .tripindi-page .ritual-step:nth-child(3)::before {
            content: "3";
        }

        .tripindi-page .ritual-step:nth-child(4)::before {
            content: "4";
        }

        .tripindi-page .ritual-step:nth-child(5)::before {
            content: "5";
        }

        .tripindi-page .ritual-step:not(:last-child)::after {
            content: "";
            position: absolute;
            left: 20px;
            top: 43px;
            width: 2px;
            height: calc(100% - 43px);
            background: #ead3b1;
        }

        .tripindi-page .ritual-step h4 {
            margin: 0 0 7px;
            color: #71300d;
            font-size: 18px;
        }

        .tripindi-page .ritual-step p {
            margin: 0;
            font-size: 15px;
        }


    /* =========================================================
   CHECK LIST
   ========================================================= */

    .tripindi-page .service-check-list {
        list-style: none;
        padding: 0;
        margin: 20px 0;
    }

        .tripindi-page .service-check-list li {
            position: relative;
            padding: 11px 0 11px 32px;
            border-bottom: 1px dashed #ead9c3;
            color: #5d4b3d;
            line-height: 1.65;
        }

            .tripindi-page .service-check-list li::before {
                content: "✓";
                position: absolute;
                left: 0;
                top: 9px;
                color: #a74a0b;
                font-size: 18px;
                font-weight: 900;
            }


    /* =========================================================
   PREPARATION
   ========================================================= */

    .tripindi-page .preparation-grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 16px;
        margin-top: 22px;
    }

    .tripindi-page .preparation-card {
        padding: 20px;
        border: 1px solid #efdfc9;
        border-radius: 14px;
        background: #fffaf2;
        transition: all 0.3s ease;
    }

        .tripindi-page .preparation-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(85,45,12,0.08);
        }

        .tripindi-page .preparation-card > span {
            font-size: 26px;
        }

        .tripindi-page .preparation-card h4 {
            margin: 10px 0 6px;
            color: #74310d;
            font-size: 17px;
        }

        .tripindi-page .preparation-card p {
            margin: 0;
            font-size: 14px;
            line-height: 1.65;
        }


    /* =========================================================
   IMPORTANT NOTE
   ========================================================= */

    .tripindi-page .important-note {
        margin-top: 38px;
        padding: 23px;
        border: 1px solid #e8c58e;
        border-radius: 15px;
        background: #fff3df;
    }

        .tripindi-page .important-note h4 {
            margin: 0 0 8px;
            color: #853706;
            font-size: 18px;
        }

        .tripindi-page .important-note p {
            margin: 0;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   SIDEBAR
   ========================================================= */

    .tripindi-page .service-sidebar {
        position: sticky;
        top: 100px;
    }


    /* =========================================================
   BOOKING CARD
   ========================================================= */

    .tripindi-page .booking-card {
        position: relative;
        overflow: hidden;
        padding: 30px 25px;
        margin-bottom: 25px;
        border-radius: 20px;
        background: linear-gradient( 145deg, #6d2d0a, #a94b0b );
        color: #ffffff;
        box-shadow: 0 13px 35px rgba(85,37,9,0.20);
    }

        .tripindi-page .booking-card::after {
            content: "ॐ";
            position: absolute;
            right: -20px;
            bottom: -40px;
            color: rgba(255,255,255,0.05);
            font-size: 130px;
        }

    .tripindi-page .booking-icon {
        width: 55px;
        height: 55px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 15px;
        border-radius: 50%;
        background: rgba(255,255,255,0.12);
        font-size: 25px;
    }

    .tripindi-page .booking-card h3 {
        position: relative;
        z-index: 2;
        margin: 0 0 10px;
        color: #ffffff;
        font-size: 25px;
    }

    .tripindi-page .booking-card p {
        position: relative;
        z-index: 2;
        color: #ffe9d3;
        font-size: 14px;
        line-height: 1.7;
    }

    .tripindi-page .booking-contact {
        position: relative;
        z-index: 2;
        margin: 20px 0;
    }

        .tripindi-page .booking-contact a {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255,255,255,0.16);
            color: #ffffff;
            text-decoration: none;
            font-weight: 700;
        }

    .tripindi-page .booking-btn {
        position: relative;
        z-index: 2;
        display: block;
        padding: 13px 15px;
        margin-top: 12px;
        border-radius: 50px;
        background: #ffffff;
        color: #843506;
        text-align: center;
        text-decoration: none;
        font-weight: 800;
        transition: all 0.3s ease;
    }

        .tripindi-page .booking-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.18);
        }

        .tripindi-page .booking-btn.whatsapp-btn {
            background: #f4a000;
            color: #ffffff;
        }


    /* =========================================================
   RELATED SERVICES
   ========================================================= */

    .tripindi-page .sidebar-services {
        padding: 24px;
        border: 1px solid #eddbc5;
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 8px 25px rgba(75,39,14,0.06);
    }

        .tripindi-page .sidebar-services h3 {
            margin: 0 0 15px;
            color: #702e0c;
            font-size: 21px;
        }

        .tripindi-page .sidebar-services a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 0;
            border-bottom: 1px dashed #e8d8c2;
            color: #654a36;
            text-decoration: none;
            font-size: 14px;
            font-weight: 600;
            transition: all 0.2s ease;
        }

            .tripindi-page .sidebar-services a::after {
                content: "→";
                color: #ae5510;
            }

            .tripindi-page .sidebar-services a:hover {
                padding-left: 5px;
                color: #a2460b;
            }


    /* =========================================================
   FAQ
   ========================================================= */

    .tripindi-page .faq-section {
        margin-top: 42px;
    }

        .tripindi-page .faq-section h2 {
            margin-bottom: 20px;
        }

    .tripindi-page .faq-item {
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #ead9c2;
        border-radius: 13px;
        background: #ffffff;
    }

        .tripindi-page .faq-item summary {
            position: relative;
            cursor: pointer;
            padding: 17px 50px 17px 20px;
            color: #63300f;
            font-size: 15px;
            font-weight: 700;
            list-style: none;
        }

            .tripindi-page .faq-item summary::-webkit-details-marker {
                display: none;
            }

            .tripindi-page .faq-item summary::after {
                content: "+";
                position: absolute;
                right: 20px;
                top: 11px;
                color: #a74b0c;
                font-size: 25px;
            }

        .tripindi-page .faq-item[open] summary::after {
            content: "−";
        }

        .tripindi-page .faq-item p {
            margin: 0;
            padding: 0 20px 18px;
            color: #655548;
            font-size: 14px;
            line-height: 1.75;
        }


    /* =========================================================
   FINAL CTA
   ========================================================= */

    .tripindi-page .service-final-cta {
        position: relative;
        overflow: hidden;
        margin-top: 55px;
        padding: 58px 25px;
        border-radius: 24px;
        background: linear-gradient( 135deg, #702d0a, #b4520c );
        color: #ffffff;
        text-align: center;
    }

        .tripindi-page .service-final-cta::before {
            content: "ॐ";
            position: absolute;
            right: 5%;
            top: 50%;
            transform: translateY(-50%);
            color: rgba(255,255,255,0.06);
            font-size: 180px;
        }

        .tripindi-page .service-final-cta h2 {
            position: relative;
            z-index: 2;
            margin: 0 0 13px;
            color: #ffffff;
            font-size: 32px;
        }

        .tripindi-page .service-final-cta p {
            position: relative;
            z-index: 2;
            max-width: 720px;
            margin: 0 auto 25px;
            color: #ffe9d6;
            line-height: 1.75;
        }

    .tripindi-page .cta-buttons {
        position: relative;
        z-index: 2;
    }

        .tripindi-page .cta-buttons a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 13px 25px;
            margin: 5px;
            border-radius: 50px;
            background: #ffffff;
            color: #823506;
            text-decoration: none;
            font-weight: 800;
            transition: all 0.3s ease;
        }

            .tripindi-page .cta-buttons a:hover {
                transform: translateY(-3px);
                box-shadow: 0 9px 25px rgba(0,0,0,0.20);
            }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {

    .tripindi-page .highlight-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .tripindi-page .service-content-grid {
        grid-template-columns: 1fr;
    }

    .tripindi-page .service-sidebar {
        position: static;
    }
}


@media (max-width: 768px) {

    .tripindi-page .tripindi-hero {
        padding: 58px 18px;
    }

        .tripindi-page .tripindi-hero h1 {
            font-size: 35px;
        }

            .tripindi-page .tripindi-hero h1 span {
                font-size: 19px;
            }

        .tripindi-page .tripindi-hero p {
            font-size: 16px;
        }

    .tripindi-page .service-highlights {
        margin-top: -20px;
        padding: 0 15px;
    }

    .tripindi-page .highlight-grid {
        gap: 12px;
    }

    .tripindi-page .service-content-section {
        padding: 10px 15px 50px;
    }

    .tripindi-page .service-main-content {
        padding: 28px 20px;
        border-radius: 17px;
    }

        .tripindi-page .service-main-content h2 {
            font-size: 25px;
        }

    .tripindi-page .reason-grid,
    .tripindi-page .preparation-grid {
        grid-template-columns: 1fr;
    }

    .tripindi-page .service-final-cta {
        padding: 42px 18px;
        border-radius: 18px;
    }

        .tripindi-page .service-final-cta h2 {
            font-size: 27px;
        }
}


@media (max-width: 480px) {

    .tripindi-page .highlight-grid {
        grid-template-columns: 1fr;
    }

    .tripindi-page .tripindi-hero h1 {
        font-size: 29px;
    }

        .tripindi-page .tripindi-hero h1 span {
            font-size: 18px;
        }

    .tripindi-page .hero-buttons {
        flex-direction: column;
    }

        .tripindi-page .hero-buttons a {
            width: 100%;
        }

    .tripindi-page .service-main-content {
        padding: 22px 17px;
    }

    .tripindi-page .tripindi-intro {
        padding: 20px;
    }

    .tripindi-page .significance-item {
        padding: 13px;
    }

    .tripindi-page .ritual-step {
        padding-left: 58px;
    }

    .tripindi-page .booking-card {
        padding: 25px 20px;
    }
}












/* =========================================================
   PITRA DOSH PUJA PAGE
   ========================================================= */

.pitra-dosh-page {
    --pitra-saffron: #d97706;
    --pitra-deep: #7c2d12;
    --pitra-maroon: #651b12;
    --pitra-gold: #d4a017;
    --pitra-cream: #fffaf0;
    --pitra-border: #ead9c4;
    --pitra-text: #3f2a20;
}

/* Hero */
.pitra-dosh-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(115deg, rgba(68, 22, 10, .94), rgba(125, 48, 12, .78)), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
}

.pitra-dosh-hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 25%, rgba(255, 196, 90, .25), transparent 32%), linear-gradient(90deg, rgba(45, 13, 6, .35), transparent);
}

.pitra-dosh-hero .container {
    position: relative;
    z-index: 2;
}

.pitra-dosh-hero-content {
    max-width: 820px;
    padding: 80px 0;
    color: #fff;
}

.pitra-dosh-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50px;
    background: rgba(255, 255, 255, .10);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pitra-dosh-hero h1 {
    margin: 0 0 10px;
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.025em;
}

.pitra-dosh-hero h2 {
    margin: 0 0 20px;
    color: lightyellow;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.3;
}

.pitra-dosh-hero p {
    max-width: 700px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .91);
    font-size: 1.08rem;
    line-height: 1.8;
}

.pitra-dosh-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

    .pitra-dosh-hero-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 0 24px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
        transition: .25s ease;
    }

    .pitra-dosh-hero-actions .btn-primary {
        color: #fff;
        background: #d97706;
        box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
    }

        .pitra-dosh-hero-actions .btn-primary:hover {
            transform: translateY(-2px);
            background: #b45309;
        }

    .pitra-dosh-hero-actions .btn-whatsapp {
        color: #fff;
        border: 1px solid rgba(255, 255, 255, .45);
        background-color: green;
    }

        .pitra-dosh-hero-actions .btn-whatsapp:hover {
            background-color: forestgreen;
        }

/* Highlights */
.pitra-dosh-highlights {
    position: relative;
    z-index: 3;
    margin-top: -45px;
    padding-bottom: 50px;
}

.pitra-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.pitra-highlight-card {
    padding: 25px 20px;
    border: 1px solid var(--pitra-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(75, 35, 10, .09);
    text-align: center;
}

.highlight-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 13px;
    border-radius: 50%;
    background: #fff2d8;
    font-size: 1.5rem;
}

.pitra-highlight-card h3 {
    margin: 0 0 7px;
    color: var(--pitra-deep);
    font-size: 1rem;
}

.pitra-highlight-card p {
    margin: 0;
    color: #765d4e;
    font-size: .88rem;
    line-height: 1.6;
}

/* Main Layout */
.pitra-dosh-page .service-content-section {
    padding: 65px 0 80px;
}

.pitra-dosh-page .service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 45px;
    align-items: start;
}

.pitra-dosh-page .service-main-content {
    min-width: 0;
}

.pitra-dosh-page .section-tag {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--pitra-saffron);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.pitra-dosh-page h2 {
    color: var(--pitra-deep);
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.25;
}

.pitra-dosh-intro {
    margin-bottom: 55px;
}

    .pitra-dosh-intro h2 {
        margin: 0 0 18px;
    }

.pitra-dosh-page p {
    color: var(--pitra-text);
    line-height: 1.85;
}

.pitra-dosh-content-block {
    margin-bottom: 55px;
}

    .pitra-dosh-content-block h2 {
        margin: 0 0 18px;
    }

    .pitra-dosh-content-block p {
        margin: 0 0 15px;
    }

/* Significance */
.pitra-dosh-significance {
    margin-bottom: 60px;
    padding: 40px;
    border: 1px solid #f0dfc9;
    border-radius: 22px;
    background: linear-gradient(145deg, #fffaf1, #fff);
}

    .pitra-dosh-significance h2 {
        margin: 0 0 28px;
    }

.significance-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.significance-card {
    padding: 22px;
    border: 1px solid var(--pitra-border);
    border-radius: 15px;
    background: #fff;
}

    .significance-card > span {
        font-size: 1.8rem;
    }

    .significance-card h3 {
        margin: 10px 0 7px;
        color: var(--pitra-deep);
        font-size: 1.05rem;
    }

    .significance-card p {
        margin: 0;
        font-size: .9rem;
    }

/* Haridwar Reasons */
.haridwar-reasons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 28px;
}

    .haridwar-reasons > div {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 20px;
        border-left: 4px solid var(--pitra-saffron);
        border-radius: 10px;
        background: #fff8eb;
    }

    .haridwar-reasons strong {
        color: var(--pitra-deep);
    }

    .haridwar-reasons span {
        color: #765d4e;
        font-size: .9rem;
        line-height: 1.55;
    }

/* Process */
.pitra-dosh-process {
    margin-bottom: 60px;
}

    .pitra-dosh-process h2 {
        margin: 0 0 12px;
    }

.process-intro {
    margin-bottom: 28px;
}

.process-timeline {
    position: relative;
}

    .process-timeline::before {
        content: "";
        position: absolute;
        top: 25px;
        bottom: 25px;
        left: 24px;
        width: 2px;
        background: #edcf9d;
    }

.process-step {
    position: relative;
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 18px;
    padding-bottom: 24px;
}

.step-number {
    position: relative;
    z-index: 2;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #fff;
    border-radius: 50%;
    background: var(--pitra-saffron);
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(125, 45, 5, .15);
}

.process-step h3 {
    margin: 5px 0 5px;
    color: var(--pitra-deep);
    font-size: 1.1rem;
}

.process-step p {
    margin: 0;
    font-size: .93rem;
}

/* Checklist */
.pitra-check-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 25px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

    .pitra-check-list li {
        padding: 13px 15px;
        border-radius: 9px;
        background: #fff7e8;
        color: #594136;
        font-size: .92rem;
        line-height: 1.5;
    }

/* Booking Info */
.pitra-dosh-booking-info {
    margin-bottom: 55px;
    padding: 38px;
    border-radius: 20px;
    background: #fffaf2;
    border: 1px solid #eedcc3;
}

    .pitra-dosh-booking-info h2 {
        margin: 0 0 28px;
    }

.booking-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

    .booking-info-grid > div {
        padding: 20px;
        border-radius: 13px;
        background: #fff;
        border: 1px solid #eedfca;
    }

    .booking-info-grid strong {
        display: block;
        margin-bottom: 7px;
        color: var(--pitra-deep);
    }

    .booking-info-grid p {
        margin: 0;
        font-size: .88rem;
    }

/* Preparation */
.pitra-dosh-preparation {
    margin-bottom: 55px;
}

    .pitra-dosh-preparation h2 {
        margin-bottom: 25px;
    }

.preparation-list {
    display: grid;
    gap: 12px;
}

    .preparation-list > div {
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 16px 18px;
        border-radius: 11px;
        background: #fff7eb;
    }

    .preparation-list span {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--pitra-deep);
        color: #fff;
        font-size: .75rem;
        font-weight: 800;
    }

    .preparation-list p {
        margin: 0;
    }

/* Important Note */
.pitra-dosh-important-note {
    display: flex;
    gap: 18px;
    margin: 0 0 60px;
    padding: 25px;
    border: 1px solid #f0d19d;
    border-radius: 16px;
    background: #fff8e9;
}

.note-icon {
    flex: 0 0 44px;
    font-size: 1.7rem;
}

.pitra-dosh-important-note h3 {
    margin: 0 0 10px;
    color: var(--pitra-deep);
}

.pitra-dosh-important-note p {
    margin: 0 0 9px;
    font-size: .9rem;
}

    .pitra-dosh-important-note p:last-child {
        margin-bottom: 0;
    }

/* Sidebar */
.pitra-dosh-page .service-sidebar {
    position: sticky;
    top: 100px;
}

.pitra-booking-card {
    margin-bottom: 25px;
    padding: 28px;
    border: 1px solid #ead5b8;
    border-radius: 18px;
    background: linear-gradient(145deg, #fffaf1, #fff), #fff;
    box-shadow: 0 12px 30px rgba(82, 39, 11, .08);
}

.booking-card-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

    .booking-card-top span {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #fff0d0;
        font-size: 1.4rem;
    }

    .booking-card-top h3 {
        margin: 0;
        color: var(--pitra-deep);
        font-size: 1.15rem;
    }

.pitra-booking-card > p {
    margin: 0 0 18px;
    font-size: .9rem;
}

.sidebar-call,
.sidebar-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-bottom: 10px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 800;
}

.sidebar-call {
    background: var(--pitra-deep);
    color: #fff;
}

    .sidebar-call:hover {
        background: #531b0d;
    }

.sidebar-whatsapp {
    background: #287c3b;
    color: #fff;
}

    .sidebar-whatsapp:hover {
        background: #1f6730;
    }

.pitra-booking-card small {
    display: block;
    color: #806657;
    text-align: center;
    line-height: 1.5;
}

/* Sidebar Services */
.pitra-dosh-page .sidebar-services {
    padding: 25px;
    border: 1px solid var(--pitra-border);
    border-radius: 18px;
    background: #fff;
}

    .pitra-dosh-page .sidebar-services h3 {
        margin: 0 0 16px;
        color: var(--pitra-deep);
    }

    .pitra-dosh-page .sidebar-services a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 0;
        border-bottom: 1px solid #f0e4d6;
        text-decoration: none;
    }

        .pitra-dosh-page .sidebar-services a:last-child {
            border-bottom: 0;
        }

        .pitra-dosh-page .sidebar-services a > span {
            width: 38px;
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff4df;
        }

    .pitra-dosh-page .sidebar-services strong {
        display: block;
        color: #4b2b1d;
        font-size: .9rem;
    }

    .pitra-dosh-page .sidebar-services small {
        display: block;
        margin-top: 2px;
        color: #8a7062;
        font-size: .76rem;
    }

/* Sidebar Contact */
.pitra-sidebar-contact {
    margin-top: 25px;
    padding: 27px;
    border-radius: 18px;
    background: linear-gradient(145deg, #7c2d12, #9a3412);
    color: #fff;
}

    .pitra-sidebar-contact > span {
        color: #ffd88d;
        font-size: .75rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .pitra-sidebar-contact h3 {
        margin: 10px 0;
        font-size: 1.25rem;
    }

    .pitra-sidebar-contact p {
        margin: 0 0 18px;
        color: rgba(255, 255, 255, .86);
        font-size: .87rem;
    }

    .pitra-sidebar-contact a {
        display: block;
        padding: 12px;
        border-radius: 8px;
        background: #fff;
        color: var(--pitra-deep);
        text-align: center;
        text-decoration: none;
        font-weight: 800;
    }

/* FAQ */
.pitra-dosh-page .faq-section {
    margin-top: 65px;
}

    .pitra-dosh-page .faq-section h2 {
        margin: 0 0 25px;
    }

.pitra-dosh-page .faq-list {
    display: grid;
    gap: 12px;
}

    .pitra-dosh-page .faq-list details {
        overflow: hidden;
        border: 1px solid var(--pitra-border);
        border-radius: 12px;
        background: #fff;
    }

    .pitra-dosh-page .faq-list summary {
        position: relative;
        padding: 19px 50px 19px 20px;
        cursor: pointer;
        color: var(--pitra-deep);
        font-weight: 750;
        list-style: none;
    }

        .pitra-dosh-page .faq-list summary::-webkit-details-marker {
            display: none;
        }

        .pitra-dosh-page .faq-list summary::after {
            content: "+";
            position: absolute;
            top: 50%;
            right: 20px;
            transform: translateY(-50%);
            font-size: 1.3rem;
            color: var(--pitra-saffron);
        }

    .pitra-dosh-page .faq-list details[open] summary::after {
        content: "−";
    }

    .pitra-dosh-page .faq-list details p {
        margin: 0;
        padding: 0 20px 20px;
        border-top: 1px solid #f0e4d8;
        color: #665146;
        font-size: .9rem;
    }

/* Final CTA */
.pitra-dosh-final-cta {
    position: relative;
    overflow: hidden;
    padding: 75px 0;
    background: radial-gradient(circle at 15% 30%, rgba(255, 198, 96, .18), transparent 30%), linear-gradient(120deg, #5f1c0d, #8c2f0e);
    color: #fff;
}

    .pitra-dosh-final-cta::after {
        content: "ॐ";
        position: absolute;
        right: 7%;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255, 255, 255, .06);
        font-size: 16rem;
        line-height: 1;
    }

.final-cta-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    text-align: center;
    margin: auto;
}

    .final-cta-content > span {
        color: #ffd98c;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .12em;
    }

    .final-cta-content h2 {
        margin: 12px 0 15px;
        color: #fff;
        font-size: clamp(1.8rem, 4vw, 3rem);
    }

    .final-cta-content p {
        max-width: 700px;
        margin: 0 auto 28px;
        color: rgba(255, 255, 255, .87);
        line-height: 1.75;
    }

.final-cta-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 13px;
}

    .final-cta-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 0 23px;
        border-radius: 9px;
        text-decoration: none;
        font-weight: 800;
    }

        .final-cta-actions a:first-child {
            background: #fff;
            color: var(--pitra-deep);
        }

        .final-cta-actions a:last-child {
            border: 1px solid rgba(255, 255, 255, .35);
            background: rgba(255, 255, 255, .12);
            color: #fff;
        }

/* Responsive */
@media (max-width: 1100px) {

    .pitra-dosh-page .service-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 30px;
    }

    .pitra-highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 850px) {

    .pitra-dosh-hero {
        min-height: 500px;
    }

    .pitra-dosh-hero-content {
        padding: 70px 0;
    }

    .pitra-dosh-page .service-layout {
        grid-template-columns: 1fr;
    }

    .pitra-dosh-page .service-sidebar {
        position: static;
    }

    .pitra-booking-card {
        max-width: 600px;
    }

    .pitra-dosh-significance {
        padding: 28px;
    }
}

@media (max-width: 600px) {

    .pitra-dosh-hero {
        min-height: auto;
    }

    .pitra-dosh-hero-content {
        padding: 58px 0 70px;
    }

    .pitra-dosh-hero h1 {
        font-size: 2.35rem;
    }

    .pitra-dosh-hero h2 {
        font-size: 1.35rem;
    }

    .pitra-dosh-hero p {
        font-size: .96rem;
    }

    .pitra-dosh-hero-actions {
        flex-direction: column;
    }

        .pitra-dosh-hero-actions a {
            width: 100%;
        }

    .pitra-dosh-highlights {
        margin-top: -25px;
    }

    .pitra-highlight-grid {
        grid-template-columns: 1fr;
    }

    .significance-grid,
    .haridwar-reasons,
    .booking-info-grid,
    .pitra-check-list {
        grid-template-columns: 1fr;
    }

    .pitra-dosh-significance,
    .pitra-dosh-booking-info {
        padding: 23px 18px;
    }

    .pitra-dosh-important-note {
        flex-direction: column;
        padding: 20px;
    }

    .pitra-dosh-final-cta {
        padding: 60px 0;
    }

    .final-cta-actions {
        flex-direction: column;
    }

        .final-cta-actions a {
            width: 100%;
        }

    .pitra-dosh-final-cta::after {
        font-size: 9rem;
        right: 0;
    }
}


/* =========================================================
   GANGA PUJA PAGE
   ========================================================= */

.ganga-puja-page {
    --ganga-blue: #087ea4;
    --ganga-deep: #075985;
    --ganga-dark: #123b4a;
    --ganga-saffron: #d97706;
    --ganga-gold: #d4a017;
    --ganga-cream: #f5fbfc;
    --ganga-border: #d7e8ec;
    --ganga-text: #304852;
}

/* =========================================================
   HERO
   ========================================================= */

.ganga-puja-hero {
    position: relative;
    min-height: 535px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(115deg, rgba(3, 43, 58, .94), rgba(6, 103, 135, .78)), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
}

.ganga-hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient( circle at 78% 30%, rgba(255, 214, 120, .22), transparent 30% ), linear-gradient( 90deg, rgba(2, 35, 47, .38), transparent );
}

.ganga-puja-hero .container {
    position: relative;
    z-index: 2;
}

.ganga-hero-content {
    max-width: 850px;
    padding: 85px 0;
    color: #fff;
}

.ganga-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 17px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 50px;
    background: rgba(255, 255, 255, .1);
    color: #e7faff;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.ganga-hero-content h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.07;
    font-weight: 850;
    letter-spacing: -.03em;
}

.ganga-hero-content h2 {
    margin: 0 0 20px;
    color: #ffe0a1;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.35;
}

.ganga-hero-content p {
    max-width: 720px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .91);
    font-size: 1.08rem;
    line-height: 1.85;
}

.ganga-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

    .ganga-hero-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 0 25px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
        transition: .25s ease;
    }

.ganga-btn-primary {
    background: var(--ganga-saffron);
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

    .ganga-btn-primary:hover {
        transform: translateY(-2px);
        background: #b45309;
    }

.ganga-btn-whatsapp {
    border: 1px solid rgba(255, 255, 255, .42);
    background-color: green;
    color: #fff;
}

    .ganga-btn-whatsapp:hover {
        background-color: forestgreen;
    }

/* =========================================================
   HIGHLIGHTS
   ========================================================= */

.ganga-puja-highlights {
    position: relative;
    z-index: 3;
    margin-top: -48px;
    padding-bottom: 55px;
}

.ganga-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.ganga-highlight-card {
    padding: 26px 20px;
    border: 1px solid var(--ganga-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(13, 74, 91, .09);
    text-align: center;
}

.ganga-highlight-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #e8f8fc;
    font-size: 1.5rem;
}

.ganga-highlight-card h3 {
    margin: 0 0 7px;
    color: var(--ganga-deep);
    font-size: 1rem;
}

.ganga-highlight-card p {
    margin: 0;
    color: #5c7077;
    font-size: .87rem;
    line-height: 1.65;
}

/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.ganga-puja-page .service-content-section {
    padding: 65px 0 80px;
}

.ganga-puja-page .service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 45px;
    align-items: start;
}

.ganga-puja-page .service-main-content {
    min-width: 0;
}

.ganga-puja-page .section-tag {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--ganga-blue);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .13em;
}

.ganga-puja-page h2 {
    color: var(--ganga-dark);
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.27;
}

.ganga-puja-page p {
    color: var(--ganga-text);
    line-height: 1.85;
}

/* =========================================================
   INTRO / CONTENT
   ========================================================= */

.ganga-intro {
    margin-bottom: 55px;
}

    .ganga-intro h2 {
        margin: 0 0 18px;
    }

.ganga-content-block {
    margin-bottom: 58px;
}

    .ganga-content-block h2 {
        margin: 0 0 18px;
    }

    .ganga-content-block p {
        margin: 0 0 15px;
    }

/* =========================================================
   SIGNIFICANCE
   ========================================================= */

.ganga-significance {
    margin-bottom: 60px;
    padding: 40px;
    border: 1px solid #d8ebef;
    border-radius: 22px;
    background: linear-gradient( 145deg, #f3fbfd, #fff );
}

    .ganga-significance h2 {
        margin: 0 0 28px;
    }

.ganga-significance-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.ganga-significance-card {
    padding: 23px;
    border: 1px solid #dcecef;
    border-radius: 15px;
    background: #fff;
}

    .ganga-significance-card > span {
        font-size: 1.8rem;
    }

    .ganga-significance-card h3 {
        margin: 10px 0 7px;
        color: var(--ganga-deep);
        font-size: 1.05rem;
    }

    .ganga-significance-card p {
        margin: 0;
        font-size: .9rem;
    }

/* =========================================================
   WHY HARIDWAR
   ========================================================= */

.ganga-reasons-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 28px;
}

.ganga-reason {
    padding: 23px;
    border: 1px solid var(--ganga-border);
    border-radius: 15px;
    background: #f8fcfd;
}

    .ganga-reason > div {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 12px;
        border-radius: 50%;
        background: #e4f6fa;
        font-size: 1.35rem;
    }

    .ganga-reason h3 {
        margin: 0 0 7px;
        color: var(--ganga-deep);
        font-size: 1.05rem;
    }

    .ganga-reason p {
        margin: 0;
        font-size: .89rem;
    }

/* =========================================================
   PUJA PROCESS
   ========================================================= */

.ganga-puja-process {
    margin-bottom: 60px;
}

    .ganga-puja-process h2 {
        margin: 0 0 12px;
    }

.ganga-process-intro {
    margin-bottom: 30px;
}

.ganga-process-list {
    position: relative;
}

    .ganga-process-list::before {
        content: "";
        position: absolute;
        top: 25px;
        bottom: 25px;
        left: 25px;
        width: 2px;
        background: #b8dce5;
    }

.ganga-process-item {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    padding-bottom: 25px;
}

.ganga-process-number {
    position: relative;
    z-index: 2;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #fff;
    border-radius: 50%;
    background: var(--ganga-blue);
    color: #fff;
    font-size: .8rem;
    font-weight: 850;
    box-shadow: 0 5px 14px rgba(6, 96, 126, .16);
}

.ganga-process-item h3 {
    margin: 5px 0 6px;
    color: var(--ganga-deep);
    font-size: 1.08rem;
}

.ganga-process-item p {
    margin: 0;
    font-size: .92rem;
}

/* =========================================================
   OCCASIONS
   ========================================================= */

.ganga-occasion-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 27px;
}

    .ganga-occasion-grid > div {
        padding: 20px;
        border-radius: 13px;
        border: 1px solid #dcebef;
        background: #f5fbfc;
    }

    .ganga-occasion-grid span {
        display: block;
        margin-bottom: 7px;
        font-size: 1.5rem;
    }

    .ganga-occasion-grid strong {
        display: block;
        margin-bottom: 4px;
        color: var(--ganga-deep);
    }

    .ganga-occasion-grid p {
        margin: 0;
        font-size: .87rem;
    }

/* =========================================================
   BOOKING INFORMATION
   ========================================================= */

.ganga-booking-information {
    margin-bottom: 55px;
    padding: 38px;
    border: 1px solid #d9eaee;
    border-radius: 20px;
    background: #f7fcfd;
}

    .ganga-booking-information h2 {
        margin: 0 0 28px;
    }

.ganga-booking-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

    .ganga-booking-grid > div {
        padding: 21px;
        border: 1px solid #deedf0;
        border-radius: 14px;
        background: #fff;
    }

    .ganga-booking-grid span {
        display: block;
        margin-bottom: 8px;
        font-size: 1.4rem;
    }

    .ganga-booking-grid h3 {
        margin: 0 0 6px;
        color: var(--ganga-deep);
        font-size: 1rem;
    }

    .ganga-booking-grid p {
        margin: 0;
        font-size: .88rem;
    }

/* =========================================================
   PREPARATION
   ========================================================= */

.ganga-preparation {
    margin-bottom: 55px;
}

    .ganga-preparation h2 {
        margin-bottom: 25px;
    }

.ganga-preparation-list {
    display: grid;
    gap: 12px;
}

    .ganga-preparation-list > div {
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 16px 18px;
        border-radius: 11px;
        background: #edf8fa;
    }

    .ganga-preparation-list span {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--ganga-deep);
        color: #fff;
        font-size: .75rem;
        font-weight: 850;
    }

    .ganga-preparation-list p {
        margin: 0;
    }

/* =========================================================
   IMPORTANT NOTE
   ========================================================= */

.ganga-important-note {
    display: flex;
    gap: 18px;
    margin-bottom: 60px;
    padding: 25px;
    border: 1px solid #f0d29b;
    border-radius: 16px;
    background: #fff9eb;
}

.ganga-note-icon {
    flex: 0 0 44px;
    font-size: 1.7rem;
}

.ganga-important-note h3 {
    margin: 0 0 10px;
    color: #87410d;
}

.ganga-important-note p {
    margin: 0 0 9px;
    font-size: .9rem;
}

    .ganga-important-note p:last-child {
        margin-bottom: 0;
    }

/* =========================================================
   SIDEBAR
   ========================================================= */

.ganga-puja-page .service-sidebar {
    position: sticky;
    top: 100px;
}

.ganga-booking-card {
    margin-bottom: 25px;
    padding: 28px;
    border: 1px solid #cde5ea;
    border-radius: 18px;
    background: linear-gradient(145deg, #f4fbfc, #fff);
    box-shadow: 0 12px 30px rgba(5, 71, 86, .08);
}

.ganga-booking-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

    .ganga-booking-card-header > span {
        width: 46px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #e2f6fa;
        font-size: 1.4rem;
    }

    .ganga-booking-card-header h3 {
        margin: 0;
        color: var(--ganga-deep);
        font-size: 1.15rem;
    }

.ganga-booking-card > p {
    margin: 0 0 18px;
    font-size: .9rem;
}

.ganga-sidebar-call,
.ganga-sidebar-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-bottom: 10px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 850;
}

.ganga-sidebar-call {
    background: var(--ganga-deep);
    color: #fff;
}

    .ganga-sidebar-call:hover {
        background: #064866;
    }

.ganga-sidebar-whatsapp {
    background: #287c3b;
    color: #fff;
}

    .ganga-sidebar-whatsapp:hover {
        background: #1f6730;
    }

.ganga-booking-card small {
    display: block;
    color: #65777c;
    text-align: center;
    line-height: 1.5;
}

/* Related Services */
.ganga-related-services {
    padding: 25px;
    border: 1px solid var(--ganga-border);
    border-radius: 18px;
    background: #fff;
}

    .ganga-related-services h3 {
        margin: 0 0 16px;
        color: var(--ganga-deep);
    }

    .ganga-related-services a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 0;
        border-bottom: 1px solid #e8f0f2;
        text-decoration: none;
    }

        .ganga-related-services a:last-child {
            border-bottom: 0;
        }

        .ganga-related-services a > span {
            width: 38px;
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #edf9fb;
        }

    .ganga-related-services strong {
        display: block;
        color: #294b57;
        font-size: .9rem;
    }

    .ganga-related-services small {
        display: block;
        margin-top: 2px;
        color: #73868b;
        font-size: .76rem;
    }

/* Sidebar Contact */
.ganga-sidebar-contact {
    margin-top: 25px;
    padding: 27px;
    border-radius: 18px;
    background: linear-gradient( 145deg, #075985, #087ea4 );
    color: #fff;
}

    .ganga-sidebar-contact > span {
        color: #ffe09a;
        font-size: .75rem;
        font-weight: 850;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .ganga-sidebar-contact h3 {
        margin: 10px 0;
        color: #fff;
        font-size: 1.25rem;
    }

    .ganga-sidebar-contact p {
        margin: 0 0 18px;
        color: rgba(255, 255, 255, .86);
        font-size: .87rem;
    }

    .ganga-sidebar-contact a {
        display: block;
        padding: 12px;
        border-radius: 8px;
        background: #fff;
        color: var(--ganga-deep);
        text-align: center;
        text-decoration: none;
        font-weight: 850;
    }

/* =========================================================
   FAQ
   ========================================================= */

.ganga-puja-page .faq-section {
    margin-top: 65px;
}

    .ganga-puja-page .faq-section h2 {
        margin: 0 0 25px;
    }

.ganga-puja-page .faq-list {
    display: grid;
    gap: 12px;
}

    .ganga-puja-page .faq-list details {
        overflow: hidden;
        border: 1px solid var(--ganga-border);
        border-radius: 12px;
        background: #fff;
    }

    .ganga-puja-page .faq-list summary {
        position: relative;
        padding: 19px 50px 19px 20px;
        cursor: pointer;
        color: var(--ganga-deep);
        font-weight: 750;
        list-style: none;
    }

        .ganga-puja-page .faq-list summary::-webkit-details-marker {
            display: none;
        }

        .ganga-puja-page .faq-list summary::after {
            content: "+";
            position: absolute;
            top: 50%;
            right: 20px;
            transform: translateY(-50%);
            color: var(--ganga-blue);
            font-size: 1.3rem;
        }

    .ganga-puja-page .faq-list details[open] summary::after {
        content: "−";
    }

    .ganga-puja-page .faq-list details p {
        margin: 0;
        padding: 0 20px 20px;
        border-top: 1px solid #e7eff1;
        color: #56696e;
        font-size: .9rem;
    }

/* =========================================================
   FINAL CTA
   ========================================================= */

.ganga-final-cta {
    position: relative;
    overflow: hidden;
    padding: 78px 0;
    background: radial-gradient( circle at 15% 30%, rgba(255, 209, 119, .18), transparent 30% ), linear-gradient( 120deg, #063d54, #087ea4 );
    color: #fff;
}

    .ganga-final-cta::after {
        content: "ॐ";
        position: absolute;
        right: 7%;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255, 255, 255, .06);
        font-size: 16rem;
        line-height: 1;
    }

.ganga-final-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    margin: auto;
    text-align: center;
}

    .ganga-final-content > span {
        color: #ffdc91;
        font-size: .78rem;
        font-weight: 850;
        letter-spacing: .12em;
    }

    .ganga-final-content h2 {
        margin: 12px 0 15px;
        color: #fff;
        font-size: clamp(1.8rem, 4vw, 3rem);
    }

    .ganga-final-content p {
        max-width: 720px;
        margin: 0 auto 28px;
        color: rgba(255, 255, 255, .87);
        line-height: 1.75;
    }

.ganga-final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 13px;
}

    .ganga-final-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 0 23px;
        border-radius: 9px;
        text-decoration: none;
        font-weight: 850;
    }

        .ganga-final-actions a:first-child {
            background: #fff;
            color: var(--ganga-deep);
        }

        .ganga-final-actions a:last-child {
            border: 1px solid rgba(255, 255, 255, .35);
            background: rgba(255, 255, 255, .12);
            color: #fff;
        }

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .ganga-puja-page .service-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 30px;
    }

    .ganga-highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 850px) {

    .ganga-puja-hero {
        min-height: 500px;
    }

    .ganga-hero-content {
        padding: 70px 0;
    }

    .ganga-puja-page .service-layout {
        grid-template-columns: 1fr;
    }

    .ganga-puja-page .service-sidebar {
        position: static;
    }

    .ganga-booking-card {
        max-width: 600px;
    }

    .ganga-significance {
        padding: 28px;
    }
}

@media (max-width: 600px) {

    .ganga-puja-hero {
        min-height: auto;
    }

    .ganga-hero-content {
        padding: 58px 0 70px;
    }

        .ganga-hero-content h1 {
            font-size: 2.35rem;
        }

        .ganga-hero-content h2 {
            font-size: 1.35rem;
        }

        .ganga-hero-content p {
            font-size: .96rem;
        }

    .ganga-hero-actions {
        flex-direction: column;
    }

        .ganga-hero-actions a {
            width: 100%;
        }

    .ganga-puja-highlights {
        margin-top: -25px;
    }

    .ganga-highlight-grid,
    .ganga-significance-grid,
    .ganga-reasons-grid,
    .ganga-occasion-grid,
    .ganga-booking-grid {
        grid-template-columns: 1fr;
    }

    .ganga-significance,
    .ganga-booking-information {
        padding: 23px 18px;
    }

    .ganga-important-note {
        flex-direction: column;
        padding: 20px;
    }

    .ganga-final-cta {
        padding: 60px 0;
    }

    .ganga-final-actions {
        flex-direction: column;
    }

        .ganga-final-actions a {
            width: 100%;
        }

    .ganga-final-cta::after {
        right: 0;
        font-size: 9rem;
    }
}

/* =========================================================
   MUNDAN SANSKAR PAGE
   ========================================================= */

.mundan-sanskar-page {
    --mundan-saffron: #d97706;
    --mundan-deep: #8a3414;
    --mundan-maroon: #681c12;
    --mundan-gold: #d4a017;
    --mundan-blue: #176b82;
    --mundan-cream: #fffaf1;
    --mundan-border: #eadbc8;
    --mundan-text: #4b3930;
}

/* =========================================================
   HERO
   ========================================================= */

.mundan-hero {
    position: relative;
    min-height: 535px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient( 115deg, rgba(74, 24, 9, .94), rgba(141, 61, 16, .76) ), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
}

.mundan-hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient( circle at 78% 25%, rgba(255, 210, 115, .24), transparent 31% ), linear-gradient( 90deg, rgba(48, 14, 6, .38), transparent );
}

.mundan-hero .container {
    position: relative;
    z-index: 2;
}

.mundan-hero-content {
    max-width: 850px;
    padding: 85px 0;
    color: #fff;
}

.mundan-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 17px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50px;
    background: rgba(255, 255, 255, .1);
    color: #fff5e2;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.mundan-hero-content h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.07;
    font-weight: 850;
    letter-spacing: -.03em;
}

.mundan-hero-content h2 {
    margin: 0 0 20px;
    color: #ffe0a0;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.35;
}

.mundan-hero-content p {
    max-width: 730px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .91);
    font-size: 1.08rem;
    line-height: 1.85;
}

.mundan-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

    .mundan-hero-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 0 25px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
        transition: .25s ease;
    }

.mundan-btn-primary {
    background: var(--mundan-saffron);
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

    .mundan-btn-primary:hover {
        transform: translateY(-2px);
        background: #b45309;
    }

.mundan-btn-whatsapp {
    border: 1px solid rgba(255, 255, 255, .42);
    background-color: green;
    color: #fff;
}

    .mundan-btn-whatsapp:hover {
        background-color: forestgreen;
    }

/* =========================================================
   HIGHLIGHTS
   ========================================================= */

.mundan-highlights {
    position: relative;
    z-index: 3;
    margin-top: -48px;
    padding-bottom: 55px;
}

.mundan-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.mundan-highlight-card {
    padding: 26px 20px;
    border: 1px solid var(--mundan-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(84, 44, 17, .09);
    text-align: center;
}

.mundan-highlight-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #fff2da;
    font-size: 1.5rem;
}

.mundan-highlight-card h3 {
    margin: 0 0 7px;
    color: var(--mundan-deep);
    font-size: 1rem;
}

.mundan-highlight-card p {
    margin: 0;
    color: #725e52;
    font-size: .87rem;
    line-height: 1.65;
}

/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.mundan-sanskar-page .service-content-section {
    padding: 65px 0 80px;
}

.mundan-sanskar-page .service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 45px;
    align-items: start;
}

.mundan-sanskar-page .service-main-content {
    min-width: 0;
}

.mundan-sanskar-page .section-tag {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--mundan-saffron);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .13em;
}

.mundan-sanskar-page h2 {
    color: var(--mundan-deep);
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.27;
}

.mundan-sanskar-page p {
    color: var(--mundan-text);
    line-height: 1.85;
}

/* =========================================================
   INTRO / CONTENT
   ========================================================= */

.mundan-intro {
    margin-bottom: 55px;
}

    .mundan-intro h2 {
        margin: 0 0 18px;
    }

.mundan-content-block {
    margin-bottom: 58px;
}

    .mundan-content-block h2 {
        margin: 0 0 18px;
    }

    .mundan-content-block p {
        margin: 0 0 15px;
    }

/* =========================================================
   SIGNIFICANCE
   ========================================================= */

.mundan-significance {
    margin-bottom: 60px;
    padding: 40px;
    border: 1px solid #f0dfc9;
    border-radius: 22px;
    background: linear-gradient( 145deg, #fffaf1, #fff );
}

    .mundan-significance h2 {
        margin: 0 0 28px;
    }

.mundan-significance-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.mundan-significance-card {
    padding: 23px;
    border: 1px solid var(--mundan-border);
    border-radius: 15px;
    background: #fff;
}

    .mundan-significance-card > span {
        font-size: 1.8rem;
    }

    .mundan-significance-card h3 {
        margin: 10px 0 7px;
        color: var(--mundan-deep);
        font-size: 1.05rem;
    }

    .mundan-significance-card p {
        margin: 0;
        font-size: .9rem;
    }

/* =========================================================
   WHY HARIDWAR
   ========================================================= */

.mundan-reasons-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 28px;
}

.mundan-reason {
    padding: 23px;
    border: 1px solid var(--mundan-border);
    border-radius: 15px;
    background: #fffaf4;
}

    .mundan-reason > div {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 12px;
        border-radius: 50%;
        background: #fff0d5;
        font-size: 1.35rem;
    }

    .mundan-reason h3 {
        margin: 0 0 7px;
        color: var(--mundan-deep);
        font-size: 1.05rem;
    }

    .mundan-reason p {
        margin: 0;
        font-size: .89rem;
    }

/* =========================================================
   PROCESS
   ========================================================= */

.mundan-process {
    margin-bottom: 60px;
}

    .mundan-process h2 {
        margin: 0 0 12px;
    }

.mundan-process-intro {
    margin-bottom: 30px;
}

.mundan-process-list {
    position: relative;
}

    .mundan-process-list::before {
        content: "";
        position: absolute;
        top: 25px;
        bottom: 25px;
        left: 25px;
        width: 2px;
        background: #e6c995;
    }

.mundan-process-item {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    padding-bottom: 25px;
}

.mundan-process-number {
    position: relative;
    z-index: 2;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #fff;
    border-radius: 50%;
    background: var(--mundan-saffron);
    color: #fff;
    font-size: .8rem;
    font-weight: 850;
    box-shadow: 0 5px 14px rgba(128, 63, 8, .16);
}

.mundan-process-item h3 {
    margin: 5px 0 6px;
    color: var(--mundan-deep);
    font-size: 1.08rem;
}

.mundan-process-item p {
    margin: 0;
    font-size: .92rem;
}

/* =========================================================
   OCCASIONS
   ========================================================= */

.mundan-occasion-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 27px;
}

    .mundan-occasion-grid > div {
        padding: 20px;
        border: 1px solid var(--mundan-border);
        border-radius: 13px;
        background: #fffaf3;
    }

    .mundan-occasion-grid span {
        display: block;
        margin-bottom: 7px;
        font-size: 1.5rem;
    }

    .mundan-occasion-grid strong {
        display: block;
        margin-bottom: 4px;
        color: var(--mundan-deep);
    }

    .mundan-occasion-grid p {
        margin: 0;
        font-size: .87rem;
    }

/* =========================================================
   BOOKING INFORMATION
   ========================================================= */

.mundan-booking-information {
    margin-bottom: 55px;
    padding: 38px;
    border: 1px solid #eedcc2;
    border-radius: 20px;
    background: #fffaf2;
}

    .mundan-booking-information h2 {
        margin: 0 0 28px;
    }

.mundan-booking-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

    .mundan-booking-grid > div {
        padding: 21px;
        border: 1px solid #eee0cb;
        border-radius: 14px;
        background: #fff;
    }

    .mundan-booking-grid span {
        display: block;
        margin-bottom: 8px;
        font-size: 1.4rem;
    }

    .mundan-booking-grid h3 {
        margin: 0 0 6px;
        color: var(--mundan-deep);
        font-size: 1rem;
    }

    .mundan-booking-grid p {
        margin: 0;
        font-size: .88rem;
    }

/* =========================================================
   PREPARATION
   ========================================================= */

.mundan-preparation {
    margin-bottom: 55px;
}

    .mundan-preparation h2 {
        margin-bottom: 25px;
    }

.mundan-preparation-list {
    display: grid;
    gap: 12px;
}

    .mundan-preparation-list > div {
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 16px 18px;
        border-radius: 11px;
        background: #fff7eb;
    }

    .mundan-preparation-list span {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--mundan-deep);
        color: #fff;
        font-size: .75rem;
        font-weight: 850;
    }

    .mundan-preparation-list p {
        margin: 0;
    }

/* =========================================================
   IMPORTANT NOTE
   ========================================================= */

.mundan-important-note {
    display: flex;
    gap: 18px;
    margin-bottom: 60px;
    padding: 25px;
    border: 1px solid #f0d29b;
    border-radius: 16px;
    background: #fff9eb;
}

.mundan-note-icon {
    flex: 0 0 44px;
    font-size: 1.7rem;
}

.mundan-important-note h3 {
    margin: 0 0 10px;
    color: #87410d;
}

.mundan-important-note p {
    margin: 0 0 9px;
    font-size: .9rem;
}

    .mundan-important-note p:last-child {
        margin-bottom: 0;
    }

/* =========================================================
   SIDEBAR
   ========================================================= */

.mundan-sanskar-page .service-sidebar {
    position: sticky;
    top: 100px;
}

.mundan-booking-card {
    margin-bottom: 25px;
    padding: 28px;
    border: 1px solid #ead5b8;
    border-radius: 18px;
    background: linear-gradient( 145deg, #fffaf1, #fff );
    box-shadow: 0 12px 30px rgba(82, 39, 11, .08);
}

.mundan-booking-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

    .mundan-booking-card-header > span {
        width: 46px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #fff0d0;
        font-size: 1.4rem;
    }

    .mundan-booking-card-header h3 {
        margin: 0;
        color: var(--mundan-deep);
        font-size: 1.15rem;
    }

.mundan-booking-card > p {
    margin: 0 0 18px;
    font-size: .9rem;
}

.mundan-sidebar-call,
.mundan-sidebar-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-bottom: 10px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 850;
}

.mundan-sidebar-call {
    background: var(--mundan-deep);
    color: #fff;
}

    .mundan-sidebar-call:hover {
        background: #6f270f;
    }

.mundan-sidebar-whatsapp {
    background: #287c3b;
    color: #fff;
}

    .mundan-sidebar-whatsapp:hover {
        background: #1f6730;
    }

.mundan-booking-card small {
    display: block;
    color: #806657;
    text-align: center;
    line-height: 1.5;
}

/* Related */
.mundan-related-services {
    padding: 25px;
    border: 1px solid var(--mundan-border);
    border-radius: 18px;
    background: #fff;
}

    .mundan-related-services h3 {
        margin: 0 0 16px;
        color: var(--mundan-deep);
    }

    .mundan-related-services a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 0;
        border-bottom: 1px solid #f0e4d6;
        text-decoration: none;
    }

        .mundan-related-services a:last-child {
            border-bottom: 0;
        }

        .mundan-related-services a > span {
            width: 38px;
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff4df;
        }

    .mundan-related-services strong {
        display: block;
        color: #4b2b1d;
        font-size: .9rem;
    }

    .mundan-related-services small {
        display: block;
        margin-top: 2px;
        color: #8a7062;
        font-size: .76rem;
    }

/* Sidebar Contact */
.mundan-sidebar-contact {
    margin-top: 25px;
    padding: 27px;
    border-radius: 18px;
    background: linear-gradient( 145deg, #7c2d12, #a34112 );
    color: #fff;
}

    .mundan-sidebar-contact > span {
        color: #ffd98e;
        font-size: .75rem;
        font-weight: 850;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .mundan-sidebar-contact h3 {
        margin: 10px 0;
        color: #fff;
        font-size: 1.25rem;
    }

    .mundan-sidebar-contact p {
        margin: 0 0 18px;
        color: rgba(255, 255, 255, .86);
        font-size: .87rem;
    }

    .mundan-sidebar-contact a {
        display: block;
        padding: 12px;
        border-radius: 8px;
        background: #fff;
        color: var(--mundan-deep);
        text-align: center;
        text-decoration: none;
        font-weight: 850;
    }

/* =========================================================
   FAQ
   ========================================================= */

.mundan-sanskar-page .faq-section {
    margin-top: 65px;
}

    .mundan-sanskar-page .faq-section h2 {
        margin: 0 0 25px;
    }

.mundan-sanskar-page .faq-list {
    display: grid;
    gap: 12px;
}

    .mundan-sanskar-page .faq-list details {
        overflow: hidden;
        border: 1px solid var(--mundan-border);
        border-radius: 12px;
        background: #fff;
    }

    .mundan-sanskar-page .faq-list summary {
        position: relative;
        padding: 19px 50px 19px 20px;
        cursor: pointer;
        color: var(--mundan-deep);
        font-weight: 750;
        list-style: none;
    }

        .mundan-sanskar-page .faq-list summary::-webkit-details-marker {
            display: none;
        }

        .mundan-sanskar-page .faq-list summary::after {
            content: "+";
            position: absolute;
            top: 50%;
            right: 20px;
            transform: translateY(-50%);
            color: var(--mundan-saffron);
            font-size: 1.3rem;
        }

    .mundan-sanskar-page .faq-list details[open] summary::after {
        content: "−";
    }

    .mundan-sanskar-page .faq-list details p {
        margin: 0;
        padding: 0 20px 20px;
        border-top: 1px solid #f0e4d8;
        color: #665146;
        font-size: .9rem;
    }

/* =========================================================
   FINAL CTA
   ========================================================= */

.mundan-final-cta {
    position: relative;
    overflow: hidden;
    padding: 78px 0;
    background: radial-gradient( circle at 15% 30%, rgba(255, 198, 96, .18), transparent 30% ), linear-gradient( 120deg, #5f1c0d, #8c300e );
    color: #fff;
}

    .mundan-final-cta::after {
        content: "ॐ";
        position: absolute;
        right: 7%;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255, 255, 255, .06);
        font-size: 16rem;
        line-height: 1;
    }

.mundan-final-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    margin: auto;
    text-align: center;
}

    .mundan-final-content > span {
        color: #ffd98d;
        font-size: .78rem;
        font-weight: 850;
        letter-spacing: .12em;
    }

    .mundan-final-content h2 {
        margin: 12px 0 15px;
        color: #fff;
        font-size: clamp(1.8rem, 4vw, 3rem);
    }

    .mundan-final-content p {
        max-width: 720px;
        margin: 0 auto 28px;
        color: rgba(255, 255, 255, .87);
        line-height: 1.75;
    }

.mundan-final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 13px;
}

    .mundan-final-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 0 23px;
        border-radius: 9px;
        text-decoration: none;
        font-weight: 850;
    }

        .mundan-final-actions a:first-child {
            background: #fff;
            color: var(--mundan-deep);
        }

        .mundan-final-actions a:last-child {
            border: 1px solid rgba(255, 255, 255, .35);
            background: rgba(255, 255, 255, .12);
            color: #fff;
        }

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .mundan-sanskar-page .service-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 30px;
    }

    .mundan-highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 850px) {

    .mundan-hero {
        min-height: 500px;
    }

    .mundan-hero-content {
        padding: 70px 0;
    }

    .mundan-sanskar-page .service-layout {
        grid-template-columns: 1fr;
    }

    .mundan-sanskar-page .service-sidebar {
        position: static;
    }

    .mundan-booking-card {
        max-width: 600px;
    }

    .mundan-significance {
        padding: 28px;
    }
}

@media (max-width: 600px) {

    .mundan-hero {
        min-height: auto;
    }

    .mundan-hero-content {
        padding: 58px 0 70px;
    }

        .mundan-hero-content h1 {
            font-size: 2.35rem;
        }

        .mundan-hero-content h2 {
            font-size: 1.35rem;
        }

        .mundan-hero-content p {
            font-size: .96rem;
        }

    .mundan-hero-actions {
        flex-direction: column;
    }

        .mundan-hero-actions a {
            width: 100%;
        }

    .mundan-highlights {
        margin-top: -25px;
    }

    .mundan-highlight-grid,
    .mundan-significance-grid,
    .mundan-reasons-grid,
    .mundan-occasion-grid,
    .mundan-booking-grid {
        grid-template-columns: 1fr;
    }

    .mundan-significance,
    .mundan-booking-information {
        padding: 23px 18px;
    }

    .mundan-important-note {
        flex-direction: column;
        padding: 20px;
    }

    .mundan-final-cta {
        padding: 60px 0;
    }

    .mundan-final-actions {
        flex-direction: column;
    }

        .mundan-final-actions a {
            width: 100%;
        }

    .mundan-final-cta::after {
        right: 0;
        font-size: 9rem;
    }
}




/* =========================================================
   RUDRABHISHEK PAGE
   ========================================================= */

.rudrabhishek-page {
    --rudra-saffron: #d97706;
    --rudra-deep: #7c2d12;
    --rudra-maroon: #5f1b12;
    --rudra-blue: #155e75;
    --rudra-gold: #d4a017;
    --rudra-cream: #fffaf1;
    --rudra-border: #ead9c5;
    --rudra-text: #49382f;
}

/* =========================================================
   HERO
   ========================================================= */

.rudra-hero {
    position: relative;
    min-height: 540px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient( 115deg, rgba(53, 20, 10, .96), rgba(103, 45, 17, .78) ), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
}

.rudra-hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient( circle at 78% 27%, rgba(255, 211, 123, .24), transparent 30% ), radial-gradient( circle at 90% 80%, rgba(255, 160, 65, .12), transparent 25% );
}

.rudra-hero .container {
    position: relative;
    z-index: 2;
}

.rudra-hero-content {
    max-width: 870px;
    padding: 88px 0;
    color: #fff;
}

.rudra-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 18px;
    margin-bottom: 19px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50px;
    background: rgba(255, 255, 255, .1);
    color: #fff5df;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .07em;
}

.rudra-hero-content h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.07;
    font-weight: 850;
    letter-spacing: -.03em;
}

.rudra-hero-content h2 {
    margin: 0 0 20px;
    color: #ffe0a1;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.35;
}

.rudra-hero-content p {
    max-width: 740px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .91);
    font-size: 1.08rem;
    line-height: 1.85;
}

.rudra-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

    .rudra-hero-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 0 25px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
        transition: .25s ease;
    }

.rudra-btn-primary {
    background: var(--rudra-saffron);
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

    .rudra-btn-primary:hover {
        transform: translateY(-2px);
        background: #b45309;
    }

.rudra-btn-whatsapp {
    border: 1px solid rgba(255, 255, 255, .42);
    background-color: green;
    color: #fff;
}

    .rudra-btn-whatsapp:hover {
        background-color: forestgreen;
    }

/* =========================================================
   HIGHLIGHTS
   ========================================================= */

.rudra-highlights {
    position: relative;
    z-index: 3;
    margin-top: -48px;
    padding-bottom: 55px;
}

.rudra-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.rudra-highlight-card {
    padding: 27px 20px;
    border: 1px solid var(--rudra-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(84, 44, 17, .09);
    text-align: center;
}

.rudra-highlight-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #fff2d9;
    font-size: 1.5rem;
}

.rudra-highlight-card h3 {
    margin: 0 0 7px;
    color: var(--rudra-deep);
    font-size: 1rem;
}

.rudra-highlight-card p {
    margin: 0;
    color: #725e52;
    font-size: .87rem;
    line-height: 1.65;
}

/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.rudrabhishek-page .service-content-section {
    padding: 65px 0 80px;
}

.rudrabhishek-page .service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 45px;
    align-items: start;
}

.rudrabhishek-page .service-main-content {
    min-width: 0;
}

.rudrabhishek-page .section-tag {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--rudra-saffron);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .13em;
}

.rudrabhishek-page h2 {
    color: var(--rudra-deep);
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.27;
}

.rudrabhishek-page p {
    color: var(--rudra-text);
    line-height: 1.85;
}

/* =========================================================
   INTRO / CONTENT
   ========================================================= */

.rudra-intro {
    margin-bottom: 55px;
}

    .rudra-intro h2 {
        margin: 0 0 18px;
    }

.rudra-content-block {
    margin-bottom: 58px;
}

    .rudra-content-block h2 {
        margin: 0 0 18px;
    }

    .rudra-content-block p {
        margin: 0 0 15px;
    }

/* =========================================================
   SIGNIFICANCE
   ========================================================= */

.rudra-significance {
    margin-bottom: 60px;
    padding: 40px;
    border: 1px solid #f0dfc9;
    border-radius: 22px;
    background: linear-gradient( 145deg, #fffaf1, #fff );
}

    .rudra-significance h2 {
        margin: 0 0 28px;
    }

.rudra-significance-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.rudra-significance-card {
    padding: 23px;
    border: 1px solid var(--rudra-border);
    border-radius: 15px;
    background: #fff;
}

    .rudra-significance-card > span {
        font-size: 1.8rem;
    }

    .rudra-significance-card h3 {
        margin: 10px 0 7px;
        color: var(--rudra-deep);
        font-size: 1.05rem;
    }

    .rudra-significance-card p {
        margin: 0;
        font-size: .9rem;
    }

/* =========================================================
   WHY HARIDWAR
   ========================================================= */

.rudra-reasons-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 28px;
}

.rudra-reason {
    padding: 23px;
    border: 1px solid var(--rudra-border);
    border-radius: 15px;
    background: #fffaf4;
}

    .rudra-reason > div {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 12px;
        border-radius: 50%;
        background: #fff0d5;
        font-size: 1.35rem;
    }

    .rudra-reason h3 {
        margin: 0 0 7px;
        color: var(--rudra-deep);
        font-size: 1.05rem;
    }

    .rudra-reason p {
        margin: 0;
        font-size: .89rem;
    }

/* =========================================================
   PUJA PROCESS
   ========================================================= */

.rudra-process {
    margin-bottom: 60px;
}

    .rudra-process h2 {
        margin: 0 0 12px;
    }

.rudra-process-intro {
    margin-bottom: 30px;
}

.rudra-process-list {
    position: relative;
}

    .rudra-process-list::before {
        content: "";
        position: absolute;
        top: 25px;
        bottom: 25px;
        left: 25px;
        width: 2px;
        background: #e6c995;
    }

.rudra-process-item {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    padding-bottom: 25px;
}

.rudra-process-number {
    position: relative;
    z-index: 2;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #fff;
    border-radius: 50%;
    background: var(--rudra-saffron);
    color: #fff;
    font-size: .8rem;
    font-weight: 850;
    box-shadow: 0 5px 14px rgba(128, 63, 8, .16);
}

.rudra-process-item h3 {
    margin: 5px 0 6px;
    color: var(--rudra-deep);
    font-size: 1.08rem;
}

.rudra-process-item p {
    margin: 0;
    font-size: .92rem;
}

/* =========================================================
   MATERIALS
   ========================================================= */

.rudra-material-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 27px;
}

    .rudra-material-grid > div {
        padding: 21px;
        border: 1px solid var(--rudra-border);
        border-radius: 14px;
        background: #fffaf3;
    }

    .rudra-material-grid span {
        display: block;
        margin-bottom: 8px;
        font-size: 1.5rem;
    }

    .rudra-material-grid strong {
        display: block;
        margin-bottom: 5px;
        color: var(--rudra-deep);
    }

    .rudra-material-grid p {
        margin: 0;
        font-size: .86rem;
    }

/* =========================================================
   OCCASIONS
   ========================================================= */

.rudra-occasion-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 27px;
}

    .rudra-occasion-grid > div {
        padding: 20px;
        border: 1px solid var(--rudra-border);
        border-radius: 13px;
        background: #fffaf3;
    }

    .rudra-occasion-grid span {
        display: block;
        margin-bottom: 7px;
        font-size: 1.5rem;
    }

    .rudra-occasion-grid strong {
        display: block;
        margin-bottom: 4px;
        color: var(--rudra-deep);
    }

    .rudra-occasion-grid p {
        margin: 0;
        font-size: .87rem;
    }

/* =========================================================
   BOOKING INFORMATION
   ========================================================= */

.rudra-booking-information {
    margin-bottom: 55px;
    padding: 38px;
    border: 1px solid #eedcc2;
    border-radius: 20px;
    background: #fffaf2;
}

    .rudra-booking-information h2 {
        margin: 0 0 28px;
    }

.rudra-booking-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

    .rudra-booking-grid > div {
        padding: 21px;
        border: 1px solid #eee0cb;
        border-radius: 14px;
        background: #fff;
    }

    .rudra-booking-grid span {
        display: block;
        margin-bottom: 8px;
        font-size: 1.4rem;
    }

    .rudra-booking-grid h3 {
        margin: 0 0 6px;
        color: var(--rudra-deep);
        font-size: 1rem;
    }

    .rudra-booking-grid p {
        margin: 0;
        font-size: .88rem;
    }

/* =========================================================
   PREPARATION
   ========================================================= */

.rudra-preparation {
    margin-bottom: 55px;
}

    .rudra-preparation h2 {
        margin-bottom: 25px;
    }

.rudra-preparation-list {
    display: grid;
    gap: 12px;
}

    .rudra-preparation-list > div {
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 16px 18px;
        border-radius: 11px;
        background: #fff7eb;
    }

    .rudra-preparation-list span {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--rudra-deep);
        color: #fff;
        font-size: .75rem;
        font-weight: 850;
    }

    .rudra-preparation-list p {
        margin: 0;
    }

/* =========================================================
   IMPORTANT NOTE
   ========================================================= */

.rudra-important-note {
    display: flex;
    gap: 18px;
    margin-bottom: 60px;
    padding: 25px;
    border: 1px solid #f0d29b;
    border-radius: 16px;
    background: #fff9eb;
}

.rudra-note-icon {
    flex: 0 0 44px;
    font-size: 1.7rem;
}

.rudra-important-note h3 {
    margin: 0 0 10px;
    color: #87410d;
}

.rudra-important-note p {
    margin: 0 0 9px;
    font-size: .9rem;
}

    .rudra-important-note p:last-child {
        margin-bottom: 0;
    }

/* =========================================================
   SIDEBAR
   ========================================================= */

.rudrabhishek-page .service-sidebar {
    position: sticky;
    top: 100px;
}

.rudra-booking-card {
    margin-bottom: 25px;
    padding: 28px;
    border: 1px solid #ead5b8;
    border-radius: 18px;
    background: linear-gradient( 145deg, #fffaf1, #fff );
    box-shadow: 0 12px 30px rgba(82, 39, 11, .08);
}

.rudra-booking-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

    .rudra-booking-card-header > span {
        width: 46px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #fff0d0;
        font-size: 1.4rem;
    }

    .rudra-booking-card-header h3 {
        margin: 0;
        color: var(--rudra-deep);
        font-size: 1.15rem;
    }

.rudra-booking-card > p {
    margin: 0 0 18px;
    font-size: .9rem;
}

.rudra-sidebar-call,
.rudra-sidebar-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-bottom: 10px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 850;
}

.rudra-sidebar-call {
    background: var(--rudra-deep);
    color: #fff;
}

    .rudra-sidebar-call:hover {
        background: #6f270f;
    }

.rudra-sidebar-whatsapp {
    background: #287c3b;
    color: #fff;
}

    .rudra-sidebar-whatsapp:hover {
        background: #1f6730;
    }

.rudra-booking-card small {
    display: block;
    color: #806657;
    text-align: center;
    line-height: 1.5;
}

/* =========================================================
   RELATED SERVICES
   ========================================================= */

.rudra-related-services {
    padding: 25px;
    border: 1px solid var(--rudra-border);
    border-radius: 18px;
    background: #fff;
}

    .rudra-related-services h3 {
        margin: 0 0 16px;
        color: var(--rudra-deep);
    }

    .rudra-related-services a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 0;
        border-bottom: 1px solid #f0e4d6;
        text-decoration: none;
    }

        .rudra-related-services a:last-child {
            border-bottom: 0;
        }

        .rudra-related-services a > span {
            width: 38px;
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff4df;
        }

    .rudra-related-services strong {
        display: block;
        color: #4b2b1d;
        font-size: .9rem;
    }

    .rudra-related-services small {
        display: block;
        margin-top: 2px;
        color: #8a7062;
        font-size: .76rem;
    }

/* =========================================================
   SIDEBAR CONTACT
   ========================================================= */

.rudra-sidebar-contact {
    margin-top: 25px;
    padding: 27px;
    border-radius: 18px;
    background: linear-gradient( 145deg, #641d0f, #96370f );
    color: #fff;
}

    .rudra-sidebar-contact > span {
        color: #ffd98e;
        font-size: .75rem;
        font-weight: 850;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .rudra-sidebar-contact h3 {
        margin: 10px 0;
        color: #fff;
        font-size: 1.25rem;
    }

    .rudra-sidebar-contact p {
        margin: 0 0 18px;
        color: rgba(255, 255, 255, .86);
        font-size: .87rem;
    }

    .rudra-sidebar-contact a {
        display: block;
        padding: 12px;
        border-radius: 8px;
        background: #fff;
        color: var(--rudra-deep);
        text-align: center;
        text-decoration: none;
        font-weight: 850;
    }

/* =========================================================
   FAQ
   ========================================================= */

.rudrabhishek-page .faq-section {
    margin-top: 65px;
}

    .rudrabhishek-page .faq-section h2 {
        margin: 0 0 25px;
    }

.rudrabhishek-page .faq-list {
    display: grid;
    gap: 12px;
}

    .rudrabhishek-page .faq-list details {
        overflow: hidden;
        border: 1px solid var(--rudra-border);
        border-radius: 12px;
        background: #fff;
    }

    .rudrabhishek-page .faq-list summary {
        position: relative;
        padding: 19px 50px 19px 20px;
        cursor: pointer;
        color: var(--rudra-deep);
        font-weight: 750;
        list-style: none;
    }

        .rudrabhishek-page .faq-list summary::-webkit-details-marker {
            display: none;
        }

        .rudrabhishek-page .faq-list summary::after {
            content: "+";
            position: absolute;
            top: 50%;
            right: 20px;
            transform: translateY(-50%);
            color: var(--rudra-saffron);
            font-size: 1.3rem;
        }

    .rudrabhishek-page .faq-list details[open] summary::after {
        content: "−";
    }

    .rudrabhishek-page .faq-list details p {
        margin: 0;
        padding: 0 20px 20px;
        border-top: 1px solid #f0e4d8;
        color: #665146;
        font-size: .9rem;
    }

/* =========================================================
   FINAL CTA
   ========================================================= */

.rudra-final-cta {
    position: relative;
    overflow: hidden;
    padding: 78px 0;
    background: radial-gradient( circle at 15% 30%, rgba(255, 198, 96, .18), transparent 30% ), linear-gradient( 120deg, #56190d, #8d300e );
    color: #fff;
}

    .rudra-final-cta::after {
        content: "ॐ";
        position: absolute;
        right: 7%;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255, 255, 255, .06);
        font-size: 16rem;
        line-height: 1;
    }

.rudra-final-content {
    position: relative;
    z-index: 2;
    max-width: 870px;
    margin: auto;
    text-align: center;
}

    .rudra-final-content > span {
        color: #ffd98d;
        font-size: .78rem;
        font-weight: 850;
        letter-spacing: .12em;
    }

    .rudra-final-content h2 {
        margin: 12px 0 15px;
        color: #fff;
        font-size: clamp(1.8rem, 4vw, 3rem);
    }

    .rudra-final-content p {
        max-width: 730px;
        margin: 0 auto 28px;
        color: rgba(255, 255, 255, .87);
        line-height: 1.75;
    }

.rudra-final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 13px;
}

    .rudra-final-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 0 23px;
        border-radius: 9px;
        text-decoration: none;
        font-weight: 850;
    }

        .rudra-final-actions a:first-child {
            background: #fff;
            color: var(--rudra-deep);
        }

        .rudra-final-actions a:last-child {
            border: 1px solid rgba(255, 255, 255, .35);
            background: rgba(255, 255, 255, .12);
            color: #fff;
        }

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .rudrabhishek-page .service-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 30px;
    }

    .rudra-highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rudra-material-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 850px) {

    .rudra-hero {
        min-height: 500px;
    }

    .rudra-hero-content {
        padding: 70px 0;
    }

    .rudrabhishek-page .service-layout {
        grid-template-columns: 1fr;
    }

    .rudrabhishek-page .service-sidebar {
        position: static;
    }

    .rudra-booking-card {
        max-width: 600px;
    }

    .rudra-significance {
        padding: 28px;
    }
}

@media (max-width: 600px) {

    .rudra-hero {
        min-height: auto;
    }

    .rudra-hero-content {
        padding: 58px 0 70px;
    }

        .rudra-hero-content h1 {
            font-size: 2.35rem;
        }

        .rudra-hero-content h2 {
            font-size: 1.35rem;
        }

        .rudra-hero-content p {
            font-size: .96rem;
        }

    .rudra-hero-actions {
        flex-direction: column;
    }

        .rudra-hero-actions a {
            width: 100%;
        }

    .rudra-highlights {
        margin-top: -25px;
    }

    .rudra-highlight-grid,
    .rudra-significance-grid,
    .rudra-reasons-grid,
    .rudra-material-grid,
    .rudra-occasion-grid,
    .rudra-booking-grid {
        grid-template-columns: 1fr;
    }

    .rudra-significance,
    .rudra-booking-information {
        padding: 23px 18px;
    }

    .rudra-important-note {
        flex-direction: column;
        padding: 20px;
    }

    .rudra-final-cta {
        padding: 60px 0;
    }

    .rudra-final-actions {
        flex-direction: column;
    }

        .rudra-final-actions a {
            width: 100%;
        }

    .rudra-final-cta::after {
        right: 0;
        font-size: 9rem;
    }
}

/* =========================================================
   NAVAGRAHA SHANTI PUJA PAGE
   haridwarpanditbooking.in
   ========================================================= */

.navagraha-page {
    --nav-gold: #d69a24;
    --nav-gold-light: #f6d889;
    --nav-saffron: #e87518;
    --nav-maroon: #701d1d;
    --nav-dark: #29150f;
    --nav-cream: #fffaf0;
}

    /* Hero */

    .navagraha-page .navagraha-hero {
        position: relative;
        background: linear-gradient(100deg, rgba(38, 16, 8, .93), rgba(104, 40, 13, .72)), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
        min-height: 500px;
        display: flex;
        align-items: center;
        overflow: hidden;
    }

        .navagraha-page .navagraha-hero::before {
            content: "";
            position: absolute;
            width: 320px;
            height: 320px;
            border: 1px solid rgba(246, 216, 137, .25);
            border-radius: 50%;
            right: 7%;
            top: 15%;
        }

        .navagraha-page .navagraha-hero::after {
            content: "☀  ☾  ♂  ☿  ♃  ♀  ♄  ☊  ☋";
            position: absolute;
            right: 7%;
            top: 42%;
            width: 320px;
            color: rgba(246, 216, 137, .55);
            font-size: 20px;
            letter-spacing: 7px;
            text-align: center;
            line-height: 2;
        }

    .navagraha-page .service-hero-content {
        position: relative;
        z-index: 2;
        max-width: 850px;
    }

    .navagraha-page .service-hero-badge {
        display: inline-flex;
        align-items: center;
        padding: 8px 18px;
        margin-bottom: 18px;
        border: 1px solid rgba(246, 216, 137, .5);
        border-radius: 50px;
        background: rgba(255, 255, 255, .08);
        color: var(--nav-gold-light);
        font-weight: 700;
        font-size: 14px;
    }

    .navagraha-page .navagraha-hero h1 {
        color: #fff;
        font-size: clamp(36px, 5vw, 62px);
        line-height: 1.08;
        margin: 0 0 12px;
        font-weight: 800;
    }

    .navagraha-page .navagraha-hero h2 {
        color: var(--nav-gold-light);
        font-size: clamp(22px, 3vw, 34px);
        margin: 0 0 20px;
    }

    .navagraha-page .navagraha-hero p {
        max-width: 760px;
        color: rgba(255, 255, 255, .9);
        font-size: 18px;
        line-height: 1.8;
        margin-bottom: 28px;
    }

    .navagraha-page .service-hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }

    /* Highlights */

    .navagraha-page .service-highlights {
        background: var(--nav-cream);
        padding: 34px 0;
        border-bottom: 1px solid #ead9ba;
    }

    .navagraha-page .navagraha-highlight-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }

    .navagraha-page .navagraha-highlight-card {
        text-align: center;
        background: #fff;
        border: 1px solid #eadcc5;
        border-radius: 16px;
        padding: 24px 15px;
        transition: transform .25s ease, box-shadow .25s ease;
    }

        .navagraha-page .navagraha-highlight-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 14px 35px rgba(84, 42, 16, .11);
        }

    .navagraha-page .highlight-icon {
        width: 55px;
        height: 55px;
        margin: 0 auto 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #fff3d8;
        font-size: 25px;
    }

    .navagraha-page .navagraha-highlight-card h3 {
        margin: 0 0 7px;
        color: var(--nav-maroon);
        font-size: 18px;
    }

    .navagraha-page .navagraha-highlight-card p {
        margin: 0;
        color: #6b5b50;
        font-size: 14px;
        line-height: 1.6;
    }

    /* Content */

    .navagraha-page .service-content-section {
        background: #fff;
    }

    .navagraha-page .content-intro {
        padding-bottom: 40px;
    }

        .navagraha-page .content-intro h2,
        .navagraha-page .section-heading-left h2,
        .navagraha-page .section-heading-center h2 {
            color: var(--nav-maroon);
        }

        .navagraha-page .content-intro p {
            color: #51463f;
            font-size: 17px;
            line-height: 1.85;
        }

    .navagraha-page .section-eyebrow {
        display: inline-block;
        color: var(--nav-saffron);
        font-weight: 800;
        letter-spacing: 2px;
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Content Blocks */

    .navagraha-page .navagraha-content-block {
        display: grid;
        grid-template-columns: 82px 1fr;
        gap: 25px;
        align-items: start;
        padding: 32px;
        margin: 30px 0;
        border-radius: 20px;
        background: linear-gradient(135deg, #fffaf1, #fff);
        border: 1px solid #eadbc2;
    }

    .navagraha-page .content-icon {
        width: 70px;
        height: 70px;
        border-radius: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff0cf;
        font-size: 32px;
    }

    .navagraha-page .navagraha-content-block h2 {
        color: var(--nav-maroon);
        margin: 0 0 12px;
    }

    .navagraha-page .navagraha-content-block p {
        color: #564a42;
        line-height: 1.8;
    }

    /* Planets */

    .navagraha-page .navagraha-planets {
        margin: 55px 0;
    }

    .navagraha-page .section-heading-left {
        margin-bottom: 25px;
    }

        .navagraha-page .section-heading-left p {
            color: #675a51;
            line-height: 1.7;
        }

    .navagraha-page .planet-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .navagraha-page .planet-card {
        position: relative;
        overflow: hidden;
        text-align: center;
        padding: 24px 15px;
        border-radius: 17px;
        border: 1px solid #e9dcc8;
        background: #fff;
        transition: transform .25s ease, box-shadow .25s ease;
    }

        .navagraha-page .planet-card::before {
            content: "";
            position: absolute;
            width: 75px;
            height: 75px;
            border: 1px solid #f0dfb7;
            border-radius: 50%;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: 0;
        }

        .navagraha-page .planet-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 28px rgba(91, 46, 18, .1);
        }

        .navagraha-page .planet-card span,
        .navagraha-page .planet-card h3,
        .navagraha-page .planet-card p {
            position: relative;
            z-index: 1;
        }

        .navagraha-page .planet-card span {
            display: block;
            font-size: 29px;
            margin-bottom: 8px;
        }

        .navagraha-page .planet-card h3 {
            color: var(--nav-maroon);
            margin: 0 0 4px;
        }

        .navagraha-page .planet-card p {
            margin: 0;
            color: #8a7669;
            font-size: 13px;
        }

    /* Why Haridwar */

    .navagraha-page .why-haridwar-box {
        display: grid;
        grid-template-columns: 95px 1fr;
        gap: 25px;
        margin: 50px 0;
        padding: 35px;
        border-radius: 22px;
        background: linear-gradient(135deg, #fff5dd, #fffaf0);
        border: 1px solid #e7d2a7;
    }

    .navagraha-page .why-haridwar-icon {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 37px;
        box-shadow: 0 8px 25px rgba(80, 42, 12, .08);
    }

    .navagraha-page .why-haridwar-box h2 {
        color: var(--nav-maroon);
        margin-top: 0;
    }

    .navagraha-page .why-haridwar-box p {
        line-height: 1.8;
        color: #5e5148;
    }

    .navagraha-page .why-haridwar-box ul {
        margin: 20px 0 0;
        padding: 0;
        list-style: none;
    }

    .navagraha-page .why-haridwar-box li {
        position: relative;
        padding-left: 28px;
        margin-bottom: 10px;
        color: #564941;
    }

        .navagraha-page .why-haridwar-box li::before {
            content: "✓";
            position: absolute;
            left: 0;
            color: var(--nav-saffron);
            font-weight: 800;
        }

    /* Process */

    .navagraha-page .navagraha-process {
        margin: 55px 0;
    }

    .navagraha-page .process-timeline {
        position: relative;
    }

        .navagraha-page .process-timeline::before {
            content: "";
            position: absolute;
            left: 25px;
            top: 15px;
            bottom: 15px;
            width: 2px;
            background: #ead7b2;
        }

    .navagraha-page .process-item {
        position: relative;
        display: grid;
        grid-template-columns: 52px 1fr;
        gap: 20px;
        margin-bottom: 25px;
    }

    .navagraha-page .process-number {
        position: relative;
        z-index: 2;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--nav-maroon);
        color: #fff;
        font-weight: 800;
        border: 4px solid #fff;
        box-shadow: 0 0 0 1px #ead7b2;
    }

    .navagraha-page .process-item h3 {
        color: var(--nav-maroon);
        margin: 3px 0 5px;
    }

    .navagraha-page .process-item p {
        margin: 0;
        color: #62564e;
        line-height: 1.7;
    }

    /* When */

    .navagraha-page .navagraha-when {
        margin: 55px 0;
    }

    .navagraha-page .when-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .navagraha-page .when-card {
        padding: 25px;
        border-radius: 17px;
        background: #fffaf2;
        border: 1px solid #eadcc5;
    }

        .navagraha-page .when-card > span {
            font-size: 26px;
        }

        .navagraha-page .when-card h3 {
            color: var(--nav-maroon);
            margin: 10px 0 7px;
        }

        .navagraha-page .when-card p {
            margin: 0;
            color: #62564d;
            line-height: 1.65;
        }

    /* Requirements */

    .navagraha-page .booking-requirements {
        margin: 55px 0;
    }

    .navagraha-page .requirements-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .navagraha-page .requirement-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px 18px;
        border: 1px solid #eadfce;
        border-radius: 12px;
        background: #fff;
    }

        .navagraha-page .requirement-item span {
            width: 28px;
            height: 28px;
            flex: 0 0 28px;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            background: #fff0cf;
            color: #a85d08;
            font-weight: 800;
        }

        .navagraha-page .requirement-item p {
            margin: 0;
            color: #51463e;
        }

    /* Preparation */

    .navagraha-page .preparation-box {
        margin: 50px 0;
        padding: 30px;
        border-radius: 18px;
        background: #fff8e9;
        border-left: 5px solid var(--nav-saffron);
    }

        .navagraha-page .preparation-box h2 {
            color: var(--nav-maroon);
            margin-top: 0;
        }

        .navagraha-page .preparation-box ul {
            padding-left: 22px;
            margin-bottom: 0;
        }

        .navagraha-page .preparation-box li {
            margin-bottom: 11px;
            color: #564a42;
            line-height: 1.7;
        }

    /* Important Note */

    .navagraha-page .important-note {
        display: grid;
        grid-template-columns: 55px 1fr;
        gap: 18px;
        margin: 45px 0;
        padding: 25px;
        border-radius: 16px;
        background: #f8f6f2;
        border: 1px solid #ddd7ce;
    }

    .navagraha-page .important-note-icon {
        width: 45px;
        height: 45px;
        border-radius: 50%;
        background: #ebe5dc;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .navagraha-page .important-note h3 {
        margin: 0 0 8px;
        color: #4d4037;
    }

    .navagraha-page .important-note p {
        color: #665a51;
        line-height: 1.7;
    }

    /* Sidebar */

    .navagraha-page .booking-card {
        position: sticky;
        top: 100px;
        padding: 28px;
        border-radius: 20px;
        background: linear-gradient(145deg, #701d1d, #42120f);
        color: #fff;
        box-shadow: 0 15px 35px rgba(65, 21, 13, .2);
    }

    .navagraha-page .booking-card-icon {
        font-size: 34px;
        margin-bottom: 12px;
    }

    .navagraha-page .booking-card h3 {
        color: #fff;
        font-size: 23px;
        line-height: 1.35;
    }

    .navagraha-page .booking-card p {
        color: rgba(255,255,255,.82);
        line-height: 1.7;
    }

    .navagraha-page .booking-call,
    .navagraha-page .booking-whatsapp {
        display: block;
        text-align: center;
        padding: 13px 16px;
        margin-top: 12px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
    }

    .navagraha-page .booking-call {
        background: #fff;
        color: var(--nav-maroon);
    }

    .navagraha-page .booking-whatsapp {
        background: #f2b332;
        color: #35180c;
    }

    /* Final CTA */

    .navagraha-page .service-final-cta {
        background: linear-gradient(120deg, rgba(63, 18, 9, .97), rgba(119, 45, 13, .92));
        padding: 75px 0;
        text-align: center;
    }

    .navagraha-page .final-cta-content {
        max-width: 850px;
        margin: auto;
    }

    .navagraha-page .cta-icon {
        font-size: 45px;
    }

    .navagraha-page .service-final-cta h2 {
        color: #fff;
        font-size: clamp(28px, 4vw, 42px);
        margin: 15px 0;
    }

    .navagraha-page .service-final-cta p {
        color: rgba(255,255,255,.85);
        font-size: 17px;
        line-height: 1.7;
    }

    .navagraha-page .final-cta-buttons {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 25px;
    }

/* Responsive */

@media (max-width: 992px) {

    .navagraha-page .navagraha-highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .navagraha-page .service-main-layout {
        grid-template-columns: 1fr;
    }

    .navagraha-page .booking-card {
        position: relative;
        top: auto;
    }

    .navagraha-page .navagraha-hero::after,
    .navagraha-page .navagraha-hero::before {
        opacity: .35;
    }
}

@media (max-width: 768px) {

    .navagraha-page .navagraha-hero {
        min-height: 600px;
    }

        .navagraha-page .navagraha-hero h1 {
            font-size: 38px;
        }

        .navagraha-page .navagraha-hero h2 {
            font-size: 25px;
        }

        .navagraha-page .navagraha-hero p {
            font-size: 16px;
        }

    .navagraha-page .navagraha-highlight-grid,
    .navagraha-page .planet-grid,
    .navagraha-page .when-grid,
    .navagraha-page .requirements-list {
        grid-template-columns: 1fr;
    }

    .navagraha-page .navagraha-content-block,
    .navagraha-page .why-haridwar-box,
    .navagraha-page .important-note {
        grid-template-columns: 1fr;
    }

    .navagraha-page .content-icon,
    .navagraha-page .why-haridwar-icon {
        margin-bottom: 5px;
    }

    .navagraha-page .process-timeline::before {
        left: 21px;
    }

    .navagraha-page .process-item {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .navagraha-page .process-number {
        width: 45px;
        height: 45px;
        font-size: 13px;
    }

    .navagraha-page .final-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 480px) {

    .navagraha-page .navagraha-hero h1 {
        font-size: 32px;
    }

    .navagraha-page .navagraha-hero h2 {
        font-size: 22px;
    }

    .navagraha-page .service-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .navagraha-page .navagraha-highlight-card {
        padding: 20px 12px;
    }

    .navagraha-page .navagraha-content-block,
    .navagraha-page .why-haridwar-box,
    .navagraha-page .preparation-box,
    .navagraha-page .important-note {
        padding: 22px;
    }
}

/* =========================================================
   KAAL SARP DOSH PUJA PAGE
   haridwarpanditbooking.in
   ========================================================= */

.kaal-sarp-page {
    --kaal-maroon: #64191a;
    --kaal-deep: #2b110d;
    --kaal-saffron: #df7017;
    --kaal-gold: #d9a33a;
    --kaal-gold-light: #f5d88b;
    --kaal-cream: #fff9ee;
    --kaal-border: #eadbc3;
}

    /* Hero */

    .kaal-sarp-page .kaal-sarp-hero {
        position: relative;
        min-height: 510px;
        display: flex;
        align-items: center;
        overflow: hidden;
        background: linear-gradient(105deg, rgba(38, 13, 8, .95), rgba(104, 31, 12, .73)), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
    }

        .kaal-sarp-page .kaal-sarp-hero::before {
            content: "ॐ";
            position: absolute;
            right: 10%;
            top: 17%;
            width: 250px;
            height: 250px;
            border: 1px solid rgba(245, 216, 139, .25);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            color: rgba(245, 216, 139, .25);
            font-size: 120px;
        }

        .kaal-sarp-page .kaal-sarp-hero::after {
            content: "🐍";
            position: absolute;
            right: 13%;
            bottom: 12%;
            font-size: 110px;
            opacity: .18;
            transform: rotate(-12deg);
        }

    .kaal-sarp-page .service-hero-content {
        position: relative;
        z-index: 2;
        max-width: 850px;
    }

    .kaal-sarp-page .service-hero-badge {
        display: inline-flex;
        align-items: center;
        padding: 8px 18px;
        margin-bottom: 18px;
        border: 1px solid rgba(245, 216, 139, .5);
        border-radius: 50px;
        background: rgba(255, 255, 255, .08);
        color: var(--kaal-gold-light);
        font-weight: 700;
        font-size: 14px;
    }

    .kaal-sarp-page .kaal-sarp-hero h1 {
        color: #fff;
        font-size: clamp(36px, 5vw, 60px);
        line-height: 1.08;
        margin: 0 0 12px;
        font-weight: 800;
    }

    .kaal-sarp-page .kaal-sarp-hero h2 {
        color: var(--kaal-gold-light);
        font-size: clamp(22px, 3vw, 34px);
        margin: 0 0 20px;
    }

    .kaal-sarp-page .kaal-sarp-hero p {
        max-width: 770px;
        color: rgba(255, 255, 255, .9);
        font-size: 18px;
        line-height: 1.8;
        margin-bottom: 28px;
    }

    .kaal-sarp-page .service-hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }

    /* Highlights */

    .kaal-sarp-page .service-highlights {
        padding: 34px 0;
        background: var(--kaal-cream);
        border-bottom: 1px solid var(--kaal-border);
    }

    .kaal-sarp-page .kaal-highlight-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }

    .kaal-sarp-page .kaal-highlight-card {
        padding: 24px 15px;
        text-align: center;
        background: #fff;
        border: 1px solid var(--kaal-border);
        border-radius: 17px;
        transition: transform .25s ease, box-shadow .25s ease;
    }

        .kaal-sarp-page .kaal-highlight-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(80, 34, 14, .11);
        }

    .kaal-sarp-page .highlight-icon {
        width: 56px;
        height: 56px;
        margin: 0 auto 12px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff0d0;
        font-size: 27px;
    }

    .kaal-sarp-page .kaal-highlight-card h3 {
        color: var(--kaal-maroon);
        margin: 0 0 7px;
        font-size: 18px;
    }

    .kaal-sarp-page .kaal-highlight-card p {
        color: #6a5b51;
        font-size: 14px;
        line-height: 1.6;
        margin: 0;
    }

    /* Content */

    .kaal-sarp-page .content-intro p {
        color: #544940;
        font-size: 17px;
        line-height: 1.85;
    }

    /* Content Blocks */

    .kaal-sarp-page .kaal-content-block {
        display: grid;
        grid-template-columns: 82px 1fr;
        gap: 25px;
        align-items: start;
        padding: 32px;
        margin: 30px 0;
        border-radius: 20px;
        background: linear-gradient(135deg, #fffaf1, #fff);
        border: 1px solid var(--kaal-border);
    }

    .kaal-sarp-page .content-icon {
        width: 70px;
        height: 70px;
        border-radius: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff0d0;
        font-size: 32px;
    }

    .kaal-sarp-page .kaal-content-block h2 {
        margin: 0 0 12px;
        color: var(--kaal-maroon);
    }

    .kaal-sarp-page .kaal-content-block p {
        color: #594d44;
        line-height: 1.8;
    }

    /* Rahu Ketu */

    .kaal-sarp-page .rahu-ketu-section {
        margin: 55px 0;
        padding: 35px;
        border-radius: 22px;
        background: radial-gradient(circle at top right, rgba(217, 163, 58, .12), transparent 35%), #fffaf2;
        border: 1px solid var(--kaal-border);
    }

    .kaal-sarp-page .rahu-ketu-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-top: 25px;
    }

    .kaal-sarp-page .rahu-card,
    .kaal-sarp-page .ketu-card {
        padding: 30px;
        text-align: center;
        border-radius: 18px;
        background: #fff;
        border: 1px solid #e7dac6;
    }

    .kaal-sarp-page .graha-symbol {
        width: 70px;
        height: 70px;
        margin: 0 auto 15px;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #f8ecd6;
        color: var(--kaal-maroon);
        font-size: 35px;
    }

    .kaal-sarp-page .rahu-card h3,
    .kaal-sarp-page .ketu-card h3 {
        margin: 0 0 4px;
        color: var(--kaal-maroon);
        font-size: 24px;
    }

    .kaal-sarp-page .rahu-card p,
    .kaal-sarp-page .ketu-card p {
        margin: 0 0 10px;
        color: #8a786b;
    }

    .kaal-sarp-page .rahu-card span,
    .kaal-sarp-page .ketu-card span {
        display: inline-block;
        padding: 5px 12px;
        border-radius: 30px;
        background: #fff2d7;
        color: #89520d;
        font-size: 12px;
        font-weight: 700;
    }

    /* Why Haridwar */

    .kaal-sarp-page .why-haridwar-box {
        display: grid;
        grid-template-columns: 95px 1fr;
        gap: 25px;
        margin: 50px 0;
        padding: 35px;
        border-radius: 22px;
        background: linear-gradient(135deg, #fff5dd, #fffaf0);
        border: 1px solid #e7d2a7;
    }

    .kaal-sarp-page .why-haridwar-icon {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 37px;
        box-shadow: 0 8px 25px rgba(80, 42, 12, .08);
    }

    .kaal-sarp-page .why-haridwar-box h2 {
        color: var(--kaal-maroon);
        margin-top: 0;
    }

    .kaal-sarp-page .why-haridwar-box p {
        line-height: 1.8;
        color: #5e5148;
    }

    .kaal-sarp-page .why-haridwar-box ul {
        margin: 20px 0 0;
        padding: 0;
        list-style: none;
    }

    .kaal-sarp-page .why-haridwar-box li {
        position: relative;
        padding-left: 28px;
        margin-bottom: 10px;
        color: #564941;
    }

        .kaal-sarp-page .why-haridwar-box li::before {
            content: "✓";
            position: absolute;
            left: 0;
            color: var(--kaal-saffron);
            font-weight: 800;
        }

    /* Process */

    .kaal-sarp-page .kaal-process {
        margin: 55px 0;
    }

    .kaal-sarp-page .process-timeline {
        position: relative;
    }

        .kaal-sarp-page .process-timeline::before {
            content: "";
            position: absolute;
            left: 25px;
            top: 15px;
            bottom: 15px;
            width: 2px;
            background: #ead7b2;
        }

    .kaal-sarp-page .process-item {
        position: relative;
        display: grid;
        grid-template-columns: 52px 1fr;
        gap: 20px;
        margin-bottom: 25px;
    }

    .kaal-sarp-page .process-number {
        position: relative;
        z-index: 2;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--kaal-maroon);
        color: #fff;
        font-weight: 800;
        border: 4px solid #fff;
        box-shadow: 0 0 0 1px #ead7b2;
    }

    .kaal-sarp-page .process-item h3 {
        color: var(--kaal-maroon);
        margin: 3px 0 5px;
    }

    .kaal-sarp-page .process-item p {
        margin: 0;
        color: #62564e;
        line-height: 1.7;
    }

    /* When */

    .kaal-sarp-page .kaal-when-section {
        margin: 55px 0;
    }

    .kaal-sarp-page .when-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .kaal-sarp-page .when-card {
        padding: 25px;
        border-radius: 17px;
        background: #fffaf2;
        border: 1px solid var(--kaal-border);
    }

        .kaal-sarp-page .when-card > span {
            font-size: 27px;
        }

        .kaal-sarp-page .when-card h3 {
            color: var(--kaal-maroon);
            margin: 10px 0 7px;
        }

        .kaal-sarp-page .when-card p {
            margin: 0;
            color: #62564d;
            line-height: 1.65;
        }

    /* Requirements */

    .kaal-sarp-page .booking-requirements {
        margin: 55px 0;
    }

    .kaal-sarp-page .requirements-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .kaal-sarp-page .requirement-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px 18px;
        border: 1px solid #eadfce;
        border-radius: 12px;
        background: #fff;
    }

        .kaal-sarp-page .requirement-item span {
            width: 28px;
            height: 28px;
            flex: 0 0 28px;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            background: #fff0cf;
            color: #a85d08;
            font-weight: 800;
        }

        .kaal-sarp-page .requirement-item p {
            margin: 0;
            color: #51463e;
        }

    /* Preparation */

    .kaal-sarp-page .preparation-box {
        margin: 50px 0;
        padding: 30px;
        border-radius: 18px;
        background: #fff8e9;
        border-left: 5px solid var(--kaal-saffron);
    }

        .kaal-sarp-page .preparation-box h2 {
            color: var(--kaal-maroon);
            margin-top: 0;
        }

        .kaal-sarp-page .preparation-box ul {
            padding-left: 22px;
            margin-bottom: 0;
        }

        .kaal-sarp-page .preparation-box li {
            margin-bottom: 11px;
            color: #564a42;
            line-height: 1.7;
        }

    /* Important Note */

    .kaal-sarp-page .important-note {
        display: grid;
        grid-template-columns: 55px 1fr;
        gap: 18px;
        margin: 45px 0;
        padding: 25px;
        border-radius: 16px;
        background: #f8f6f2;
        border: 1px solid #ddd7ce;
    }

    .kaal-sarp-page .important-note-icon {
        width: 45px;
        height: 45px;
        border-radius: 50%;
        background: #ebe5dc;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kaal-sarp-page .important-note h3 {
        margin: 0 0 8px;
        color: #4d4037;
    }

    .kaal-sarp-page .important-note p {
        color: #665a51;
        line-height: 1.7;
    }

    /* Sidebar */

    .kaal-sarp-page .booking-card {
        position: sticky;
        top: 100px;
        padding: 28px;
        border-radius: 20px;
        background: linear-gradient(145deg, #701d1d, #42120f);
        color: #fff;
        box-shadow: 0 15px 35px rgba(65, 21, 13, .2);
    }

    .kaal-sarp-page .booking-card-icon {
        font-size: 34px;
        margin-bottom: 12px;
    }

    .kaal-sarp-page .booking-card h3 {
        color: #fff;
        font-size: 23px;
        line-height: 1.35;
    }

    .kaal-sarp-page .booking-card p {
        color: rgba(255,255,255,.82);
        line-height: 1.7;
    }

    .kaal-sarp-page .booking-call,
    .kaal-sarp-page .booking-whatsapp {
        display: block;
        text-align: center;
        padding: 13px 16px;
        margin-top: 12px;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 800;
    }

    .kaal-sarp-page .booking-call {
        background: #fff;
        color: var(--kaal-maroon);
    }

    .kaal-sarp-page .booking-whatsapp {
        background: #f2b332;
        color: #35180c;
    }

    /* Final CTA */

    .kaal-sarp-page .service-final-cta {
        background: linear-gradient(120deg, rgba(63, 18, 9, .97), rgba(119, 45, 13, .92));
        padding: 75px 0;
        text-align: center;
    }

    .kaal-sarp-page .final-cta-content {
        max-width: 850px;
        margin: auto;
    }

    .kaal-sarp-page .cta-icon {
        font-size: 45px;
    }

    .kaal-sarp-page .service-final-cta h2 {
        color: #fff;
        font-size: clamp(28px, 4vw, 42px);
        margin: 15px 0;
    }

    .kaal-sarp-page .service-final-cta p {
        color: rgba(255,255,255,.85);
        font-size: 17px;
        line-height: 1.7;
    }

    .kaal-sarp-page .final-cta-buttons {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 25px;
    }

/* Responsive */

@media (max-width: 992px) {

    .kaal-sarp-page .kaal-highlight-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kaal-sarp-page .service-main-layout {
        grid-template-columns: 1fr;
    }

    .kaal-sarp-page .booking-card {
        position: relative;
        top: auto;
    }

    .kaal-sarp-page .kaal-sarp-hero::before,
    .kaal-sarp-page .kaal-sarp-hero::after {
        opacity: .35;
    }
}

@media (max-width: 768px) {

    .kaal-sarp-page .kaal-sarp-hero {
        min-height: 600px;
    }

        .kaal-sarp-page .kaal-sarp-hero h1 {
            font-size: 37px;
        }

        .kaal-sarp-page .kaal-sarp-hero h2 {
            font-size: 24px;
        }

        .kaal-sarp-page .kaal-sarp-hero p {
            font-size: 16px;
        }

    .kaal-sarp-page .kaal-highlight-grid,
    .kaal-sarp-page .rahu-ketu-grid,
    .kaal-sarp-page .when-grid,
    .kaal-sarp-page .requirements-list {
        grid-template-columns: 1fr;
    }

    .kaal-sarp-page .kaal-content-block,
    .kaal-sarp-page .why-haridwar-box,
    .kaal-sarp-page .important-note {
        grid-template-columns: 1fr;
    }

    .kaal-sarp-page .rahu-ketu-section {
        padding: 25px 20px;
    }

    .kaal-sarp-page .process-timeline::before {
        left: 21px;
    }

    .kaal-sarp-page .process-item {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .kaal-sarp-page .process-number {
        width: 45px;
        height: 45px;
        font-size: 13px;
    }

    .kaal-sarp-page .final-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 480px) {

    .kaal-sarp-page .kaal-sarp-hero h1 {
        font-size: 31px;
    }

    .kaal-sarp-page .kaal-sarp-hero h2 {
        font-size: 21px;
    }

    .kaal-sarp-page .service-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .kaal-sarp-page .kaal-content-block,
    .kaal-sarp-page .why-haridwar-box,
    .kaal-sarp-page .preparation-box,
    .kaal-sarp-page .important-note {
        padding: 22px;
    }
}

/* =========================================================
   INFORMATION / CONTACT / ABOUT / LEGAL PAGES
   haridwarpanditbooking.in
   ========================================================= */

.info-page,
.legal-page {
    background: #fffdf8;
    min-height: 100vh;
}

/* Hero */

.info-hero,
.legal-hero {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
    background: linear-gradient(110deg, rgba(72, 21, 12, .96), rgba(125, 46, 13, .86)), url('/images/haridwar-ganga.jpg') center/cover no-repeat;
}

    .info-hero::after,
    .legal-hero::after {
        content: "ॐ";
        position: absolute;
        right: 10%;
        top: 15%;
        color: rgba(255, 220, 150, .16);
        font-size: 150px;
    }

    .info-hero .container,
    .legal-hero .container {
        position: relative;
        z-index: 2;
    }

    .info-eyebrow,
    .legal-hero span {
        display: inline-block;
        color: #f6d78c;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 3px;
        margin-bottom: 12px;
    }

    .info-hero h1,
    .legal-hero h1 {
        color: #fff;
        font-size: clamp(38px, 5vw, 58px);
        line-height: 1.1;
        margin: 0 0 15px;
    }

    .info-hero p,
    .legal-hero p {
        max-width: 750px;
        color: rgba(255,255,255,.88);
        font-size: 18px;
        line-height: 1.8;
    }

/* Breadcrumb */

.info-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 22px 0;
    font-size: 14px;
}

    .info-breadcrumb a {
        color: #a85d18;
        text-decoration: none;
    }

    .info-breadcrumb strong {
        color: #5b3020;
    }

/* Contact */

.contact-grid {
    display: grid;
    grid-template-columns: 1.5fr .8fr;
    gap: 45px;
    padding: 50px 0 70px;
}

.contact-intro h2 {
    color: #651c1c;
    font-size: 36px;
    margin: 8px 0 18px;
}

.contact-intro > p {
    color: #5b5048;
    font-size: 17px;
    line-height: 1.8;
    max-width: 780px;
}

.contact-details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 30px;
}

.contact-detail-card {
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 20px;
    background: #fff;
    border: 1px solid #eadcc6;
    border-radius: 15px;
}

.contact-detail-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff0d0;
    border-radius: 50%;
    font-size: 22px;
}

.contact-detail-card span {
    display: block;
    color: #8a7567;
    font-size: 12px;
    margin-bottom: 4px;
}

.contact-detail-card a,
.contact-detail-card strong {
    color: #631d1d;
    font-weight: 800;
    text-decoration: none;
}

/* Contact CTA Card */

.contact-action-card {
    align-self: start;
    padding: 35px;
    border-radius: 22px;
    text-align: center;
    background: linear-gradient(145deg, #701d1d, #41130f);
    box-shadow: 0 18px 45px rgba(67, 25, 12, .18);
}

.contact-action-icon {
    font-size: 42px;
}

.contact-action-card h2 {
    color: #fff;
    font-size: 25px;
    line-height: 1.4;
}

.contact-action-card p {
    color: rgba(255,255,255,.82);
    line-height: 1.7;
}

.contact-action-call,
.contact-action-whatsapp {
    display: block;
    padding: 14px;
    margin-top: 12px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
}

.contact-action-call {
    background: #fff;
    color: #681c1c;
}

.contact-action-whatsapp {
    background: #f1b33a;
    color: #35170c;
}

/* Contact Services */

.contact-services {
    padding: 65px 0 80px;
}

.contact-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 30px;
}

    .contact-service-grid a {
        padding: 18px;
        border-radius: 13px;
        background: #fff;
        border: 1px solid #eadcc7;
        color: #5e261c;
        text-decoration: none;
        font-weight: 700;
        transition: all .25s ease;
    }

        .contact-service-grid a:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(90,40,15,.09);
        }

/* About */

.about-introduction {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 35px;
    padding: 60px 0;
}

.about-symbol {
    width: 105px;
    height: 105px;
    border-radius: 50%;
    background: #fff0d0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 50px;
    border: 1px solid #e8d4ad;
}

.about-introduction h2 {
    color: #641c1c;
    font-size: 34px;
    margin: 5px 0 18px;
}

.about-introduction p {
    color: #5b5048;
    font-size: 17px;
    line-height: 1.85;
}

.about-values {
    padding: 65px 0;
}

.about-value-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.about-value-card {
    padding: 28px 20px;
    text-align: center;
    background: #fff;
    border: 1px solid #eadcc7;
    border-radius: 17px;
}

    .about-value-card > span {
        display: block;
        font-size: 34px;
        margin-bottom: 12px;
    }

    .about-value-card h3 {
        color: #641c1c;
    }

    .about-value-card p {
        color: #665950;
        line-height: 1.7;
        font-size: 14px;
    }

.about-services {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 45px;
    padding: 70px 0;
}

    .about-services h2 {
        color: #641c1c;
    }

    .about-services > div:first-child p {
        color: #665950;
        line-height: 1.8;
    }

.about-service-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

    .about-service-list div {
        padding: 14px;
        border-radius: 10px;
        background: #fff8e9;
        color: #5a3020;
        font-weight: 700;
    }

.about-note {
    padding: 35px;
    margin: 20px 0 70px;
    border-left: 5px solid #dd7218;
    border-radius: 15px;
    background: #fff5df;
}

    .about-note h2 {
        color: #641c1c;
    }

    .about-note p {
        color: #5b5048;
        line-height: 1.8;
    }

/* Final CTA */

.info-final-cta {
    margin: 30px 0 80px;
    padding: 60px 30px;
    text-align: center;
    border-radius: 24px;
    background: linear-gradient(120deg, #651a1a, #8c3d13);
}

    .info-final-cta > span {
        font-size: 42px;
    }

    .info-final-cta h2 {
        color: #fff;
        font-size: 35px;
    }

    .info-final-cta p {
        color: rgba(255,255,255,.84);
        margin-bottom: 25px;
    }

    .info-final-cta .btn {
        margin: 5px;
    }

/* Legal */

.legal-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 45px 0 90px;
}

.legal-updated {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 30px;
    background: #fff1d3;
    color: #81500d;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 25px;
}

.legal-content h2 {
    color: #641c1c;
    font-size: 25px;
    margin: 35px 0 12px;
}

.legal-content p {
    color: #554a43;
    font-size: 16px;
    line-height: 1.85;
}

.legal-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 22px;
    margin-top: 20px;
    border-radius: 14px;
    background: #fff7e7;
    border: 1px solid #eadbc0;
}

    .legal-contact strong {
        color: #641c1c;
    }

    .legal-contact a {
        color: #a35414;
        text-decoration: none;
        font-weight: 700;
    }

/* Responsive */

@media (max-width: 992px) {

    .contact-grid,
    .about-services {
        grid-template-columns: 1fr;
    }

    .about-value-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-action-card {
        max-width: 600px;
    }
}

@media (max-width: 768px) {

    .info-hero,
    .legal-hero {
        padding: 65px 0;
    }

        .info-hero h1,
        .legal-hero h1 {
            font-size: 38px;
        }

    .contact-details,
    .contact-service-grid,
    .about-value-grid,
    .about-service-list {
        grid-template-columns: 1fr;
    }

    .about-introduction {
        grid-template-columns: 1fr;
    }

    .about-symbol {
        margin-bottom: 5px;
    }

    .contact-grid {
        padding-top: 30px;
    }

    .legal-content {
        padding: 30px 0 60px;
    }
}

@media (max-width: 480px) {

    .info-hero h1,
    .legal-hero h1 {
        font-size: 32px;
    }

    .contact-action-card,
    .about-note,
    .info-final-cta {
        padding: 25px 20px;
    }

    .about-introduction h2,
    .contact-intro h2 {
        font-size: 28px;
    }
}





/*Header css start*/
/* =========================================================
   PREMIUM WEBSITE NAVIGATION
   Haridwar Puja Booking
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    width: 100%;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid #eee;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(12px);
}

.nav-container {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Logo */

.site-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #182b3c;
    white-space: nowrap;
}

.logo-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient( 135deg, #f28c28, #d96f0b );
    color: #fff;
    font-size: 25px;
    box-shadow: 0 5px 15px rgba(242, 140, 40, 0.25);
}

.site-logo strong {
    display: block;
    font-family: "Playfair Display", serif;
    font-size: 22px;
    line-height: 1;
    color: #b72d1f;
}

.site-logo small {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #243f55;
    letter-spacing: 0.8px;
}


/* Navigation */

.main-navigation {
    display: flex;
    align-items: center;
    gap: 7px;
}

.nav-link,
.dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 42px;
    padding: 10px 14px;
    border: 0;
    background: transparent;
    color: #243f55;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
}

    .nav-link::after,
    .dropdown-toggle::after {
        content: "";
        position: absolute;
        left: 14px;
        right: 14px;
        bottom: 4px;
        height: 2px;
        background: #f28c28;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform 0.25s ease;
    }

    .nav-link:hover,
    .dropdown-toggle:hover {
        color: #d96f0b;
    }

        .nav-link:hover::after,
        .dropdown-toggle:hover::after {
            transform: scaleX(1);
        }


/* Dropdown */

.nav-dropdown {
    position: relative;
}

.dropdown-arrow {
    font-size: 17px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.nav-dropdown:hover .dropdown-arrow {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width: 300px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 10px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(24, 43, 60, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

    /* Small top arrow */

    .dropdown-menu::before {
        content: "";
        position: absolute;
        top: -7px;
        left: 50%;
        width: 13px;
        height: 13px;
        background: #fff;
        border-left: 1px solid #eee;
        border-top: 1px solid #eee;
        transform: translateX(-50%) rotate(45deg);
    }

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}


/* Dropdown Items */

.dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 43px;
    padding: 10px 13px;
    color: #263746;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 9px;
    transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

    .dropdown-menu a::before {
        content: "🪔";
        font-size: 15px;
    }

    .dropdown-menu a:hover {
        background: #fff1e4;
        color: #d96f0b;
        padding-left: 17px;
    }


/* Scrollbar */

.dropdown-menu::-webkit-scrollbar {
    width: 5px;
}

.dropdown-menu::-webkit-scrollbar-track {
    background: #f7f7f7;
}

.dropdown-menu::-webkit-scrollbar-thumb {
    background: #f28c28;
    border-radius: 10px;
}


/* Book CTA */

.nav-book-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    margin-left: 7px;
    color: #fff !important;
    background: linear-gradient( 135deg, #f28c28, #d96f0b );
    border-radius: 25px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 7px 18px rgba(217, 111, 11, 0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .nav-book-btn:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(217, 111, 11, 0.30);
    }


/* Mobile Toggle */

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    padding: 9px;
}

    .menu-toggle span {
        display: block;
        height: 2px;
        width: 100%;
        margin: 5px 0;
        background: #243f55;
        border-radius: 5px;
        transition: 0.25s ease;
    }


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

@media (max-width: 991px) {

    .nav-container {
        min-height: 28px;
    }

    .menu-toggle {
        display: block;
    }

    .main-navigation {
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 3px;
        padding: 14px;
        background: #fff;
        border-bottom: 1px solid #eee;
        box-shadow: 0 15px 30px rgba(24, 43, 60, 0.12);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    }

        .main-navigation.mobile-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0);
        }

    .nav-link,
    .dropdown-toggle {
        width: 100%;
        min-height: 48px;
        justify-content: space-between;
        padding: 12px 14px;
        border-radius: 9px;
    }

        .nav-link::after,
        .dropdown-toggle::after {
            display: none;
        }

        .nav-link:hover,
        .dropdown-toggle:hover {
            background: #fff1e4;
        }

    .nav-dropdown {
        width: 100%;
    }

    /* Mobile dropdown */

    .dropdown-menu {
        position: static;
        width: 100%;
        max-height: none;
        transform: none;
        margin: 0;
        padding: 4px 0 4px 12px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        display: none;
    }

    .nav-dropdown.mobile-open .dropdown-menu {
        display: block;
    }

    .dropdown-menu::before {
        display: none;
    }

    .dropdown-menu a {
        min-height: 40px;
        font-size: 13px;
    }

    .nav-book-btn {
        width: 100%;
        margin: 8px 0 0;
    }
}


/* Small Mobile */

@media (max-width: 575px) {

    .site-logo strong {
        font-size: 19px;
    }

    .site-logo small {
        font-size: 10px;
    }

    .logo-icon {
        width: 40px;
        height: 40px;
        font-size: 21px;
    }

    .main-navigation {
        padding: 10px;
    }
}

/*Header Css End */

/* =========================================================
   CLEAN SITE-WIDE HEADER / FOOTER / HOME EXTENSIONS
   This block is authoritative for the current _Layout.cshtml.
========================================================= */

:root {
    --hp-maroon: #7c2416;
    --hp-maroon-dark: #4b160e;
    --hp-saffron: #e87516;
    --hp-gold: #f4b33b;
    --hp-cream: #fffaf4;
    --hp-text: #4b342a;
    --hp-muted: #746258;
    --hp-border: #ead9c9;
    --hp-green: #168b52;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.container {
    width: min(1320px, calc(100% - 40px));
    max-width: 1320px;
    margin-inline: auto;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(124,36,22,.08);
    box-shadow: 0 8px 30px rgba(61,22,14,.08);
    backdrop-filter: blur(12px);
}

.nav-container {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #182b3c;
    white-space: nowrap;
}

.site-logo:hover { color: #182b3c; }

.logo-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #f28c28, #b72d1f);
    font-size: 25px;
    box-shadow: 0 7px 18px rgba(217,111,11,.22);
}

.site-logo strong {
    display: block;
    color: #8d2818;
    font-family: "Playfair Display", serif;
    font-size: 23px;
    line-height: 1;
}

.site-logo small {
    display: block;
    margin-top: 4px;
    color: #6b554b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .6px;
}

.main-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.nav-link,
.dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
    background: transparent;
    color: #3f3029;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.nav-link:hover,
.dropdown-toggle:hover { color: var(--hp-saffron); }

.nav-link::after,
.dropdown-toggle::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 3px;
    height: 2px;
    background: var(--hp-saffron);
    transform: scaleX(0);
    transition: transform .2s ease;
}

.nav-link:hover::after,
.dropdown-toggle:hover::after { transform: scaleX(1); }

.nav-dropdown { position: relative; }

.dropdown-arrow {
    font-size: 17px;
    line-height: 1;
    transition: transform .2s ease;
}

.nav-dropdown.mobile-open .dropdown-arrow { transform: rotate(180deg); }

.dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    width: 300px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 10px;
    margin: 0;
    background: #fff;
    border: 1px solid #eadfd8;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(24,43,60,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.nav-dropdown:hover > .dropdown-menu,
.nav-dropdown:focus-within > .dropdown-menu,
.nav-dropdown.mobile-open > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 12px;
    color: #34414b;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 600;
}

.dropdown-menu a::before {
    content: "🪔";
    font-size: 14px;
}

.dropdown-menu a:hover {
    color: var(--hp-saffron);
    background: #fff2e5;
}

.nav-book-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    margin-left: 7px;
    padding: 10px 18px;
    color: #fff !important;
    background: linear-gradient(135deg, #e87516, #b84b16);
    border-radius: 26px;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(196,84,22,.22);
    transition: transform .2s ease, box-shadow .2s ease;
}

.nav-book-btn:hover {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(196,84,22,.28);
}

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 9px;
    border: 1px solid #eadfd8;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}

.menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 5px 0;
    background: #3d302a;
    border-radius: 4px;
}

/* Full-width visual sections */
.hero-section,
.quick-contact,
.intro-section,
.services-section,
.process-section,
.main-cta,
.why-home-section,
.seo-home-section,
.booking-benefits-section,
.home-faq-section {
    width: 100%;
}

.hero-section {
    min-height: 720px;
    height: min(78vh, 820px);
}

.quick-contact-grid {
    width: 100%;
}

/* Service images: consistent ratio and sharp presentation */
.service-card > img {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center center;
    border: 0;
    border-radius: 14px;
    margin: 0 0 18px;
    padding: 0;
    background: #f3eee9;
}

.service-card .img-thumbnail {
    padding: 0;
    background: transparent;
}

/* Why choose us */
.why-home-section {
    padding: 88px 0;
    background: linear-gradient(180deg, #fffaf4 0%, #fff 100%);
}

.why-home-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.why-home-card {
    padding: 28px 25px;
    border: 1px solid var(--hp-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(70,30,10,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.why-home-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 42px rgba(70,30,10,.11);
}

.why-home-icon {
    width: 55px;
    height: 55px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 16px;
    color: var(--hp-saffron);
    background: #fff0df;
    font-size: 22px;
}

.why-home-card h3 {
    margin: 0 0 8px;
    color: #592619;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 21px;
}

.why-home-card p {
    margin: 0;
    color: var(--hp-muted);
    font-size: 14px;
    line-height: 1.75;
}

/* SEO content */
.seo-home-section {
    padding: 90px 0;
    background: #f8efe5;
}

.seo-home-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 60px;
    align-items: center;
}

.seo-home-grid h2 {
    margin: 0 0 18px;
    color: #492719;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: clamp(31px, 4vw, 43px);
    line-height: 1.3;
}

.seo-home-grid p {
    color: #6e5c51;
    font-size: 15px;
    line-height: 1.9;
}

.seo-home-highlight {
    padding: 35px;
    border: 1px solid #ead5c2;
    border-radius: 24px;
    background: linear-gradient(145deg, #fff, #fff3e2);
    box-shadow: 0 20px 50px rgba(79,31,11,.09);
}

.seo-home-om {
    display: block;
    margin-bottom: 8px;
    color: var(--hp-saffron);
    font-size: 58px;
    line-height: 1;
}

.seo-home-highlight h3 {
    margin: 0 0 18px;
    color: #642316;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif;
    font-size: 25px;
}

.seo-home-highlight ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.seo-home-highlight li {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 0;
    color: #5a4539;
    font-size: 14px;
    border-bottom: 1px dashed #e5cfb8;
}

.seo-home-highlight li:last-child { border-bottom: 0; }
.seo-home-highlight li i { color: var(--hp-green); }

/* Booking benefits */
.booking-benefits-section { padding: 88px 0; background: #fff; }

.booking-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.booking-benefit {
    display: flex;
    gap: 14px;
    padding: 24px 20px;
    border: 1px solid var(--hp-border);
    border-radius: 18px;
    background: #fffaf5;
}

.booking-benefit > span {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--hp-maroon);
    font-size: 12px;
    font-weight: 900;
}

.booking-benefit h3 {
    margin: 0 0 5px;
    color: #5a281a;
    font-size: 17px;
}

.booking-benefit p {
    margin: 0;
    color: var(--hp-muted);
    font-size: 13px;
    line-height: 1.65;
}

/* Home FAQ */
.home-faq-section {
    padding: 88px 0;
    background: #f8efe5;
}

.home-faq-list {
    max-width: 940px;
    margin-inline: auto;
}

.home-faq-list details {
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid var(--hp-border);
    border-radius: 14px;
    background: #fff;
}

.home-faq-list summary {
    position: relative;
    padding: 18px 50px 18px 21px;
    color: #57281a;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.home-faq-list summary::-webkit-details-marker { display: none; }

.home-faq-list summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 10px;
    color: var(--hp-saffron);
    font-size: 24px;
}

.home-faq-list details[open] summary::after { content: "−"; }

.home-faq-list details p {
    margin: 0;
    padding: 0 22px 20px;
    color: #6e5c51;
    font-size: 14px;
    line-height: 1.8;
}

/* Attractive footer */
.footer {
    padding-top: 0;
    color: #ead8ca;
    background: linear-gradient(180deg, #3d160e 0%, #2b100b 100%);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1fr;
    gap: 38px;
    padding: 65px 0 52px;
}

.footer-column h3 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
}

.footer-column > a:not(.footer-contact-button):not(.footer-brand) {
    display: block;
    margin: 9px 0;
    color: #d9c6b9;
    font-size: 13px;
    transition: color .2s ease, padding-left .2s ease;
}

.footer-column > a:not(.footer-contact-button):not(.footer-brand):hover {
    color: #ffb23d;
    padding-left: 5px;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.footer-brand img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.footer-brand strong {
    display: block;
    color: #fff;
    font-family: "Playfair Display", serif;
    font-size: 25px;
    line-height: 1;
}

.footer-brand small {
    display: block;
    margin-top: 5px;
    color: #e77b20;
    font-size: 11px;
    font-weight: 700;
}

.footer-about p {
    max-width: 410px;
    margin: 0 0 12px;
    color: #cdb9aa;
    font-size: 13px;
    line-height: 1.8;
}

.footer-tagline {
    color: #ffb34b !important;
    font-weight: 700;
}

.footer-social {
    display: flex;
    gap: 9px;
    margin-top: 20px;
}

.footer-social a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.07);
    transition: transform .2s ease, background .2s ease;
}

.footer-social a:hover {
    color: #fff;
    background: var(--hp-saffron);
    transform: translateY(-3px);
}

.footer-contact {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 10px 0 !important;
    color: #ead8ca !important;
}

.footer-contact i { width: 18px; color: #ffb34b; }

.footer-contact-column p {
    color: #cdb9aa;
    font-size: 13px;
    line-height: 1.7;
}

.footer-contact-button {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin-top: 12px !important;
    padding: 10px 16px;
    border: 1px solid #d56a1c;
    border-radius: 25px;
    color: #ffb34b !important;
    font-size: 13px;
    font-weight: 800;
}

.footer-contact-button:hover {
    color: #fff !important;
    background: var(--hp-saffron);
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.10);
}

.footer-bottom-inner {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.footer-bottom p {
    margin: 0;
    color: #ad9689;
    font-size: 12px;
}

.footer-bottom-links {
    display: flex;
    gap: 18px;
}

.footer-bottom-links a {
    color: #cdb9aa;
    font-size: 12px;
}

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

/* Responsive cleanup */
@media (max-width: 1100px) {
    .main-navigation { gap: 0; }
    .nav-link, .dropdown-toggle { padding-inline: 10px; }
    .why-home-grid { grid-template-columns: repeat(2, 1fr); }
    .booking-benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991px) {
    .nav-container { min-height: 72px; }
    .menu-toggle { display: block; }
    .main-navigation {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 3px;
        padding: 12px;
        background: #fff;
        border-top: 1px solid #eee;
        box-shadow: 0 18px 35px rgba(0,0,0,.12);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: .2s ease;
    }

    .main-navigation.mobile-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .nav-link, .dropdown-toggle {
        width: 100%;
        min-height: 48px;
        justify-content: space-between;
        padding: 12px 14px;
        border-radius: 9px;
    }

    .nav-link::after, .dropdown-toggle::after { display: none; }

    .nav-link:hover, .dropdown-toggle:hover { background: #fff1e4; }

    .nav-dropdown { width: 100%; }

    .dropdown-menu {
        position: static;
        width: 100%;
        max-height: none;
        margin: 0;
        padding: 3px 0 3px 12px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        display: none;
    }

    .nav-dropdown.mobile-open > .dropdown-menu {
        display: block;
        transform: none;
    }

    .nav-dropdown:hover > .dropdown-menu,
    .nav-dropdown:focus-within > .dropdown-menu {
        display: none;
    }

    .nav-dropdown.mobile-open:hover > .dropdown-menu,
    .nav-dropdown.mobile-open:focus-within > .dropdown-menu {
        display: block;
    }

    .nav-book-btn {
        width: 100%;
        margin: 7px 0 0;
    }

    .hero-section {
        height: 650px;
        min-height: 650px;
    }

    .seo-home-grid { grid-template-columns: 1fr; gap: 35px; }
}

@media (max-width: 760px) {
    .container { width: min(94%, 1320px); }

    .topbar-inner {
        padding: 8px 0;
        flex-direction: column;
        gap: 5px;
        text-align: center;
    }

    .top-actions {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .hero-section {
        height: 610px;
        min-height: 610px;
    }

    .hero-content { padding-inline: 4%; }

    .why-home-grid,
    .booking-benefits-grid,
    .footer-grid { grid-template-columns: 1fr; }

    .why-home-section,
    .seo-home-section,
    .booking-benefits-section,
    .home-faq-section { padding: 62px 0; }

    .footer-grid { gap: 30px; padding: 48px 0 38px; }

    .footer-bottom-inner {
        flex-direction: column;
        justify-content: center;
        padding: 16px 0;
        text-align: center;
    }

    .footer-bottom-links {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .site-logo strong { font-size: 20px; }
    .site-logo small { font-size: 10px; }
    .logo-icon { width: 43px; height: 43px; flex-basis: 43px; }

    .hero-section {
        height: 570px;
        min-height: 570px;
    }

    .service-card > img {
        aspect-ratio: 1 / 1;
        height: auto;
    }

    .seo-home-highlight { padding: 25px 20px; }
    .booking-benefit { padding: 20px 16px; }
}


/* =========================================================
   FINAL SERVICE IMAGE FIX
   Keep all homepage service images uniform, clear and sharp.
========================================================= */

.services-section .services-grid .service-card {
    overflow: hidden;
}

.services-section .services-grid .service-card > img {
    width: 100% !important;
    height: 420px !important;
    aspect-ratio: auto !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #f3eee9 !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none;
}

.services-section .services-grid .service-card:hover > img {
    transform: scale(1.02);
    transition: transform .35s ease;
}

@media (max-width: 950px) {
    .services-section .services-grid .service-card > img {
        height: 340px !important;
    }
}

@media (max-width: 760px) {
    .services-section .services-grid .service-card > img {
        height: 335px !important;
    }
}

@media (max-width: 480px) {
    .services-section .services-grid .service-card > img {
        height: 325px !important;
    }
}


/* =========================================================
   FINAL DROPDOWN FIX - SERVICES MENU
   Resolves conflicting/duplicate dropdown rules.
   Works with the existing .nav-dropdown.mobile-open JS.
   ========================================================= */
.nav-dropdown { position: relative; }

@media (min-width: 992px) {
    .nav-dropdown > .dropdown-menu {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 50% !important;
        width: 300px !important;
        max-height: 70vh;
        overflow-y: auto;
        display: block !important;
        margin: 0 !important;
        padding: 10px !important;
        background: #fff !important;
        border: 1px solid #eadfd8 !important;
        border-radius: 14px !important;
        box-shadow: 0 20px 45px rgba(24,43,60,.16) !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(-50%) translateY(8px) !important;
        transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
        z-index: 99999;
    }

    .nav-dropdown:hover > .dropdown-menu,
    .nav-dropdown:focus-within > .dropdown-menu,
    .nav-dropdown.mobile-open > .dropdown-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) !important;
    }
}

@media (max-width: 991px) {
    .nav-dropdown { width: 100%; }

    .nav-dropdown > .dropdown-menu {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        display: none !important;
        margin: 0 !important;
        padding: 5px 0 5px 15px !important;
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .nav-dropdown.mobile-open > .dropdown-menu {
        display: block !important;
    }

    .nav-dropdown .dropdown-menu a {
        display: flex !important;
        align-items: center;
        width: 100%;
        min-height: 42px;
        padding: 10px 15px !important;
        color: #34414b;
        text-decoration: none;
        border-radius: 9px;
    }

    .nav-dropdown .dropdown-menu a:hover {
        background: #fff2e5;
        color: #e87516;
    }
}


/* =========================================================
   FINAL ASTHI-STYLE SITE-WIDE OVERRIDE
   Header + service buttons + floating Call/WhatsApp
========================================================= */
.site-header,.main-header,header.site-header,header.main-header{position:sticky!important;top:0!important;z-index:1100!important;width:100%;background:rgba(255,255,255,.98)!important;border-bottom:1px solid rgba(124,36,22,.10);box-shadow:0 8px 30px rgba(61,22,14,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-header .topbar,.site-header .top-bar,.site-header .main-navigation,.site-header .navbar,.site-header nav{position:relative;z-index:1101!important}
.site-header .nav-link,.site-header .dropdown-toggle{color:#3f3029!important;font-weight:700;transition:.25s ease}
.site-header .nav-link:hover,.site-header .dropdown-toggle:hover,.site-header .nav-link.active{color:#e87516!important}
.site-header .dropdown-menu,header .dropdown-menu{z-index:99999!important;background:#fff;border:1px solid #ead9c9;border-radius:12px;box-shadow:0 18px 45px rgba(55,25,10,.14)}
.service-hero,.service-banner,.service-page-hero,.mundan-hero,.ganga-hero{position:relative;z-index:1}
.service-hero>.container,.service-banner>.container,.service-page-hero>.container,.mundan-hero>.container,.ganga-hero>.container{position:relative;z-index:2}
.service-hero .btn-call,.service-hero .btn-whatsapp,.service-hero .call-btn,.service-hero .whatsapp-btn,.service-banner .btn-call,.service-banner .btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 25px;border-radius:50px;text-decoration:none!important;font-weight:800;border:0;transition:all .3s ease}
.service-hero .btn-call,.service-hero .call-btn,.service-banner .btn-call{background:#fff!important;color:#9b3e08!important;box-shadow:0 8px 25px rgba(0,0,0,.14)}
.service-hero .btn-whatsapp,.service-hero .whatsapp-btn,.service-banner .btn-whatsapp{background:#168b52!important;color:#fff!important;box-shadow:0 9px 25px rgba(22,139,82,.25)}
.service-hero .btn-call:hover,.service-hero .btn-whatsapp:hover,.service-hero .call-btn:hover,.service-hero .whatsapp-btn:hover,.service-banner .btn-call:hover,.service-banner .btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.20)}
.booking-card .call-btn,.booking-card .whatsapp-btn,.service-sidebar .call-btn,.service-sidebar .whatsapp-btn{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:50px;color:#fff!important;font-weight:800;text-decoration:none!important;transition:all .3s ease}
.booking-card .call-btn,.service-sidebar .call-btn{background:#c45416!important}.booking-card .whatsapp-btn,.service-sidebar .whatsapp-btn{background:#168b52!important}.booking-card .call-btn:hover,.booking-card .whatsapp-btn:hover,.service-sidebar .call-btn:hover,.service-sidebar .whatsapp-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.18)}
.floating-contact{position:fixed!important;right:18px!important;bottom:20px!important;z-index:99999!important;display:flex!important;flex-direction:column!important;align-items:center;gap:11px!important;pointer-events:none}
.floating-contact a,.floating-contact .float-call,.floating-contact .float-wa{width:58px!important;height:58px!important;min-width:58px;min-height:58px;display:grid!important;place-items:center!important;border-radius:50%!important;color:#fff!important;text-decoration:none!important;font-size:24px!important;line-height:1!important;border:3px solid #fff!important;box-shadow:0 8px 25px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.12)!important;transition:transform .25s ease,box-shadow .25s ease!important;pointer-events:auto}
.floating-contact .float-call{background:#c45416!important}.floating-contact .float-wa{background:#168b52!important}
.floating-contact a:hover{transform:scale(1.1) translateY(-2px)!important;box-shadow:0 13px 32px rgba(0,0,0,.28),0 3px 10px rgba(0,0,0,.14)!important}
.floating-contact .float-wa{animation:hpWhatsAppPulse 2.4s infinite}
@keyframes hpWhatsAppPulse{0%,100%{box-shadow:0 8px 25px rgba(0,0,0,.22),0 0 0 0 rgba(22,139,82,.35)}50%{box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 0 9px rgba(22,139,82,0)}}
@media(max-width:760px){.site-header,.main-header,header.site-header,header.main-header{position:sticky!important;top:0!important;z-index:1100!important}.site-header .main-navigation{z-index:1200!important}.site-header .dropdown-menu,header .dropdown-menu{z-index:99999!important}.floating-contact{right:13px!important;bottom:14px!important;gap:9px!important}.floating-contact a,.floating-contact .float-call,.floating-contact .float-wa{width:52px!important;height:52px!important;min-width:52px;min-height:52px;font-size:21px!important;border-width:2px!important}.service-hero .btn-call,.service-hero .btn-whatsapp,.service-hero .call-btn,.service-hero .whatsapp-btn{width:100%}}
@media(max-width:480px){.floating-contact{right:10px!important;bottom:10px!important}.floating-contact a,.floating-contact .float-call,.floating-contact .float-wa{width:48px!important;height:48px!important;min-width:48px;min-height:48px;font-size:19px!important}}


/* =========================================================
   ASTHI VISARJAN STYLE — TARGETED SERVICE PAGE UPDATE
   ONLY: HERO + HERO CALL BUTTON + QUICK LINKS
   All other existing page styles remain unchanged.
========================================================= */

/* ---------- SERVICE HERO ---------- */
.service-hero {
    position: relative !important;
    overflow: hidden !important;
    padding: 82px 0 88px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 88% 20%, rgba(255,190,70,.16), transparent 30%),
        linear-gradient(115deg, #48140b 0%, #7d2411 48%, #a74616 100%) !important;
}

.service-hero::before {
    content: "" !important;
    position: absolute !important;
    width: 430px !important;
    height: 430px !important;
    border-radius: 50% !important;
    top: -190px !important;
    right: -100px !important;
    background: rgba(255,193,7,.08) !important;
    pointer-events: none !important;
}

.service-hero::after {
    content: "ॐ" !important;
    position: absolute !important;
    right: 5% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-family: serif !important;
    font-size: 280px !important;
    line-height: 1 !important;
    color: rgba(255,255,255,.045) !important;
    pointer-events: none !important;
}

.service-hero-grid {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr) !important;
    align-items: center !important;
    gap: 55px !important;
}

.service-label {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 16px !important;
    margin-bottom: 17px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 50px !important;
    background: rgba(255,255,255,.08) !important;
    color: #ffd79a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 1.8px !important;
}

.service-hero h1 {
    position: relative !important;
    max-width: 850px !important;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: "Playfair Display", "Noto Sans Devanagari", serif !important;
    font-size: clamp(2.45rem, 5vw, 4.1rem) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}

.service-hero h1 span {
    color: #ffbd50 !important;
}

.service-hero p,
.service-hero .hero-description {
    max-width: 780px !important;
    margin: 0 0 28px !important;
    color: rgba(255,247,234,.93) !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}

/* ---------- HERO CALL BUTTON ---------- */
.service-hero .btn-call,
.service-hero .call-btn,
.service-hero-buttons .btn-call {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 52px !important;
    padding: 13px 26px !important;
    border: 0 !important;
    border-radius: 50px !important;
    background: #fff !important;
    color: #8f370a !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.16) !important;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.service-hero .btn-call:hover,
.service-hero .call-btn:hover,
.service-hero-buttons .btn-call:hover {
    background: #fff4e5 !important;
    color: #7a2e08 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.23) !important;
}

.service-hero .btn-call i,
.service-hero .call-btn i,
.service-hero-buttons .btn-call i {
    font-size: 17px !important;
}

/* WhatsApp remains the Asthi-style green companion button */
.service-hero .btn-whatsapp,
.service-hero .whatsapp-btn,
.service-hero-buttons .btn-whatsapp {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 52px !important;
    padding: 13px 26px !important;
    border-radius: 50px !important;
    background: #168b52 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 28px rgba(22,139,82,.24) !important;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.service-hero .btn-whatsapp:hover,
.service-hero .whatsapp-btn:hover,
.service-hero-buttons .btn-whatsapp:hover {
    background: #106d40 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 32px rgba(22,139,82,.30) !important;
}

/* ---------- QUICK LINKS / QUICK CONTACT ---------- */
.quick-contact {
    position: relative !important;
    z-index: 5 !important;
    margin-top: 0 !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: 0 12px 35px rgba(70,30,10,.07) !important;
}

.quick-contact-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 18px !important;
    padding: 20px 0 !important;
}

.quick-item {
    min-height: 76px !important;
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 13px 15px !important;
    border: 1px solid #efddc7 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 25px rgba(76,40,13,.065) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.quick-item:hover {
    transform: translateY(-4px) !important;
    border-color: #e7bd91 !important;
    box-shadow: 0 14px 32px rgba(76,40,13,.11) !important;
}

.quick-icon {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #fff1df !important;
    color: #c45416 !important;
    font-size: 21px !important;
}

.quick-item strong {
    display: block !important;
    margin-bottom: 2px !important;
    color: #592619 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

.quick-item span,
.quick-item a {
    display: block !important;
    color: #806c60 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.quick-item a {
    color: #c45416 !important;
    font-weight: 850 !important;
}

.quick-item a:hover {
    color: #9b3e08 !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
    .service-hero {
        padding: 68px 0 76px !important;
    }

    .service-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .quick-contact-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

@media (max-width: 600px) {
    .service-hero {
        padding: 55px 0 62px !important;
    }

    .service-hero::after {
        right: -40px !important;
        font-size: 190px !important;
    }

    .service-hero h1 {
        font-size: 36px !important;
    }

    .service-hero p,
    .service-hero .hero-description {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }

    .service-hero .btn-call,
    .service-hero .call-btn,
    .service-hero .btn-whatsapp,
    .service-hero .whatsapp-btn,
    .service-hero-buttons .btn-call,
    .service-hero-buttons .btn-whatsapp {
        width: 100% !important;
        margin: 4px 0 !important;
    }

    .quick-contact-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 15px 0 !important;
    }

    .quick-item {
        min-height: 68px !important;
        padding: 11px 13px !important;
    }
}

/* =========================================================
   KAAL SARP + NAVAGRAHA BODY DESIGN FIX
   Only these two pages are affected.
   Header / footer / other service pages remain unchanged.
   ========================================================= */
.kaal-sarp-page,.navagraha-page{background:#fffaf3!important;color:#3d2415}
.kaal-sarp-page .service-main-layout,.navagraha-page .service-main-layout{width:min(1200px,92%)!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 350px!important;gap:35px!important;align-items:start!important}
.kaal-sarp-page .service-content-section,.navagraha-page .service-content-section{padding:55px 0 80px!important;background:#fffaf3!important}
.kaal-sarp-page .service-main-content,.navagraha-page .service-main-content{min-width:0!important;background:#fff!important;border:1px solid #f0dfca!important;border-radius:22px!important;padding:38px!important;box-shadow:0 10px 35px rgba(73,38,14,.075)!important}
.kaal-sarp-page .service-main-content>:first-child,.navagraha-page .service-main-content>:first-child{margin-top:0!important}
.kaal-sarp-page .service-main-content h2,.navagraha-page .service-main-content h2{color:#702e0c!important;font-family:"Playfair Display","Noto Sans Devanagari",serif!important;font-size:31px!important;line-height:1.35!important;margin:0 0 16px!important}
.kaal-sarp-page .service-main-content h3,.navagraha-page .service-main-content h3{color:#8e3d0b!important;font-family:"Playfair Display","Noto Sans Devanagari",serif!important;font-size:22px!important;line-height:1.4!important;margin:30px 0 12px!important}
.kaal-sarp-page .service-main-content p,.navagraha-page .service-main-content p{color:#59483b!important;font-size:15px!important;line-height:1.9!important;margin:0 0 16px!important}
.kaal-sarp-page .service-main-content strong,.navagraha-page .service-main-content strong{color:#71300d!important}
.kaal-sarp-page .content-intro,.navagraha-page .content-intro{padding:0 0 20px!important}
.kaal-sarp-page .content-intro p,.navagraha-page .content-intro p{max-width:900px!important;color:#5f4d42!important;font-size:16px!important;line-height:1.9!important}
.kaal-sarp-page .kaal-content-block,.navagraha-page .navagraha-content-block{display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;gap:20px!important;align-items:start!important;margin:25px 0!important;padding:25px!important;border-radius:18px!important;background:linear-gradient(135deg,#fffaf3,#fff)!important;border:1px solid #ead9c7!important;box-shadow:0 7px 22px rgba(73,38,14,.045)!important}
.kaal-sarp-page .kaal-content-block h2,.navagraha-page .navagraha-content-block h2{margin:0 0 10px!important;font-size:24px!important}
.kaal-sarp-page .kaal-content-block p,.navagraha-page .navagraha-content-block p{margin-bottom:0!important;font-size:14.5px!important;line-height:1.85!important}
.kaal-sarp-page .content-icon,.navagraha-page .content-icon{width:62px!important;height:62px!important;border-radius:17px!important;background:linear-gradient(145deg,#fff0d7,#ffe4bf)!important;color:#b64c16!important;display:grid!important;place-items:center!important;font-size:29px!important}
.kaal-sarp-page .rahu-ketu-section{margin:35px 0!important;padding:28px!important;border-radius:20px!important;background:linear-gradient(135deg,#fff8ed,#fff)!important;border:1px solid #ead9c7!important;box-shadow:0 8px 25px rgba(73,38,14,.05)!important}
.kaal-sarp-page .rahu-ketu-grid{gap:18px!important;margin-top:20px!important}
.kaal-sarp-page .rahu-card,.kaal-sarp-page .ketu-card{padding:25px!important;border-radius:17px!important;background:#fff!important;border:1px solid #ead9c7!important;box-shadow:0 7px 20px rgba(73,38,14,.045)!important}
.kaal-sarp-page .graha-symbol{width:62px!important;height:62px!important;margin-bottom:12px!important;background:#fff0d7!important;color:#a74616!important}
.navagraha-page .navagraha-planets{margin:35px 0!important}
.navagraha-page .planet-grid{gap:18px!important}
.navagraha-page .planet-card{padding:22px 15px!important;border-radius:17px!important;background:#fff!important;border:1px solid #ead9c7!important;box-shadow:0 7px 20px rgba(73,38,14,.045)!important}
.kaal-sarp-page .when-grid,.navagraha-page .when-grid{gap:16px!important}
.kaal-sarp-page .when-card,.navagraha-page .when-card{padding:22px!important;border-radius:16px!important;background:#fffaf4!important;border:1px solid #ead9c7!important}
.kaal-sarp-page .requirements-list,.navagraha-page .requirements-list{gap:12px!important}
.kaal-sarp-page .requirement-item,.navagraha-page .requirement-item{min-height:58px!important;padding:13px 15px!important;border-radius:13px!important;background:#fff!important;border:1px solid #eadfd3!important}
.kaal-sarp-page .preparation-box,.navagraha-page .preparation-box{margin:35px 0!important;padding:24px!important;border-radius:17px!important;background:linear-gradient(135deg,#fff7e9,#fffdf9)!important;border:1px solid #ead9c7!important;border-left:5px solid #d66a18!important}
.kaal-sarp-page .important-note,.navagraha-page .important-note{margin:35px 0!important;padding:22px!important;border-radius:17px!important;background:#fffaf4!important;border:1px solid #ead9c7!important}
.kaal-sarp-page .service-sidebar,.navagraha-page .service-sidebar{position:sticky!important;top:105px!important}
.kaal-sarp-page .booking-card,.navagraha-page .booking-card{padding:28px 24px!important;border-radius:22px!important;box-shadow:0 18px 45px rgba(65,27,10,.12)!important}
.kaal-sarp-page .booking-call,.kaal-sarp-page .booking-whatsapp,.navagraha-page .booking-call,.navagraha-page .booking-whatsapp{min-height:50px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:28px!important;transition:transform .25s ease,box-shadow .25s ease!important}
.kaal-sarp-page .booking-call:hover,.kaal-sarp-page .booking-whatsapp:hover,.navagraha-page .booking-call:hover,.navagraha-page .booking-whatsapp:hover{transform:translateY(-3px)!important;box-shadow:0 10px 25px rgba(0,0,0,.16)!important}
@media(max-width:992px){.kaal-sarp-page .service-main-layout,.navagraha-page .service-main-layout{width:min(1180px,92%)!important;grid-template-columns:1fr!important;gap:25px!important}.kaal-sarp-page .service-sidebar,.navagraha-page .service-sidebar{position:static!important}.kaal-sarp-page .service-main-content,.navagraha-page .service-main-content{padding:30px!important}}
@media(max-width:768px){.kaal-sarp-page .service-content-section,.navagraha-page .service-content-section{padding:35px 0 55px!important}.kaal-sarp-page .service-main-content,.navagraha-page .service-main-content{padding:24px 18px!important;border-radius:17px!important}.kaal-sarp-page .service-main-content h2,.navagraha-page .service-main-content h2{font-size:26px!important}.kaal-sarp-page .service-main-content h3,.navagraha-page .service-main-content h3{font-size:20px!important}.kaal-sarp-page .kaal-content-block,.navagraha-page .navagraha-content-block{grid-template-columns:1fr!important;gap:12px!important;padding:21px!important}.kaal-sarp-page .content-icon,.navagraha-page .content-icon{width:54px!important;height:54px!important;font-size:25px!important}.kaal-sarp-page .rahu-ketu-section{padding:22px 18px!important}.kaal-sarp-page .preparation-box,.navagraha-page .preparation-box,.kaal-sarp-page .important-note,.navagraha-page .important-note{padding:20px!important}}
@media(max-width:480px){.kaal-sarp-page .service-main-layout,.navagraha-page .service-main-layout{width:92%!important}.kaal-sarp-page .service-main-content,.navagraha-page .service-main-content{padding:21px 16px!important}.kaal-sarp-page .service-main-content h2,.navagraha-page .service-main-content h2{font-size:24px!important}.kaal-sarp-page .service-main-content p,.navagraha-page .service-main-content p{font-size:14px!important}}


/* =========================================================
   MOBILE HEADER / MENU HEIGHT FIX
   Only fixes the responsive header height.
========================================================= */

@media (max-width: 991px) {

    .site-header .nav-container {
        min-height: 60px !important;
        height: 60px !important;
    }

    .site-header .main-navigation {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
}

@media (max-width: 480px) {

    .site-header .nav-container {
        min-height: 60px !important;
        height: 60px !important;
    }
}

/* =========================================================
   FINAL RESPONSIVE MOBILE MENU FIX
   Add this at the VERY END of site.css
========================================================= */

@media (max-width: 991px) {

    /* Compact Header */
    .site-header .nav-container {
        position: relative !important;
        min-height: 60px !important;
        height: 60px !important;
    }

    /* Hamburger Button */
    .site-header .menu-toggle {
        display: block !important;
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        position: relative !important;
        z-index: 1300 !important;
        cursor: pointer !important;
    }

    /* Mobile Menu - CLOSED */
    .site-header .main-navigation {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 3px !important;
        padding: 12px !important;
        margin: 0 !important;
        background: #fff !important;
        border-top: 1px solid #eee !important;
        border-bottom: 1px solid #eee !important;
        box-shadow: 0 18px 35px rgba(0, 0, 0, 0.12) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-8px) !important;
        z-index: 1200 !important;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
    }

        /* Mobile Menu - OPEN */
        .site-header .main-navigation.mobile-open {
            position: absolute !important;
            top: 100% !important;
            left: 0 !important;
            right: 0 !important;
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
            transform: translateY(0) !important;
            z-index: 1200 !important;
        }

        /* Menu Items */
        .site-header .main-navigation > .nav-link,
        .site-header .main-navigation > .nav-dropdown,
        .site-header .main-navigation > .nav-book-btn {
            width: 100% !important;
        }

        .site-header .main-navigation .nav-link,
        .site-header .main-navigation .dropdown-toggle {
            width: 100% !important;
            min-height: 48px !important;
            padding: 12px 14px !important;
        }

    /* Dropdown */
    .site-header .nav-dropdown {
        width: 100% !important;
    }

        .site-header .nav-dropdown > .dropdown-menu {
            position: static !important;
            width: 100% !important;
            display: none !important;
            margin: 0 !important;
            padding: 4px 0 4px 12px !important;
            border: 0 !important;
            box-shadow: none !important;
            transform: none !important;
        }

        /* Dropdown Open */
        .site-header .nav-dropdown.mobile-open > .dropdown-menu {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
        }

    /* Book Button */
    .site-header .nav-book-btn {
        width: 100% !important;
        margin: 7px 0 0 !important;
    }
}


/* Small Mobile */
@media (max-width: 575px) {

    .site-header .nav-container {
        min-height: 60px !important;
        height: 60px !important;
    }

    .site-header .logo-icon {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    .site-header .menu-toggle {
        width: 44px !important;
        height: 44px !important;
    }
}

/* =========================================================
   FINAL MOBILE MENU FIX - AUTHORITATIVE
   This override is intentionally placed at the very end.
   It only fixes the responsive header/menu behavior.
========================================================= */

@media (max-width: 991px) {

    /* Keep the header compact and allow the absolute menu to show */
    .site-header {
        overflow: visible !important;
    }

    .site-header .nav-container {
        position: relative !important;
        overflow: visible !important;
        min-height: 60px !important;
        height: 60px !important;
    }

    /* Hamburger */
    .site-header .menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 8px !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 10001 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    .site-header .menu-toggle span {
        display: block !important;
        width: 100% !important;
        height: 2px !important;
        margin: 3px 0 !important;
        flex: 0 0 2px !important;
        background: #243f55 !important;
        border-radius: 5px !important;
    }

    /* CLOSED */
    .site-header .main-navigation {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;

        display: none !important;

        flex-direction: column !important;
        align-items: stretch !important;
        gap: 3px !important;

        padding: 12px !important;
        margin: 0 !important;

        background: #ffffff !important;
        border-top: 1px solid #eeeeee !important;
        border-bottom: 1px solid #eeeeee !important;
        box-shadow: 0 18px 35px rgba(0,0,0,.12) !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;

        z-index: 10000 !important;
    }

    /* OPEN */
    .site-header .main-navigation.mobile-open {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    /* Menu links */
    .site-header .main-navigation > .nav-link,
    .site-header .main-navigation > .nav-dropdown,
    .site-header .main-navigation > .nav-book-btn {
        width: 100% !important;
        flex: 0 0 auto !important;
    }

    .site-header .main-navigation .nav-link,
    .site-header .main-navigation .dropdown-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
    }

    /* Services dropdown */
    .site-header .nav-dropdown {
        width: 100% !important;
    }

    .site-header .nav-dropdown > .dropdown-menu {
        position: static !important;
        display: none !important;
        width: 100% !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 4px 0 4px 12px !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .site-header .nav-dropdown.mobile-open > .dropdown-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .site-header .nav-book-btn {
        width: 100% !important;
        margin: 7px 0 0 !important;
    }
}

@media (max-width: 575px) {

    .site-header .nav-container {
        min-height: 60px !important;
        height: 60px !important;
    }

    .site-header .logo-icon {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }
}


