/*
 * Page-specific styles for GroupPuja/show.blade.php (individual group-puja
 * page). First section below is the "detail page chrome" — sticky booking
 * card, prep guide, package-details rich-text, FAQ accordion, reviews, app
 * CTA banner — shared in content with pages/e-puja/show.css (kept as a
 * separate copy here rather than an include, so this file is complete on
 * its own). Second section is what's genuinely group-puja-only: the
 * "Group Puja" badge, the countdown timer, and the why-gp-* answer card.
 * Load after components/video-cta.css.
 */

        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

        .service-single {
            font-family: 'Noto Sans', sans-serif !important;
        }
        .square-image {
            width: 100%;
            max-width: 420px;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            border-radius: 12px;
            border: 1px solid #eaeaea;
            display: block;
            margin: 0 auto;
        }
        .badge-epuja-right {
            background-color: #fff3ea;
            color: #f37420;
            font-weight: 700;
            font-size: 0.72rem;
            padding: 4px 10px;
            border-radius: 50px;
            border: 1px dashed #f37420;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: inline-block;
        }
        .puja-breadcrumbs {
            display: flex;
            align-items: center;
            white-space: nowrap;
            overflow: hidden;
        }
        .puja-breadcrumbs a {
            flex: 0 0 auto;
            color: #666 !important;
            text-decoration: none;
            font-size: 0.85rem;
        }
        .puja-breadcrumbs a:hover {
            color: #f37420 !important;
        }
        .puja-breadcrumbs span {
            display: inline-block;
            flex: 1 1 auto;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            vertical-align: bottom;
            color: #333;
            font-size: 0.85rem;
            font-weight: 500;
        }
        .text-orange {
            color: #e65c00 !important;
        }
        .btn-orange {
            background-color: #e65c00;
            color: #ffffff;
            border: none;
            transition: all 0.2s ease;
        }
        .btn-orange:hover {
            background-color: #cc5200;
            color: #ffffff;
        }
        .btn-outline-orange {
            color: #e65c00;
            border: 1.5px solid #e65c00;
            background: transparent;
            font-weight: 500;
            font-size: 0.9rem;
            transition: all 0.2s ease;
        }
        .btn-outline-orange:hover {
            background: #e65c00;
            color: #fff;
        }

        /* Site-wide .left-cta-content-container forces display:flex (row) + center,
           which stacks the heading and store badges side by side. Force a column. */
        .appSection .left-cta-content-container {
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
        }

        .sticky-booking-card {
            border: 1px solid #eef2f5;
            border-radius: 12px;
            background-color: #ffffff;
            padding: 20px;
        }
        .booking-feature-row {
            padding: 8px 0;
            border-bottom: 1px solid #f8fafc;
            font-size: 0.9rem;
        }
        .booking-feature-row:last-child {
            border-bottom: none;
        }
        .booking-feature-table {
            border: 1px solid #eef2f5;
            border-radius: 8px;
            overflow: hidden;
        }
        .booking-feature-cell {
            padding: 10px 6px;
            border-right: 1px solid #eef2f5;
        }
        .booking-feature-cell:last-child {
            border-right: none;
        }
        .booking-feature-icon {
            color: #e65c00;
            font-size: 0.95rem;
        }
        .select-date .calendar-icon {
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            color: #e65c00;
            cursor: pointer;
        }
        .select-date input.with-icon {
            padding-right: 32px;
        }

        .puja-section-card {
            background: #ffffff;
            border-bottom: 1px solid #eee;
            padding: 24px 0;
            margin-bottom: 0;
        }
        .puja-section-title {
            font-size: 1.25rem;
            font-weight: 700;
            color: #333;
            margin-bottom: 16px;
        }

        /* ── Minimalistic Ethnic Prep Guide Card ── */
        .prep-guide-card {
            background: #fff7f7;
            border: 1px solid #f0e6d8;
            border-radius: 12px;
            overflow: hidden;
        }
        .prep-guide-header {
            background: #ffffff;
            padding: 16px 20px 0 20px;
            border-bottom: none;
        }
        .prep-guide-title {
            font-size: 1.05rem;
            font-weight: 700;
            color: #7a3b00;
        }
        .prep-guide-subtitle {
            font-size: 0.78rem;
            color: #b07040;
            font-weight: 400;
        }
        .prep-guide-divider {
            height: 1px;
            background: #f0e0cc;
            margin: 12px 0 0 0;
        }
        .prep-export-btn {
            font-size: 0.78rem;
            padding: 5px 12px;
            white-space: nowrap;
        }
        .prep-guide-body {
            padding: 18px 20px 20px 20px;
        }
        /* Samagri items as minimal pill tags */
        .prep-guide-rich ul {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            padding-left: 0;
            list-style: none;
            margin-top: 6px;
        }
        .prep-guide-rich li {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: #ffffff;
            border: 1px solid #ecddc8;
            border-radius: 50px;
            padding: 4px 12px 4px 9px;
            color: #5a3010;
            font-size: 0.83rem;
            font-weight: 500;
        }
        .prep-guide-rich li:hover {
            border-color: #f37420;
            color: #b34700;
        }
        .prep-guide-rich li::before {
            content: "✦";
            color: #f37420;
            font-size: 0.5rem;
            flex-shrink: 0;
        }
        /* Full-width section divider items (e.g. "Household Items:") */
        .prep-guide-rich li:has(strong),
        .prep-guide-rich li:has(b) {
            flex-basis: 100%;
            background: transparent;
            border: none;
            border-top: 1px dashed #e8d0b8;
            border-radius: 0;
            padding: 10px 0 4px 0;
            font-size: 0.82rem;
            font-weight: 700;
            color: #7a3b00;
            margin-top: 6px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .prep-guide-rich li:has(strong)::before,
        .prep-guide-rich li:has(b)::before {
            content: none;
        }
        /* Prep guide footer (date + join reminder) */
        .prep-guide-footer {
            border-top: 1px dashed #e8d0b8;
            padding-top: 14px;
        }
        .prep-footer-muhurat {
            background: #ffffff;
            border: 1px solid #f0e0cc;
            border-radius: 8px;
            padding: 8px 12px;
        }
        .prep-footer-reminder {
            background: #ffffff;
            border: 1px solid #eeeeee;
            border-radius: 8px;
            padding: 8px 12px;
        }


        /* ── FAQ Redesign ── */
        .faq-main-title {
            color: #f37420 !important;
            font-size: 1.6rem;
            font-weight: 700;
        }
        .faq-list {
            display: flex;
            flex-direction: column;
            gap: 0px;
        }
        .faq-item {
            border: 1px solid #e3e3e3;
            border-radius: 16px;
            background: #ffffff;
            box-shadow: none !important;
            transition: border-radius 0.2s ease;
        }
        .faq-item:has(.faq-collapse-content.show) {
            border-radius: 16px;
            box-shadow: none !important;
        }
        .faq-question {
            background: transparent;
            border: none;
            padding: 18px 28px;
            font-size: 1rem;
            font-weight: 700;
            color: #222;
            text-align: left;
            cursor: pointer;
            gap: 16px;
            box-shadow: none !important;
        }
        .faq-question:focus,
        .faq-question:active,
        .faq-question:hover { outline: none; box-shadow: none !important; }
        .faq-toggle-icon {
            flex-shrink: 0;
            font-size: 1.4rem;
            font-weight: 300;
            color: #222;
            line-height: 1;
        }
        .faq-toggle-icon .icon-cross { display: none; }
        .faq-question[aria-expanded="true"] { color: #222; }
        .faq-question[aria-expanded="true"] .icon-plus  { display: none; }
        .faq-question[aria-expanded="true"] .icon-cross { display: inline; color: #f37420; }
        .faq-answer {
            max-height: none !important;
            overflow: visible !important;
            height: auto !important;
            transition: none !important;
            padding: 12px 28px 29px 28px;
            font-size: 0.9rem;
            color: #555;
            line-height: 1.6;
            border-top: 1px solid #f0f0f0;
        }

        /* ── Package Details Rich Content Styling ── */
        .package-details-text {
            font-size: 0.97rem;
            line-height: 1.75;
            color: #3d3d3d;
        }

        /* Headings inside package details */
        .package-details-text h1,
        .package-details-text h2,
        .package-details-text h3,
        .package-details-text h4,
        .package-details-text h5,
        .package-details-text h6 {
            font-weight: 700;
            color: #7a3b00;
            margin-top: 1.2em;
            margin-bottom: 0.5em;
            line-height: 1.3;
        }
        .package-details-text h2 { font-size: 1.15rem; }
        .package-details-text h3 { font-size: 1.05rem; }
        .package-details-text h4 { font-size: 0.98rem; }
        /* Paragraphs */
        .package-details-text p {
            font-size: 0.97rem;
            color: #444;
            line-height: 1.75;
            margin-bottom: 0.75em;
        }
        /* Bold & strong labels */
        .package-details-text strong,
        .package-details-text b {
            font-weight: 700;
            color: #2c2c2c;
        }
        /* Unordered / ordered lists */
        .package-details-text ul,
        .package-details-text ol {
            padding-left: 0;
            list-style: none;
            margin: 0.6em 0 1em 0;
        }
        .package-details-text ul li,
        .package-details-text ol li {
            position: relative;
            padding: 6px 10px 6px 32px;
            font-size: 0.95rem;
            color: #444;
            line-height: 1.6;
            border-bottom: 1px solid #f5f0eb;
        }
        .package-details-text ul li::before {
            content: "✦";
            position: absolute;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
            color: #f37420;
            font-size: 0.55rem;
        }
        .package-details-text ol {
            counter-reset: pkg-counter;
        }
        .package-details-text ol li {
            counter-increment: pkg-counter;
        }
        .package-details-text ol li::before {
            content: counter(pkg-counter);
            position: absolute;
            left: 8px;
            top: 50%;
            transform: translateY(-50%);
            background: #f37420;
            color: #fff;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            font-size: 0.68rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
        }
        /* Tables inside package details */
        .package-details-text table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.93rem;
            margin: 1em 0;
            border-radius: 10px;
            overflow: hidden;
            border: 1px solid #ede0d0;
        }
        .package-details-text table thead tr {
            background: #fff3ea;
        }
        .package-details-text table th {
            padding: 10px 14px;
            text-align: left;
            font-weight: 700;
            color: #7a3b00;
            font-size: 0.88rem;
            letter-spacing: 0.3px;
            border-bottom: 2px solid #f0d9be;
        }
        .package-details-text table td {
            padding: 9px 14px;
            color: #444;
            border-bottom: 1px solid #f5efe6;
            vertical-align: middle;
        }
        .package-details-text table tr:last-child td {
            border-bottom: none;
        }
        .package-details-text table tbody tr:hover {
            background: #fffaf5;
        }
        /* Key-value pairs rendered as plain text */
        .package-details-text strong,
        .package-details-text b {
            display: inline;
        }
        /* Horizontal rule */
        .package-details-text hr {
            border: none;
            border-top: 1px dashed #e8d0b8;
            margin: 1em 0;
        }

        .description-fade-wrap {
            position: relative;
            overflow: hidden;
            transition: max-height 0.4s ease;
            font-size: 0.92rem;
            line-height: 1.6;
            color: #555;
        }
        .description-fade-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 40px;
            background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
            pointer-events: none;
        }

        /* ── Generic collapsible (See More / See Less) for all content sections ── */
        .puja-collapsible-wrap {
            position: relative;
        }
        .puja-collapsible {
            overflow: hidden;
            transition: max-height 0.4s ease;
            padding-bottom: 24px;
        }
        .puja-collapsible-fade {
            display: none;
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 72px;
            background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 100%);
            pointer-events: none;
        }

        /* ── Amazon-style Reviews ── */
        .review-summary-wrap {
            padding-bottom: 20px;
            border-bottom: 1px solid #eee;
        }
        .review-summary-score {
            min-width: 110px;
        }
        .review-summary-avg {
            font-size: 2.2rem;
            font-weight: 700;
            color: #222;
            line-height: 1.1;
        }
        .review-summary-bars {
            min-width: 220px;
            max-width: 360px;
        }
        .review-bar-row {
            margin-bottom: 4px;
        }
        .review-bar-label {
            width: 46px;
            flex-shrink: 0;
            font-size: 0.78rem;
            color: #555;
        }
        .review-bar-track {
            flex: 1;
            height: 8px;
            background: #eee;
            border-radius: 4px;
            overflow: hidden;
        }
        .review-bar-fill {
            height: 100%;
            background: #ffb400;
            border-radius: 4px;
        }
        .review-bar-pct {
            width: 34px;
            flex-shrink: 0;
            font-size: 0.78rem;
            color: #777;
            text-align: right;
        }
        .review-list {
            display: flex;
            flex-direction: column;
        }
        .review-list-item {
            padding: 18px 0;
            border-bottom: 1px solid #f0f0f0;
        }
        .review-list-item:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }
        .review-list-item:first-child {
            padding-top: 0;
        }
        .review-verified-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 0.72rem;
            color: #2e7d32;
            font-weight: 600;
        }
        .review-user-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: #fdf6f0;
            color: #e65c00;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 0.95rem;
            object-fit: cover;
        }
        .review-stars-wrap .star {
            color: #ffb400;
            font-size: 0.9rem;
        }
        .review-stars-wrap .star.empty {
            color: #e0e0e0;
        }
        .see-all-reviews-link {
            font-size: 0.82rem !important;
            color: #e65c00 !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            cursor: pointer !important;
            display: inline-block !important;
        }
        .see-all-reviews-link:hover {
            text-decoration: underline !important;
            color: #f37420 !important;
        }

        /* ── Flatpickr overrides ── */
        .flatpickr-day.selected, .flatpickr-day.selected:hover { background:#f37420 !important; border-color:#f37420 !important; }

        /* ── Bottom App CTA Banner ── */
        .cta-banner-card {
            background-color: #f6ebe6;
            background-image: url("https://cdn.99pandit.com/99pandit_newhome/img/cta-bg-new.webp");
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            border-radius: 20px;
            box-shadow: 0 4px 20px rgba(60, 25, 10, 0.05);
            position: relative;
            margin-top: 2rem;
            margin-bottom: 2rem;
        }
        .cta-content-col {
            padding: 44px 24px 44px 52px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            text-align: left;
        }
        .cta-banner-heading {
            color: #3b1d11;
            font-size: 1.95rem;
            font-weight: 800;
            line-height: 1.24;
            letter-spacing: -0.015em;
            margin-bottom: 12px;
        }
        .cta-banner-subtext {
            color: #5c4438;
            font-size: 1.02rem;
            font-weight: 400;
            line-height: 1.45;
            margin-bottom: 24px;
            max-width: 540px;
        }
        .cta-badges-wrap {
            display: flex;
            align-items: center;
            gap: 14px;
            flex-wrap: wrap;
        }
        .cta-badge-link {
            display: inline-block;
            transition: transform 0.2s ease, opacity 0.2s ease;
            line-height: 1;
        }
        .cta-badge-link:hover {
            transform: translateY(-2px);
            opacity: 0.92;
        }
        .cta-badge-img {
            height: 46px;
            width: auto;
            object-fit: contain;
            border-radius: 6px;
        }
        .cta-image-col {
            display: flex;
            align-items: flex-end;
            justify-content: center;
            padding: 20px 20px 0 0;
            align-self: flex-end;
        }
        .cta-banner-image {
            display: block;
            max-height: 275px;
            width: auto;
            max-width: 100%;
            object-fit: contain;
            margin-bottom: 0;
            vertical-align: bottom;
        }

        /* ══════════════════════════════════════════
           MOBILE RESPONSIVE FIXES
        ══════════════════════════════════════════ */
        @media (max-width: 991.98px) {
            .service-single .container {
                overflow-x: hidden;
            }
            .square-image {
                max-width: 100%;
                max-height: 280px;
            }
            .sticky-booking-card {
                position: static !important;
                top: auto !important;
                padding: 16px;
            }
            .why-puja-card {
                max-width: 100%;
            }
            .puja-section-card {
                padding: 20px 0;
            }
            .prep-guide-body {
                padding: 14px 14px 16px 14px;
            }
            .prep-guide-header {
                padding: 14px 14px 0 14px;
            }
            .review-summary-wrap {
                flex-direction: column;
                gap: 16px !important;
            }
            .review-summary-bars {
                min-width: 100%;
                max-width: 100%;
            }
            .review-summary-score {
                min-width: unset;
            }
            .faq-question {
                padding: 14px 16px;
                font-size: 0.92rem;
            }
            .faq-answer {
                padding: 10px 16px 18px 16px;
                font-size: 0.85rem;
            }
            .puja-section-title {
                font-size: 1.1rem;
            }
            .faq-main-title {
                font-size: 1.35rem;
            }
            .booking-feature-row {
                flex-wrap: wrap;
            }
            /* App CTA Banner Tablet */
            .cta-banner-card {
                border-radius: 16px;
            }
            .cta-content-col {
                padding: 36px 24px 20px 24px;
                text-align: center;
                align-items: center;
            }
            .cta-banner-heading {
                font-size: 1.55rem;
                text-align: center;
            }
            .cta-banner-subtext {
                font-size: 0.95rem;
                text-align: center;
                margin-bottom: 20px;
                max-width: 100%;
            }
            .cta-badges-wrap {
                justify-content: center;
                gap: 12px;
            }
            .cta-image-col {
                padding: 10px 16px 0 16px;
                justify-content: center;
                align-self: center;
                width: 100%;
            }
            .cta-banner-image {
                max-height: 220px;
            }
        }

        @media (max-width: 575.98px) {
            .puja-breadcrumbs a {
                font-size: 0.78rem;
            }
            .square-image {
                max-height: 240px;
            }
            .sticky-booking-card {
                padding: 12px;
                border-radius: 8px;
            }
            .why-puja-card {
                padding: 12px 14px;
            }
            .prep-guide-rich li {
                font-size: 0.78rem;
                padding: 3px 10px 3px 8px;
            }
            .faq-question {
                padding: 12px 14px;
                font-size: 0.88rem;
                gap: 8px;
            }
            .faq-answer {
                max-height: none !important;
                overflow: visible !important;
                height: auto !important;
                padding: 10px 14px 18px 14px;
                font-size: 0.85rem;
            }
            .review-summary-avg {
                font-size: 1.8rem;
            }
            .puja-section-card {
                padding: 16px 0;
            }
            /* App CTA Banner Mobile */
            .cta-banner-card {
                border-radius: 0 !important;
            }
            .cta-content-col {
                padding: 28px 16px 16px 16px;
            }
            .cta-banner-heading {
                font-size: 1.25rem;
            }
            .cta-banner-subtext {
                font-size: 0.88rem;
                margin-bottom: 18px;
            }
            .cta-badge-img {
                height: 40px;
            }
            .cta-banner-image {
                max-height: 190px;
            }
            .pricing-container .fs-4 {
                font-size: 1.4rem !important;
            }
        }

        /* ── Floating sticky Add to Cart bar ── */
        .floating-cart-bar {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 9999;
            background: #ffffff;
            border-top: 1px solid #eee;
            box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
            padding: 10px 16px;
            padding-bottom: calc(10px + env(safe-area-inset-bottom));
            transform: translateY(100%);
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .floating-cart-bar.visible {
            transform: translateY(0);
        }
        .floating-cart-fields {
            max-width: 800px;
            margin: 0 auto;
        }
        .floating-cart-fields input {
            font-size: 0.82rem;
            height: 36px;
        }
        .floating-cart-inner {
            display: flex;
            align-items: center;
            gap: 12px;
            max-width: 800px;
            margin: 0 auto;
        }
        .floating-cart-info {
            flex: 1;
            min-width: 0;
        }
        .floating-cart-name {
            font-size: 0.82rem;
            font-weight: 600;
            color: #333;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .floating-cart-price {
            font-size: 1rem;
            line-height: 1.2;
            margin-top: 2px;
        }
        .floating-cart-btn {
            flex-shrink: 0;
            background: #e65c00;
            color: #ffffff;
            font-weight: 700;
            font-size: 0.9rem;
            padding: 10px 22px;
            border-radius: 8px;
            border: none;
            transition: background 0.2s ease;
            white-space: nowrap;
        }
        .floating-cart-btn:hover,
        .floating-cart-btn:active {
            background: #cc5200;
            color: #fff;
        }
/* ═══════════ Group-puja-only additions (not in pages/e-puja/show.css) ═══════════ */

/* ── Group Puja badge (vs. "e-Puja" badge on the e-puja detail page) ── */
        .badge-group-puja-right {
            background-color: #fff3ea;
            color: #f37420;
            font-weight: 700;
            font-size: 0.72rem;
            padding: 4px 10px;
            border-radius: 50px;
            border: 1px dashed #f37420;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: inline-block;
        }

/* ── Countdown timer to the group puja's fixed event date ── */
        .countdown-wrap {
            background-color: #fafbfc;
            border: 1px solid #eef2f5;
            border-radius: 8px;
            padding: 12px 16px;
        }
        .countdown-timer-boxes {
            display: flex;
            gap: 8px;
        }
        .countdown-timer-box {
            background: #ffffff;
            border: 1px solid #eef2f5;
            border-radius: 6px;
            min-width: 50px;
            padding: 4px 2px;
            text-align: center;
        }
        .countdown-timer-value {
            font-size: 1.1rem;
            font-weight: 700;
            color: #e65c00;
            display: block;
            line-height: 1.1;
        }
        .countdown-timer-label {
            font-size: 0.65rem;
            color: #999;
            text-transform: uppercase;
            font-weight: 500;
        }

/* ── "Why Group Puja is Best" / "What is Group Puja" answer cards ── */
        /* \u2500\u2500 Why Group Puja is Best - decorative invitation-style card \u2500\u2500 */
        .why-group-puja-card {
            position: relative;
            max-width: 420px;
            margin: 0 auto;
            padding: 14px 20px;
            background: #fffdf8;
            border: 1px solid #ecd3ac;
            border-radius: 4px;
        }
        .why-group-puja-card::before {
            content: "";
            position: absolute;
            inset: 6px;
            border: 1px dashed #ecd3ac;
            pointer-events: none;
        }
        .why-gp-corner {
            position: absolute;
            width: 20px;
            height: 20px;
            border: 2px solid #f37420;
        }
        .why-gp-corner-tl { top: -2px; left: -2px; border-right: none; border-bottom: none; }
        .why-gp-corner-tr { top: -2px; right: -2px; border-left: none; border-bottom: none; }
        .why-gp-corner-bl { bottom: -2px; left: -2px; border-right: none; border-top: none; }
        .why-gp-corner-br { bottom: -2px; right: -2px; border-left: none; border-top: none; }
        .why-gp-inner {
            position: relative;
            text-align: center;
            padding: 4px;
        }
        .why-gp-icon {
            color: #f37420;
            font-size: 1.1rem;
            margin-bottom: 4px;
        }
        .why-gp-title {
            font-weight: 700;
            color: #7a3b00;
            font-size: 0.92rem;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            margin-bottom: 6px;
        }
        .why-gp-divider {
            width: 40px;
            height: 2px;
            background: #f37420;
            margin: 0 auto 8px;
        }
        .why-gp-stat {
            font-size: 1.3rem;
            font-weight: 800;
            color: #333;
            margin-bottom: 4px;
        }
        .why-gp-stat span {
            color: #f37420;
        }
        .why-gp-text {
            font-size: 0.8rem;
            color: #6b5847;
            line-height: 1.4;
        }

@media (max-width: 991.98px) {
    .why-group-puja-card { max-width: 100%; }
}
@media (max-width: 575.98px) {
    .why-group-puja-card { padding: 12px 14px; }
}


/* ===== Migrated from style.css (page-specific, previously duplicated) ===== */
.service-astrology,
.service-single {
    margin-top: 40px;
    position: relative
}

.service-single .puja-services {
    font-size: 13px;
    color: rgb(0 0 0 / .5);
    line-height: 21px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: .25rem
}

.service-single .title {
    line-height: 56px;
    letter-spacing: -1px;
    color: rgb(0 0 0 / .87);
    font-weight: 500;
    margin-bottom: -5px;
    font-size: 32px
}

.service-single .text {
    font-size: 16px;
    font-weight: 500;
    color: rgb(0 0 0 / .66);
    line-height: 24px;
    margin-bottom: 4px
}

.service-single #textToggleBtn,
.service-single #textToglleBtn {
    font-size: 12px;
    line-height: normal;
    color: #68090a;
    font-weight: 600;
    background-color: #fff0;
    border: 0;
    text-transform: uppercase;
    padding: 0
}

.service-single input[type=date],
.service-single select {
    width: 100%;
    height: 48px;
    color: rgb(0 0 0 / .5);
    padding: 0 8px 0 16px;
    -webkit-box-shadow: rgb(0 0 0 / .06) 0 1px 2px 0;
    box-shadow: rgb(0 0 0 / .06) 0 1px 2px 0;
    background-color: #fff;
    -webkit-border-radius: 4px;
    border-radius: 15px;
    font-size: 15px;
    border: 1px solid #8c8c8c80;
    margin-bottom: 22px;
    font-weight: 500
}

#moreText0 ul li a,
.package-details-text ul li a {
    color: #7e5151 !important
}

#moreText0 table,
.package-details-text table,
img.banner-swiper-img {
    width: 100%
}

#moreText0 table tbody tr,
.package-details-text table tbody tr {
    display: flex;
    justify-content: space-between
}

#moreText0 table tbody tr td,
.package-details-text table tbody tr td {
    width: 50%;
    padding: 8px 15px;
    border: 1px solid #f37420c9
}

.service-single .tabs {
    margin-top: 10px;
    background-color: #f4f1ec;
    padding-bottom: 66px
}

.service-astrology .puja-image,
.service-single .puja-image {
    height: 380px;
    max-width: 333px;
    width: 100%;
    -webkit-border-radius: 16px;
    border-radius: 16px;
    -o-object-fit: cover;
    object-fit: cover
}

.service-astrology .ion-circle,
.service-single .ion-circle {
    height: 44px;
    width: 44px;
    -webkit-box-shadow: rgb(0 0 0 / .12) 0 0 16px 0;
    box-shadow: rgb(0 0 0 / .12) 0 0 16px 0;
    -webkit-border-radius: 24px;
    border-radius: 24px;
    color: var(--np-saffron);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    margin-bottom: 10px
}

.service-single .add-to-cart-btn {
    -webkit-box-shadow: rgb(0 0 0 / .2) 0 1px 2px 0;
    box-shadow: rgb(0 0 0 / .2) 0 1px 2px 0;
    -webkit-border-radius: 4px;
    border-radius: 15px;
    border: none;
    outline: 0;
    padding: 12px 0;
    width: 100%;
    color: #fff;
    background-color: green;
    font-size: 15px;
    font-weight: 600
}

.faq-question .faq-toggle {
    position: absolute;
    right: 20px;
    font-weight: 700;
    font-size: 2rem;
    top: 0;
    transition: .2s;
    transform: rotate(0)
}

.faq-question h6 {
    margin-bottom: 0
}

.cart-section .add-to-cart-btn {
    max-width: 98px;
    width: 100%;
    min-height: 38px;
    background-color: var(--np-saffron);
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: normal;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    text-align: center;
    padding: 4px 10px
}

.add-to-cart-btn {
    -webkit-box-shadow: rgb(0 0 0 / .2) 0 1px 2px 0;
    box-shadow: rgb(0 0 0 / .2) 0 1px 2px 0;
    -webkit-border-radius: 4px;
    border-radius: 15px;
    border: none;
    outline: 0;
    padding: 12px 0;
    width: 100%;
    color: #fff;
    background-color: #68090a;
    font-size: 15px;
    font-weight: 600;
}
@media(max-width: 450px) {
.add-to-cart-btn {
        width: 100% !important;
        margin-left: 12px
    }
}
@media screen and (max-width: 768px) {
.service-single .puja-image {
        margin-left: auto;
        margin-right: auto
    }
}
@media(min-width: 450px) and (max-width:991px) {
.add-to-cart-btn {
        margin: 0 auto
    }
}
@media(max-width: 991px) {
.service-single .puja-image {
        height: auto
    }

.service-single input[type=date],
    .service-single select {
        max-width: 100%
    }

.service-single .add-to-cart-btn {
        margin: 0;
        width: 100%
    }
}
@media (max-width: 991px) {
.service-single .puja-image {
        display: none;
    }
}

/* ===== Migrated from the legacy e-puja.css (mobile add-to-cart bar / banner_images toggle / service-single margin fix) ===== */

.add_to_cart_item.active {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    padding: 0 17px;
    z-index: 9999;
    margin: 0
}

@media (max-width: 991px) {
    .choose_language_date {
        margin-bottom:15px
    }

    .date_languages {
        display: flex;
        width: 100%;
        gap: 12px
    }

    .add_to_cart_item.active .date_languages {
        display: flex;
        gap: 10px!important;
        width: 100%
    }

    .add_to_cart_item.active .date_add_tocart {
        margin: 0;
        width: 100%
    }

    .add_to_cart_item.active .choose_language_date {
        margin-bottom: 0
    }

    .add_to_cart_item.active .date_add_tocart .col-lg-12.col-md-12,.date_add_tocart .col-lg-12.col-md-12 {
        padding: 0
    }

    .col-lg-5.col-md-12.ng-scope.mb-3 {
        width: 100%
    }

    .add_to_cart_item.active .add-to-cart-btn {
        font-size: 12px!important;
        padding: 15px 16px!important
    }

    .add_to_cart_item.active input.form-control.with-icon.form-control.input {
        font-size: 14px
    }

    #setgetitsmsiframe {
        display: none!important
    }

    .date_add_tocart {
        margin: 0
    }

    .add_to_cart_item select#language {
        margin-bottom: 0!important
    }

    .add_to_cart_item.active select#language {
        margin-bottom: 20px!important
    }
}

