.custom-alert-overlay {
            display: none; /* Hidden by default */
            position: fixed; /* Stay in place */
            z-index: 1000; /* Sit on top */
            left: 0;
            top: 0;
            width: 100%; /* Full width */
            height: 100%; /* Full height */
            overflow: auto; /* Enable scroll if needed */
            background-color: rgba(0,0,0,0.6); /* Black w/ opacity */
            justify-content: center; /* Center horizontally */
            align-items: center; /* Center vertically */
            animation: fadeIn 0.3s forwards;
        }

        .custom-alert-content {
            background-color: #fefefe;
            padding: 25px 30px;
            border-radius: 8px;
            position: relative;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            max-width: 90%; /* Responsive width */
            width: 400px; /* Max width for larger screens */
            text-align: center;
            transform: translateY(-20px); /* Initial position for animation */
            animation: slideIn 0.3s forwards;
        }

        .custom-alert-content.success {
            border: 2px solid #28a745; /* Green border for success */
        }

        .custom-alert-content.error {
            border: 2px solid #dc3545; /* Red border for error */
        }

        .custom-alert-content h3 {
            margin-top: 0;
            margin-bottom: 15px;
            font-size: 1.5em;
            color: #333;
        }

        .custom-alert-content p {
            margin-bottom: 20px;
            color: #555;
            font-size: 1.1em;
        }

        .custom-alert-content .close-button {
            position: absolute;
            top: 10px;
            right: 15px;
            color: #aaa;
            font-size: 28px;
            font-weight: bold;
            cursor: pointer;
            transition: color 0.3s ease;
        }

        .custom-alert-content .close-button:hover,
        .custom-alert-content .close-button:focus {
            color: #333;
            text-decoration: none;
        }

        /* Animations */
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes slideIn {
            from { transform: translateY(-20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

        /* For very small screens */
        @media (max-width: 480px) {
            .custom-alert-content {
                padding: 15px 20px;
                font-size: 0.9em;
            }
            .custom-alert-content h3 {
                font-size: 1.3em;
            }
            .custom-alert-content p {
                font-size: 1em;
            }
            .custom-alert-content .close-button {
                font-size: 24px;
                top: 8px;
                right: 10px;
            }
        }