/**
 * Raghuvanshi Travels - Master Frontend Stylesheet
 * Bundled for maximum caching and performance.
 */

/**
 * Raghuvanshi Travels - Frontend Main Core Stylesheet
 */

:root {
            /* Raghuvanshi Travels Brand Guidelines Colors */
            --brand-navy: #0F2747;              /* Navy Blue */
            --brand-gold: #D9A441;              /* Gold */
            --brand-gold-gradient: linear-gradient(135deg, #D9A441 0%, #F3C86A 100%);
            --brand-charcoal: #2B2B2B;          /* Dark Charcoal */
            --brand-white: #FFFFFF;             /* White */
            --brand-champagne: #FAF3EE;         /* Light Sand / Champagne */
            
            --primary: #0F2747;
            --primary-dark: #08172b;
            --secondary: #D9A441;
            --secondary-hover: #b88628;
            --bg-light: #f8fafc;
            --text-main: #2B2B2B;
            --text-muted: #64748b;
            --white: #ffffff;
        }

        /* --- Typography Hierarchy (Brand Guideline Specification: Extra Light 200 Weight) --- */
        html {
            margin: 0 !important;
            padding: 0 !important;
            width: 100% !important;
            background-color: #0F2747;
            overflow-x: hidden;
            overscroll-behavior: none;
        }
        body {
            font-family: 'Plus Jakarta Sans', 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 0.95rem;
            font-weight: 200;
            line-height: 1.7;
            background-color: var(--bg-light);
            color: var(--text-main);
            overflow-x: hidden;
            padding-top: 65px; /* Offset for fixed navbar */
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            margin: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            width: 100% !important;
        }

        /* Headline: Erode */
        h1, .headline-lg {
            font-family: 'Erode', 'Cinzel', serif;
            font-size: clamp(2rem, 4.5vw, 3.25rem); /* ~32px to ~52px */
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.5px;
            color: var(--primary);
        }

        h2, .headline-md {
            font-family: 'Erode', 'Cinzel', serif;
            font-size: clamp(1.6rem, 3.5vw, 2.25rem); /* ~26px to ~36px */
            font-weight: 600;
            line-height: 1.25;
            letter-spacing: 0.5px;
            color: var(--primary);
        }

        h3, h4, h5, h6, .headline-sm {
            font-family: 'Erode', 'Cinzel', serif;
            font-weight: 600;
            color: var(--primary);
        }

        /* Subheading: Extra Light with wide tracking */
        .subheading-sans, .section-subtitle {
            font-family: 'Plus Jakarta Sans', 'Montserrat', sans-serif;
            font-size: 0.78rem;          /* 12.5px */
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 3px;         /* Wide luxury spacing */
            color: var(--brand-gold);
            display: inline-block;
            margin-bottom: 6px;
        }

        /* Paragraph: Extra Light 200 */
        p, .paragraph-body {
            font-family: 'Plus Jakarta Sans', 'Montserrat', 'Inter', sans-serif;
            font-size: 0.95rem;
            font-weight: 200;
            line-height: 1.75;
            color: var(--text-main);
        }

        /* Brand Logo Typography (Raghuvanshi Travels) */
        .brand-name {
            font-family: 'Erode', 'Cinzel', serif;
            font-size: 1.35rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 5px;
            color: var(--white);
        }

        .brand-subtitle {
            font-family: 'Erode', 'Mona Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 12px;
            color: var(--brand-gold);
        }

        /* Brand Action Buttons (more buttons from brand guide) */
        .btn-brand-champagne {
            background-color: var(--brand-champagne);
            color: var(--brand-navy);
            border: 1px solid #EFE4DA;
            font-family: 'Erode', serif;
            font-size: 1rem;
            font-weight: 500;
            padding: 10px 32px;
            border-radius: 0;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .btn-brand-champagne:hover {
            background-color: #f3e5d8;
            color: var(--brand-navy);
            transform: translateY(-1px);
        }

        .btn-brand-dark {
            background-color: #000000;
            color: #ffffff;
            border: none;
            font-family: 'Erode', serif;
            font-size: 1rem;
            font-weight: 500;
            padding: 10px 32px;
            border-radius: 0;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .btn-brand-dark:hover {
            background-color: var(--brand-navy);
            color: #ffffff;
            transform: translateY(-1px);
        }

        /* Navbar */
        .navbar {
            background-color: rgba(255, 255, 255, 0.85); /* Frosted glass effect */
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            box-shadow: 0 2px 15px rgba(0, 0, 0, 0.04);
            border-bottom: 1px solid rgba(255, 255, 255, 0.3);
            padding: 10px 0;
            padding-top: max(10px, env(safe-area-inset-top));
            transition: all 0.3s ease;
            border-bottom: 2px solid var(--brand-gold);
            left: 0 !important;
            right: 0 !important;
            width: 100% !important;
        }
        
        .navbar-brand {
            display: flex;
            align-items: center;
        }

        @media (min-width: 992px) {
            .absolute-center-lg {
                position: absolute;
                left: 50%;
                transform: translateX(-50%);
            }
        }

        .navbar-brand img {
            height: 44px;
            max-height: 44px;
            object-fit: contain;
            border-radius: 0;
            transition: transform 0.2s ease;
        }

        .navbar-brand:hover img {
            transform: scale(1.04);
        }

        .nav-link {
            color: var(--brand-navy) !important;
            font-weight: 500;
            margin: 0 10px;
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: color 0.3s;
        }

        .nav-link:hover, .nav-link.active {
            color: var(--brand-gold) !important;
        }

        .btn-custom {
            background: var(--brand-gold-gradient);
            color: #0F2747;
            border: none;
            padding: 10px 24px;
            border-radius: 0;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(217, 164, 65, 0.25);
        }

        .btn-custom:hover {
            background: linear-gradient(135deg, #F3C86A 0%, #D9A441 100%);
            color: #0F2747;
            transform: translateY(-1px);
            box-shadow: 0 6px 18px rgba(217, 164, 65, 0.4);
        }

        .btn-primary-custom {
            background-color: var(--primary);
            color: var(--white);
            border: 1px solid var(--brand-gold);
            padding: 10px 24px;
            border-radius: 0;
            font-weight: 700;
            text-transform: uppercase;
            transition: all 0.3s ease;
        }

        .btn-primary-custom:hover {
            background-color: var(--primary-dark);
            color: var(--brand-gold);
        }

        /* Footer */
        .footer {
            background: linear-gradient(rgba(15, 39, 71, 0.96), rgba(15, 39, 71, 0.98)), url('https://images.unsplash.com/photo-1524661135-423995f22d0b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover;
            padding: 60px 0 20px;
            margin-top: 60px;
            color: #e0e0e0;
            border-top: 4px solid var(--brand-gold);
        }
        
        .footer h5 {
            color: var(--secondary);
            margin-bottom: 20px;
            font-size: 1.2rem;
        }
        
        .footer p, .footer a {
            color: #bbbbbb;
            text-decoration: none;
            transition: color 0.3s;
        }
        
        .footer a:hover {
            color: var(--secondary);
        }
        
        .social-links a {
            display: inline-block;
            width: 40px;
            height: 40px;
            line-height: 40px;
            text-align: center;
            background-color: #333333;
            border-radius: 50%;
            margin-right: 10px;
            color: var(--white);
            transition: all 0.3s;
        }
        
        .social-links a:hover {
            background-color: var(--secondary);
            color: var(--text-main);
            transform: translateY(-3px);
        }

        /* Utility Classes */
        .bg-white-card {
            background: var(--white);
            border-radius: 0;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            padding: 30px;
        }

        /* Global Flat Aesthetic - Zero Border Radius */
        button, .btn, input, select, textarea, .form-control, .form-select, .card, .modal-content, .dropdown-menu, .badge, .alert, img.rounded, .rounded {
            border-radius: 0 !important;
        }

        /* ============================================================
           GLOBAL MOBILE RESPONSIVE SUITE
        ============================================================ */

        /* Prevent horizontal overflow on all screens + kill edge whitespace */
        *, *::before, *::after {
            box-sizing: border-box;
        }
        img {
            max-width: 100%;
            height: auto;
        }
        /* Ensure main content and sections never create side gaps */
        main {
            width: 100%;
            margin: 0;
            padding: 0;
            overflow-x: hidden;
        }
        section {
            width: 100%;
            position: relative;
        }

        @media (max-width: 991.98px) {
            /* Navbar mobile - dropdown menu */
            .navbar {
                padding: 8px 0;
            }
            .navbar-brand img {
                height: 38px;
            }
            body {
                padding-top: 56px;
            }
            #navbarNav {
                background: #ffffff;
                border-top: 2px solid var(--brand-gold);
                padding: 12px 0;
                margin-top: 8px;
            }
            .nav-link {
                margin: 2px 16px;
                padding: 8px 0 !important;
                font-size: 13px;
                border-bottom: 1px solid rgba(255,255,255,0.08);
            }
            .nav-link:last-child {
                border-bottom: none;
            }
            .navbar-nav .ms-lg-3, .navbar-nav .ms-lg-2 {
                margin-left: 0 !important;
            }
            .navbar-nav .btn-custom {
                margin: 10px 16px 4px;
                text-align: center;
                display: block;
                width: calc(100% - 32px);
            }
        }

        @media (max-width: 575.98px) {
            /* Navbar */
            .navbar-brand img {
                height: 34px;
            }
            body {
                padding-top: 56px;
            }

            /* Footer */
            .footer {
                padding: 40px 0 16px;
                margin-top: 40px;
            }
            .footer .row > div {
                margin-bottom: 24px !important;
            }
            .footer h5 {
                font-size: 1rem;
                margin-bottom: 12px;
            }
            .footer p, .footer a {
                font-size: 0.88rem;
            }
            .social-links a {
                width: 36px;
                height: 36px;
                line-height: 36px;
                font-size: 0.9rem;
            }
            .footer .row.mt-5 {
                margin-top: 24px !important;
                padding-top: 16px !important;
            }
            .footer .row.mt-5 p {
                font-size: 0.82rem;
            }

            /* Floating buttons - smaller on mobile */
            .floating-contact-wrap {
                bottom: 16px;
                right: 14px;
                gap: 10px;
            }
            .floating-btn {
                width: 46px;
                height: 46px;
                font-size: 1.25rem;
            }
            .float-tooltip {
                display: none !important;
            }
        }

        /* Custom Modern Datepicker Styling */
        div.datepicker, .datepicker-dropdown {
            padding: 16px !important;
            border-radius: 0 !important;
            box-shadow: 0 15px 35px rgba(10, 37, 64, 0.15), 0 5px 15px rgba(0,0,0,0.08) !important;
            border: 1px solid rgba(10, 37, 64, 0.1) !important;
            font-family: 'Inter', sans-serif !important;
            z-index: 1050 !important;
            margin-top: 8px;
            background: #ffffff;
        }

        div.datepicker table, .datepicker-dropdown table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 2px;
        }

        .datepicker table tr td, 
        .datepicker table tr th {
            width: 36px;
            height: 36px;
            border-radius: 0 !important;
            text-align: center;
            font-size: 0.9rem;
            transition: all 0.2s ease;
        }

        .datepicker table tr th {
            font-weight: 600;
            color: var(--primary);
        }

        .datepicker table tr th.dow {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: var(--text-muted);
            padding-bottom: 8px;
        }

        .datepicker table tr th.datepicker-switch {
            font-family: 'Anton', sans-serif;
            font-size: 1.15rem;
            letter-spacing: 0.5px;
            color: var(--primary);
            padding: 8px 0;
            border-radius: 0 !important;
        }

        .datepicker table tr th.datepicker-switch:hover,
        .datepicker table tr th.prev:hover,
        .datepicker table tr th.next:hover {
            background-color: rgba(10, 37, 64, 0.05) !important;
            color: var(--secondary) !important;
        }

        .datepicker table tr td.day {
            font-weight: 500;
            color: #2d3748;
        }

        .datepicker table tr td.day:hover {
            background-color: #f1f5f9 !important;
            color: var(--primary) !important;
            font-weight: 600;
        }

        .datepicker table tr td.active,
        .datepicker table tr td.active:hover,
        .datepicker table tr td.active.disabled,
        .datepicker table tr td.active.disabled:hover {
            background: var(--primary) !important;
            color: #ffffff !important;
            font-weight: 700;
            box-shadow: 0 4px 10px rgba(10, 37, 64, 0.3);
            text-shadow: none !important;
        }

        .datepicker table tr td.today {
            background-color: rgba(245, 158, 11, 0.15) !important;
            color: #d97706 !important;
            font-weight: 700;
            border: 1px solid var(--secondary) !important;
        }

        .datepicker table tr td.today:hover {
            background-color: var(--secondary) !important;
            color: #ffffff !important;
        }

        .datepicker table tr td.disabled,
        .datepicker table tr td.disabled:hover {
            color: #cbd5e1 !important;
            cursor: not-allowed;
            background: transparent !important;
        }

        .datepicker-dropdown:after {
            border-bottom: 6px solid #ffffff !important;
        }

        /* Floating Contact Action Widget */
        .floating-contact-wrap {
            position: fixed;
            bottom: 24px;
            right: 24px;
            z-index: 1040;
            display: flex;
            flex-direction: column;
            gap: 12px;
            align-items: flex-end;
        }
        .floating-btn {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff !important;
            text-decoration: none;
            font-size: 1.45rem;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
            position: relative;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .floating-btn:hover {
            transform: scale(1.12) translateY(-3px);
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
        }
        .whatsapp-float-btn {
            background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
            box-shadow: 0 6px 20px rgba(37, 211, 102, 0.45);
            animation: pulse-whatsapp 2.5s infinite;
        }
        .whatsapp-float-btn:hover {
            box-shadow: 0 10px 30px rgba(37, 211, 102, 0.7);
        }
        .call-float-btn {
            background: linear-gradient(135deg, #0F2747 0%, #173b6c 100%);
            border: 2px solid var(--brand-gold);
            color: var(--brand-gold) !important;
            box-shadow: 0 6px 20px rgba(15, 39, 71, 0.4);
        }
        .call-float-btn:hover {
            background: var(--brand-gold);
            color: #0F2747 !important;
            border-color: #0F2747;
            box-shadow: 0 10px 30px rgba(217, 164, 65, 0.6);
        }
        .float-tooltip {
            position: absolute;
            right: 64px;
            background: #0F2747;
            color: #ffffff;
            padding: 5px 12px;
            border-radius: 6px;
            font-size: 0.78rem;
            font-weight: 700;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transform: translateX(10px);
            transition: all 0.25s ease;
            border: 1px solid rgba(217, 164, 65, 0.35);
            box-shadow: 0 6px 18px rgba(0,0,0,0.25);
            font-family: 'Mona Sans', sans-serif;
            letter-spacing: 0.5px;
        }
        .float-tooltip::after {
            content: '';
            position: absolute;
            top: 50%;
            right: -5px;
            transform: translateY(-50%);
            border-width: 5px 0 5px 5px;
            border-style: solid;
            border-color: transparent transparent transparent #0F2747;
        }
        .floating-btn:hover .float-tooltip {
            opacity: 1;
            transform: translateX(0);
        }
        @keyframes pulse-whatsapp {
            0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.65); }
            70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
            100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
        }
        @media (max-width: 575.98px) {
            .floating-contact-wrap {
                bottom: 16px;
                right: 16px;
                gap: 10px;
            }
            .floating-btn {
                width: 46px;
                height: 46px;
                font-size: 1.25rem;
            }
        }

        /* ============================================================
           GLOBAL ZERO BORDER RADIUS FOR ALL BUTTONS AND IMAGES
        ============================================================ */
        button,
        .btn,
        .btn-custom,
        .btn-primary-custom,
        .btn-brand-champagne,
        .btn-brand-dark,
        .btn-hero-primary,
        .btn-hero-secondary,
        .btn-search-submit,
        .btn-search-hero,
        .btn-ev-cta,
        .btn-how-cta,
        .btn-copy-code,
        .offer-cta-btn,
        .route-cta-btn,
        .route-cta-explore,
        .btn-primary,
        .btn-secondary,
        .btn-success,
        .btn-danger,
        .btn-warning,
        .btn-info,
        .btn-light,
        .btn-dark,
        .btn-outline-primary,
        .btn-outline-secondary,
        .btn-outline-light,
        .btn-outline-dark,
        .navbar-toggler,
        a.btn,
        input[type="button"],
        input[type="submit"],
        input[type="reset"] {
            border-radius: 0 !important;
        }

        img,
        .img-fluid,
        .gallery-item,
        .gallery-item img,
        .navbar-brand img,
        .footer img,
        .luxury-offer-card img,
        .popular-route-card img,
        .testimonial-avatar,
        #modalImage {
            border-radius: 0 !important;
        }

        /* ============================================================
           BESPOKE LUXURY CAROUSEL ARROWS & CONTROLS
        ============================================================ */
        .gallery-arrow-btn,
        .testimonial-arrow-btn,
        .carousel-control-arrow,
        .gallery-modal-close-btn {
            width: 52px !important;
            height: 52px !important;
            border-radius: 50% !important;
            background: rgba(15, 39, 71, 0.95) !important;
            border: 1.5px solid #D9A441 !important;
            color: #D9A441 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-size: 1.2rem !important;
            z-index: 10 !important;
            cursor: pointer !important;
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
            box-shadow: 0 8px 24px rgba(15, 39, 71, 0.35), 0 0 16px rgba(217, 164, 65, 0.2) !important;
            backdrop-filter: blur(10px) !important;
            -webkit-backdrop-filter: blur(10px) !important;
            outline: none !important;
            text-decoration: none !important;
        }

        .gallery-arrow-btn.prev-btn,
        .testimonial-arrow-btn.prev-btn {
            left: -26px !important;
        }

        .gallery-arrow-btn.next-btn,
        .testimonial-arrow-btn.next-btn {
            right: -26px !important;
        }

        .gallery-arrow-btn:hover,
        .testimonial-arrow-btn:hover,
        .carousel-control-arrow:hover {
            background: linear-gradient(135deg, #D9A441 0%, #B8860B 100%) !important;
            border-color: #F1C40F !important;
            color: #07172C !important;
            transform: translateY(-50%) scale(1.14) !important;
            box-shadow: 0 12px 32px rgba(217, 164, 65, 0.55), 0 0 24px rgba(217, 164, 65, 0.35) !important;
        }

        .gallery-modal-close-btn:hover {
            background: linear-gradient(135deg, #D9A441 0%, #B8860B 100%) !important;
            border-color: #F1C40F !important;
            color: #07172C !important;
            transform: scale(1.1) !important;
            box-shadow: 0 10px 25px rgba(217, 164, 65, 0.5) !important;
        }

        @media (max-width: 767.98px) {
            .gallery-arrow-btn,
            .testimonial-arrow-btn {
                width: 44px !important;
                height: 44px !important;
                font-size: 1.05rem !important;
            }
            .gallery-arrow-btn.prev-btn,
            .testimonial-arrow-btn.prev-btn {
                left: 8px !important;
            }
            .gallery-arrow-btn.next-btn,
            .testimonial-arrow-btn.next-btn {
                right: 8px !important;
            }
        }

/**
 * Raghuvanshi Travels - Homepage Stylesheet
 */

.hero-section {
    background: #07172C;
    padding: 110px 0 70px;
    min-height: 100vh; /* Exactly full screen so form is pushed below the fold */
    display: flex;
    align-items: center;
    border-bottom: 3px solid var(--brand-gold);
    position: relative;
    overflow: hidden;
    margin-top: -30px !important;
}

/* Background Media & Carousel */
.hero-media-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.hero-slide-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    animation: slowZoom 20s ease-in-out infinite alternate;
}

/* Custom Aesthetic Navigation Arrows for Banner */
.custom-carousel-nav {
    width: 80px;
    opacity: 0.7;
    transition: all 0.3s ease;
}
.custom-carousel-nav:hover {
    opacity: 1;
}
.custom-nav-icon {
    width: 50px;
    height: 50px;
    background: rgba(15, 39, 71, 0.7); /* Brand Navy */
    border: 2px solid var(--brand-gold); /* Gold border */
    border-radius: 0; /* Sharp corners per brand guidelines */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-gold);
    font-size: 1.2rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(4px);
}
.custom-carousel-nav:hover .custom-nav-icon {
    background: var(--brand-gold);
    color: #0F2747;
    transform: scale(1.1);
}

.hero-slide-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

.hero-overlay {
    display: none; /* Completely removed as requested by user */
}

.hero-content-wrapper {
    position: relative;
    z-index: 3;
}

.hero-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 18px;
    border-radius: 0;
    background: rgba(217, 164, 65, 0.16);
    border: 1px solid rgba(217, 164, 65, 0.45);
    color: #F8D38D;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

.hero-title {
    font-family: 'Erode', serif;
    font-size: clamp(2rem, 4.2vw, 3.4rem);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.5px;
    color: #FFFFFF;
    text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
    max-width: 960px;
    margin: 0 auto 14px;
    text-wrap: balance;
}

.hero-subtitle {
    font-size: clamp(0.95rem, 1.8vw, 1.15rem);
    font-weight: 300;
    color: #E2E8F0;
    line-height: 1.5;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
    max-width: 820px;
    margin: 0 auto 10px;
}

.hero-description {
    font-size: 0.92rem;
    font-weight: 300;
    color: rgba(241, 245, 249, 0.8);
    max-width: 800px;
    margin: 0 auto 20px;
    line-height: 1.65;
}

.hero-cta-group {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 26px;
}

.btn-hero-primary {
    background: linear-gradient(135deg, #D9A441 0%, #B8860B 100%);
    color: #07172C;
    font-weight: 700;
    font-size: 0.92rem;
    padding: 11px 24px;
    border-radius: 0;
    border: none;
    box-shadow: 0 4px 16px rgba(217, 164, 65, 0.35);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.btn-hero-primary:hover {
    background: linear-gradient(135deg, #F1C40F 0%, #D9A441 100%);
    color: #000000;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(217, 164, 65, 0.5);
}

.btn-hero-secondary {
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    font-weight: 600;
    font-size: 0.92rem;
    padding: 11px 22px;
    border-radius: 0;
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: #FFFFFF;
    color: #FFFFFF;
    transform: translateY(-2px);
}

/* ============================================================
   PIXEL-PERFECT UNIFIED SEARCH BOX (Flat Luxury Design)
============================================================ */
.search-box-card {
    background: #ffffff;
    padding: 22px 24px;
    border-radius: 0;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(217, 164, 65, 0.45);
    border-top: 3px solid var(--brand-gold);
    position: relative;
    z-index: 3;
    max-width: 1160px;
    margin: 0 auto;
}

.search-form-flex {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    width: 100%;
}

.search-col-item {
    display: flex;
    flex-direction: column;
}

.search-col-from {
    flex: 1.25;
    min-width: 175px;
}

.search-col-swap {
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}

.search-col-to {
    flex: 1.25;
    min-width: 175px;
}

.search-col-date {
    flex: 1.1;
    min-width: 165px;
}

.search-col-return {
    flex: 0.95;
    min-width: 135px;
}

.search-col-passengers {
    flex: 0.85;
    min-width: 115px;
}

.search-col-submit {
    flex: 1.1;
    min-width: 145px;
}

/* Field Labels & Headers */
.search-field-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 20px;
    margin-bottom: 7px;
}

.search-field-label {
    font-size: 0.74rem;
    font-weight: 700;
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.quick-date-group {
    display: flex;
    gap: 3px;
}

.quick-date-pill {
    font-size: 0.68rem;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 0;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
    cursor: pointer;
    line-height: 1.4;
    transition: all 0.2s ease;
}
.quick-date-pill:hover, .quick-date-pill.active {
    background: var(--brand-navy);
    color: var(--brand-gold);
    border-color: var(--brand-navy);
}

.optional-pill {
    font-size: 0.67rem;
    font-weight: 500;
    color: #94a3b8;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 1px 5px;
    border-radius: 0;
    line-height: 1.4;
}

/* Form Inputs & Selects */
.search-form-control, .search-form-select {
    width: 100%;
    height: 48px;
    border: 1.5px solid #e2e8f0;
    border-radius: 0;
    padding: 8px 12px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #1e293b;
    background-color: #ffffff;
    transition: all 0.25s ease;
    box-shadow: none;
}

.search-form-control:focus, .search-form-select:focus {
    border-color: var(--brand-navy);
    box-shadow: 0 0 0 3px rgba(15, 39, 71, 0.12);
    outline: none;
}

/* Swap Button */
.search-swap-btn {
    width: 38px;
    height: 38px;
    border-radius: 0;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    color: var(--brand-navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 6px rgba(15, 39, 71, 0.08);
}
.search-swap-btn:hover {
    background: var(--brand-navy);
    border-color: var(--brand-navy);
    color: var(--brand-gold);
    transform: rotate(180deg) scale(1.08);
    box-shadow: 0 4px 12px rgba(15, 39, 71, 0.2);
}

/* Search Submit Button */
.btn-search-submit {
    height: 48px;
    width: 100%;
    background: linear-gradient(135deg, #D9A441 0%, #B8860B 100%);
    color: #07172C;
    border: none;
    border-radius: 0;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 14px rgba(217, 164, 65, 0.35);
    transition: all 0.3s ease;
    cursor: pointer;
}
.btn-search-submit:hover {
    background: linear-gradient(135deg, #F1C40F 0%, #D9A441 100%);
    color: #000000;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(217, 164, 65, 0.5);
}

/* ============================================================
   RESPONSIVE SEARCH & MOBILE LAYOUT RULES
============================================================ */
@media (min-width: 1200px) {
    .search-form-flex {
        display: flex;
        align-items: flex-end;
        gap: 10px;
        width: 100%;
    }
    .search-col-from { flex: 1.25; min-width: 175px; }
    .search-col-swap { flex: 0 0 38px; display: flex; align-items: center; justify-content: center; margin-bottom: 5px; }
    .search-col-to { flex: 1.25; min-width: 175px; }
    .search-col-date { flex: 1.1; min-width: 165px; }
    .search-col-return { flex: 0.95; min-width: 135px; }
    .search-col-passengers { flex: 0.85; min-width: 115px; }
    .search-col-submit { flex: 1.1; min-width: 145px; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .search-form-flex {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 12px;
    }
    .search-col-from { flex: 1 1 calc(50% - 24px); }
    .search-col-swap { flex: 0 0 36px; margin-bottom: 5px; display: flex; align-items: center; justify-content: center; }
    .search-col-to { flex: 1 1 calc(50% - 24px); }
    .search-col-date { flex: 1 1 calc(33.333% - 10px); }
    .search-col-return { flex: 1 1 calc(33.333% - 10px); }
    .search-col-passengers { flex: 1 1 calc(33.333% - 10px); }
    .search-col-submit { flex: 1 1 100%; margin-top: 4px; }
}

@media (max-width: 991px) {
    body {
        padding-top: 52px !important;
    }
    .hero-section {
        margin-top: 0 !important;
    }
}
@media (max-width: 991.98px) {
    .hero-section {
        padding: 0 0 80px;
        min-height: 520px;
    }
    .hero-badge-pill {
        font-size: 0.72rem;
        padding: 4px 14px;
        margin-bottom: 12px;
        letter-spacing: 1px;
    }
    .hero-title {
        font-size: clamp(1.6rem, 5.5vw, 2.25rem);
        line-height: 1.22;
        margin-bottom: 10px;
    }
    .hero-subtitle {
        font-size: 0.92rem;
        line-height: 1.45;
        margin-bottom: 18px;
    }
    .search-box-card {
        padding: 18px 16px;
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
        border-top: 3px solid var(--brand-gold);
        margin: 0;
        width: 100%;
    }
    .search-form-flex {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
    /* All fields: full width stack */
    .search-col-from,
    .search-col-to,
    .search-col-date,
    .search-col-return,
    .search-col-passengers,
    .search-col-submit {
        flex: none;
        width: 100%;
    }
    /* Swap button: compact horizontal row */
    .search-col-swap {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        margin: -2px 0;
    }
    .search-col-swap::before,
    .search-col-swap::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #e2e8f0;
    }
    .search-swap-btn {
        width: 34px;
        height: 34px;
        transform: rotate(90deg);
        background: #ffffff;
        border: 1.5px solid #D9A441;
        color: var(--brand-navy);
        border-radius: 50% !important;
        flex-shrink: 0;
        box-shadow: 0 2px 8px rgba(217, 164, 65, 0.2);
    }
    .search-form-control, .search-form-select {
        height: 46px;
        font-size: 0.9rem;
        padding: 8px 12px;
    }
    .btn-search-submit {
        height: 50px;
        font-size: 1rem;
        font-weight: 800;
        letter-spacing: 0.8px;
    }
}

@media (max-width: 575.98px) {
    .hero-section {
        padding: 0 0 70px;
        min-height: 540px;
    }
    .search-box-card {
        padding: 14px 12px;
    }
    .quick-date-pill {
        font-size: 0.62rem;
        padding: 1px 4px;
    }
    .optional-pill {
        font-size: 0.62rem;
        padding: 1px 4px;
    }
    .search-form-control, .search-form-select {
        height: 44px;
        font-size: 0.86rem;
        padding: 6px 10px;
    }
    .btn-search-submit {
        height: 48px;
        font-size: 0.95rem;
    }
}

@media (max-width: 767px) {
  .hero-section {
    padding-top: 0 !important;
  }
}

    /* Section Titles */
    .section-title {
        text-align: center;
        margin-bottom: 40px;
    }
    .section-title h2 {
        font-family: 'Erode', serif;
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        font-weight: 600;
        position: relative;
        display: inline-block;
        padding-bottom: 12px;
        color: var(--brand-navy);
    }
    .section-title h2::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 55px;
        height: 3px;
        background-color: var(--brand-gold);
        border-radius: 0;
    }
    .section-title.text-start h2::after {
        left: 0;
        transform: none;
    }
    .subheading-sans {
        font-family: 'Mona Sans', sans-serif;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 0.82rem;
        letter-spacing: 2.5px;
    }

    /* ============================================================
       TRUST / STATS SECTION (Travel with Confidence)
    ============================================================ */
    .trust-stats-section {
        background: #FAF8F5;
        border-bottom: 1px solid #EAE2D8;
        position: relative;
        z-index: 2;
        padding: 70px 0 65px;
    }
    
    .trust-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 5px 18px;
        border-radius: 0;
        background: rgba(217, 164, 65, 0.12);
        border: 1px solid rgba(217, 164, 65, 0.35);
        color: #B8860B;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }
    
    .trust-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2rem, 3.5vw, 2.75rem);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: -0.3px;
        line-height: 1.25;
    }
    
    .trust-heading-divider {
        width: 55px;
        height: 3px;
        background: var(--brand-gold-gradient);
        border-radius: 0;
        margin: 0 auto;
    }
    
    .trust-subtitle-desc {
        max-width: 680px;
        font-size: 1.02rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.7;
    }
    
    /* ============================================================
       2. TRUST / ASSURANCE PANORAMIC RIBBON (No Box Cards)
    ============================================================ */
    .trust-assurance-ribbon {
        background: #FAF8F5;
        border: 1px solid #EAE2D8;
        box-shadow: 0 4px 20px rgba(15, 39, 71, 0.04);
        position: relative;
        overflow: hidden;
    }

    .trust-ribbon-col {
        border-right: 1px solid #EAE2D8;
        border-bottom: 1px solid #EAE2D8;
    }

    .trust-ribbon-col:last-child {
        border-right: none;
    }

    .trust-ribbon-item {
        padding: 38px 24px 34px;
        text-align: center;
        transition: all 0.35s ease;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        background: #FAF8F5;
    }

    .trust-ribbon-item:hover {
        background: #FFFFFF;
    }

    .trust-ribbon-item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 3px;
        background: var(--brand-gold-gradient);
        transition: width 0.35s ease;
    }

    .trust-ribbon-item:hover::after {
        width: 60%;
    }

    .trust-ribbon-icon {
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: #0F2747;
        color: #D9A441;
        border: 1.5px solid #D9A441;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.45rem;
        margin-bottom: 18px;
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 0 4px 14px rgba(15, 39, 71, 0.18);
    }

    .trust-ribbon-item:hover .trust-ribbon-icon {
        background: var(--brand-gold-gradient);
        color: #0F2747;
        transform: scale(1.1) rotate(4deg);
        box-shadow: 0 6px 18px rgba(217, 164, 65, 0.35);
    }

    .trust-ribbon-title {
        font-family: 'Erode', serif;
        font-size: 1.15rem;
        font-weight: 600;
        color: var(--brand-navy);
        margin-bottom: 8px;
        line-height: 1.3;
    }

    .trust-ribbon-desc {
        font-size: 0.88rem;
        font-weight: 300;
        color: #64748B;
        line-height: 1.6;
        margin-bottom: 0;
    }

    /* ============================================================
       3. EXCLUSIVE OFFERS (Gold Perforated Boarding Pass Vouchers)
    ============================================================ */
    .offers-section {
        background: #FFFFFF;
        position: relative;
        padding: 75px 0 80px;
        border-bottom: 1px solid #EAE2D8;
    }

    .offers-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 5px 18px;
        background: rgba(217, 164, 65, 0.12);
        border: 1px solid rgba(217, 164, 65, 0.35);
        color: #B8860B;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .offers-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2rem, 3.5vw, 2.75rem);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: -0.3px;
        line-height: 1.25;
    }

    .offers-heading-divider {
        width: 55px;
        height: 3px;
        background: var(--brand-gold-gradient);
        margin: 0 auto;
    }

    .offers-subtitle-desc {
        max-width: 680px;
        font-size: 1.02rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.7;
    }

    .luxury-ticket-voucher {
        background: #FAF8F5;
        border: 1px solid #EAE2D8;
        box-shadow: 0 8px 24px rgba(15, 39, 71, 0.04);
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        overflow: hidden;
    }

    .luxury-ticket-voucher:hover {
        transform: translateY(-6px);
        border-color: #D9A441;
        box-shadow: 0 16px 36px rgba(15, 39, 71, 0.1), 0 0 18px rgba(217, 164, 65, 0.15);
        background: #FFFFFF;
    }

    .voucher-top-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        background: rgba(15, 39, 71, 0.04);
        border-bottom: 1px solid #EAE2D8;
    }

    .voucher-type-pill {
        font-size: 0.7rem;
        font-weight: 800;
        padding: 3px 10px;
        background: #0F2747;
        color: #D9A441;
        letter-spacing: 0.8px;
        text-transform: uppercase;
    }

    .voucher-type-pill.badge-roundtrip {
        background: #10B981;
        color: #FFFFFF;
    }

    .voucher-type-pill.badge-sleeper {
        background: #8B5CF6;
        color: #FFFFFF;
    }

    .voucher-type-pill.badge-festive {
        background: #F59E0B;
        color: #FFFFFF;
    }

    .voucher-discount-tag {
        font-size: 1.15rem;
        font-weight: 800;
        color: #059669;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .voucher-body {
        padding: 22px 20px 16px;
    }

    .voucher-icon-badge {
        width: 32px;
        height: 32px;
        background: rgba(217, 164, 65, 0.15);
        color: #B8860B;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.95rem;
    }

    .voucher-offer-label {
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #64748B;
    }

    .voucher-headline {
        font-family: 'Erode', serif;
        font-size: 1.18rem;
        font-weight: 600;
        color: var(--brand-navy);
        margin-bottom: 8px;
        line-height: 1.35;
    }

    .voucher-desc {
        font-size: 0.9rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.6;
        margin-bottom: 0;
    }

    /* Scalloped Perforation Line */
    .voucher-perforation {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 20px;
        margin: 4px 0;
    }

    .perforation-dashes {
        width: 100%;
        border-top: 2px dashed #CBD5E1;
        transition: border-color 0.3s ease;
    }

    .luxury-ticket-voucher:hover .perforation-dashes {
        border-color: #D9A441;
    }

    .perforation-circle {
        position: absolute;
        width: 18px;
        height: 18px;
        background: #FFFFFF;
        border: 1px solid #EAE2D8;
        border-radius: 50% !important;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
    }

    .perforation-circle.left {
        left: -9px;
    }

    .perforation-circle.right {
        right: -9px;
    }

    .voucher-stub {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 20px;
        background: #F1F5F9;
        margin: 0 16px 14px;
        border: 1px dashed #CBD5E1;
        transition: all 0.3s ease;
    }

    .luxury-ticket-voucher:hover .voucher-stub {
        background: #FFFDF9;
        border-color: #D9A441;
    }

    .voucher-code-label {
        display: block;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 1px;
        color: #64748B;
        text-transform: uppercase;
    }

    .voucher-code-text {
        font-family: 'Courier New', monospace;
        font-weight: 800;
        font-size: 1.08rem;
        letter-spacing: 1.5px;
        color: var(--brand-navy);
    }

    .btn-copy-code {
        background: var(--brand-navy);
        color: var(--brand-gold);
        border: none;
        padding: 6px 14px;
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.5px;
        cursor: pointer;
        transition: all 0.25s ease;
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

    .btn-copy-code:hover {
        background: var(--brand-gold);
        color: var(--brand-navy);
    }

    .voucher-cta-footer {
        padding: 0 20px 18px;
    }

    .voucher-cta-link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        text-align: center;
        background: rgba(15, 39, 71, 0.05);
        color: var(--brand-navy);
        font-weight: 600;
        font-size: 0.88rem;
        padding: 10px 16px;
        border: 1px solid rgba(15, 39, 71, 0.1);
        text-decoration: none;
        transition: all 0.25s ease;
    }

    .voucher-cta-link:hover {
        background: var(--brand-navy);
        color: var(--brand-gold);
        border-color: var(--brand-navy);
    }

    /* ============================================================
       4. POPULAR ROUTES (Interactive Journey Waypoint Cards)
    ============================================================ */
    .popular-routes-section {
        background: #FAF8F5;
        position: relative;
        padding: 75px 0 85px;
        border-bottom: 1px solid #EAE2D8;
    }

    .routes-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 5px 18px;
        background: rgba(217, 164, 65, 0.12);
        border: 1px solid rgba(217, 164, 65, 0.35);
        color: #B8860B;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .routes-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2rem, 3.5vw, 2.75rem);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: -0.3px;
        line-height: 1.25;
    }

    .routes-heading-divider {
        width: 55px;
        height: 3px;
        background: var(--brand-gold-gradient);
        margin: 0 auto;
    }

    .routes-subtitle-desc {
        max-width: 680px;
        font-size: 1.02rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.7;
    }

    .route-journey-card {
        background: #FFFFFF;
        border: 1px solid #EAE2D8;
        padding: 30px 24px 24px;
        box-shadow: 0 8px 24px rgba(15, 39, 71, 0.04);
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: relative;
    }

    .route-journey-card:hover {
        transform: translateY(-6px);
        border-color: #D9A441;
        box-shadow: 0 16px 40px rgba(15, 39, 71, 0.1);
    }

    .route-journey-track {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #FAF8F5;
        padding: 16px 18px;
        border: 1px solid #EAE2D8;
        margin-bottom: 20px;
        position: relative;
    }

    .route-point {
        display: flex;
        flex-direction: column;
        align-items: center;
        z-index: 2;
    }

    .route-point .point-dot {
        width: 12px;
        height: 12px;
        border-radius: 50% !important;
        background: var(--brand-navy);
        border: 2px solid #D9A441;
        margin-bottom: 4px;
    }

    .route-point.arrival .point-dot {
        background: #10B981;
        border-color: #059669;
    }

    .route-point .point-city {
        font-family: 'Erode', serif;
        font-weight: 700;
        font-size: 1.15rem;
        color: var(--brand-navy);
    }

    .route-line-connector {
        flex: 1;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 12px;
    }

    .line-dashes {
        width: 100%;
        border-top: 2px dashed #CBD5E1;
    }

    .route-moving-bus {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 28px;
        height: 28px;
        background: #0F2747;
        color: #D9A441;
        border-radius: 50% !important;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.75rem;
        box-shadow: 0 2px 8px rgba(15, 39, 71, 0.2);
        transition: transform 0.35s ease;
    }

    .route-journey-card:hover .route-moving-bus {
        transform: translate(-30%, -50%) scale(1.15);
        background: var(--brand-gold-gradient);
        color: #0F2747;
    }

    .route-meta-strip {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 14px;
        background: #F8FAFC;
        border: 1px solid #E2E8F0;
        margin-bottom: 16px;
    }

    .meta-label {
        display: block;
        font-size: 0.7rem;
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 0.8px;
        color: #64748B;
    }

    .meta-val {
        font-size: 0.9rem;
        font-weight: 700;
        color: var(--brand-navy);
    }

    .meta-fare {
        font-size: 1.15rem;
        font-weight: 800;
        color: #059669;
    }

    .route-summary-text {
        font-size: 0.9rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .route-action-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        background: var(--brand-navy);
        color: var(--brand-gold);
        font-weight: 700;
        font-size: 0.9rem;
        letter-spacing: 0.5px;
        padding: 12px 20px;
        text-decoration: none;
        border: 1px solid var(--brand-navy);
        transition: all 0.3s ease;
    }

    .route-action-btn:hover {
        background: var(--brand-gold);
        color: var(--brand-navy);
        border-color: var(--brand-gold);
        box-shadow: 0 4px 16px rgba(217, 164, 65, 0.35);
    }

    /* Expanding Network Horizon Card */
    .route-network-card {
        background: linear-gradient(145deg, #FAF8F5 0%, #F1F5F9 100%);
        border: 1.5px dashed rgba(217, 164, 65, 0.5);
        text-align: center;
    }

    .network-header {
        margin-bottom: 16px;
    }

    .network-badge {
        display: inline-flex;
        align-items: center;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--brand-navy);
        background: rgba(15, 39, 71, 0.08);
        padding: 4px 12px;
    }

    .network-icon-center {
        margin-bottom: 16px;
    }

    .network-radar-pulse {
        width: 58px;
        height: 58px;
        border-radius: 50% !important;
        background: rgba(217, 164, 65, 0.18);
        color: #B8860B;
        border: 1.5px solid #D9A441;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
        margin-bottom: 12px;
        transition: transform 0.35s ease;
    }

    .route-network-card:hover .network-radar-pulse {
        transform: scale(1.12);
        background: var(--brand-navy);
        color: #D9A441;
    }

    .network-title {
        font-family: 'Erode', serif;
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 4px;
    }

    .network-subtitle {
        font-size: 0.82rem;
        color: #64748B;
        margin-bottom: 0;
    }

    .network-btn {
        background: rgba(15, 39, 71, 0.06);
        color: var(--brand-navy);
        border-color: rgba(15, 39, 71, 0.15);
    }

    .network-btn:hover {
        background: var(--brand-navy);
        color: var(--brand-gold);
    }

    /* ============================================================
       5. WHY CHOOSE US (Architectural 3x2 Seamless Grid Matrix)
    ============================================================ */
    .why-choose-section {
        background: #FFFFFF;
        position: relative;
        padding: 85px 0 90px;
        border-bottom: 1px solid #EAE2D8;
    }

    .why-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 5px 18px;
        background: rgba(217, 164, 65, 0.12);
        border: 1px solid rgba(217, 164, 65, 0.35);
        color: #B8860B;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .why-pretitle {
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--brand-gold);
        letter-spacing: 0.5px;
    }

    .why-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2rem, 3.5vw, 2.75rem);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: -0.3px;
        line-height: 1.25;
    }

    .why-heading-divider {
        width: 55px;
        height: 3px;
        background: var(--brand-gold-gradient);
        margin: 0 auto;
    }

    .why-subtitle-desc {
        max-width: 720px;
        font-size: 1.05rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.7;
    }

    .why-matrix-grid {
        background: #FFFFFF;
        border: 1px solid #EAE2D8;
        box-shadow: 0 10px 30px rgba(15, 39, 71, 0.04);
        position: relative;
    }

    .why-matrix-col {
        border-right: 1px solid #EAE2D8;
        border-bottom: 1px solid #EAE2D8;
    }

    .why-matrix-col:nth-child(3n) {
        border-right: none;
    }

    .why-matrix-col:nth-child(4),
    .why-matrix-col:nth-child(5),
    .why-matrix-col:nth-child(6) {
        border-bottom: none;
    }

    .why-matrix-cell {
        padding: 38px 30px;
        position: relative;
        background: #FFFFFF;
        height: 100%;
        transition: all 0.35s ease;
        overflow: hidden;
    }

    .why-matrix-cell:hover {
        background: #FAF8F5;
    }

    .why-matrix-cell::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: var(--brand-gold-gradient);
        opacity: 0;
        transition: opacity 0.35s ease;
    }

    .why-matrix-cell:hover::after {
        opacity: 1;
    }

    .why-cell-watermark {
        position: absolute;
        top: 15px;
        right: 20px;
        font-family: 'Erode', serif;
        font-size: 3.8rem;
        font-weight: 700;
        color: #E2E8F0;
        line-height: 1;
        opacity: 0.55;
        transition: all 0.35s ease;
        pointer-events: none;
    }

    .why-matrix-cell:hover .why-cell-watermark {
        color: #D9A441;
        opacity: 0.25;
        transform: scale(1.08);
    }

    .why-cell-icon {
        width: 54px;
        height: 54px;
        background: #0F2747;
        color: #D9A441;
        border: 1.5px solid #D9A441;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.4rem;
        margin-bottom: 20px;
        transition: all 0.35s ease;
        position: relative;
        z-index: 2;
    }

    .why-matrix-cell:hover .why-cell-icon {
        background: var(--brand-gold-gradient);
        color: #0F2747;
        transform: rotate(6deg) scale(1.08);
        box-shadow: 0 4px 14px rgba(217, 164, 65, 0.35);
    }

    .why-cell-title {
        font-family: 'Erode', serif;
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 12px;
        line-height: 1.35;
        position: relative;
        z-index: 2;
    }

    .why-cell-desc {
        font-size: 0.93rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.65;
        margin-bottom: 0;
        position: relative;
        z-index: 2;
    }

    /* ============================================================
       6. LUXURY EXPERIENCE (Editorial Magazine Asymmetric Layout)
    ============================================================ */
    .luxury-experience-section {
        background: #FAF8F5;
        position: relative;
        padding: 85px 0 90px;
        border-bottom: 1px solid #EAE2D8;
    }

    .luxury-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 5px 18px;
        background: rgba(217, 164, 65, 0.12);
        border: 1px solid rgba(217, 164, 65, 0.35);
        color: #B8860B;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .luxury-pretitle {
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--brand-gold);
        letter-spacing: 0.5px;
    }

    .luxury-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2rem, 3.5vw, 2.75rem);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: -0.3px;
        line-height: 1.25;
    }

    .luxury-heading-divider {
        width: 55px;
        height: 3px;
        background: var(--brand-gold-gradient);
        margin: 0 auto;
    }

    .luxury-lead-quote {
        font-family: 'Erode', serif;
        font-size: 1.25rem;
        font-weight: 600;
        color: var(--brand-navy);
        font-style: italic;
    }

    .luxury-subtitle-desc {
        max-width: 760px;
        font-size: 1.02rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.7;
    }

    /* Left Manifesto Card */
    .luxury-manifesto-card {
        background: linear-gradient(145deg, #0F2747 0%, #091E3A 100%);
        color: #FFFFFF;
        padding: 40px 30px;
        border: 1.5px solid #D9A441;
        box-shadow: 0 12px 35px rgba(15, 39, 71, 0.2);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .manifesto-badge {
        display: inline-block;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: #D9A441;
        margin-bottom: 16px;
    }

    .manifesto-title {
        font-family: 'Erode', serif;
        font-size: 1.6rem;
        font-weight: 600;
        color: #FFFFFF;
        line-height: 1.3;
        margin-bottom: 16px;
    }

    .manifesto-desc {
        font-size: 0.94rem;
        color: #CBD5E1;
        font-weight: 300;
        line-height: 1.65;
        margin-bottom: 24px;
    }

    .manifesto-highlights {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding-top: 16px;
        border-top: 1px solid rgba(217, 164, 65, 0.3);
    }

    .highlight-item {
        font-size: 0.88rem;
        font-weight: 600;
        color: #FAF8F5;
    }

    /* Right Spec Capsules */
    .luxury-spec-capsule {
        background: #FFFFFF;
        border: 1px solid #EAE2D8;
        padding: 24px 20px;
        display: flex;
        align-items: flex-start;
        gap: 16px;
        height: 100%;
        transition: all 0.35s ease;
        box-shadow: 0 4px 15px rgba(15, 39, 71, 0.03);
    }

    .luxury-spec-capsule:hover {
        transform: translateY(-4px);
        border-color: #D9A441;
        box-shadow: 0 10px 25px rgba(15, 39, 71, 0.08);
    }

    .spec-icon-box {
        width: 48px;
        height: 48px;
        background: rgba(217, 164, 65, 0.15);
        color: #B8860B;
        border: 1px solid rgba(217, 164, 65, 0.3);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.3rem;
        flex-shrink: 0;
        transition: all 0.3s ease;
    }

    .luxury-spec-capsule:hover .spec-icon-box {
        background: var(--brand-navy);
        color: #D9A441;
        border-color: var(--brand-navy);
    }

    .spec-info {
        flex: 1;
    }

    .spec-title {
        font-family: 'Erode', serif;
        font-size: 1.15rem;
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 6px;
        line-height: 1.3;
    }

    .spec-desc {
        font-size: 0.88rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.55;
        margin-bottom: 0;
    }

    /* ============================================================
       7. ELECTRIC / EV SECTION (Futuristic Eco-Tech Strip)
    ============================================================ */
    .ev-showcase-section {
        background: radial-gradient(circle at 85% 15%, rgba(16, 185, 129, 0.16), transparent 45%),
                    radial-gradient(circle at 15% 85%, rgba(217, 164, 65, 0.12), transparent 45%),
                    linear-gradient(145deg, #07172C 0%, #0F2747 100%);
        position: relative;
        padding: 90px 0 95px;
        color: #FFFFFF;
        overflow: hidden;
        border-bottom: 1px solid rgba(217, 164, 65, 0.25);
    }

    .ev-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 20px;
        background: rgba(16, 185, 129, 0.15);
        border: 1px solid rgba(16, 185, 129, 0.4);
        color: #34D399;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .ev-pretitle {
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--brand-gold);
        letter-spacing: 0.5px;
    }

    .ev-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2.1rem, 3.5vw, 2.85rem);
        font-weight: 600;
        color: #FFFFFF;
        letter-spacing: -0.3px;
        line-height: 1.25;
    }

    .ev-heading-divider {
        width: 60px;
        height: 3px;
        background: linear-gradient(90deg, #10B981 0%, var(--brand-gold) 100%);
        margin: 0 auto;
    }

    .ev-intro-text {
        max-width: 780px;
        font-size: 1.05rem;
        color: #E2E8F0;
        font-weight: 400;
        line-height: 1.7;
    }

    .ev-subtitle-desc {
        max-width: 740px;
        font-size: 0.98rem;
        color: #94A3B8;
        font-weight: 300;
        line-height: 1.65;
    }

    .ev-pillars-heading {
        font-family: 'Erode', serif;
        font-size: 1.65rem;
        font-weight: 700;
        color: var(--brand-gold);
        letter-spacing: -0.2px;
    }

    .ev-eco-capsule {
        background: rgba(255, 255, 255, 0.04);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.12);
        padding: 34px 24px;
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        height: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .ev-eco-capsule:hover {
        transform: translateY(-8px);
        background: rgba(255, 255, 255, 0.08);
        border-color: rgba(16, 185, 129, 0.5);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), 0 0 25px rgba(16, 185, 129, 0.2);
    }

    .ev-eco-icon {
        width: 58px;
        height: 58px;
        border-radius: 50% !important;
        background: rgba(16, 185, 129, 0.15);
        border: 1.5px solid rgba(16, 185, 129, 0.4);
        color: #34D399;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        margin-bottom: 20px;
        transition: all 0.35s ease;
    }

    .ev-eco-capsule:hover .ev-eco-icon {
        background: #10B981;
        color: #07172C;
        transform: scale(1.1) rotate(5deg);
        box-shadow: 0 4px 15px rgba(16, 185, 129, 0.5);
    }

    .ev-eco-title {
        font-family: 'Erode', serif;
        font-size: 1.25rem;
        font-weight: 700;
        color: #FFFFFF;
        margin-bottom: 10px;
    }

    .ev-eco-desc {
        font-size: 0.92rem;
        color: #CBD5E1;
        font-weight: 300;
        line-height: 1.6;
        margin-bottom: 0;
    }

    .btn-ev-cta {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: linear-gradient(135deg, #10B981 0%, #059669 100%);
        color: #FFFFFF;
        font-weight: 700;
        font-size: 0.98rem;
        letter-spacing: 0.5px;
        padding: 14px 36px;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35);
        transition: all 0.3s ease;
    }

    .btn-ev-cta:hover {
        background: var(--brand-gold-gradient);
        color: var(--brand-navy);
        box-shadow: 0 10px 30px rgba(217, 164, 65, 0.4);
        transform: translateY(-2px);
    }

    /* ============================================================
       8. HOW IT WORKS (Connected 4-Step Pathway Timeline Flow)
    ============================================================ */
    .how-it-works-section {
        background: #FFFFFF;
        position: relative;
        padding: 85px 0 95px;
        border-bottom: 1px solid #EAE2D8;
    }

    .how-badge-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 5px 18px;
        background: rgba(217, 164, 65, 0.12);
        border: 1px solid rgba(217, 164, 65, 0.35);
        color: #B8860B;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .how-main-heading {
        font-family: 'Erode', serif;
        font-size: clamp(2rem, 3.5vw, 2.75rem);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: -0.3px;
        line-height: 1.25;
    }

    .how-heading-divider {
        width: 55px;
        height: 3px;
        background: var(--brand-gold-gradient);
        margin: 0 auto;
    }

    .how-pathway-wrapper {
        position: relative;
        margin-top: 40px;
    }

    .how-pathway-line {
        position: absolute;
        top: 36px;
        left: 12%;
        right: 12%;
        height: 2px;
        border-top: 2px dashed #D9A441;
        z-index: 1;
    }

    .how-pathway-step {
        text-align: center;
        position: relative;
        z-index: 2;
        padding: 0 10px;
    }

    .how-step-node {
        position: relative;
        display: inline-block;
        margin-bottom: 22px;
    }

    .node-number {
        position: absolute;
        top: -10px;
        right: -10px;
        background: var(--brand-navy);
        color: var(--brand-gold);
        border: 1.5px solid var(--brand-gold);
        font-size: 0.75rem;
        font-weight: 800;
        padding: 2px 7px;
        border-radius: 50% !important;
        box-shadow: 0 2px 8px rgba(15, 39, 71, 0.25);
    }

    .node-icon {
        width: 72px;
        height: 72px;
        border-radius: 50% !important;
        background: #FAF8F5;
        border: 2px solid #D9A441;
        color: var(--brand-navy);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.65rem;
        box-shadow: 0 6px 20px rgba(15, 39, 71, 0.08);
        transition: all 0.35s ease;
    }

    .how-pathway-step:hover .node-icon {
        background: var(--brand-gold-gradient);
        color: var(--brand-navy);
        transform: scale(1.12) rotate(6deg);
        box-shadow: 0 8px 24px rgba(217, 164, 65, 0.35);
    }

    .how-step-heading {
        font-family: 'Erode', serif;
        font-size: 1.22rem;
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 10px;
    }

    .how-step-text {
        font-size: 0.9rem;
        color: #64748B;
        font-weight: 300;
        line-height: 1.6;
        margin-bottom: 0;
    }

    .btn-how-cta {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: var(--brand-navy);
        color: #FFFFFF;
        font-weight: 700;
        font-size: 0.98rem;
        letter-spacing: 0.5px;
        padding: 15px 40px;
        text-decoration: none;
        border: 1px solid var(--brand-gold);
        box-shadow: 0 8px 24px rgba(15, 39, 71, 0.15);
        transition: all 0.3s ease;
    }

    .btn-how-cta:hover {
        background: var(--brand-gold-gradient);
        color: var(--brand-navy);
        box-shadow: 0 10px 30px rgba(217, 164, 65, 0.35);
        transform: translateY(-2px);
    }

    /* ============================================================
       MOBILE RESPONSIVENESS (All Sections Differentiated & Optimized)
    ============================================================ */
    @media (max-width: 991px) {
        .trust-ribbon-col {
            border-right: 1px solid #EAE2D8;
        }
        .trust-ribbon-col:nth-child(2n) {
            border-right: none;
        }
        .why-matrix-col {
            border-right: 1px solid #EAE2D8;
            border-bottom: 1px solid #EAE2D8 !important;
        }
        .why-matrix-col:nth-child(2n) {
            border-right: none;
        }
        .luxury-manifesto-card {
            margin-bottom: 20px;
        }
        .how-pathway-line {
            display: none;
        }
    }

    @media (max-width: 767px) {
        .trust-ribbon-col {
            border-right: none !important;
            border-bottom: 1px solid #EAE2D8;
        }
        .trust-ribbon-col:last-child {
            border-bottom: none;
        }
        .why-matrix-col {
            border-right: none !important;
            border-bottom: 1px solid #EAE2D8 !important;
        }
        .why-matrix-col:last-child {
            border-bottom: none !important;
        }
        .why-matrix-cell {
            padding: 28px 20px;
        }
        .route-journey-track {
            padding: 12px 14px;
        }
        .route-point .point-city {
            font-size: 1rem;
        }
        .luxury-spec-capsule {
            padding: 18px 16px;
        }
        .how-pathway-step {
            margin-bottom: 28px;
        }
    }

    @media (max-width: 575px) {
        .voucher-top-bar {
            padding: 12px 16px;
        }
        .voucher-body {
            padding: 16px 16px 12px;
        }
        .voucher-stub {
            margin: 0 12px 12px;
            padding: 10px 12px;
        }
        .voucher-cta-footer {
            padding: 0 16px 16px;
        }
        .btn-ev-cta, .btn-how-cta {
            width: 100%;
            justify-content: center;
        }
    }

    /* Carousel Custom Luxury Controls */
    .gallery-carousel-wrapper, .testimonial-carousel-wrapper {
        position: relative;
        padding: 0 10px;
    }
    .gallery-arrow-btn, .testimonial-arrow-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 52px;
        height: 52px;
        border-radius: 50% !important;
        background: rgba(15, 39, 71, 0.95);
        border: 1.5px solid #D9A441;
        color: #D9A441;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.15rem;
        z-index: 10;
        cursor: pointer;
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 0 8px 24px rgba(15, 39, 71, 0.35), 0 0 16px rgba(217, 164, 65, 0.2);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        outline: none;
        text-decoration: none;
    }
    .gallery-arrow-btn.prev-btn, .testimonial-arrow-btn.prev-btn { left: -26px; }
    .gallery-arrow-btn.next-btn, .testimonial-arrow-btn.next-btn { right: -26px; }
    
    .gallery-arrow-btn:hover, .testimonial-arrow-btn:hover {
        background: linear-gradient(135deg, #D9A441 0%, #B8860B 100%);
        border-color: #F1C40F;
        color: #07172C;
        transform: translateY(-50%) scale(1.14);
        box-shadow: 0 12px 32px rgba(217, 164, 65, 0.55), 0 0 24px rgba(217, 164, 65, 0.35);
    }

    /* Gallery Cards (Light Theme) */
    .gallery-section {
        background: #ffffff;
        border-top: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
    }
    .gallery-item {
        border-radius: 0;
        overflow: hidden;
        position: relative;
        background: #ffffff;
        border: 1.5px solid #EAE2D8;
        box-shadow: 0 8px 25px rgba(15, 39, 71, 0.06);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease, border-color 0.4s ease;
        cursor: pointer;
    }
    .gallery-item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: var(--brand-gold-gradient);
        opacity: 0;
        transition: opacity 0.35s ease;
        z-index: 4;
    }
    .gallery-item img {
        transition: transform 0.6s ease;
        display: block;
        width: 100%;
        height: 290px;
        object-fit: cover;
        border-radius: 0;
    }
    .gallery-item .gallery-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(15, 39, 71, 0.88) 0%, rgba(15, 39, 71, 0.3) 60%, transparent 100%);
        opacity: 0;
        transition: opacity 0.35s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
    }
    .gallery-item .gallery-zoom-badge {
        width: 54px;
        height: 54px;
        border-radius: 50%;
        background: rgba(15, 39, 71, 0.95);
        border: 1.5px solid var(--brand-gold);
        color: var(--brand-gold);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        transform: scale(0.6);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    }
    .gallery-item:hover {
        transform: translateY(-8px);
        border-color: var(--brand-gold);
        box-shadow: 0 16px 40px rgba(15, 39, 71, 0.12), 0 0 20px rgba(217, 164, 65, 0.15);
    }
    .gallery-item:hover::after { opacity: 1; }
    .gallery-item:hover img { transform: scale(1.08); }
    .gallery-item:hover .gallery-overlay { opacity: 1; }
    .gallery-item:hover .gallery-zoom-badge { transform: scale(1); }

    /* Lightbox Modal Close Button */
    .gallery-modal-close-btn {
        position: fixed;
        top: 25px;
        right: 25px;
        z-index: 1060;
        width: 46px;
        height: 46px;
        border-radius: 0;
        background: rgba(15, 39, 71, 0.9);
        border: 2px solid var(--brand-gold);
        color: var(--brand-gold);
        font-size: 1.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
        outline: none;
    }
    .gallery-modal-close-btn:hover {
        background: var(--brand-gold);
        color: var(--brand-navy);
        transform: scale(1.12) rotate(90deg);
        box-shadow: 0 10px 30px rgba(217, 164, 65, 0.7);
    }

    /* Testimonial Glassmorphism (Light Theme) */
    .testimonial-section {
        background: linear-gradient(135deg, #FAF3EE 0%, #F1F5F9 100%);
        position: relative;
        overflow: hidden;
    }
    .glass-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 0;
        padding: 35px 28px;
        box-shadow: 0 8px 30px rgba(15, 39, 71, 0.05);
        height: 100%;
        position: relative;
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .glass-card:hover {
        transform: translateY(-8px);
        border-color: var(--brand-gold);
        box-shadow: 0 15px 35px rgba(217, 164, 65, 0.15);
    }
    .quote-icon {
        position: absolute;
        top: 20px;
        right: 20px;
        font-size: 3.5rem;
        color: rgba(15, 39, 71, 0.06);
        font-family: Georgia, serif;
        line-height: 1;
    }
    .testimonial-text {
        font-size: 1.02rem;
        font-style: italic;
        color: #334155;
        margin-bottom: 20px;
        position: relative;
        z-index: 1;
        line-height: 1.6;
    }
    .testimonial-author {
        font-weight: 700;
        color: var(--brand-navy);
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    /* Luxury FAQ Accordion (Light Theme) */
    .luxury-faq-accordion .accordion-item {
        border: 1px solid #e2e8f0;
        border-radius: 0 !important;
        margin-bottom: 15px;
        overflow: hidden;
        box-shadow: 0 2px 10px rgba(15, 39, 71, 0.03);
    }
    .luxury-faq-accordion .accordion-button {
        font-family: 'Erode', serif;
        font-size: 1.15rem;
        font-weight: 600;
        color: var(--brand-navy);
        background-color: #ffffff;
        padding: 20px 24px;
        box-shadow: none;
        border-radius: 0 !important;
    }
    .luxury-faq-accordion .accordion-button:not(.collapsed) {
        color: var(--brand-gold);
        background-color: var(--brand-navy);
    }
    .luxury-faq-accordion .accordion-button:not(.collapsed)::after {
        filter: brightness(0) invert(1);
    }
    .luxury-faq-accordion .accordion-body {
        padding: 20px 24px;
        color: #475569;
        font-size: 0.95rem;
        line-height: 1.7;
        background-color: #f8fafc;
    }

    /* ============================================================
       MASTER HOMEPAGE MOBILE RESPONSIVE SUITE (< 768px)
    ============================================================ */
    @media (max-width: 767.98px) {
        /* Global Section Spacing */
        .trust-stats-section,
        .offers-deals-section,
        .routes-showcase-section,
        .why-us-section,
        .luxury-showcase-section,
        .ev-showcase-section,
        .how-it-works-section,
        .gallery-section,
        .testimonial-section {
            padding: 45px 0 35px !important;
        }

        /* Section Headings & Badges */
        .section-title,
        .text-center.mb-5 {
            margin-bottom: 28px !important;
        }

        .trust-badge-pill,
        .offers-badge-pill,
        .routes-badge-pill,
        .why-badge-pill,
        .ev-badge-pill,
        .how-badge-pill {
            font-size: 0.72rem !important;
            padding: 4px 14px !important;
            letter-spacing: 1.5px !important;
            margin-bottom: 8px !important;
        }

        .trust-main-heading,
        .offers-main-heading,
        .routes-main-heading,
        .why-main-heading,
        .luxury-main-heading,
        .ev-main-heading,
        .how-main-heading,
        .section-title h2 {
            font-size: clamp(1.45rem, 5vw, 1.85rem) !important;
            line-height: 1.25 !important;
            margin-bottom: 8px !important;
        }

        .trust-heading-divider,
        .offers-heading-divider,
        .routes-heading-divider,
        .why-heading-divider,
        .luxury-heading-divider,
        .ev-heading-divider,
        .how-heading-divider {
            margin-bottom: 10px !important;
        }

        .trust-subtitle-desc,
        .offers-subtitle-desc,
        .routes-subtitle-desc,
        .why-subtitle-desc,
        .luxury-subtitle-desc,
        .ev-subtitle-desc,
        .ev-intro-text {
            font-size: 0.88rem !important;
            line-height: 1.55 !important;
            margin-bottom: 0 !important;
        }

        /* 1. Trust Assurance Ribbon */
        .trust-assurance-ribbon {
            border: 1px solid #EAE2D8 !important;
        }
        .trust-ribbon-col {
            border-right: none !important;
            border-bottom: 1px solid #EAE2D8 !important;
        }
        .trust-ribbon-col:last-child {
            border-bottom: none !important;
        }
        .trust-ribbon-item {
            padding: 18px 14px !important;
        }
        .trust-ribbon-icon {
            width: 48px !important;
            height: 48px !important;
            font-size: 1.15rem !important;
            margin-bottom: 10px !important;
        }
        .trust-ribbon-title {
            font-size: 1.05rem !important;
            margin-bottom: 4px !important;
        }
        .trust-ribbon-desc {
            font-size: 0.84rem !important;
            line-height: 1.45 !important;
        }

        /* 2. Offers / Coupons */
        .luxury-ticket-voucher {
            margin-bottom: 14px !important;
        }
        .voucher-top-bar {
            padding: 10px 14px !important;
        }
        .voucher-body {
            padding: 14px 14px 12px !important;
        }
        .voucher-headline {
            font-size: 1.05rem !important;
            margin-bottom: 4px !important;
        }
        .voucher-desc {
            font-size: 0.84rem !important;
            line-height: 1.45 !important;
        }
        .voucher-stub {
            padding: 10px 14px !important;
            gap: 8px !important;
            flex-wrap: nowrap !important;
        }
        .voucher-code-text {
            font-size: 0.98rem !important;
            letter-spacing: 1.5px !important;
        }
        .btn-copy-code {
            padding: 6px 12px !important;
            font-size: 0.75rem !important;
        }

        /* 3. Popular Routes */
        .route-journey-card {
            padding: 18px 14px !important;
            margin-bottom: 14px !important;
        }
        .route-journey-track {
            padding: 8px 6px 16px !important;
        }
        .point-city {
            font-size: 1.05rem !important;
        }
        .meta-fare {
            font-size: 1.1rem !important;
        }
        .route-summary-text {
            font-size: 0.84rem !important;
            line-height: 1.5 !important;
            margin-bottom: 12px !important;
        }
        .route-action-btn {
            height: 44px !important;
            font-size: 0.88rem !important;
        }

        /* 4. Why Choose Us (Matrix Grid) */
        .why-matrix-col {
            border-right: none !important;
            border-bottom: 1px solid #EAE2D8 !important;
        }
        .why-matrix-col:last-child {
            border-bottom: none !important;
        }
        .why-matrix-cell {
            padding: 20px 16px !important;
        }
        .why-cell-icon {
            width: 46px !important;
            height: 46px !important;
            font-size: 1.15rem !important;
            margin-bottom: 10px !important;
        }
        .why-cell-title {
            font-size: 1.08rem !important;
            margin-bottom: 4px !important;
        }
        .why-cell-desc {
            font-size: 0.84rem !important;
            line-height: 1.5 !important;
        }

        /* 5. Luxury Experience */
        .luxury-manifesto-card {
            padding: 22px 16px !important;
            margin-bottom: 14px !important;
        }
        .manifesto-title {
            font-size: 1.25rem !important;
        }
        .luxury-spec-capsule {
            padding: 14px 12px !important;
            gap: 12px !important;
        }
        .spec-icon-box {
            width: 44px !important;
            height: 44px !important;
            font-size: 1.1rem !important;
            flex: 0 0 44px !important;
        }
        .spec-title {
            font-size: 0.95rem !important;
        }
        .spec-desc {
            font-size: 0.82rem !important;
        }

        /* 6. EV Eco Capsules */
        .ev-eco-capsule {
            padding: 20px 16px !important;
            margin-bottom: 12px !important;
        }
        .ev-eco-icon {
            width: 48px !important;
            height: 48px !important;
            font-size: 1.2rem !important;
            margin-bottom: 10px !important;
        }
        .ev-eco-title {
            font-size: 1.05rem !important;
            margin-bottom: 4px !important;
        }
        .ev-eco-desc {
            font-size: 0.84rem !important;
            line-height: 1.5 !important;
        }
        .btn-ev-cta, .btn-how-cta {
            padding: 11px 24px !important;
            font-size: 0.9rem !important;
        }

        /* 7. How It Works */
        .how-pathway-step {
            padding: 18px 14px !important;
            margin-bottom: 12px !important;
        }
        .how-step-node {
            margin-bottom: 10px !important;
            gap: 8px !important;
        }
        .node-icon {
            width: 42px !important;
            height: 42px !important;
            font-size: 1.05rem !important;
        }
        .node-number {
            font-size: 1.1rem !important;
        }
        .how-step-heading {
            font-size: 1.05rem !important;
            margin-bottom: 4px !important;
        }
        .how-step-text {
            font-size: 0.84rem !important;
            line-height: 1.5 !important;
        }

        /* 8. Gallery & Testimonials */
        .gallery-item img {
            height: 230px !important;
        }
        .glass-card {
            padding: 22px 18px !important;
        }
        .quote-icon {
            font-size: 2.2rem !important;
            top: 10px !important;
            right: 12px !important;
        }
        .testimonial-text {
            font-size: 0.9rem !important;
            line-height: 1.55 !important;
        }
        .gallery-arrow-btn.prev-btn, .testimonial-arrow-btn.prev-btn { left: -10px !important; width: 40px !important; height: 40px !important; font-size: 0.9rem !important; }
        .gallery-arrow-btn.next-btn, .testimonial-arrow-btn.next-btn { right: -10px !important; width: 40px !important; height: 40px !important; font-size: 0.9rem !important; }

        /* 9. FAQ Accordion */
        .luxury-faq-accordion .accordion-button {
            padding: 14px 16px !important;
            font-size: 0.95rem !important;
        }
        .luxury-faq-accordion .accordion-body {
            padding: 14px 16px !important;
            font-size: 0.86rem !important;
            line-height: 1.55 !important;
        }
    }

/**
 * Raghuvanshi Travels - Booking Flow (Search, Seats, Checkout, Payment, Success) Stylesheet
 */

/* --- Search Results Styles --- */
.search-header {
        background: linear-gradient(135deg, #0F2747 0%, #153258 100%);
        padding: 36px 0;
        color: white;
        border-bottom: 2px solid var(--brand-gold);
    }
    .bus-card {
        border-radius: 14px;
        box-shadow: 0 4px 18px rgba(15, 39, 71, 0.06);
        border: 1px solid #e2e8f0;
        transition: all 0.25s ease;
        background: #ffffff;
    }
    .bus-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 28px rgba(15, 39, 71, 0.12);
        border-color: var(--brand-gold);
    }
    .time-block {
        font-family: 'Erode', serif;
        font-size: 1.45rem;
        font-weight: 700;
        color: var(--brand-navy);
        letter-spacing: 0.5px;
    }
    .duration {
        font-size: 0.82rem;
        font-weight: 600;
        color: #64748b;
        border-bottom: 1px dashed #cbd5e1;
        padding-bottom: 4px;
        display: inline-block;
        width: 90px;
        text-align: center;
    }
    .price-block {
        font-family: 'Erode', serif;
        font-size: 1.85rem;
        font-weight: 700;
        color: var(--brand-navy);
    }
    .amenity-icon {
        color: #475569;
        font-size: 0.85rem;
        margin-right: 10px;
        background: #f8fafc;
        padding: 4px 10px;
        border-radius: 20px;
        border: 1px solid #e2e8f0;
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }
    .ev-sleeper-badge {
        background: rgba(16, 185, 129, 0.12);
        color: #065F46;
        border: 1px solid #10B981;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.5px;
        padding: 3px 10px;
        border-radius: 50px;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }
    .time-filter-chip {
        cursor: pointer;
        padding: 8px 12px;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        font-size: 0.8rem;
        font-weight: 600;
        text-align: center;
        transition: all 0.2s ease;
        background: #f8fafc;
        color: #475569;
    }
    .time-filter-chip:hover {
        border-color: var(--brand-navy);
        background: #f1f5f9;
    }
    .time-filter-chip.active {
        background: var(--brand-navy);
        color: #ffffff;
        border-color: var(--brand-navy);
    }
    
    @media (min-width: 768px) {
        .border-md-end {
            border-right: 1px solid #e2e8f0;
        }
    }
    
    @media (max-width: 767.98px) {
        .time-block {
            font-size: 1.2rem;
        }
        .bus-card {
            text-align: center;
        }
        .bus-card .border-md-end {
            border-bottom: 1px solid #e2e8f0;
            padding-bottom: 15px;
            margin-bottom: 15px;
        }
        .amenity-icon {
            margin-right: 6px;
            margin-bottom: 6px;
        }
    }

.search-header {
        background: var(--primary);
        padding: 100px 0 40px;
        color: white;
    }
    
    .bus-card {
        background: var(--white);
        border-radius: 12px;
        border: 1px solid #eee;
        padding: 25px;
        margin-bottom: 20px;
        color: #333;
        transition: box-shadow 0.3s;
    }
    
    .bus-card:hover {
        box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    }
    
    .bus-title {
        font-weight: 700;
        color: var(--primary);
        font-size: 1.25rem;
    }
    
    .bus-type {
        color: #666;
        font-size: 0.9rem;
    }
    
    .time-large {
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--primary);
    }
    
    .duration-line {
        position: relative;
        text-align: center;
        color: #888;
        font-size: 0.85rem;
    }
    
    .duration-line::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        border-top: 1px dashed #ccc;
        z-index: 1;
    }
    
    .duration-line span {
        background: var(--white);
        padding: 0 10px;
        position: relative;
        z-index: 2;
    }
    
    .price-text {
        font-size: 1.75rem;
        font-weight: 800;
        color: var(--secondary);
    }
    
    .amenity-badge {
        display: inline-block;
        padding: 5px 10px;
        background: #f8f9fa;
        border: 1px solid #ddd;
        border-radius: 20px;
        font-size: 0.8rem;
        color: #555;
        margin-right: 5px;
        margin-bottom: 5px;
    }
    
    .btn-select {
        background: linear-gradient(135deg, var(--secondary), #d35400);
        color: white;
        border: none;
        border-radius: 8px;
        padding: 10px 20px;
        font-weight: 600;
        width: 100%;
    }
    
    .btn-select:hover {
        color: white;
        transform: translateY(-2px);
    }

/* --- Seat Selection Canvas Styles --- */
body {
        background-color: #f8fafc;
        font-family: 'Montserrat', sans-serif;
    }

    .booking-page-header {
        background: #ffffff;
        border-bottom: 1px solid #e2e8f0;
        padding: 20px 0;
        margin-bottom: 25px;
    }

    /* Deck Titles with Side Accent Lines */
    .deck-section-title {
        display: flex;
        align-items: center;
        text-align: center;
        color: #0F2747;
        font-weight: 700;
        font-size: 1.15rem;
        margin-bottom: 12px;
    }

    .deck-section-title::before,
    .deck-section-title::after {
        content: '';
        flex: 1;
        border-bottom: 1.5px solid #e2e8f0;
    }

    .deck-section-title:not(:empty)::before {
        margin-right: 1.25em;
    }

    .deck-section-title:not(:empty)::after {
        margin-left: 1.25em;
    }

    /* Bus Deck Chassis Container (Mahalaxmi Style) */
    .deck-chassis-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 20px 15px 30px;
        min-height: 520px;
        position: relative;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
        display: flex;
        flex-direction: column;
    }

    .driver-cabin-header {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-bottom: 20px;
        height: 40px;
        padding-right: 10px;
    }

    .driver-icon-wrapper {
        color: #1e293b;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Bus CSS Grid with clear vertical & horizontal berth spacing */
    .bus-deck-grid {
        display: grid;
        gap: 14px 8px; /* 14px vertical gap between berths, 8px horizontal gap */
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        width: fit-content;
        position: relative;
    }

    /* Base Seat Item (Individual Berth / Seat Box) */
    .seat-item {
        background: #ffffff;
        border: 1.5px solid #cbd5e1;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        font-weight: 600;
        color: #334155;
        cursor: pointer;
        user-select: none;
        transition: all 0.15s ease-in-out;
        position: relative;
        box-sizing: border-box;
    }

    /* Seater Dimensions */
    .seat-item.seater {
        width: 38px;
        height: 38px;
    }

    /* Single Sleeper Dimensions (Distinct Tall Vertical Berth) */
    .seat-item.single_sleeper {
        width: 38px;
        height: 72px;
    }

    /* Double Sleeper Dimensions (Wide Vertical Berth) */
    .seat-item.double_sleeper {
        width: 80px;
        height: 72px;
    }

    /* Available Seat Hover */
    .seat-item.available:hover {
        border-color: #0F2747;
        box-shadow: 0 2px 8px rgba(15, 39, 71, 0.2);
        transform: translateY(-1px);
        z-index: 5;
    }

    /* Selected State */
    .seat-item.selected {
        background: #0F2747 !important;
        color: #ffffff !important;
        border-color: #0F2747 !important;
        box-shadow: 0 3px 10px rgba(15, 39, 71, 0.35);
    }

    /* Booked (Male / General) */
    .seat-item.booked {
        background: #5a6b7c !important;
        color: #ffffff !important;
        border-color: #475569 !important;
        cursor: not-allowed !important;
    }

    /* Booked (Female) */
    .seat-item.booked-female {
        background: #f43f5e !important;
        color: #ffffff !important;
        border-color: #e11d48 !important;
        cursor: not-allowed !important;
    }

    /* Floating Dark Navy Hover Tooltip (Mahalaxmi Style) */
    #seatHoverTooltip {
        position: fixed;
        display: none;
        background: #0A1B32;
        color: #ffffff;
        border-radius: 6px;
        padding: 12px 16px;
        font-size: 12px;
        min-width: 175px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
        z-index: 9999;
        pointer-events: none;
        animation: tooltipPop 0.12s ease-out;
        border: 1px solid rgba(217, 164, 65, 0.3);
    }

    @keyframes tooltipPop {
        from { opacity: 0; transform: translateY(3px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .tooltip-header {
        font-weight: 700;
        font-size: 13px;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        padding-bottom: 5px;
        margin-bottom: 8px;
        color: #f8fafc;
    }

    .tooltip-row {
        display: flex;
        justify-content: space-between;
        margin-bottom: 4px;
        color: #cbd5e1;
    }

    .tooltip-row.total-row {
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        padding-top: 5px;
        margin-top: 5px;
        font-weight: 700;
        color: #D9A441;
    }

    /* Right Side: Service & Seat Details Panel (Mahalaxmi Style) */
    .service-card {
        background: #ffffff;
        border: 1.5px solid #e2e8f0;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
        position: sticky;
        top: 90px;
    }

    .service-header {
        background: #0F2747;
        color: #ffffff;
        padding: 12px 20px;
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 0.8px;
        text-transform: uppercase;
        border-bottom: 2px solid #D9A441;
    }

    .service-body {
        padding: 20px;
    }

    .service-meta-table {
        width: 100%;
        margin-bottom: 20px;
    }

    .service-meta-table td {
        padding: 6px 0;
        font-size: 0.9rem;
        color: #2B2B2B;
    }

    .service-meta-table td.label-col {
        font-weight: 600;
        color: #64748b;
        width: 36%;
    }

    .service-meta-table td.colon-col {
        width: 6%;
        text-align: center;
    }

    .service-meta-table td.value-col {
        font-weight: 700;
        color: #0F2747;
    }

    .custom-select-label {
        font-size: 0.8rem;
        font-weight: 700;
        text-transform: uppercase;
        color: #64748b;
        margin-bottom: 6px;
        display: block;
    }

    .custom-select-control {
        height: 45px;
        border-radius: 8px;
        border: 1.5px solid #cbd5e1;
        font-size: 0.9rem;
        font-weight: 500;
        color: #1e293b;
        background-color: #ffffff;
        transition: border-color 0.2s;
    }

    .custom-select-control:focus {
        border-color: #0F2747;
        box-shadow: 0 0 0 3px rgba(15, 39, 71, 0.1);
    }

    .selected-seats-badge-container {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        min-height: 28px;
    }

    .selected-seat-chip {
        background: #0F2747;
        color: #ffffff;
        font-size: 0.8rem;
        font-weight: 700;
        padding: 3px 8px;
        border-radius: 4px;
        display: inline-flex;
        align-items: center;
    }

    .btn-proceed-booking {
        background: linear-gradient(135deg, #D9A441 0%, #F3C86A 100%);
        color: #0F2747;
        border: none;
        border-radius: 8px;
        height: 48px;
        font-weight: 700;
        font-size: 0.95rem;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        width: 100%;
        transition: all 0.25s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 15px rgba(217, 164, 65, 0.3);
    }

    .btn-proceed-booking:hover:not(:disabled) {
        background: linear-gradient(135deg, #F3C86A 0%, #D9A441 100%);
        color: #0F2747;
        box-shadow: 0 6px 20px rgba(217, 164, 65, 0.45);
        transform: translateY(-1px);
    }

    .btn-proceed-booking:disabled {
        background: #cbd5e1;
        color: #94a3b8;
        cursor: not-allowed;
        box-shadow: none;
    }

    /* Color Legend Bar */
    .legend-bar {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        padding: 12px 20px;
        margin-top: 25px;
    }

    .legend-item-pill {
        display: flex;
        align-items: center;
        font-size: 0.8rem;
        font-weight: 600;
        color: #475569;
    }

    .legend-box {
        width: 18px;
        height: 18px;
        border-radius: 3px;
        margin-right: 6px;
        display: inline-block;
    }

    .legend-box.available { background: #ffffff; border: 1.5px solid #cbd5e1; }
    .legend-box.selected { background: #0F2747; }
    .legend-box.booked { background: #5a6b7c; }
    .legend-box.ladies { background: #f43f5e; }

/* --- Checkout & Passenger Form Styles --- */
.page-header {
        background: var(--primary);
        padding: 100px 0 30px;
        color: white;
    }
    .checkout-card {
        background: white;
        border-radius: 12px;
        padding: 25px;
        color: #333;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        margin-bottom: 20px;
    }
    .pay-btn {
        background: linear-gradient(135deg, var(--secondary), #d35400);
        color: white;
        border: none;
        border-radius: 8px;
        padding: 15px;
        font-weight: 700;
        font-size: 1.1rem;
        width: 100%;
        transition: transform 0.3s;
    }
    .pay-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(243, 156, 18, 0.4);
    }
    .passenger-row {
        background: #f8f9fa;
        padding: 15px;
        border-radius: 8px;
        margin-bottom: 15px;
        border: 1px solid #eee;
    }

/* --- Payment Card Styles --- */
.page-header {
        background: var(--primary);
        padding: 100px 0 30px;
        color: white;
    }
    .payment-card {
        background: white;
        border-radius: 12px;
        padding: 40px;
        color: #333;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        text-align: center;
        max-width: 500px;
        margin: 0 auto;
    }
    .pay-btn {
        background: linear-gradient(135deg, var(--secondary), #d35400);
        color: white;
        border: none;
        border-radius: 8px;
        padding: 15px 30px;
        font-weight: 700;
        font-size: 1.2rem;
        transition: transform 0.3s;
        margin-top: 20px;
    }
    .pay-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(243, 156, 18, 0.4);
    }

/* --- Booking Success Receipt Styles --- */
.success-header {
        background: var(--primary);
        padding: 100px 0 30px;
        color: white;
    }
    .ticket-card {
        background: white;
        border-radius: 16px;
        padding: 0;
        color: #333;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        overflow: hidden;
        border: 1px solid #eee;
    }
    .ticket-header {
        background: var(--primary-light);
        color: white;
        padding: 20px 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .ticket-body {
        padding: 30px;
    }
    .ticket-footer {
        background: #f8f9fa;
        padding: 20px 30px;
        border-top: 2px dashed #ddd;
    }
    .pnr-box {
        background: rgba(255,255,255,0.1);
        padding: 10px 20px;
        border-radius: 8px;
        text-align: center;
    }
    .barcode-placeholder {
        height: 60px;
        background: repeating-linear-gradient(
            90deg,
            #333,
            #333 3px,
            transparent 3px,
            transparent 6px
        );
        margin: 20px 0;
    }

/**
 * Raghuvanshi Travels - Custom CMS Pages, About, Gallery & Testimonials Stylesheet
 */

/* --- Dynamic CMS Page Styles --- */
/* Custom Page Hero Header */
    .page-hero-banner {
        position: relative;
        padding: 60px 0 50px 0;
        background: linear-gradient(135deg, #07172C 0%, #0F2747 60%, #153B68 100%);
        color: #ffffff;
        overflow: hidden;
    }
    
    .page-hero-banner.has-image {
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
    
    .page-hero-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(7, 23, 44, 0.75) 0%, rgba(15, 39, 71, 0.90) 100%);
        z-index: 1;
    }

    .page-hero-content {
        position: relative;
        z-index: 2;
    }

    /* Breadcrumbs */
    .page-breadcrumb {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.85rem;
        margin-bottom: 12px;
    }
    .page-breadcrumb a {
        color: #D9A441;
        text-decoration: none;
        transition: color 0.2s;
    }
    .page-breadcrumb a:hover {
        color: #F3C86A;
        text-decoration: underline;
    }
    .page-breadcrumb span {
        color: rgba(255, 255, 255, 0.6);
    }

    /* Content Body Container */
    .page-content-wrapper {
        background: #ffffff;
        border-radius: 16px;
        border: 1px solid rgba(217, 164, 65, 0.2);
        box-shadow: 0 10px 30px rgba(15, 39, 71, 0.05);
        padding: 40px;
        margin-top: -30px;
        position: relative;
        z-index: 3;
        color: #2B2B2B;
        line-height: 1.8;
    }

    /* CKEditor Rendered Typography */
    .page-html-content h1, 
    .page-html-content h2, 
    .page-html-content h3, 
    .page-html-content h4 {
        font-family: 'Erode', 'Cinzel', serif;
        font-weight: 700;
        color: #0F2747;
        margin-top: 1.8rem;
        margin-bottom: 0.9rem;
    }
    .page-html-content h1 { font-size: 2rem; border-bottom: 2px solid #FAF3EE; padding-bottom: 8px; }
    .page-html-content h2 { font-size: 1.6rem; border-bottom: 1px solid #FAF3EE; padding-bottom: 6px; }
    .page-html-content h3 { font-size: 1.3rem; }
    
    .page-html-content p {
        margin-bottom: 1.2rem;
        font-size: 1rem;
        color: #374151;
    }

    .page-html-content ul, 
    .page-html-content ol {
        margin-bottom: 1.4rem;
        padding-left: 2rem;
        color: #374151;
    }
    .page-html-content li {
        margin-bottom: 0.4rem;
    }

    .page-html-content blockquote {
        border-left: 4px solid #D9A441;
        padding: 14px 20px;
        margin: 1.5rem 0;
        background: #FAF3EE;
        border-radius: 0 10px 10px 0;
        font-style: italic;
        color: #0F2747;
    }

    .page-html-content table {
        width: 100%;
        margin-bottom: 1.5rem;
        border-collapse: collapse;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        overflow: hidden;
    }
    .page-html-content table th, 
    .page-html-content table td {
        padding: 12px 16px;
        border: 1px solid #e5e7eb;
    }
    .page-html-content table th {
        background-color: #0F2747;
        color: #ffffff;
        font-weight: 600;
    }
    .page-html-content table tr:nth-child(even) {
        background-color: #f9fafb;
    }

    .page-html-content img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
        margin: 1.5rem 0;
        box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    }

    .page-html-content a {
        color: #D9A441;
        text-decoration: underline;
        font-weight: 600;
    }
    .page-html-content a:hover {
        color: #0F2747;
    }

    @media (max-width: 767.98px) {
        .page-content-wrapper {
            padding: 24px 18px;
            margin-top: -20px;
            border-radius: 12px;
        }
        .page-hero-banner {
            padding: 40px 0 40px 0;
        }
        .page-hero-title {
            font-size: 1.75rem !important;
        }
    }

/* --- About Us Page Styles --- */
.about-header {
        background: linear-gradient(rgba(15, 39, 71, 0.88), rgba(10, 27, 50, 0.95)), url('https://images.unsplash.com/photo-1544620347-c4fd4a3d5957?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat fixed;
        padding: 90px 0 70px;
        color: white;
        text-align: center;
        border-bottom: 3px solid var(--brand-gold);
    }
    
    .about-header .section-subtitle {
        color: var(--brand-gold);
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 3px;
        text-transform: uppercase;
        margin-bottom: 10px;
        display: inline-block;
    }

    .about-header h1 {
        font-family: 'Erode', 'Cinzel', serif;
        font-size: clamp(2rem, 4vw, 3rem);
        margin-bottom: 12px;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        color: #ffffff !important;
        font-weight: 600;
    }

    .about-header p.header-subtext {
        font-family: 'Mona Sans', sans-serif;
        font-size: 1.05rem;
        font-weight: 400;
        color: rgba(255, 255, 255, 0.85);
        max-width: 650px;
        margin: 0 auto;
        letter-spacing: 0.5px;
    }
    
    .about-container .section-title,
    .page-content-wrapper .section-title {
        font-family: 'Erode', serif;
        color: var(--primary);
        font-size: 2.25rem;
        font-weight: 600;
        margin-bottom: 25px;
        position: relative;
        display: inline-block;
        padding-bottom: 10px;
    }
    
    .about-container .section-title::after,
    .page-content-wrapper .section-title::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 60px;
        height: 3px;
        background-color: var(--brand-gold);
    }
    
    .about-container .section-title.text-center::after,
    .page-content-wrapper .section-title.text-center::after {
        left: 50%;
        transform: translateX(-50%);
    }

    /* Stats Section */
    .stats-section {
        background-color: var(--brand-navy);
        padding: 60px 0;
        color: white;
        border-top: 1px solid rgba(217, 164, 65, 0.2);
        border-bottom: 1px solid rgba(217, 164, 65, 0.2);
    }
    
    .stat-box {
        text-align: center;
        padding: 20px;
    }
    
    .stat-number {
        font-family: 'Erode', serif;
        font-size: 3.25rem;
        font-weight: 700;
        color: var(--brand-gold);
        margin-bottom: 5px;
        line-height: 1;
    }
    
    .stat-text {
        font-family: 'Mona Sans', sans-serif;
        font-size: 0.85rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 2px;
        color: rgba(255, 255, 255, 0.8);
    }

    /* Core Values */
    .feature-icon-box {
        background: var(--white);
        padding: 35px 25px;
        border-radius: 12px;
        text-align: center;
        height: 100%;
        transition: all 0.3s ease;
        border: 1px solid #e2e8f0;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    }
    
    .feature-icon-box:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(15, 39, 71, 0.1);
        border-color: var(--brand-gold);
    }
    
    .feature-icon-box i {
        font-size: 2.8rem;
        color: var(--brand-gold);
        margin-bottom: 20px;
    }

    .feature-icon-box h4 {
        font-family: 'Erode', serif;
        font-weight: 600;
        font-size: 1.25rem;
        color: var(--brand-navy);
        margin-bottom: 12px;
    }

    .feature-icon-box p {
        font-size: 0.9rem;
        color: #64748b;
        line-height: 1.7;
    }

    /* Timeline / Journey */
    .journey-box {
        background: #ffffff;
        padding: 35px;
        border-left: 4px solid var(--brand-gold);
        border-radius: 0 10px 10px 0;
        margin-bottom: 30px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.04);
        border: 1px solid #e2e8f0;
        border-left: 4px solid var(--brand-gold);
    }

    .journey-box h3 {
        font-family: 'Erode', serif;
        font-weight: 600;
        font-size: 1.4rem;
        color: var(--brand-navy);
    }

    .lead-text {
        font-size: 1.15rem;
        font-weight: 500;
        line-height: 1.8;
        color: #1e293b;
    }

/* --- Gallery Wall Styles --- */
.page-header {
        background: linear-gradient(rgba(10, 37, 64, 0.9), rgba(10, 37, 64, 0.9)), url('https://images.unsplash.com/photo-1544620347-c4fd4a3d5957?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
        padding: 80px 0 60px;
        text-align: center;
        color: white;
    }
    .gallery-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 20px;
    }
    .gallery-item {
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        transition: transform 0.4s ease, box-shadow 0.4s ease;
        cursor: pointer;
        height: 250px;
    }
    .gallery-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s ease;
    }
    .gallery-item:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    }
    .gallery-item:hover img {
        transform: scale(1.08);
    }

/* --- Testimonials Wall Styles --- */
.page-header {
        background: linear-gradient(rgba(10, 37, 64, 0.9), rgba(10, 37, 64, 0.9)), url('https://images.unsplash.com/photo-1544620347-c4fd4a3d5957?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
        padding: 80px 0 60px;
        text-align: center;
        color: white;
    }
    
    .testimonial-section {
        background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
        position: relative;
        overflow: hidden;
    }
    .testimonial-section::before {
        content: '';
        position: absolute;
        top: -100px;
        left: -100px;
        width: 300px;
        height: 300px;
        background: rgba(245, 158, 11, 0.2);
        border-radius: 50%;
        filter: blur(80px);
    }
    .testimonial-section::after {
        content: '';
        position: absolute;
        bottom: -100px;
        right: -100px;
        width: 300px;
        height: 300px;
        background: rgba(10, 37, 64, 0.1);
        border-radius: 50%;
        filter: blur(80px);
    }
    .glass-card {
        background: rgba(255, 255, 255, 0.6);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.8);
        border-radius: 16px;
        padding: 40px 30px;
        box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.05);
        height: 100%;
        position: relative;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .glass-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 40px 0 rgba(31, 38, 135, 0.1);
    }
    .quote-icon {
        position: absolute;
        top: 20px;
        right: 20px;
        font-size: 4rem;
        color: rgba(10, 37, 64, 0.05);
        font-family: Georgia, serif;
        line-height: 1;
    }
    .testimonial-text {
        font-size: 1.1rem;
        font-style: italic;
        color: #4a5568;
        margin-bottom: 25px;
        position: relative;
        z-index: 1;
    }
    .testimonial-author {
        font-weight: 700;
        color: var(--primary);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 0.9rem;
        display: flex;
        align-items: center;
    }
    .testimonial-author::before {
        content: '';
        display: inline-block;
        width: 30px;
        height: 2px;
        background-color: var(--secondary);
        margin-right: 15px;
    }

/**
 * Raghuvanshi Travels - User Auth (Login/Register) Stylesheet
 */

.auth-page-wrapper {
        min-height: calc(100vh - 200px);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 50px 15px;
        background: linear-gradient(135deg, #FFFFFF 0%, #FAF3EE 50%, #F1F5F9 100%);
        position: relative;
    }
    
    .auth-card-modern {
        width: 100%;
        max-width: 450px;
        background: #ffffff;
        border-radius: 20px;
        box-shadow: 0 20px 50px rgba(15, 39, 71, 0.08), 0 4px 12px rgba(0, 0, 0, 0.03);
        border: 1.5px solid rgba(217, 164, 65, 0.35);
        padding: 40px 35px;
        position: relative;
        z-index: 2;
    }
    
    .auth-header-title {
        font-family: 'Erode', serif;
        font-size: 1.95rem;
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 6px;
    }
    
    .form-group-modern {
        margin-bottom: 20px;
        position: relative;
    }
    
    .form-group-modern label {
        font-size: 0.78rem;
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 7px;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .input-icon-wrapper {
        position: relative;
    }
    
    .input-icon-wrapper i.lead-icon {
        position: absolute;
        top: 50%;
        left: 16px;
        transform: translateY(-50%);
        color: #94a3b8;
        font-size: 1rem;
        transition: color 0.25s ease;
    }
    
    .input-icon-wrapper .form-control {
        height: 48px;
        border-radius: 10px;
        border: 1.5px solid #e2e8f0;
        padding-left: 46px;
        padding-right: 46px;
        font-size: 0.95rem;
        transition: all 0.25s ease;
        background: #f8fafc;
        color: #1e293b;
        font-weight: 500;
    }
    
    .input-icon-wrapper .form-control:focus {
        background: #ffffff;
        border-color: var(--brand-navy);
        box-shadow: 0 0 0 3px rgba(15, 39, 71, 0.12);
    }
    
    .input-icon-wrapper:focus-within i.lead-icon {
        color: var(--brand-navy);
    }
    
    .toggle-pass-btn {
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translateY(-50%);
        color: #94a3b8;
        cursor: pointer;
        transition: color 0.2s;
        border: none;
        background: transparent;
        padding: 0;
    }
    
    .toggle-pass-btn:hover {
        color: var(--brand-navy);
    }
/* --- Split Search Form (New Design) --- */
.split-search-wrapper {
    position: relative;
    z-index: 20;
    margin-top: -40px;
    margin-bottom: 50px;
}
.split-search-container {
    background: #ffffff;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    overflow: hidden;
    border-radius: 0; /* Brand rule: no rounded corners */
}
.split-search-info {
    background: #0F2747; /* Brand Navy */
    padding: 35px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.split-search-form-area {
    background: #ffffff; /* White to match original form */
    padding: 25px 30px;
}

/* Ensure the wide original form wraps beautifully in the split layout */
.split-search-form-area .search-form-flex {
    flex-wrap: wrap !important;
}
.split-search-form-area .search-col-from,
.split-search-form-area .search-col-to {
    flex: 1 1 calc(50% - 25px) !important;
}
.split-search-form-area .search-col-date,
.split-search-form-area .search-col-return,
.split-search-form-area .search-col-passengers,
.split-search-form-area .search-col-submit {
    flex: 1 1 calc(25% - 10px) !important;
    min-width: 140px;
}
.split-search-form-area .search-col-swap {
    flex: 0 0 38px !important;
}

.split-search-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    gap: 15px;
    align-items: end;
}
.split-search-field {
    display: flex;
    flex-direction: column;
}
.split-field-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}
.split-input-box {
    background: #ffffff;
    border: none;
    padding: 0;
}
.split-form-select, .split-form-control {
    width: 100%;
    height: 50px;
    border: 1px solid #e2e8f0;
    padding: 0 15px;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    color: #333;
    border-radius: 0;
    background-color: transparent;
    outline: none;
}
.split-form-select:focus, .split-form-control:focus {
    border-color: #D9A441;
    box-shadow: 0 0 0 2px rgba(217, 164, 65, 0.2);
}
.split-search-submit-box {
    height: 50px;
}
.btn-split-submit {
    height: 100%;
    background: #0F2747; /* Brand Navy */
    color: #ffffff;
    border: none;
    padding: 0 30px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    border-radius: 0;
}
.btn-split-submit:hover {
    background: #08172b;
    color: #D9A441;
}

@media (max-width: 991.98px) {
    .split-search-wrapper {
        margin-top: -30px;
    }
    .split-search-grid {
        grid-template-columns: 1fr 1fr;
    }
    .split-search-submit-box {
        grid-column: span 2;
        margin-top: 10px;
    }
    .btn-split-submit {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .split-search-wrapper {
        margin-top: -20px;
    }
    .split-search-grid {
        grid-template-columns: 1fr;
    }
    .split-search-submit-box {
        grid-column: span 1;
    }
    .split-search-info, .split-search-form-area {
        padding: 25px 20px;
    }
}

