

@font-face {

    font-family: 'Poppins';

    src: url('fonts/poppins-regular-webfont.woff2') format('woff2'),

         url('fonts/poppins-regular-webfont.woff') format('woff');

    font-weight: normal;

    font-style: normal;

}



@keyframes float {

    0% {

        filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));

        transform: translateY(0);

    }

    50% {

        filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.4));

        transform: translateY(-10px);

    }

    100% {

        filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));

        transform: translateY(0);

    }

}



.chat {

    display: none;

}



.conversation .message .human-response.text[data-first] {

    border-bottom-right-radius: 5px;

}

.conversation .message .bot-response.text[data-first] {

    border-bottom-left-radius: 5px;

}

.conversation .message .human-response.text {

    font-size: 12px;

    line-height: 20px;

    border-radius: 20px;

    word-wrap: break-word;

    max-width: 100%;

    padding: 15px 17px;

    white-space: pre-line;

    font-size: 16px;

    font-family: "Poppins", sans-serif;

}



/* Typing row uses .chatbot-loader-row + dots (see chatbot_functions.php). */

#loader_resp {

    display: none;

}



.conversation .message .bot-response.text {

    font-size: 12px;

    line-height: 20px;

    border-radius: 20px;

    word-wrap: break-word;

    max-width: 100%;

    padding: 15px 17px;

    white-space: pre-line;

    font-size: 0.9em;

    font-family: "Poppins", sans-serif;

}



body .conversation .message[data-bot='false'] {

    -webkit-box-align: flex-end;

    -ms-flex-align: flex-end;

    align-items: flex-end;

}



body .conversation {

    overscroll-behavior-y: contain;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    height: calc(60vh - 7vh);

    -webkit-box-flex: 1;

    -ms-flex: 1 0 0px;

    flex: 64vh 0 0;

    overflow-y: auto;

    scroll-behavior: smooth;

}

/* Sleek conversation scrollbar */
body .conversation {
    scrollbar-width: thin;
    scrollbar-color: rgba(78, 117, 173, 0.45) transparent;
}
body .conversation::-webkit-scrollbar {
    width: 7px;
}
body .conversation::-webkit-scrollbar-track {
    background: transparent;
}
body .conversation::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(86, 126, 184, 0.58), rgba(63, 99, 151, 0.58));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.45);
}
body .conversation::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(86, 126, 184, 0.75), rgba(63, 99, 151, 0.75));
}



#app .app-wrapper .opened .chat .typing {

    height: 62px;
    border-top: 0 !important;
    background: transparent !important;
    padding: 8px 12px 12px !important;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;

}

#app .app-wrapper .opened .chat .typing input#input_chatbot {
    width: 100% !important;
    box-sizing: border-box !important;
    height: 42px !important;
    border-radius: 14px !important;
    padding: 0 46px 0 14px !important;
    border: 1px solid rgba(108, 143, 197, 0.36) !important;
    background: #f8fbff !important;
    box-shadow: 0 6px 16px rgba(39, 85, 149, 0.12), 0 0 0 1px rgba(143, 176, 226, 0.12) inset !important;
}
#app .app-wrapper .opened .chat .typing input#input_chatbot:focus,
#app .app-wrapper .opened .chat .typing input#input_chatbot:focus-visible {
    border-color: rgba(90, 132, 192, 0.6) !important;
    box-shadow: 0 7px 18px rgba(44, 89, 150, 0.16), 0 0 0 2px rgba(111, 153, 209, 0.2) !important;
}
#app .app-wrapper .opened .chat .typing .send-icon {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px !important;
    height: 22px !important;
}
#app .app-wrapper .opened .chat .typing .send-icon svg path {
    fill: #5d7698 !important;
}



#app .app-wrapper .tpl-powered-by {

    font-size: 12px;

    line-height: 16px;

    font-weight: 600;

    -webkit-user-select: none;

    -moz-user-select: none;

    -ms-user-select: none;

    user-select: none;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    width: 100%;

    margin-top: auto;

    height: 81px;

    border-top-width: 1px;

    border-top-style: solid;

}

.conversation .message .message-date-wrapper {

    position: absolute;

    bottom: 3%;

    opacity: 0;

    visibility: hidden;

    -webkit-transition: opacity .2s;

    transition: opacity .2s;

    padding-bottom: 6px;

}



.conversation .message .message-human-date-wrapper {

    position: absolute;

    bottom: 0.5vh;

    opacity: 0;

    visibility: hidden;

    -webkit-transition: opacity .2s;

    transition: opacity .2s;

    padding-bottom: 6px;

    right: 3vh;

}



