/* Loader Overlay */
        .page-loader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            transition: opacity 0.5s ease, visibility 0.5s ease;
        }

        .page-loader.hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

        /* Logo Container */
        .loader-logo {
            margin-bottom: 2rem;
            animation: logoFloat 3s ease-in-out infinite;
        }

        .loader-logo img {
            height: 80px;
            width: auto;
            filter: drop-shadow(0 4px 8px rgba(33, 128, 55, 0.1));
        }

        @keyframes logoFloat {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }

        /* Lotus Flower Spinner */
        .lotus-spinner {
            position: relative;
            width: 60px;
            height: 60px;
            margin: 1rem 0;
        }

        .lotus-petal {
            position: absolute;
            width: 16px;
            height: 16px;
            background: #218037;
            border-radius: 50% 0;
            transform-origin: 8px 8px;
            animation: petalBloom 2s ease-in-out infinite;
        }

        .lotus-petal:nth-child(1) { transform: rotate(0deg) translate(22px) rotate(-0deg); animation-delay: 0s; }
        .lotus-petal:nth-child(2) { transform: rotate(45deg) translate(22px) rotate(-45deg); animation-delay: 0.25s; }
        .lotus-petal:nth-child(3) { transform: rotate(90deg) translate(22px) rotate(-90deg); animation-delay: 0.5s; }
        .lotus-petal:nth-child(4) { transform: rotate(135deg) translate(22px) rotate(-135deg); animation-delay: 0.75s; }
        .lotus-petal:nth-child(5) { transform: rotate(180deg) translate(22px) rotate(-180deg); animation-delay: 1s; }
        .lotus-petal:nth-child(6) { transform: rotate(225deg) translate(22px) rotate(-225deg); animation-delay: 1.25s; }
        .lotus-petal:nth-child(7) { transform: rotate(270deg) translate(22px) rotate(-270deg); animation-delay: 1.5s; }
        .lotus-petal:nth-child(8) { transform: rotate(315deg) translate(22px) rotate(-315deg); animation-delay: 1.75s; }

        @keyframes petalBloom {
            0%, 100% { 
                transform: rotate(var(--rotation)) translate(22px) rotate(calc(-1 * var(--rotation))) scale(0.8);
                opacity: 0.6;
            }
            50% { 
                transform: rotate(var(--rotation)) translate(26px) rotate(calc(-1 * var(--rotation))) scale(1.2);
                opacity: 1;
            }
        }

        /* Center Circle */
        .lotus-center {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 12px;
            height: 12px;
            background: #99c7a3;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            animation: centerPulse 2s ease-in-out infinite;
        }

        @keyframes centerPulse {
            0%, 100% { transform: translate(-50%, -50%) scale(1); }
            50% { transform: translate(-50%, -50%) scale(1.3); }
        }

        /* Loading Text */
        .loader-text {
            margin-top: 2rem;
            font-family: 'Philosopher', serif;
            font-size: 18px;
            color: #112015;
            font-weight: 500;
            text-align: center;
            animation: textFade 2s ease-in-out infinite;
        }

        .loader-subtext {
            margin-top: 0.5rem;
            font-family: 'Lato', sans-serif;
            font-size: 14px;
            color: #696969;
            text-align: center;
            animation: textFade 2s ease-in-out infinite 0.5s;
        }

        @keyframes textFade {
            0%, 100% { opacity: 0.7; }
            50% { opacity: 1; }
        }

        /* Progress Bar */
        .progress-container {
            width: 200px;
            height: 4px;
            background: #f0f0f0;
            border-radius: 2px;
            margin-top: 2rem;
            overflow: hidden;
        }

        .progress-bar {
            height: 100%;
            background: linear-gradient(90deg, #218037, #99c7a3, #218037);
            background-size: 200% 100%;
            border-radius: 2px;
            animation: progressFlow 2s ease-in-out infinite;
            width: 0%;
            transition: width 0.3s ease;
        }

        @keyframes progressFlow {
            0% { background-position: 200% 0; }
            100% { background-position: -200% 0; }
        }

        /* Dots Animation */
        .loading-dots {
            display: inline-block;
            animation: dotsAnimation 1.5s infinite;
        }

        @keyframes dotsAnimation {
            0%, 20% { content: ''; }
            40% { content: '.'; }
            60% { content: '..'; }
            80%, 100% { content: '...'; }
        }

        .loading-dots::after {
            content: '';
            animation: dotsContent 1.5s infinite;
        }

        @keyframes dotsContent {
            0%, 20% { content: ''; }
            40% { content: '.'; }
            60% { content: '..'; }
            80%, 100% { content: '...'; }
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .loader-logo img {
                height: 60px;
            }
            
            .lotus-spinner {
                width: 50px;
                height: 50px;
            }
            
            .lotus-petal {
                width: 14px;
                height: 14px;
            }
            
            .lotus-petal:nth-child(n) {
                transform-origin: 7px 7px;
            }
            
            .lotus-center {
                width: 10px;
                height: 10px;
            }
            
            .loader-text {
                font-size: 16px;
            }
            
            .progress-container {
                width: 160px;
            }
        }

        /* Alternative Spinner - Ayurvedic Herb Leaf */
        .herb-spinner {
            width: 50px;
            height: 50px;
            position: relative;
            display: none; /* Use this as alternative */
        }

        .herb-leaf {
            position: absolute;
            width: 20px;
            height: 35px;
            background: #218037;
            border-radius: 0 100% 0 100%;
            transform-origin: bottom center;
            animation: leafSway 3s ease-in-out infinite;
        }

        .herb-leaf:nth-child(1) { transform: rotate(0deg); animation-delay: 0s; }
        .herb-leaf:nth-child(2) { transform: rotate(60deg); animation-delay: 0.5s; }
        .herb-leaf:nth-child(3) { transform: rotate(120deg); animation-delay: 1s; }
        .herb-leaf:nth-child(4) { transform: rotate(180deg); animation-delay: 1.5s; }
        .herb-leaf:nth-child(5) { transform: rotate(240deg); animation-delay: 2s; }
        .herb-leaf:nth-child(6) { transform: rotate(300deg); animation-delay: 2.5s; }

        @keyframes leafSway {
            0%, 100% { transform: rotate(var(--rotation)) scale(0.8); opacity: 0.6; }
            50% { transform: rotate(var(--rotation)) scale(1.1); opacity: 1; }
        }

        /* Demo styling for this preview */
        body {
            margin: 0;
            font-family: 'Lato', sans-serif;
            background: #f8f9fa;
        }

        .demo-content {
            padding: 2rem;
            text-align: center;
            margin-top: 2rem;
        }

        .demo-btn {
            background: #218037;
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 25px;
            cursor: pointer;
            font-size: 16px;
            margin: 1rem;
            transition: background 0.3s ease;
        }

        .demo-btn:hover {
            background: #1a6b2d;
        }