div#setgetitsmsiframe {
    display: none
}

@media (min-width: 1024px) {
    .banner_images {
        display:none
    }
}

@media screen and (max-width: 767px) {
    .service-astrology,.service-single {
        margin-top: 0!important
    }
}


/* ===== Migrated from astrology.css ===== */
.astro-img-details,
.container {
    padding-right: 15px;
    padding-left: 15px
}

.social-links {
    position: absolute;
    top: 0;
    right: 0;
    gap: 15px
}

.service-astrology .ion-circle {
    height: 44px;
    width: 44px;
    -webkit-box-shadow: rgba(0, 0, 0, .12) 0 0 16px 0;
    box-shadow: rgba(0, 0, 0, .12) 0 0 16px 0;
    -webkit-border-radius: 24px;
    border-radius: 24px;
    color: var(--np-saffron);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    margin-bottom: 10px
}

.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto
}

.service-astrology .social-links {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

span.badge.badge-danger.mb-3 i.fas.fa-times.mr-2 {
    margin-right: .5rem
}

.row.add_to_cart_item.active {
    padding-bottom: 20px
}
@media(max-width:450px) {
.add-to-cart-btn,
    .book-now-btn,
    input[type=date],
    input[type=text],
    select {
        width: 100% !important
    }
}
@media only screen and (max-width:770px) {
.social-links {
        position: static;
        display: flex;
        margin-top: 10px
    }
}
