   /* Chat icon styles */
        #portibookChatIcon {
            position: fixed;
            bottom: 40px;
            right: 25px;
            width: 72px;
            height: 72px;
            border-radius: 50%;
            background-image: url('https://chat.portibook.com/images/avatars/7.png');
            background-size: 60px 60px;
            background-position: center;
            background-repeat: no-repeat;
            background-color: #fff;
            padding: 6px;
            cursor: pointer;
            z-index: 1000;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            transition: transform 0.3s ease;
        }
        #portibookChatIcon:hover {
            transform: scale(1.1);
        }
        #portibookChatIcon::after {
            content: "Hi. Chat with Fenny today";
            position: absolute;
            top: -40px;
            right: 0;
            background-color: #333;
            color: white;
            padding: 5px 10px;
            border-radius: 5px;
            font-size: 14px;
            opacity: 0;
            transition: opacity 0.3s ease;
            white-space: nowrap;
        }
        #portibookChatIcon:hover::after {
            opacity: 1;
        }

        /* Styles for the chat button */
        #portibookChatButton {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #2e375f;
            color: white;
            padding: 15px 25px;
            border: none;
            border-radius: 25px;
            font-size: 16px;
            cursor: pointer;
            z-index: 1000;
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
            transition: background-color 0.3s ease;
        }
        #portibookChatButton:hover {
            background-color: #0e1535;
        }

        /* Styles for the pop-up */
        #portibookChatPopup {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 90%;
            max-width: 380px;
            height: 90vh;
            z-index: 999999999999;
            max-height: 520px;
            background-color: white;
            border-radius: 15px;
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
            display: none;
            flex-direction: column;
            overflow: hidden;
            animation: slideIn 0.5s forwards;
        }
        #portibookChatPopupHeader {
            background-color: #2e375f;
            color: white;
            padding: 10px;
            font-size: 18px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        #portibookChatPopupBody {
            flex: 1;
            padding: 15px;
            overflow-y: auto;
        }
        #portibookChatForm input,
        #portibookChatForm textarea {
            width: calc(100%);
            margin-bottom: 10px;
            padding: 10px;
            border-radius: 5px;
            border: 1px solid #ccc;
        }
        #portibookChatForm button {
            width: 100%;
            padding: 10px;
            background-color: #2e375f;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
        }
        #portibookChatForm button:disabled {
            background-color: gray;
            cursor: not-allowed;
        }
        #portibookChatForm button:hover:enabled {
            background-color: #0e1535;
        }
        #portibookChatMessage {
            background-color: #f1f1f1;
            padding: 10px;
            border-radius: 10px;
            margin-bottom: 10px;
        }
        #portibookChatMessage-user {
            background-color: #f1f1f1;
            padding: 10px;
            border-radius: 10px;
            margin-bottom: 10px;
            background-color: #e1ffc7;
            align-self: flex-end;
        }
        #portibookChatMessage-system {
            background-color: #f1f1f1;
            padding: 10px;
            border-radius: 10px;
            margin-bottom: 10px;
            background-color: #d1e7ff;
            align-self: flex-start;
        }
        #portibookChatFooter {
            display: flex;
            align-items: center;
            padding: 10px;
        }
        #portibookChatFooter textarea {
            flex: 1;
            padding: 10px;
            border-radius: 5px;
            border: 1px solid #ccc;
        }
        #portibookChatFooter button {
            background-color: #2e375f;
            color: white;
            border: none;
            border-radius: 5px;
            padding: 10px;
            margin-left: 10px;
            cursor: pointer;
        }
        #portibookChatFooter button:disabled {
            background-color: gray;
            cursor: not-allowed;
        }
        #portibookChatFooter button:hover:enabled {
            background-color: #0e1535;
        }

        @keyframes slideIn {
            from { transform: translateY(100%); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        @keyframes slideOut {
            from { transform: translateY(0); opacity: 1; }
            to { transform: translateY(100%); opacity: 0; }
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes typingDots {
            0% { content: 'Typing'; }
            33% { content: 'Typing.'; }
            66% { content: 'Typing..'; }
            100% { content: 'Typing...'; }
        }
        #typingIndicator::after {
            content: 'Typing';
            animation: typingDots 1s infinite steps(4, start);
        }