/* Auto-generated from template/somnath_booking_page_8.html — scoped for swabhiman-parva-special-pooja */
.swabhiman-booking-v8{

            /* Brand palette (Somnath guidelines) */
            --color-yellow: #ffe32e;
            --color-orange: #f58345;
            --color-blue: #1e478e;
            --color-black: #231f20;
            --color-blue-rgb: 30, 71, 142;
            --color-black-rgb: 35, 31, 32;

            /* Yellow → orange (slider-style stops per brand sheet) */
            --gradient-primary: linear-gradient(
                90deg,
                var(--color-yellow) 0%,
                var(--color-yellow) 39%,
                var(--color-orange) 65%,
                var(--color-orange) 100%
            );
            --gradient-primary-diag: linear-gradient(
                135deg,
                var(--color-yellow) 0%,
                var(--color-orange) 100%
            );

            /* Typography */
            --font-head: 'Playfair Display', Georgia, 'Times New Roman', serif;
            --font-body: 'DM Sans', system-ui, -apple-system, sans-serif;

            /* Semantic tokens (mapped to brand) */
            --primary: var(--color-blue);
            --accent-gold: var(--color-yellow);
            --gold-gradient: var(--gradient-primary-diag);
            --saffron: var(--color-orange);
            --saffron-alpha: rgba(245, 131, 69, 0.1);
            --bg-parchment: #faf8f4;
            --bg-card: #ffffff;
            --text-main: var(--color-black);
            --text-muted: #64748b;
            --border-gold: rgba(255, 227, 46, 0.45);
        

            font-family: var(--font-body);
            background-color: var(--bg-parchment);
            color: var(--text-main);
            line-height: 1.6;
            
            
            
            
        
}


        /* --- LOGO BRANDING DUAL HEADER --- */
        .swabhiman-booking-v8 .branding-header{
            background-color: var(--primary);
            border-bottom: 2px solid var(--accent-gold);
            padding: 20px clamp(20px, 4vw, 48px);
            display: flex;
            justify-content: flex-start;
            align-items: center;
            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
            flex-shrink: 0;
        }

        .swabhiman-booking-v8 .logo-box{
            display: flex;
            align-items: center;
            gap: clamp(16px, 2.5vw, 28px);
        }

        /* Light plate only in top branding bar — hero photos can sit flush on blue */
        .swabhiman-booking-v8 .logo-box img{
            display: block;
            background: #fffdf5;
            padding: 10px 14px;
            border-radius: 12px;
            border: 1px solid rgba(255, 227, 46, 0.55);
            box-shadow:
                0 0 0 1px rgba(255, 255, 255, 0.35) inset,
                0 6px 20px rgba(0, 0, 0, 0.22);
            object-fit: contain;
            object-position: center;
            box-sizing: border-box;
        }

        .swabhiman-booking-v8 .logo-box img{
            height: clamp(104px, 14vw, 152px);
            width: auto;
            max-width: min(280px, 44vw);
        }

        .swabhiman-booking-v8 .logo-divider{
            width: 1px;
            height: clamp(72px, 11vw, 104px);
            background: var(--gold-gradient);
            margin: 0 4px;
        }

        /* Master Scroll Container holding main content */
        /* Single page scroll — avoid nested scroll on .form-scrollable-content (prevents white gap below oath card) */
        .swabhiman-booking-v8 .main-scroll-wrapper{
            flex-grow: 1;
            overflow-x: hidden;
            display: flex;
            flex-direction: column;
            min-height: 0;
        }

        .swabhiman-booking-v8 .main-scroll-wrapper::-webkit-scrollbar{ width: 6px; }
        .swabhiman-booking-v8 .main-scroll-wrapper::-webkit-scrollbar-thumb{ background-color: var(--accent-gold); border-radius: 3px; }

        /* Hero: full-width strip — photo fills width, type sits on the same layer (no extra colour panel) */
        .swabhiman-booking-v8 .millennium-hero-banner{
            background: transparent;
            border-top: 2px solid var(--accent-gold);
            border-bottom: 4px solid var(--color-yellow);
            padding: clamp(8px, 1.2vw, 14px) 0;
            position: relative;
            z-index: 10;
            flex-shrink: 0;
            display: flex;
            align-items: stretch;
            width: 100%;
        }

        .swabhiman-booking-v8 .millennium-hero-inner{
            position: relative;
            width: 100%;
            max-width: none;
            margin: 0;
            min-height: clamp(200px, 22vw, 300px);
            max-height: min(320px, 38vh);
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: flex-end;
        }

        .swabhiman-booking-v8 .hero-mw-photo{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: left center;
            z-index: 0;
            pointer-events: none;
            user-select: none;
        }

        /* Soft atmospheric fade — text reads on image without a stuck-on “card” */
        .swabhiman-booking-v8 .hero-veil{
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: min(78%, 900px);
            z-index: 1;
            pointer-events: none;
            background: linear-gradient(
                105deg,
                rgba(6, 18, 42, 0) 0%,
                rgba(6, 18, 42, 0.08) 32%,
                rgba(6, 18, 42, 0.28) 58%,
                rgba(4, 12, 32, 0.5) 100%
            );
            backdrop-filter: blur(10px) saturate(1.05);
            -webkit-backdrop-filter: blur(10px) saturate(1.05);
            -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.35) 22%, #000 52%);
            mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.35) 22%, #000 52%);
        }

        .swabhiman-booking-v8 .millennium-hero-content{
            position: relative;
            z-index: 2;
            flex: 0 1 min(520px, 48vw);
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            justify-content: center;
            text-align: right;
            gap: 0;
            padding: clamp(12px, 2vw, 28px) clamp(14px, 3vw, 36px) clamp(12px, 2vw, 28px) clamp(16px, 4vw, 44px);
            margin: 0 clamp(8px, 2vw, 24px) 0 0;
            background: none;
            border: none;
            box-shadow: none;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            border-radius: 0;
        }

        .swabhiman-booking-v8 .millennium-hero-content .banner-main-text{
            max-width: 36rem;
            margin: 0;
            color: #ffffff;
            font-weight: 600;
            letter-spacing: 0.02em;
            -webkit-font-smoothing: antialiased;
            text-shadow:
                0 1px 2px rgba(0, 0, 0, 0.9),
                0 2px 16px rgba(0, 0, 0, 0.55),
                0 0 40px rgba(0, 0, 0, 0.35);
                margin-top: 75px;
        }
        @media (min-width: 992px) {
            .swabhiman-booking-v8 .millennium-hero-content .banner-main-text{
                margin-top: 75px;
            }
        }

        /* Gradient clip disappears on busy photos — solid gold + halo (hero only) */
        .swabhiman-booking-v8 .millennium-hero-content .banner-main-text strong{
            background: none;
            -webkit-background-clip: border-box;
            background-clip: border-box;
            -webkit-text-fill-color: currentColor;
            color: #ffe566;
            text-shadow:
                0 0 2px rgba(0, 0, 0, 0.95),
                0 2px 6px rgba(0, 0, 0, 0.85),
                0 0 24px rgba(0, 0, 0, 0.5);
        }

        .swabhiman-booking-v8 .banner-main-text{
            color: #ffffff;
            font-size: clamp(1.05rem, 1.65vw, 1.55rem);
            font-weight: 500;
            max-width: 56rem;
            margin: 0 auto;
            font-family: var(--font-head);
            line-height: 1.45;
        }

        .swabhiman-booking-v8 .banner-main-text strong{
            background: var(--gold-gradient);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            font-size: clamp(1.45rem, 2.6vw, 2.15rem);
            font-weight: 900;
            display: block;
            margin-top: clamp(6px, 1vw, 12px);
            letter-spacing: 0.02em;
            line-height: 1.15;
        }

        /* --- HISTORIC PM MODI LAUNCH PAD BAR --- */
        .swabhiman-booking-v8 .pm-launch-card{
            max-width: 900px;
            margin: -25px auto 0 auto;
            background: #FFFFFF;
            border: 2px solid var(--accent-gold);
            border-radius: 12px;
            padding: 15px 25px;
            display: flex;
            align-items: center;
            gap: 25px;
            position: relative;
            z-index: 20;
            box-shadow: 0 15px 35px rgba(0,0,0,0.1);
            flex-shrink: 0;
        }

         .swabhiman-booking-v8 .pm-avatar-container{
            flex: 0 0 auto;
            width: 70px;
            height: 70px;
            min-width: 70px;
            min-height: 70px;
            aspect-ratio: 1;
            align-self: center;
            border-radius: 50%;
            border: 3px solid var(--saffron);
            overflow: hidden;
            background: #F1F5F9;
        }

         .swabhiman-booking-v8 .pm-avatar-container img{
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
        }

        .swabhiman-booking-v8 .pm-details h4{
            font-family: var(--font-head);
            color: var(--primary);
            font-size: 1.15rem;
            font-weight: 800;
        }

        .swabhiman-booking-v8 .pm-details p{
            font-size: 0.9rem;
            color: var(--text-main);
            margin-top: 2px;
        }
        
        .swabhiman-booking-v8 .pm-details .quote{
            font-style: italic;
            color: var(--saffron);
            font-weight: 600;
            margin-top: 3px;
            display: block;
            font-size: 0.85rem;
        }

        /* --- Strict 60/40 Screen Layout Architecture --- */
        .swabhiman-booking-v8 .page-split-wrapper{
            display: flex;
            max-width: 1800px;
            width: 100%;
            margin: 30px auto 0 auto;
            flex-grow: 1;
            align-items: flex-start;
        }

        /* --- LEFT SIDE: INFORMATION HUB (EXACTLY 60% WIDTH) --- */
        .swabhiman-booking-v8 .heritage-sidebar{
            width: 60%;
            padding: 10px 40px 60px 40px;
        }

        .swabhiman-booking-v8 .hero-badge{
            display: inline-block;
            background-color: var(--saffron-alpha);
            color: var(--saffron);
            padding: 6px 16px;
            border-radius: 4px;
            font-size: 0.85rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 15px;
            border: 1px solid rgba(245, 131, 69, 0.2);
        }

        .swabhiman-booking-v8 .main-title{
            font-family: var(--font-head);
            font-size: 2.4rem;
            color: var(--primary);
            line-height: 1.2;
            margin-bottom: 25px;
            font-weight: 900;
        }

        .swabhiman-booking-v8 .main-title span{
            color: var(--saffron);
            display: block;
            font-size: 1.6rem;
            margin-top: 5px;
            font-weight: 700;
        }

        /* Description Cards and Image Showcase Grid */
        .swabhiman-booking-v8 .heritage-intro-block{
            display: flex;
            gap: 25px;
            margin-bottom: 40px;
        }

        .swabhiman-booking-v8 .description-card{
            flex: 1.2;
            background: var(--bg-card);
            border-radius: 16px;
            padding: 24px;
            box-shadow: 0 4px 30px rgba(var(--color-blue-rgb), 0.04);
            border: 1px solid var(--border-gold);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .swabhiman-booking-v8 .description-card p{
            color: #334155;
            font-size: 1rem;
            margin-bottom: 14px;
        }

        .swabhiman-booking-v8 .parv-gallery-showcase{
            flex: 0.9;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
        }

        .swabhiman-booking-v8 .gallery-img{
            border-radius: 12px;
            overflow: hidden;
            border: 1px solid var(--border-gold);
            position: relative;
            box-shadow: 0 8px 20px rgba(0,0,0,0.05);
            height: 90px;
        }

        .swabhiman-booking-v8 .gallery-img img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .swabhiman-booking-v8 .gallery-img:hover img{
            transform: scale(1.1);
        }

        .swabhiman-booking-v8 .perk-pills{
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
        }

        .swabhiman-booking-v8 .perk-pill{
            background: var(--primary);
            color: var(--accent-gold);
            padding: 6px 12px;
            border-radius: 6px;
            font-size: 0.8rem;
            font-weight: 600;
            border: 1px solid var(--accent-gold);
        }

        .swabhiman-booking-v8 .section-subtitle{
            font-family: var(--font-head);
            font-size: 1.4rem;
            color: var(--primary);
            margin-bottom: 30px;
            border-bottom: 2px solid var(--accent-gold);
            padding-bottom: 12px;
            letter-spacing: 1px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        /* --- CHRONOLOGICAL TIMELINE --- */
        .swabhiman-booking-v8 .timeline-container{
            position: relative;
            padding-left: 40px;
            margin-left: 15px;
            border-left: 3px solid var(--accent-gold);
        }

        .swabhiman-booking-v8 .timeline-card{
            position: relative;
            background: var(--bg-card);
            border: 1px solid #E2E8F0;
            border-radius: 14px;
            padding: 20px 25px;
            margin-bottom: 20px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.02);
            transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            cursor: pointer;
        }

        .swabhiman-booking-v8 .timeline-card::before{
            content: '🔱';
            position: absolute;
            left: -53px;
            top: 20px;
            width: 24px;
            height: 24px;
            background-color: var(--bg-parchment);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            z-index: 2;
            transition: all 0.3s ease;
        }

        .swabhiman-booking-v8 .timeline-meta{
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 6px;
        }

        .swabhiman-booking-v8 .timeline-time-badge{
            font-size: 0.85rem;
            font-weight: 700;
            color: var(--saffron);
            background-color: var(--saffron-alpha);
            padding: 4px 12px;
            border-radius: 4px;
            border: 1px solid rgba(245, 131, 69, 0.15);
        }

        .swabhiman-booking-v8 .place-tag{ 
            font-size: 0.72rem; 
            font-weight: 700; 
            padding: 4px 12px; 
            border-radius: 4px; 
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .swabhiman-booking-v8 .place-somnath{ background-color: #E6F4EA; color: #137333; }
        .swabhiman-booking-v8 .place-gaushala{ background-color: #FEF7E0; color: #B06000; }
        .swabhiman-booking-v8 .place-ahilyabai{ background-color: #F3E8FF; color: #6B21A8; }

        .swabhiman-booking-v8 .timeline-title{
            font-family: var(--font-head);
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--primary);
            transition: color 0.3s ease;
        }

        /* HOVER DETAIL REVEAL */
        .swabhiman-booking-v8 .timeline-hover-revealer{
            max-height: 0;
            opacity: 0;
            visibility: hidden;
            transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            display: flex;
            gap: 20px;
            align-items: flex-start;
            margin-top: 0;
        }

        .swabhiman-booking-v8 .timeline-media-box{
            flex: 0 0 200px;
            height: 110px;
            border-radius: 10px;
            overflow: hidden;
            background-color: #F1F5F9;
            border: 1px solid var(--border-gold);
            box-shadow: 0 4px 15px rgba(0,0,0,0.08);
        }

        .swabhiman-booking-v8 .timeline-media-box img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .swabhiman-booking-v8 .timeline-desc{
            flex: 1;
            font-size: 0.92rem;
            color: #334155;
            line-height: 1.5;
        }

        .swabhiman-booking-v8 .timeline-card:hover{
            border-color: var(--accent-gold);
            box-shadow: 0 15px 35px rgba(245, 131, 69, 0.12);
            transform: translateX(8px);
            background-color: #FFFDF9;
        }

        .swabhiman-booking-v8 .timeline-card:hover::before{
            transform: scale(1.3) rotate(360deg);
        }

        .swabhiman-booking-v8 .timeline-card:hover .timeline-title{
            color: var(--saffron);
        }

        .swabhiman-booking-v8 .timeline-card:hover .timeline-hover-revealer{
            max-height: 250px;
            opacity: 1;
            visibility: visible;
            margin-top: 15px;
            padding-top: 14px;
            border-top: 1px dashed var(--accent-gold);
        }


        /* --- RIGHT SIDE: FORM CONTEXT CONTAINER (EXACTLY 40% WIDTH) --- */
        .swabhiman-booking-v8 .form-container-panel{
            width: 40%;
            background-color: #FFFFFF;
            border-left: 2px solid var(--accent-gold);
            position: sticky;
            top: 0;
            align-self: flex-start;
            height: auto;
            display: block;
        }

        /* No inner scroll — flows with .main-scroll-wrapper so ledger + form move as one */
        .swabhiman-booking-v8 .form-scrollable-content{
            padding: 30px 40px 24px 40px;
        }

        .swabhiman-booking-v8 .form-booking-heading{
            font-family: var(--font-head);
            font-size: clamp(1.25rem, 2vw, 1.65rem);
            font-weight: 800;
            color: var(--primary);
            text-align: center;
            margin: 0 0 22px 0;
            line-height: 1.3;
        }

        .swabhiman-booking-v8 .form-section-title{
            font-family: var(--font-head);
            font-size: 1.35rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 6px;
        }

        .swabhiman-booking-v8 .form-section-desc{
            font-size: 0.88rem;
            color: var(--text-muted);
            margin-bottom: 25px;
        }

        .swabhiman-booking-v8 .form-grid{
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-bottom: 10px;
        }

        .swabhiman-booking-v8 .form-row-2{
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px 18px;
        }

        .swabhiman-booking-v8 .form-captcha-row{
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px 18px;
            align-items: start;
        }

        @media (max-width: 560px) {
            .swabhiman-booking-v8 .form-row-2, .swabhiman-booking-v8 .form-captcha-row{
                grid-template-columns: 1fr;
            }
        }

        .swabhiman-booking-v8 .captcha-refresh-mini{
            margin-top: 8px;
            font-size: 0.78rem;
            color: var(--primary);
            background: none;
            border: none;
            cursor: pointer;
            text-decoration: underline;
            font-weight: 600;
            padding: 0;
            text-align: left;
        }

        .swabhiman-booking-v8 .captcha-refresh-mini:hover{
            color: var(--saffron);
        }

        .swabhiman-booking-v8 .form-group{
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .swabhiman-booking-v8 .form-group label{
            font-size: 0.85rem;
            font-weight: 600;
            color: #475569;
        }

        .swabhiman-booking-v8 .form-group label span{ color: #EF4444; margin-left: 3px; }

        .swabhiman-booking-v8 .input-control{
            font-family: inherit;
            width: 100%;
            padding: 12px 16px;
            font-size: 0.92rem;
            border: 1px solid #CBD5E1;
            border-radius: 8px;
            color: var(--text-main);
            background-color: #FFFFFF;
            transition: all 0.2s ease;
        }

        .swabhiman-booking-v8 .input-control:focus{
            outline: none;
            border-color: var(--saffron);
            box-shadow: 0 0 0 3px rgba(245, 131, 69, 0.12);
        }

        .swabhiman-booking-v8 .phone-input-wrap{ display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

        .swabhiman-booking-v8 .mobile-otp-block{ margin-bottom: 4px; }

        .swabhiman-booking-v8 .mobile-otp-row{
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        .swabhiman-booking-v8 .mobile-otp-row .cell-mobile{
            width: 12rem;
            max-width: 100%;
            flex: 0 0 auto;
        }

        .swabhiman-booking-v8 .mobile-otp-row.otp-active .cell-send{
            display: none !important;
        }

        .swabhiman-booking-v8 .mobile-otp-row .cell-otp, .swabhiman-booking-v8 .mobile-otp-row .cell-verify, .swabhiman-booking-v8 .mobile-otp-row .cell-resend{
            display: none;
        }

        .swabhiman-booking-v8 .mobile-otp-row.otp-active .cell-otp{
            display: block;
            flex: 1 1 8rem;
            min-width: 7rem;
            max-width: 11rem;
        }

        .swabhiman-booking-v8 .mobile-otp-row.otp-active .cell-verify, .swabhiman-booking-v8 .mobile-otp-row.otp-active .cell-resend{
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .swabhiman-booking-v8 .btn-otp{
            background-color: var(--primary);
            color: var(--accent-gold);
            border: 1px solid var(--accent-gold);
            padding: 10px 18px;
            border-radius: 8px;
            font-weight: 700;
            font-size: 0.88rem;
            cursor: pointer;
            white-space: nowrap;
            transition: all 0.2s;
            min-height: 44px;
        }

        .swabhiman-booking-v8 .btn-otp:hover{
            background-color: var(--accent-gold);
            color: var(--color-black);
        }

        .swabhiman-booking-v8 .btn-verify-otp{
            background: linear-gradient(180deg, #1a7a5c 0%, #156b52 100%);
            color: #fff;
            border: 1px solid #0f4a38;
            padding: 10px 20px;
            border-radius: 8px;
            font-weight: 700;
            font-size: 0.88rem;
            cursor: pointer;
            min-height: 44px;
            white-space: nowrap;
            transition: filter 0.2s;
        }

        .swabhiman-booking-v8 .btn-verify-otp:hover{
            filter: brightness(1.06);
        }

        .swabhiman-booking-v8 .btn-verify-otp.is-verified{
            background: #2a8f6f;
            cursor: default;
            border-color: #1f6b52;
        }

        .swabhiman-booking-v8 .btn-resend-otp{
            background: #f1f5f9;
            border: 1px solid #cbd5e1;
            color: var(--primary);
            width: 44px;
            height: 44px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 1.1rem;
            line-height: 1;
        }

        .swabhiman-booking-v8 .btn-resend-otp:hover{
            background: #e2e8f0;
            border-color: var(--saffron);
        }

        .swabhiman-booking-v8 .gateway-container{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-top: 4px;
            align-items: stretch;
        }

        @media (max-width: 520px) {
            .swabhiman-booking-v8 .gateway-container{
                grid-template-columns: 1fr;
            }
        }

        .swabhiman-booking-v8 .gateway-card{
            border: 2px solid #E2E8F0;
            border-radius: 12px;
            padding: 14px;
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .swabhiman-booking-v8 .gateway-card input[type="radio"]{
            accent-color: var(--saffron);
            width: 18px;
            height: 18px;
            cursor: pointer;
        }

        .swabhiman-booking-v8 .gateway-card.selected{
            border-color: var(--accent-gold);
            background-color: rgba(255, 227, 46, 0.12);
        }

        .swabhiman-booking-v8 .gateway-info h4{ font-size: 0.92rem; font-weight: 700; color: var(--primary); }
        .swabhiman-booking-v8 .gateway-info p{ font-size: 0.78rem; color: var(--text-muted); margin-top: 1px; }

        .swabhiman-booking-v8 .captcha-wrapper{
            background: #F8FAFC;
            border: 1px solid #E2E8F0;
            border-radius: 12px;
            padding: 14px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-top: 6px;
        }

        .swabhiman-booking-v8 .captcha-image-mock{
            background: linear-gradient(45deg, #E2E8F0 25%, #CBD5E1 25%, #CBD5E1 50%, #E2E8F0 50%, #E2E8F0 75%, #CBD5E1 75%, #CBD5E1 100%);
            background-size: 15px 15px;
            color: #0F1E36;
            font-family: var(--font-head);
            font-weight: 800;
            font-style: italic;
            font-size: 1.15rem;
            letter-spacing: 4px;
            padding: 8px 16px;
            border-radius: 6px;
            user-select: none;
            border: 1px solid #CBD5E1;
        }

        .swabhiman-booking-v8 .rule-banner{
            background-color: #FFFBEB;
            border-left: 4px solid var(--saffron);
            padding: 16px;
            border-radius: 0 12px 12px 0;
            margin-top: 25px;
            margin-bottom: 20px;
        }

        .swabhiman-booking-v8 .rule-banner h5{ color: #78350F; font-size: 0.88rem; font-weight: 700; margin-bottom: 4px; }
        .swabhiman-booking-v8 .rule-banner p{ color: #92400E; font-size: 0.82rem; line-height: 1.4; }


        /* --- Checkout ledger (in flow, under protocol banner) --- */
        .swabhiman-booking-v8 .sticky-checkout-bar{
            background:var(--color-blue);
            border-top: 2px solid var(--accent-gold);
            padding: 20px 40px;
            display: flex;
            flex-direction: column;
            gap: 14px;
            margin-top: 8px;
            margin-bottom: 0;
            margin-left: -40px;
            margin-right: -40px;
            width: calc(100% + 80px);
            max-width: none;
            box-sizing: border-box;
            border-radius: 0 0 12px 12px;
            box-shadow: 0 8px 24px rgba(0,0,0,0.12);
            flex-shrink: 0;
            position: static;
        }

        .swabhiman-booking-v8 .price-row{
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            min-width: 0;
        }

         .swabhiman-booking-v8 .price-display{ display: flex; flex-direction: column; }
        .swabhiman-booking-v8 .price-label{ font-size: 0.75rem; color: #94A3B8; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }
        .swabhiman-booking-v8 .price-amount{
            font-size: 1.8rem;
            font-weight: 800;
            background: var(--gold-gradient);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
        }
        .swabhiman-booking-v8 .price-tax-note{ font-size: 0.7rem; color: #ccd7e7; margin-top: 1px; }

        .swabhiman-booking-v8 .btn-submit{
            width: 100%;
            background: var(--gold-gradient);
            color: var(--color-black);
            border: none;
            padding: 15px 20px;
            font-size: 1.05rem;
            font-weight: 800;
            border-radius: 8px;
            cursor: pointer;
            box-shadow: 0 4px 20px rgba(245, 131, 69, 0.25);
            transition: all 0.2s ease;
            font-family: var(--font-head);
            text-align: center;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .swabhiman-booking-v8 .btn-submit:hover{
            transform: translateY(-2px);
            box-shadow: 0 6px 25px rgba(245, 131, 69, 0.4);
        }

        /* Responsive Breakdowns */
        @media (max-width: 1200px) { .swabhiman-booking-v8{ overflow: auto; height: auto; }
            .swabhiman-booking-v8 .branding-header{ flex-direction: column; gap: 15px; padding: 20px; }
            .swabhiman-booking-v8 .pm-launch-card{ flex-direction: column; text-align: center; margin: 20px 20px 0 20px; }
            .swabhiman-booking-v8 .page-split-wrapper{ flex-direction: column; margin-top: 20px; }
            .swabhiman-booking-v8 .heritage-sidebar{ width: 100%; padding: 40px 20px; }
            .swabhiman-booking-v8 .heritage-intro-block{ flex-direction: column; }
            
            .swabhiman-booking-v8 .gallery-img{
                height: auto;
                min-height: 100px;
                aspect-ratio: 4 / 3;
            }
            .swabhiman-booking-v8 .gallery-img img{
                object-fit: cover;
                object-position: center;
            }
            .swabhiman-booking-v8 .timeline-meta{
                flex-wrap: wrap;
                gap: 8px;
                align-items: flex-start;
                justify-content: flex-start;
            }
            .swabhiman-booking-v8 .timeline-hover-revealer{
                flex-direction: column;
                align-items: stretch;
                gap: 14px;
            }
            /* Desktop box is 200×110 — keep same ratio so image is not a short strip on narrow screens */
            .swabhiman-booking-v8 .timeline-media-box{
                width: 100%;
                flex: none;
                height: auto;
                aspect-ratio: 200 / 110;
                min-height: 0;
                max-height: none;
            }
            .swabhiman-booking-v8 .timeline-media-box img{
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
            }
            .swabhiman-booking-v8 .timeline-card:hover .timeline-hover-revealer{
                max-height: 2400px;
            }
            .swabhiman-booking-v8 .timeline-card:hover{
                transform: none;
            }
            .swabhiman-booking-v8 .form-container-panel{ width: 100%; height: auto; position: relative; border-left: none; border-top: 2px solid var(--accent-gold); }
            .swabhiman-booking-v8 .form-scrollable-content{ padding: 40px 20px 24px 20px; }
            .swabhiman-booking-v8 .sticky-checkout-bar{
                position: static;
                flex-direction: column;
                justify-content: flex-start;
                align-items: stretch;
                padding: 18px 20px;
                margin-left: -20px;
                margin-right: -20px;
                width: calc(100% + 40px);
                gap: 12px;
            }
            .swabhiman-booking-v8 .price-row{
                flex-direction: column;
                align-items: flex-start;
                justify-content: flex-start;
                width: 100%;
            }
            .swabhiman-booking-v8 .price-display{ min-width: 0; width: 100%; }
            .swabhiman-booking-v8 .price-tax-note{
                margin-top: 2px;
                max-width: 100%;
                line-height: 1.35;
            }
            .swabhiman-booking-v8 .btn-submit,
            .swabhiman-booking-v8 #btnSend.btn-submit{
                width: 100%;
                max-width: 100%;
                box-sizing: border-box;
                padding: 14px 16px;
                white-space: normal;
                word-break: break-word;
                line-height: 1.25;
            }
        }
        @media (max-width: 1200px) and (hover: none){
            .swabhiman-booking-v8 .timeline-card .timeline-hover-revealer{
                max-height: none;
                opacity: 1;
                visibility: visible;
                margin-top: 15px;
                padding-top: 14px;
                border-top: 1px dashed var(--accent-gold);
            }
            .swabhiman-booking-v8 .timeline-card{
                cursor: default;
            }
        }

         @media (max-width: 991px) {
            .swabhiman-booking-v8 .millennium-hero-banner{
                 padding: clamp(6px, 1.5vw, 10px) 0 0;
                border-bottom-width: 2px;
            }

            .swabhiman-booking-v8 .millennium-hero-inner{
                flex-direction: column;
                justify-content: flex-start;
                align-items: center;
                min-height: unset;
                max-height: none;
                overflow: hidden;
                background-color: #0b1a33;
            }

            .swabhiman-booking-v8 .hero-mw-photo{
                position: relative;
                inset: auto;
                display: block;
                margin: 0 auto;
                width: 100%;
                max-width: 100%;
                height: auto;
                min-height: 0;
                max-height: none;
                object-fit: contain;
                object-position: center center;
            }

            .swabhiman-booking-v8 .hero-veil{
                display: none;
            }

            .swabhiman-booking-v8 .millennium-hero-content{
                flex: none;
                width: 100%;
                max-width: 100%;
                align-self: stretch;
                align-items: center;
                text-align: center;
                margin: 0;
                margin-top: -1px;
                padding: clamp(10px, 3vw, 18px) clamp(12px, 3.5vw, 20px) clamp(14px, 4vw, 22px);
                background: linear-gradient(
                    180deg,
                    rgba(18, 24, 36, 0.92) 0%,
                    rgba(4, 12, 28, 0.55) 45%,
                    rgba(4, 12, 28, 0.72) 100%
                );
            }

            .swabhiman-booking-v8 .millennium-hero-content .banner-main-text{
                max-width: 100%;
                margin-top: 0;
            }

            .swabhiman-booking-v8 .banner-main-text{
                font-size: clamp(0.82rem, 2.9vw, 1.12rem);
                line-height: 1.32;
            }

            .swabhiman-booking-v8 .banner-main-text strong{
                font-size: clamp(1.05rem, 4.2vw, 1.55rem);
                margin-top: clamp(4px, 1.2vw, 10px);
            }
        }

        @media (max-width: 576px) {
            .swabhiman-booking-v8 .sticky-checkout-bar{
                padding: 14px 14px;
                margin-left: -14px;
                margin-right: -14px;
                width: calc(100% + 28px);
            }
            .swabhiman-booking-v8 .form-scrollable-content{
                padding: 26px 14px 18px 14px;
            }
            .swabhiman-booking-v8 .price-amount{ font-size: 1.45rem; }
            .swabhiman-booking-v8 .price-label{ font-size: 0.68rem; }
            .swabhiman-booking-v8 .btn-submit,
            .swabhiman-booking-v8 #btnSend.btn-submit{
                font-size: 0.82rem;
                letter-spacing: 0.04em;
                padding: 12px 10px;
            }
        }

/* Django Swabhiman booking form (legacy table markup) inside v8 right panel */
.swabhiman-booking-v8 .form-container-panel .booking {
    background: transparent !important;
    margin: 0;
    padding: 0;
}
.swabhiman-booking-v8 .form-container-panel .form-scrollable-content > .booking {
    box-shadow: none;
}
.swabhiman-booking-v8 .form-container-panel .table-bordered {
    border-color: #e2e8f0;
}
.swabhiman-booking-v8 .form-container-panel .form-control {
    border-radius: 8px;
    border: 1px solid #cbd5e1;
}
.swabhiman-booking-v8 .form-container-panel #btnSend {
    width: 100%;
    max-width: 100%;
    background: var(--gold-gradient);
    color: var(--color-black);
    border: none;
    padding: 15px 20px;
    font-size: 1.05rem;
    font-weight: 800;
    border-radius: 8px;
    font-family: var(--font-head);
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 20px rgba(245, 131, 69, 0.25);
}
.swabhiman-booking-v8 .form-container-panel #btnSend:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(245, 131, 69, 0.35);
    color: var(--color-black);
}
.swabhiman-booking-v8 .swabhiman-v8-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.swabhiman-booking-v8 .swabhiman-v8-otp-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.swabhiman-booking-v8 .swabhiman-v8-otp-fields {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.swabhiman-booking-v8 .swabhiman-v8-otp-fields.d-none {
  display: none !important;
}

.swabhiman-booking-v8 #captcha_label.captcha-image-mock {
  background: #f8fafc;
  background-image: none;
  font-style: normal;
  letter-spacing: 0.2em;
}

.swabhiman-booking-v8 #btnSend.btn-submit:disabled,
.swabhiman-booking-v8 #btnSend.btn-submit.swabhiman-btn-muted {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.swabhiman-booking-v8 form#my_form {
  position: relative;
}
