#cddf-contact { display: none; }

/* Reserve the scrollbar space before the dialog locks page scrolling. */
html.cddf-contact-active { scrollbar-gutter: stable; }
html.cddf-contact-active #cddf-contact { display: block; }
html.cddf-contact-active #cddf-contact[data-empty="1"] { display: none; }
html.cddf-contact-active .b24-widget-button-wrapper,
html.cddf-contact-active .b24-widget-button-shadow { display: none !important; }
html.cddf-contact-dialog-open { overflow: hidden; }
html.cddf-contact-consent-open #cddf-contact,
html.cddf-contact-consent-open .bx-livechat-wrapper { visibility: hidden !important; pointer-events: none !important; }

#cddf-contact, #cddf-contact * { box-sizing: border-box; }
#cddf-contact { font-family: 'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #24263e; }
#cddf-contact button, #cddf-contact a { font: inherit; text-transform: none; letter-spacing: normal; -webkit-tap-highlight-color: transparent; }
#cddf-contact img { display: block; width: 24px; height: 24px; flex: 0 0 24px; }
#cddf-contact button:focus-visible, #cddf-contact a:focus-visible { outline: 3px solid #394587; outline-offset: 3px; }
#cddf-contact .cddf-contact-launcher {
    position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 10100;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 54px; max-width: calc(100vw - 84px); padding: 14px 20px;
    border: 1px solid #e5b529; border-radius: 999px; background: #f3c43d; color: #202337;
    box-shadow: 0 5px 20px #20233726; font-size: 16px; font-weight: 600; line-height: 1.2; cursor: pointer;
}
#cddf-contact .cddf-contact-launcher span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.cddf-contact-chat-open #cddf-contact .cddf-contact-launcher,
html.cddf-contact-dialog-open #cddf-contact .cddf-contact-launcher { visibility: hidden; }
#cddf-contact .cddf-contact-panel {
    position: fixed; inset: auto 12px calc(12px + env(safe-area-inset-bottom, 0px));
    width: calc(100% - 24px); max-width: 440px; max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
    margin: 0 auto; padding: 18px; overflow-x: hidden; overflow-y: auto;
    border: 1px solid #e7e7ed; border-radius: 24px; background: #fff;
    color: #24263e; box-shadow: 0 16px 64px #11142940; overscroll-behavior: contain;
}
#cddf-contact .cddf-contact-panel::backdrop { background: #14172e70; backdrop-filter: blur(3px); }
#cddf-contact .cddf-contact-panel[open] {
    transform-origin: bottom center;
    animation: cddf-contact-in 280ms cubic-bezier(.16, 1, .3, 1) both;
}
#cddf-contact .cddf-contact-panel[open]::backdrop { animation: cddf-contact-fade-in 240ms ease-out both; }
#cddf-contact .cddf-contact-panel.cddf-contact-closing {
    pointer-events: none;
    animation: cddf-contact-out 180ms ease-in both;
}
#cddf-contact .cddf-contact-panel.cddf-contact-closing::backdrop { animation: cddf-contact-fade-out 180ms ease-in both; }
html.cddf-contact-active.cddf-contact-chat-open .bx-livechat-wrapper {
    animation: cddf-contact-fade-in 240ms ease-out;
}
@keyframes cddf-contact-in {
    from { opacity: 0; transform: translateY(18px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cddf-contact-out {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(12px) scale(.985); }
}
@keyframes cddf-contact-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes cddf-contact-fade-out { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    #cddf-contact .cddf-contact-panel[open],
    #cddf-contact .cddf-contact-panel[open]::backdrop,
    html.cddf-contact-active.cddf-contact-chat-open .bx-livechat-wrapper { animation: none; }
}
#cddf-contact .cddf-contact-panel-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
#cddf-contact .cddf-contact-brand { color: #3c4587; font-weight: 700; font-size: 17px; }
#cddf-contact .cddf-contact-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: #f3f3f7; color: #24263e; cursor: pointer; }
#cddf-contact .cddf-contact-eyebrow { display: block; margin-bottom: 8px; color: #656a7b; font-size: 12px; line-height: 1.3; text-transform: uppercase; letter-spacing: 1.1px; font-weight: 600; }
#cddf-contact #cddf-contact-title { margin: 0 0 8px; padding: 0; color: #24263e; font: 600 28px/1.13 'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: -.45px; }
#cddf-contact #cddf-contact-intro { margin: 0 0 18px; color: #656a7b; font-size: 14px; font-weight: 400; line-height: 1.45; }
#cddf-contact .cddf-contact-actions { display: grid; gap: 9px; }
#cddf-contact .cddf-contact-action { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 69px; padding: 12px; text-decoration: none; text-align: left; color: #24263e; border: 1px solid #e7e7ef; border-radius: 14px; background: #fff; cursor: pointer; }
#cddf-contact .cddf-contact-action--call { background: #fff7df; border-color: #f1d584; }
#cddf-contact .cddf-contact-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; background: #eff0f8; }
#cddf-contact .cddf-contact-action--call .cddf-contact-icon { background: #f3c43d; }
#cddf-contact .cddf-contact-action--whatsapp .cddf-contact-icon { background: #e8f6ed; }
#cddf-contact .cddf-contact-action-copy { display: grid; gap: 4px; flex: 1; min-width: 0; }
#cddf-contact .cddf-contact-action-copy strong { font-weight: 600; font-size: 16px; line-height: 1.2; }
#cddf-contact .cddf-contact-action-copy > span { font-size: 12px; line-height: 1.3; color: #656a7b; overflow-wrap: anywhere; }
#cddf-contact .cddf-contact-arrow { flex: 0 0 18px; opacity: .55; }
#cddf-contact .cddf-contact-arrow img { width: 18px; height: 18px; }
#cddf-contact .cddf-contact-action:disabled { cursor: wait; opacity: .65; }
#cddf-contact .cddf-contact-status { margin: 12px 2px 0; color: #3c4587; font-size: 13px; line-height: 1.4; }
#cddf-contact .cddf-contact-status:empty { display: none; }
#cddf-contact .cddf-contact-footnote { margin: 16px 0 0; text-align: center; color: #656a7b; font-size: 12px; line-height: 1.4; }

@media (min-width: 768px) {
    #cddf-contact .cddf-contact-launcher { right: 24px; bottom: 24px; }
    #cddf-contact .cddf-contact-panel {
        inset: auto 24px 24px auto; width: 420px; max-width: calc(100vw - 48px);
        max-height: calc(100dvh - 48px); margin: 0; padding: 24px;
    }
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    #cddf-contact .cddf-contact-launcher {
        transition: transform 180ms ease-out, background-color 180ms ease-out, box-shadow 180ms ease-out;
    }
    #cddf-contact .cddf-contact-launcher:hover {
        transform: translateY(-2px); background-color: #f7cd51;
        box-shadow: 0 8px 24px #20233738;
    }
    #cddf-contact .cddf-contact-action,
    #cddf-contact .cddf-contact-close {
        transition: background-color 160ms ease-out, border-color 160ms ease-out, box-shadow 160ms ease-out;
    }
    #cddf-contact .cddf-contact-action:not(:disabled):hover {
        background-color: #f6f6fb; border-color: #c5c9df; box-shadow: 0 3px 10px #2023370d;
    }
    #cddf-contact .cddf-contact-action--call:hover { background-color: #fff0bd; border-color: #e5bd4c; }
    #cddf-contact .cddf-contact-close:hover { background-color: #e5e7f0; }
}

@media (prefers-reduced-motion: reduce) {
    #cddf-contact .cddf-contact-launcher,
    #cddf-contact .cddf-contact-action,
    #cddf-contact .cddf-contact-close { transition: none; }
    #cddf-contact .cddf-contact-launcher:hover { transform: none; }
}
