/* Ensure font-display: swap for all custom fonts */
            @font-face {
                font-family: 'Plus Jakarta Sans';
                font-display: swap;
            }
            .font-heading { font-family: 'Plus Jakarta Sans', sans-serif; }
            
            .leading-tight {
                line-height: 1.25 !important;
            }
            .font-jakarta {
                font-family: 'Plus Jakarta Sans', sans-serif !important;
            }
            
            /* Custom Animations */
            @keyframes fadeInUp {
                from { opacity: 0; transform: translateY(20px); }
                to { opacity: 1; transform: translateY(0); }
            }
            @keyframes floatSlow {
                0%, 100% { transform: translateY(0px) rotate(-12deg); }
                50% { transform: translateY(-20px) rotate(-10deg); }
            }
            @keyframes floatMedium {
                0%, 100% { transform: translateY(0px) rotate(12deg); }
                50% { transform: translateY(-15px) rotate(15deg); }
            }
            .animate-fade-in-up { animation: fadeInUp 0.8s ease-out forwards; }
            .animate-delay-100 { animation-delay: 0.1s; }
            .animate-delay-200 { animation-delay: 0.2s; }
            .animate-delay-300 { animation-delay: 0.3s; }
            .animate-float-slow { animation: floatSlow 6s ease-in-out infinite; }
            .animate-float-medium { animation: floatMedium 5s ease-in-out infinite; }
            .iframe-section iframe{
                width: 100%;
                height: 350px;
            }
            
            @keyframes blob {
                0%, 100% { transform: translate(0, 0) scale(1); }
                25% { transform: translate(20px, -50px) scale(1.1); }
                50% { transform: translate(-20px, 20px) scale(0.9); }
                75% { transform: translate(20px, 50px) scale(1.05); }
            }
            .animate-blob {
                animation: blob 7s infinite;
            }
            .animation-delay-2000 {
                animation-delay: 2s;
            }
            .animation-delay-4000 {
                animation-delay: 4s;
            }
            .collapse.show{
                visibility: visible !important;
            }
            .faq-item.active .faq-icon {
                transform: rotate(180deg);
            }
            .faq-question[aria-expanded="true"] .faq-icon {
                transform: rotate(180deg);
            }
            @keyframes float {
                0%, 100% { transform: translateY(0px) rotate(0deg); }
                25% { transform: translateY(-20px) rotate(5deg); }
                50% { transform: translateY(-10px) rotate(-5deg); }
                75% { transform: translateY(-25px) rotate(3deg); }
            }
            .animate-float {
                animation: float 6s ease-in-out infinite;
            }
            .animation-delay-1000 {
                animation-delay: 1s;
            }
            .animation-delay-2000 {
                animation-delay: 2s;
            }
            .animation-delay-3000 {
                animation-delay: 3s;
            }
            .animation-delay-4000 {
                animation-delay: 4s;
            }
            .js-cookie-consent {
                position: fixed;
                z-index: 1;
                right: 10%;
                bottom: 10px !important;
                border: 2px solid #3147FF;
                border-radius: 15px;
                box-shadow: 2px 2px 7px 4px #ddd;
                background-color: #FFFFFF;
                width: 80%;
                margin: 0px 0px 20px 20px;
                padding: 0px;
                z-index: 555;
            }

            .cookie-consent__message {
                color: #0a102f !important;
                font-size: 15px;
            }

            .cookie-consent__agree {
                font-size: 11px;
            }

            .js-cookie-consent button {
                background-color: #3147FF;
                border-radius: 50px;
                font-weight: 600;
                margin-bottom: -10px;
            }

            .js-cookie-consent-manage {
                cursor: pointer;
                text-decoration: underline;
                background: transparent !important;
                color: #5c81f2 !important;
                border: 0 !important;
            }

            @media only screen and (max-width: 900px) {
                div.mv-login-menu {
                    display: inline-block !important;
                    margin-left: 15px !important;
                }

                div.mv-login-menu a:first-child {
                    margin: 25px 8px !important;
                }

                .brand-logo {
                    width: auto !important;
                    max-width: 140px !important;
                }

                .mobile-menu-head img {
                    width: auto !important;
                    max-width: 140px !important;
                }

                .js-cookie-consent {
                    width: 80% !important;
                    margin: 0px 0px 2px 0px !important;
                    right: 10% !important;
                    bottom: 3px !important;
                }

                .cookie-consent__message {
                    font-size: 12px !important;
                }

                .cookie-consent__agree {
                    padding: 5px 15px !important;
                    font-size: 11px !important;
                    color: #fff !important;
                }

                .js-cookie-consent button {
                    background-color: #3147FF;
                    border-radius: 50px;
                    font-weight: 600;
                    margin-bottom: -10px;
                    float: left;
                    margin-top: 10px;
                    margin-right: 5px;
                }

                .js-cookie-consent-manage {
                    cursor: pointer;
                    text-decoration: underline;
                    background: transparent !important;
                    color: #3F6BD2 !important;
                    padding-left: 0px !important;
                    border: 0 !important;
                }
            }

            .footer-language {
                margin-top: -12px;
            }

            .footer-language ul li.nav-item-has-children:hover>.sub-menu {
                top: 100%;
                margin-top: 0;
                visibility: visible;
                opacity: 1;
                z-index: 99;
                pointer-events: visible;
                border-radius: 8px;
                margin-top: -150px;
            }

            .footer-language .site-menu-main .sub-menu:not(.child-sub)::before {
                content: "";
                position: absolute;
                top: 0%;
                left: 22px;
                height: 15px;
                width: 15px;
                background-color: white;
                transform: rotate(45deg) translateY(-11px);
                z-index: 999;
                margin-top: 104px;
            }

            .pricing-add-ons .add-ons {
                background-color: #0c3adf0a;
                border-radius: 20px;
                padding: 25px 20px;
            }

            .pricing-add-ons .add-ons p {
                min-height: 100px;
            }

            .pricing-add-ons .add-ons-icon {
                background-color: #0c3adf0a;
                padding: 30px;
                border-radius: 50%;
                height: fit-content;
            }

            .pricing-add-ons .add-ons-icon i {
                position: absolute;
                top: 15px;
                font-size: 30px;
                color: #0b4fd7d4;
            }

            /* =======================
            Refer A Colleague Section  
            ==========================*/
            .refer-a-colleague-step {
                background-color: #0c3adf0a;
                border-radius: 20px;
                padding: 100px 30px 70px;
            }

            .refer-a-colleague-step p {
                min-height: 100px;
            }

            .refer-a-colleague-step-icon {
                background-color: #0c3adf0a;
                padding: 70px;
                border-radius: 50%;
            }

            .refer-a-colleague-step-icon i {
                position: absolute;
                top: 40px;
                font-size: 60px;
                color: #0b4fd7d4;
            }

            /* =======================
            Camping Notification Banner  
            ==========================*/
            .camping-notification-banner {
                background: #5d78ff;
                color: white;
                padding: 8px 0;
                text-align: center;
                position: relative;
                width: 100%;
                font-size: 13px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.2);
                margin-top: 0 !important;
            }

            .camping-notification-banner .container {
                max-width: 1400px;
                margin: 0 auto;
                padding: 0 20px;
            }

            .camping-notification-banner .notification-content {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 15px;
                flex-wrap: wrap;
            }

            .camping-notification-banner .notification-title {
                font-weight: 500;
                font-size: 13px;
            }

            .camping-notification-banner .btn-camping-notification {
                background: white;
                color: #5d78ff;
                padding: 4px 16px;
                border-radius: 3px;
                text-decoration: none;
                font-weight: 600;
                font-size: 12px;
                transition: all 0.2s ease;
                display: inline-block;
                margin-left: 5px;
            }

            .camping-notification-banner .btn-camping-notification:hover {
                opacity: 0.9;
            }

            /* Responsive styles for notification banner */
            @media (max-width: 768px) {
                .camping-notification-banner {
                    padding: 6px 0 !important;
                    font-size: 11px !important;
                }

                .camping-notification-banner .container {
                    padding: 0 10px !important;
                }

                .camping-notification-banner .notification-content {
                    gap: 8px !important;
                }

                .camping-notification-banner .notification-title {
                    font-size: 11px !important;
                    line-height: 1.3;
                    text-align: center;
                }

                .camping-notification-banner .btn-camping-notification {
                    margin-left: 0 !important;
                    padding: 4px 12px !important;
                    font-size: 10px !important;
                    white-space: nowrap;
                }
            }

            @media (max-width: 480px) {
                .camping-notification-banner {
                    padding: 5px 0 !important;
                }

                .camping-notification-banner .container {
                    padding: 0 8px !important;
                }

                .camping-notification-banner .notification-content {
                    gap: 6px !important;
                }

                .camping-notification-banner .notification-title {
                    font-size: 10px !important;
                    padding: 0 2px;
                    line-height: 1.2;
                }

                .camping-notification-banner .btn-camping-notification {
                    padding: 3px 10px !important;
                    font-size: 9px !important;
                }
            }

            /* Remove top spacing from header and body */
            .site-header {
                margin-top: 0 !important;
                padding-top: 0 !important;
            }

            body {
                margin-top: 0 !important;
                padding-top: 0 !important;
            }

            /* Add spacing to navbar on mobile when notification is present */
            @media (max-width: 768px) {
                .camping-notification-banner~.container .site-navbar {
                    margin-top: 25px !important;
                }

                /* Add top margin to hero section on mobile ONLY when notification is present */
                .site-header:has(.camping-notification-banner)~.home-6_hero-section {
                    margin-top: 35px !important;
                }

                /* Fallback for browsers that don't support :has() */
                body:has(.camping-notification-banner) .home-6_hero-section {
                    margin-top: 35px !important;
                }
            }
            body,
            p,
            a {
                font-family: 'Plus Jakarta Sans', sans-serif !important;
            }

            .container {
                width: calc(100% - 180px) !important;
            }

            @media(max-width: 768px) {
                .container {
                    width: 100% !important;
                }

                .text-2xl {
                    font-size: 1rem !important;
                }

                .text-5xl {
                    font-size: 2rem !important;
                }

                .mobile-h-20 {
                    height: 4rem;
                }

                .tracking-wide {
                    font-size: 12px;
                }

                .hero-title-l {
                    margin-top: 30px !important;
                }
            }
            /* Override legacy CSS that hides mobile menu trigger */
            @media (max-width: 1023px) {
                .mobile-menu-trigger {
                    display: flex !important;
                }

                /* Ensure mobile menu backdrop covers full screen */
                .mobile-menu-backdrop {
                    position: fixed !important;
                    top: 0 !important;
                    left: 0 !important;
                    right: 0 !important;
                    bottom: 0 !important;
                    width: 100vw !important;
                    height: 100vh !important;
                    overflow: hidden !important;
                }
            }