.conversation .message .message-human-date-wrapper:hover, .conversation .message>:first-child:hover~.message-human-date-wrapper {

    opacity: 1 !important;

    visibility: visible;

}



.conversation .message .message-bot-date-wrapper {

    position: absolute;

    bottom: 0.5vh;

    opacity: 0;

    visibility: hidden;

    -webkit-transition: opacity .2s;

    transition: opacity .2s;

    padding-bottom: 6px;

    left: 3vh;

}



.conversation .message .message-bot-date-wrapper:hover, .conversation .message>:first-child:hover~.message-bot-date-wrapper {

    opacity: 1 !important;

    visibility: visible;

}





/**/

.closed .image-class img.lazy-img-loaded{width: 42px;height: 42px;max-width: 42px;max-height: 42px;}

#app .app-wrapper .lazy-img[data-status=loaded][data-cover=true] .image-class img.lazy-img-loaded{padding: 0.5em;}

#app .app-wrapper .closed .lazy-img[data-status=loaded][data-cover=true] .image-class img.lazy-img-loaded{padding: 0;}

/* Launcher pill: border + tint (was peach rgba(224,168,120); theme is cool blue) */
#app .app-wrapper .closed .bubble {
    border: 1px solid rgba(92, 138, 184, 0.55);
}

#app .app-wrapper .opened .chat .top .company .header{font-weight: 400;line-height: 25px;}

#app .app-wrapper .opened .chat .top .close {

    position: absolute;

    top: 14px;

    right: 12px;

    width: 24px;

    height: 24px;

    padding: 0;

    margin: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    line-height: 0;

    box-sizing: border-box;

    border: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;

    cursor: pointer;

}

#app .app-wrapper .opened .chat .top .close .tpl-close svg {
    width: 20px !important;
    height: 20px !important;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.6));
}
#app .app-wrapper .opened .chat .top .close .tpl-close svg path {
    fill: #ffffff !important;
}

.conversation .message .message-bot-date-wrapper{left: 0;}

.conversation:before {display: none;}

.message-date {font-size: 0.7em;}

.conversation .message .message-human-date-wrapper,.conversation .message .message-bot-date-wrapper{position: relative;bottom: 0;right: 0;padding-top: 0.3em;padding-bottom: 0;}

.message.bot-wrapper{align-items: flex-start !important;}

/*body .main-container .conversation .message .bot-response.text[data-first]{background: var(--chatbot-bg-color) !!important;color: #FFF ;}*/

.conversation .message{padding: 0 24.4px 5px;}

.icon .bubble {
    filter: drop-shadow(0 4px 12px rgba(55, 95, 145, 0.28));
    animation: float 2s infinite;
}

.main-container {position: fixed;bottom: 12px;z-index: 99999999999999;}
.main-container.chatbot-position-right{right:12px;}
.main-container.chatbot-position-left{left:16px;right:auto;}

body .lazy-img {display: flex;justify-content: center;align-items: center;}

body .image-class {height: 50px;width: 50px;display: flex !important;align-items: center;justify-content: center;}

body .closed .image-class{height: 44px;width: 44px;border: none;border-radius: 0;background: transparent;}

body .poweredby{font-family: "Poppins", sans-serif;font-size: 0.78em;background: transparent;margin: 2px 0 0;color: #7a8491;font-weight: 600;padding:2px 0 0;text-align: center;}

body .poweredby a{color: #7a8491;font-family: "Poppins", sans-serif;}

.chat-txt {padding: 0.5em;height: fit-content;font-family: "Poppins", sans-serif;}

div#icon{display: flex;flex-direction: row-reverse;align-items: center;justify-content: center;margin: 0;}

/* Plain <pre> picks up global “code block” styles on many sites; use a div wrapper in JS instead */

.conversation .message .message-content-wrap {

    margin: 0;

    padding: 0;

    max-width: 100%;

    background: transparent;

    border: 0;

    font: inherit;

    color: inherit;

    white-space: normal;

}

.clear-chat {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 6px 14px 2px;
    margin: 0;
    text-align: center;
}

/* Footer action row: Clear chat + Support on one line */
.chatbot-footer-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 6px 14px 2px;
    margin: 0;
}

.chatbot-action-btn,
.clear-chat button#clear_chat,
.chatbot-support-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 28px;
    padding: 0 12px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #475569;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.chatbot-action-btn {
    /* base class alias */
}

.chatbot-action-btn:hover,
.clear-chat button#clear_chat:hover,
.chatbot-support-btn:hover {
    background: #fff;
    border-color: rgba(100, 116, 139, 0.55);
    color: #334155;
}

.chatbot-action-btn:active,
.clear-chat button#clear_chat:active,
.chatbot-support-btn:active {
    transform: translateY(0);
}

