#prisma-assistant,
#prisma-assistant * { box-sizing: border-box; }

#prisma-assistant {
    position: fixed; right: 15px; bottom: 20px; z-index: 2147483000;
    color: #353742; font-family: Inter, Arial, sans-serif; font-size: 14px; line-height: 1.45;
}
#prisma-assistant button, #prisma-assistant input, #prisma-assistant textarea { font: inherit; letter-spacing: 0; }
#prisma-assistant button { cursor: pointer; }
#prisma-assistant [hidden] { display: none !important; }
#prisma-assistant :focus-visible { outline: 3px solid #1977ac !important; outline-offset: 3px; }

#prisma-assistant .prisma-chat__launcher {
    position: relative; display: grid; width: 68px; height: 68px; padding: 0; place-items: center;
    border: 0; border-radius: 50%; background: #ffd329; color: #151515;
    box-shadow: 0 9px 22px rgba(53, 55, 66, .26);
    transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
#prisma-assistant .prisma-chat__launcher::after {
    position: absolute; top: 100%; left: 5%; z-index: -1; width: 90%; height: 10px;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, .24) 0%, rgba(0, 0, 0, 0) 80%); content: '';
}
#prisma-assistant .prisma-chat__launcher:hover {
    background: #f5c400; box-shadow: 0 12px 26px rgba(53, 55, 66, .3); transform: translateY(-2px);
}
#prisma-assistant .prisma-chat__launcher i { color: #151515; font-size: 29px; }

#prisma-assistant .prisma-chat__callout {
    position: absolute; right: 0; bottom: 80px; width: 300px; max-width: calc(100vw - 30px);
    border: 1px solid #e5e7ea; border-radius: 16px;
    background: #fff; color: #353742; box-shadow: 0 10px 28px rgba(42, 49, 58, .18);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
#prisma-assistant .prisma-chat__callout::after {
    position: absolute; right: 23px; bottom: -8px; width: 16px; height: 16px;
    border-right: 1px solid #e5e7ea; border-bottom: 1px solid #e5e7ea;
    background: #fff; content: ''; transform: rotate(45deg);
}
#prisma-assistant .prisma-chat__callout:hover {
    border-color: #ffd329; box-shadow: 0 12px 32px rgba(42, 49, 58, .22); transform: translateY(-2px);
}
#prisma-assistant .prisma-chat__callout-open {
    display: block; width: 100%; min-height: 72px; padding: 13px 54px 13px 16px;
    border: 0; border-radius: 16px; background: transparent; color: #353742;
    font-size: 14px; font-weight: 600; line-height: 1.45; text-align: left;
}
#prisma-assistant .prisma-chat__callout-close {
    position: absolute; top: 7px; right: 7px; z-index: 1; display: grid;
    width: 40px; height: 40px; padding: 0; place-items: center;
    border: 0; border-radius: 50%; background: #f0f1f3; color: #353742; font-size: 14px;
}
#prisma-assistant .prisma-chat__callout-close:hover { background: #ffd329; }

#prisma-assistant .prisma-chat__panel {
    position: fixed; right: 18px; bottom: 18px; display: flex; flex-direction: column;
    width: min(400px, calc(100vw - 36px)); height: 650px;
    max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); overflow: hidden;
    border: 1px solid rgba(53, 55, 66, .12); border-radius: 24px; background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 60px rgba(42, 49, 58, .24), 0 3px 12px rgba(42, 49, 58, .1);
}
#prisma-assistant .prisma-chat__header {
    display: flex; min-height: 76px; padding: 13px 15px 12px 17px; align-items: center; justify-content: space-between;
    border-bottom: 1px solid #e8ebee; background: rgba(255, 255, 255, .96); color: #353742;
}
#prisma-assistant .prisma-chat__identity { display: flex; min-width: 0; align-items: center; gap: 11px; }
#prisma-assistant .prisma-chat__avatar {
    display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center;
    border-radius: 50%; background: #67bfff; color: #fff;
    box-shadow: 0 3px 10px rgba(36, 147, 209, .25); font-size: 17px;
}
#prisma-assistant .prisma-chat__identity-text { min-width: 0; }
#prisma-assistant .prisma-chat__title { margin: 0; color: #353742; font-size: 16px; font-weight: 700; line-height: 21px; }
#prisma-assistant .prisma-chat__subtitle { display: block; color: #818791; font-size: 12px; line-height: 17px; }
#prisma-assistant .prisma-chat__icon-button {
    display: grid; width: 44px; height: 44px; padding: 0; place-items: center;
    border: 0; border-radius: 50%; background: transparent; color: #747b85; font-size: 18px;
    transition: background-color 160ms ease, color 160ms ease;
}
#prisma-assistant .prisma-chat__icon-button:hover { background: #f0f2f4; color: #353742; }

