* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

       

        /* Overlay */
        .appointment-popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.7);
            display: flex;
            justify-content: center;
            align-items: flex-end;
            z-index: 1000;
            animation: appointment-fadeIn 0.4s ease-out;
            backdrop-filter: blur(1px);
            transition: backdrop-filter 0.3s ease;
        }

        
        .appointment-popup-overlay.appointment-center {
            align-items: center;
        }

        /* Popup Container */
        .appointment-popup-container {
            background: linear-gradient(135deg, #BE0B32 0%, #002768 100%);
            border-radius: 20px 20px 0 0;
            padding: 30px;
            width: 90%;
            max-width: 550px;
            color: white;
            position: relative;
            animation: appointment-slideUpBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
            box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4);
            transform-origin: bottom center;
        }

        .appointment-popup-container.appointment-center-popup {
            border-radius: 20px;
            animation: appointment-scaleInBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
            transform-origin: center;
        }

        /* Close Button */
        .appointment-close-btn {
            position: absolute;
            top: 15px;
            right: 20px;
            background: rgba(255, 255, 255, 0.1);
            border: none;
            color: white;
            font-size: 24px;
            cursor: pointer;
            padding: 8px;
            border-radius: 50%;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            backdrop-filter: blur(10px);
        }

        .appointment-close-btn:hover {
            background-color: rgba(255, 255, 255, 0.2);
            transform: rotate(90deg) scale(1.1);
            box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
        }

        /* Content */
        .appointment-popup-content {
            text-align: center;
            margin-top: 10px;
        }

        .appointment-popup-title {
            font-size: 28px;
            font-weight: bold;
            margin-bottom: 15px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
            animation: appointment-titleSlideIn 0.8s ease-out 0.2s both;
        }

        .appointment-popup-subtitle {
            font-size: 18px;
            margin-bottom: 10px;
            opacity: 0.9;
            animation: appointment-subtitleSlideIn 0.8s ease-out 0.4s both;
        }

        .appointment-popup-description {
            font-size: 16px;
            line-height: 1.5;
            margin-bottom: 25px;
            opacity: 0.8;
            animation: appointment-descriptionFadeIn 0.8s ease-out 0.6s both;
        }

        /* Buttons */
        .appointment-button-group {
            display: flex;
            gap: 15px;
            justify-content: center;
            flex-wrap: wrap;
            animation: appointment-buttonGroupSlideUp 0.8s ease-out 0.8s both;
        }

        .appointment-btn {
            padding: 12px 25px;
            border: none;
            border-radius: 25px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            text-decoration: none;
            display: inline-block;
            min-width: 140px;
            position: relative;
            overflow: hidden;
        }

        .appointment-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.6s;
        }

        .appointment-btn:hover::before {
            left: 100%;
        }

        .appointment-btn-primary {
            background-color: white;
            color: #BE0B32;
            box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3);
        }

        .appointment-btn-primary:hover {
            background-color: #f0f0f0;
            transform: translateY(-3px) scale(1.05);
            box-shadow: 0 8px 25px rgba(255, 255, 255, 0.4);
        }

        .appointment-btn-secondary {
            background-color: transparent;
            color: white;
            border: 2px solid white;
            box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
        }

        .appointment-btn-secondary:hover {
            background-color: white;
            color: #BE0B32;
            transform: translateY(-3px) scale(1.05);
            box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3);
        }

        /* Features */
        .appointment-features {
            display: flex;
            justify-content: space-around;
            margin: 20px 0;
            text-align: center;
            animation: appointment-featuresSlideIn 0.8s ease-out 0.7s both;
        }

        .appointment-feature {
            font-size: 14px;
            opacity: 0.9;
            transition: transform 0.3s ease;
            animation: appointment-featurePulse 2s ease-in-out infinite;
        }

        .appointment-feature:nth-child(1) { animation-delay: 0s; }
        .appointment-feature:nth-child(2) { animation-delay: 0.7s; }
        .appointment-feature:nth-child(3) { animation-delay: 1.4s; }

        .appointment-feature:hover {
            transform: translateY(-5px) scale(1.1);
        }

        .appointment-feature-icon {
            font-size: 20px;
            margin-bottom: 5px;
            display: block;
            transition: transform 0.3s ease;
        }

        .appointment-feature:hover .appointment-feature-icon {
            transform: scale(1.3) rotate(5deg);
        }

        /* Enhanced Animations */
        @keyframes appointment-fadeIn {
            from { 
                opacity: 0;
                backdrop-filter: blur(0px);
            }
            to { 
                opacity: 1;
                backdrop-filter: blur(3px);
            }
        }

        @keyframes appointment-slideUpBounce {
            0% { 
                transform: translateY(100%) scale(0.8);
                opacity: 0;
            }
            60% {
                transform: translateY(-10px) scale(1.05);
                opacity: 1;
            }
            100% { 
                transform: translateY(0) scale(1);
                opacity: 1;
            }
        }

        @keyframes appointment-scaleInBounce {
            0% { 
                transform: scale(0.3) rotate(-10deg);
                opacity: 0;
            }
            60% {
                transform: scale(1.1) rotate(2deg);
                opacity: 1;
            }
            100% { 
                transform: scale(1) rotate(0deg);
                opacity: 1;
            }
        }

        @keyframes appointment-titleSlideIn {
            from {
                opacity: 0;
                transform: translateY(-30px) scale(0.8);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        @keyframes appointment-subtitleSlideIn {
            from {
                opacity: 0;
                transform: translateX(-30px);
            }
            to {
                opacity: 0.9;
                transform: translateX(0);
            }
        }

        @keyframes appointment-descriptionFadeIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 0.8;
                transform: translateY(0);
            }
        }

        @keyframes appointment-buttonGroupSlideUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes appointment-featuresSlideIn {
            from {
                opacity: 0;
                transform: translateY(20px) scale(0.9);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        @keyframes appointment-featurePulse {
            0%, 100% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.05);
            }
        }

        @keyframes appointment-float {
            0%, 100% {
                transform: translateY(-50%) translateX(0) rotate(0deg);
            }
            25% {
                transform: translateY(-60%) translateX(5px) rotate(5deg);
            }
            75% {
                transform: translateY(-40%) translateX(-5px) rotate(-5deg);
            }
        }

        /* Responsive */
        @media (max-width: 600px) {
            .appointment-popup-container {
                padding: 25px 20px;
                width: 95%;
            }

            .appointment-popup-title {
                font-size: 24px;
            }

            .appointment-popup-subtitle {
                font-size: 16px;
            }

            .appointment-button-group {
                flex-direction: column;
                align-items: center;
            }

            .appointment-btn {
                width: 100%;
                max-width: 250px;
            }

            .appointment-features {
                flex-direction: column;
                gap: 15px;
            }
        }

        /* Demo page styling */
        .appointment-demo-content {
            text-align: center;
            color: #333;
            animation: appointment-demoFadeIn 1s ease-out;
        }

        .appointment-demo-btn {
            background: linear-gradient(135deg, #BE0B32 0%, #002768 100%);
            color: white;
            padding: 12px 24px;
            border: none;
            border-radius: 25px;
            font-size: 16px;
            cursor: pointer;
            margin: 10px;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 4px 15px rgba(190, 11, 50, 0.3);
        }

        .appointment-demo-btn:hover {
            transform: translateY(-2px) scale(1.05);
            box-shadow: 0 8px 25px rgba(190, 11, 50, 0.4);
        }

        @keyframes appointment-demoFadeIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Floating animation for emoji */
        .appointment-popup-title {
            position: relative;
        }

        .appointment-popup-title::before {
            content: '✨';
            position: absolute;
            left: -40px;
            top: 50%;
            transform: translateY(-50%);
            animation: appointment-float 3s ease-in-out infinite;
            font-size: 20px;
        }

        .appointment-popup-title::after {
            content: '✨';
            position: absolute;
            right: -40px;
            top: 50%;
            transform: translateY(-50%);
            animation: appointment-float 3s ease-in-out infinite 1.5s;
            font-size: 20px;
        }