.chatbot-action-btn:disabled,
.chatbot-action-btn.is-loading,
.chatbot-support-btn:disabled,
.chatbot-support-btn.is-loading {
    opacity: 0.6;
    cursor: wait;
}

.chatbot-action-support,
.chatbot-support-btn {
    color: #3d7a56;
    border-color: rgba(61, 122, 86, 0.35);
    background: rgba(255, 255, 255, 0.85);
}

.chatbot-action-support:hover,
.chatbot-support-btn:hover {
    color: #2d6244;
    border-color: rgba(45, 98, 68, 0.5);
    background: #f8fcf9;
}

.chatbot-action-support svg,
.chatbot-support-btn svg {
    flex-shrink: 0;
    opacity: 0.85;
}

/* Legacy support bar — inline row when new footer is not present */
.chatbot-support-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px 2px;
    margin: 0;
    background: transparent;
    border: 0;
}

.chatbot-support-bar .chatbot-support-btn {
    width: auto;
    max-width: none;
}

/* New markup: hide duplicate legacy wrappers */
.box-container:has(.chatbot-footer-actions) .clear-chat,
.box-container:has(.chatbot-footer-actions) .chatbot-support-bar {
    display: none !important;
}

#app .app-wrapper .opened[data-mobile="false"] {
    width: 344px;
}

/* Lift footer controls slightly from the bottom edge */
#app .app-wrapper .opened .chat .typing {
    margin-bottom: 8px;
}

body .poweredby {
    margin: 1px 0 2px;
}



/* Comfortable vertical rhythm between bot replies, cards, and the next user message */

.conversation .message {

    padding: 0 20px 16px !important;

}

.conversation .message[data-type="CAPTION"] {

    padding-bottom: 10px !important;

}



/* ── Mobile: panel fits the phone; typography and chrome scale down (less “blown up”) ── */

@media (max-width: 640px) {

    #app .app-wrapper .opened[data-mobile="false"] {

        width: calc(100vw - 16px) !important;

        max-width: calc(100vw - 16px) !important;

        margin: 8px !important;

        max-height: min(92dvh, 720px) !important;

    }

    #app .app-wrapper .opened[data-mobile="true"] {

        width: 100% !important;

        max-width: 100% !important;

        margin: 0 !important;

        max-height: 100dvh !important;

    }

    #app .app-wrapper .opened .chat .top {

        height: 76px !important;

        padding: 0 14px !important;

    }

    #app .app-wrapper .opened .chat .top .avatar {

        width: 44px !important;

        height: 44px !important;

        margin-right: 12px !important;

    }

    #app .app-wrapper .opened .chat .top .company .header {

        font-size: 16px !important;

        line-height: 22px !important;

    }

    #app .app-wrapper .opened .chat .top .company .status {

        font-size: 12px !important;

        line-height: 16px !important;

    }

    #app .app-wrapper .opened .chat .typing {

        height: 58px !important;
        padding: 6px 8px 10px !important;

    }

    #app .app-wrapper .opened .chat .typing input {

        font-size: 14px !important;
        padding: 0 42px 0 12px !important;
        height: 40px !important;

    }

    #app .app-wrapper .opened .chat .typing .send-icon {
        right: 14px !important;
    }

    #app .app-wrapper .tpl-powered-by {

        height: 40px !important;

        font-size: 11px !important;

    }

    body .conversation {

        height: auto !important;

        min-height: 0 !important;

        max-height: 46vh !important;

        flex: 1 1 0 !important;

    }

    .conversation .message .human-response.text,

    .conversation .message .bot-response.text {

        font-size: 14px !important;

        line-height: 1.45 !important;

        padding: 11px 13px !important;

    }

    .conversation .message {

        padding: 0 12px 14px !important;

    }

    body .poweredby {

        font-size: 0.75em !important;

        padding: 2px 0 0 !important;

    }

}



/* Launcher: larger icon (no circle); header avatar stays contained */

#app .app-wrapper .tpl-avatar-image .image-class img.lazy-img-loaded {

    object-fit: contain;

    max-height: 100%;

    width: auto;

    height: auto;

}

#app .app-wrapper .closed .image-class img.lazy-img-loaded {

    object-fit: contain;

    width: 42px;

    height: 42px;

    max-width: 42px;

    max-height: 42px;

}



/* Clickable email (Gmail) + tap-to-copy phone in bot replies */

.conversation .message .bot-response.text .chatbot-email-gmail,

.conversation .message .bot-response.text .chatbot-phone-copy {

    text-decoration: underline;

    text-underline-offset: 2px;

    font-weight: 600;

    cursor: pointer;

}

/* Legacy full-width support styles removed — see .chatbot-support-bar above */