#prisma-assistant .prisma-chat__tabs {
    display: grid; grid-template-columns: 1fr 1fr; padding: 7px 10px; gap: 5px;
    border-bottom: 1px solid #edf0f2; background: #fff;
}
#prisma-assistant .prisma-chat__tab {
    min-height: 44px; border: 0; border-radius: 8px; background: transparent;
    color: #69717d; font-size: 13px; font-weight: 600;
}
#prisma-assistant .prisma-chat__tab[aria-selected="true"] { background: #eaf6fe; color: #176f9f; }
#prisma-assistant .prisma-chat__view { flex: 1; min-height: 0; }
#prisma-assistant .prisma-chat__chat-view { display: flex; flex-direction: column; background: #fff; }
#prisma-assistant .prisma-chat__log {
    flex: 1; min-height: 0; overflow-y: auto; padding: 20px 17px 16px; background: #fff;
    scrollbar-color: #c9d0d6 transparent; scrollbar-width: thin;
}

#prisma-assistant .prisma-chat__message {
    position: relative; width: fit-content; max-width: 84%; margin: 0 0 12px; padding: 10px 13px;
    border: 0; border-radius: 18px; background: #f0f1f3; color: #2f3138;
    font-size: 14px; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-wrap;
}
#prisma-assistant .prisma-chat__message--assistant::after,
#prisma-assistant .prisma-chat__message--pending::after {
    position: absolute; bottom: 0; left: -5px; width: 12px; height: 13px;
    border-bottom-right-radius: 11px; background: #f0f1f3; content: ''; transform: skewX(-24deg);
}
#prisma-assistant .prisma-chat__message--user {
    margin-left: auto; border-bottom-right-radius: 6px; background: #1977ac; color: #fff;
}
#prisma-assistant .prisma-chat__message--user::after {
    position: absolute; right: -5px; bottom: 0; width: 12px; height: 13px;
    border-bottom-left-radius: 11px; background: #1977ac; content: ''; transform: skewX(24deg);
}
#prisma-assistant .prisma-chat__message--pending { color: #747b85; font-style: normal; }
#prisma-assistant .prisma-chat__message--error { border: 1px solid #f1c7ca; background: #fff2f3; color: #922b35; }

#prisma-assistant .prisma-chat__notice {
    margin: 0; padding: 7px 20px 2px; background: #fff; color: #7b838d;
    font-size: 12px; font-weight: 400; line-height: 17px;
}
#prisma-assistant .prisma-chat__policy { color: #176f9f; text-decoration: underline; text-underline-offset: 2px; }
#prisma-assistant .prisma-chat__composer {
    display: flex; margin: 8px 14px 14px; padding: 6px 7px 6px 15px; align-items: flex-end; gap: 8px;
    border: 1px solid #d8dde2; border-radius: 24px; background: #fff;
    box-shadow: 0 3px 12px rgba(42, 49, 58, .09);
    transition: border-color 160ms ease, box-shadow 160ms ease;
}
#prisma-assistant .prisma-chat__composer:focus-within {
    border-color: #67bfff; box-shadow: 0 0 0 3px rgba(103, 191, 255, .18), 0 4px 14px rgba(42, 49, 58, .09);
}
#prisma-assistant .prisma-chat__composer.is-invalid,
#prisma-assistant .prisma-chat__composer.is-invalid:focus-within { border-color: #b7333e; }
#prisma-assistant .prisma-chat__form-error[hidden] { display: none; }
#prisma-assistant .prisma-chat__form-error {
    display: block; margin: 4px 0 0; color: #a12c37; font-size: 12px; font-weight: 500; line-height: 17px;
}
#prisma-assistant .prisma-chat__chat-error { margin: 4px 20px 0; }
#prisma-assistant .prisma-chat__input {
    display: block; min-width: 0; min-height: 44px; max-height: 120px; flex: 1; padding: 10px 0 9px;
    resize: none; overflow-y: auto; border: 0; outline: 0 !important; background: transparent;
    color: #353742; font-size: 16px; line-height: 24px;
}
#prisma-assistant .prisma-chat__input::placeholder { color: #a0a6ae; }
#prisma-assistant .prisma-chat__send {
    display: grid; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; place-items: center;
    border: 0; border-radius: 50%; background: #67bfff; color: #fff;
    transition: background-color 160ms ease, transform 160ms ease;
}
#prisma-assistant .prisma-chat__send:hover,
#prisma-assistant .prisma-chat__lead-submit:hover { background: #1977ac; }
#prisma-assistant .prisma-chat__send:hover { transform: translateY(-1px); }
#prisma-assistant button:disabled { cursor: wait; opacity: .5; }

#prisma-assistant .prisma-chat__lead-view { overflow-y: auto; padding: 18px; background: #f8fafb; }
#prisma-assistant .prisma-chat__lead-form { display: flex; flex-direction: column; gap: 11px; }
#prisma-assistant .prisma-chat__lead-intro { margin: 0 0 4px; color: #59606d; font-size: 13px; line-height: 19px; }
#prisma-assistant .prisma-chat__field { display: block; margin: 0; color: #353742; font-size: 12px; font-weight: 600; line-height: 17px; }
#prisma-assistant .prisma-chat__field span { display: block; margin-bottom: 5px; }
#prisma-assistant .prisma-chat__field input,
#prisma-assistant .prisma-chat__field textarea {
    display: block; width: 100%; min-height: 44px; margin: 0; padding: 9px 11px;
    border: 1px solid #d5dbe0; border-radius: 8px; background: #fff; color: #353742;
    font-size: 16px; font-weight: 400; transition: border-color 160ms ease, box-shadow 160ms ease;
}
#prisma-assistant .prisma-chat__field input:focus,
#prisma-assistant .prisma-chat__field textarea:focus {
    border-color: #67bfff; box-shadow: 0 0 0 3px rgba(103, 191, 255, .16);
}
#prisma-assistant .prisma-chat__field input[aria-invalid="true"],
#prisma-assistant .prisma-chat__field textarea[aria-invalid="true"] { border-color: #b7333e; }
#prisma-assistant .prisma-chat__field .prisma-chat__form-error { margin: 4px 0 0; }
#prisma-assistant .prisma-chat__field textarea { min-height: 74px; resize: vertical; }
#prisma-assistant .prisma-chat__consent {
    display: flex; margin: 2px 0 0; align-items: flex-start; gap: 8px;
    color: #59606d; font-size: 12px; font-weight: 400; line-height: 18px;
}
#prisma-assistant .prisma-chat__consent input { margin: 3px 0 0; flex: 0 0 auto; accent-color: #1977ac; }
#prisma-assistant .prisma-chat__consent-error { margin-top: -6px; }
#prisma-assistant .prisma-chat__lead-form > .prisma-chat__policy { align-self: flex-start; font-size: 12px; }
#prisma-assistant .prisma-chat__lead-submit {
    display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 9px;
    border: 0; border-radius: 8px; background: #67bfff; color: #fff; font-weight: 700;
}
#prisma-assistant .prisma-chat__lead-status { min-height: 18px; margin: 0; font-size: 12px; line-height: 18px; }
#prisma-assistant .prisma-chat__lead-status--ok { color: #16633e; }
#prisma-assistant .prisma-chat__lead-status--error { color: #922b35; }

body .scroll-top { display: none !important; }

#consulta .contact-chat[hidden] { display: none !important; }
#consulta .contact-chat .icon .fa::before { background: #ffd329; color: #151515; font-size: 29px; }
#consulta .contact-chat__button {
    display: inline-block; max-width: 100%; padding: 0; border: 0; background: transparent;
    color: #6f727c; font-family: Inter, Arial, sans-serif; font-size: 20px; font-weight: 500;
    line-height: 30px; text-align: left; white-space: normal; cursor: pointer;
    transition: color 200ms linear;
}
#consulta .contact-chat__button:hover,
#consulta .contact-chat__button:focus-visible { color: #1977ac; }

@media (max-width: 600px) {
    #cookiescript_badge {
        right: auto !important;
        bottom: max(84px, calc(64px + env(safe-area-inset-bottom))) !important;
        left: max(0px, env(safe-area-inset-left)) !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 10px 8px !important;
        border-radius: 0 10px 10px 0 !important;
    }

    #cookiescript_badge:hover {
        padding: 10px 8px !important;
    }

    #cookiescript_badgesvg {
        width: 28px !important;
        height: 28px !important;
        flex: 0 0 28px !important;
    }

    #cookiescript_badgetext {
        overflow: visible !important;
        padding: 0 !important;
        line-height: 1 !important;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
    }
}

@media (max-width: 900px), (pointer: coarse) {
    #prisma-assistant .prisma-chat__panel {
        top: calc(var(--prisma-viewport-top, 0px) + max(12px, env(safe-area-inset-top)));
        right: auto;
        bottom: auto;
        left: calc(var(--prisma-viewport-left, 0px) + max(12px, calc((var(--prisma-viewport-width, 100vw) - 420px) / 2)));
        width: min(420px, calc(var(--prisma-viewport-width, 100vw) - 24px));
        height: min(650px, calc(var(--prisma-viewport-height, 100dvh) - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom))));
        max-height: none;
    }
}

@media (max-width: 900px), (pointer: coarse) {
    body.prisma-chat-open { overflow: hidden; }
}

@media (max-width: 480px) {
    #prisma-assistant {
        right: max(12px, env(safe-area-inset-right));
        bottom: calc(16px + env(safe-area-inset-bottom));
    }
    #prisma-assistant .prisma-chat__panel {
        top: calc(var(--prisma-viewport-top, 0px) + max(8px, env(safe-area-inset-top)));
        right: auto;
        bottom: auto;
        left: calc(var(--prisma-viewport-left, 0px) + max(8px, env(safe-area-inset-left)));
        width: calc(var(--prisma-viewport-width, 100vw) - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right)));
        height: calc(var(--prisma-viewport-height, 100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
        max-height: none;
        border-radius: 20px;
    }
    #prisma-assistant .prisma-chat__callout { width: min(300px, calc(100vw - 24px)); }
    #prisma-assistant .prisma-chat__header { min-height: 70px; padding: 11px 12px 10px 14px; }
    #prisma-assistant .prisma-chat__message { max-width: 88%; }
}

@media (prefers-reduced-motion: reduce) {
    #prisma-assistant *, #prisma-assistant *::before, #prisma-assistant *::after {
        scroll-behavior: auto !important; transition-duration: .01ms !important;
    }
}
