.d4s-wa-floating{--d4s-wa-size:55px;--d4s-wa-bottom:24px;position:fixed;bottom:calc(var(--d4s-wa-bottom) + env(safe-area-inset-bottom,0px));z-index:99990;display:flex;align-items:center;justify-content:center;width:var(--d4s-wa-size);height:var(--d4s-wa-size);box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:#25d366;color:#fff!important;text-decoration:none!important;box-shadow:0 5px 20px rgba(0,0,0,.19),0 0 0 1px rgba(37,211,102,.16);transition:transform .25s ease,box-shadow .25s ease,background .25s ease;isolation:isolate}
.d4s-wa-floating:before{content:"";position:absolute;inset:-7px;border:2px solid rgba(37,211,102,.48);border-radius:50%;pointer-events:none;z-index:-1;animation:d4s-wa-pulse 2.6s ease-out infinite}
.d4s-wa-floating:hover{transform:translateY(-3px) scale(1.045);background:#1fbd5b;box-shadow:0 8px 24px rgba(0,0,0,.23),0 0 0 1px rgba(37,211,102,.2)}
.d4s-wa-floating:focus-visible{outline:3px solid #146d3d;outline-offset:4px}
.d4s-wa-icon{display:block;width:70%;height:59%;fill:currentColor}
@keyframes d4s-wa-pulse{0%{transform:scale(.91);opacity:.8}75%,100%{transform:scale(1.24);opacity:0}}
@media(prefers-reduced-motion:reduce){.d4s-wa-floating:before{animation:none}.d4s-wa-floating{transition:none}}

.d4s-wa-floating{cursor:pointer}.d4s-wa-panel[hidden],.d4s-wa-greeting[hidden],.d4s-wa-typing[hidden]{display:none!important}.d4s-wa-panel{position:fixed;left:22px;bottom:calc(var(--d4s-wa-bottom,24px) + var(--d4s-wa-size,55px) + 15px);z-index:99991;width:min(365px,calc(100vw - 28px));height:min(455px,calc(100dvh - 110px));display:flex;flex-direction:column;background:white;border-radius:16px;overflow:hidden;box-shadow:0 15px 55px rgba(0,0,0,.22);font-family:Assistant,Arial,sans-serif;direction:rtl;animation:d4s-open .25s ease}.d4s-wa-side-right .d4s-wa-panel{left:auto;right:22px}.d4s-wa-header{background:#075e54;color:white;padding:15px;display:flex;align-items:center;gap:12px;min-height:10px}.d4s-wa-avatar{width:45px;height:45px;border-radius:50%;background:white;color:#075e54;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:700;overflow:hidden;flex-shrink:0}.d4s-wa-avatar img{width:100%;height:100%;object-fit:contain}.d4s-wa-company{display:flex;flex-direction:column;flex:1}.d4s-wa-company strong{font-size:16px;color:white}.d4s-wa-company small{font-size:12px;color:#d3f2e7}.d4s-wa-close{border:0!important;background:transparent!important;color:white!important;font-size:28px;cursor:pointer;padding:0 5px!important}.d4s-wa-chat-area{flex:1;background:#ece8df;background-image:radial-gradient(#ddd8cd .65px,transparent .65px);background-size:16px 16px;padding:20px 16px;overflow:auto}.d4s-wa-day{margin:0 auto 20px;width:max-content;background:#dceef3;border-radius:7px;padding:5px 12px;font-size:11px;color:#6b7d81}.d4s-wa-typing,.d4s-wa-greeting{width:max-content;max-width:90%;background:white;border-radius:10px 10px 3px 10px;padding:12px 15px;box-shadow:0 1px 3px #0001;color:#273c36;font-size:14px;line-height:1.7}.d4s-wa-typing{display:flex;gap:4px;align-items:center;height:40px}.d4s-wa-typing i{height:6px;width:6px;border-radius:50%;background:#9ba9a2;animation:d4s-dot 1s ease-in-out infinite}.d4s-wa-typing i:nth-child(2){animation-delay:.15s}.d4s-wa-typing i:nth-child(3){animation-delay:.3s}.d4s-wa-form{display:flex;gap:9px;align-items:center;background:#f5f6f6;padding:12px}.d4s-wa-form textarea{flex:1;min-width:0;min-height:44px!important;max-height:110px;border:1px solid #e2e7e5!important;border-radius:22px!important;background:white!important;padding:10px 14px!important;font:14px Assistant,Arial,sans-serif!important;resize:vertical;color:#263b36!important}.d4s-wa-form button{width:44px;height:44px;flex:none;border-radius:50%!important;border:0!important;background:#25d366!important;color:white!important;font-size:20px;cursor:pointer;transform:rotate(180deg)}.d4s-wa-note{text-align:center;font-size:10px;color:#82908a;background:#f5f6f6;padding:0 8px 9px}@keyframes d4s-dot{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}@keyframes d4s-open{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.d4s-wa-panel{left:14px;bottom:calc(var(--d4s-wa-bottom,24px) + 61px)}.d4s-wa-side-right .d4s-wa-panel{left:auto;right:14px}}@media(prefers-reduced-motion:reduce){.d4s-wa-panel,.d4s-wa-typing i{animation:none}}


.d4s-wa-avatar img {;
	padding: 2px;
}
/* Keep the floating widget anchored to the viewport on mobile. */
.d4s-wa-widget {
    position: static;
}

.d4s-wa-floating,
.d4s-wa-panel {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.d4s-wa-panel {
    max-height: calc(100dvh - 105px - env(safe-area-inset-bottom, 0px));
}

.d4s-wa-chat-area {
    min-height: 0;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
    .d4s-wa-panel {
        bottom: calc(var(--d4s-wa-bottom, 24px) + var(--d4s-wa-size, 45px) + 16px + env(safe-area-inset-bottom, 0px));
        height: min(455px, calc(100dvh - 115px - env(safe-area-inset-bottom, 0px)));
    }
}

/* Mobile viewport overlay: independent of the theme's layout and scrolling. */
@media (max-width: 767px) {
    body > .d4s-wa-widget {
        position: static !important;
        transform: none !important;
        filter: none !important;
        contain: none !important;
    }

    body > .d4s-wa-widget > .d4s-wa-floating {
        position: fixed !important;
        top: auto !important;
        bottom: calc(var(--d4s-wa-bottom, 24px) + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 999 !important;
    }

    body > .d4s-wa-widget > .d4s-wa-panel:not([hidden]) {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        z-index: 2147483001 !important;
        box-shadow: none !important;
        animation: none !important;
    }

    .d4s-wa-panel .d4s-wa-header {
        padding-top: calc(15px + env(safe-area-inset-top, 0px));
    }

    .d4s-wa-panel .d4s-wa-note {
        padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    }
}

/* WhatsApp-style timestamp inside the greeting bubble. */
.d4s-wa-greeting {
    min-width: 145px;
}
.d4s-wa-greeting-text {
    display: block;
}
.d4s-wa-message-time {
    display: block;
    margin-top: 2px;
    color: #86938e;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
    direction: ltr;
    text-align: left;
    font-variant-numeric: tabular-nums;
}

/* WhatsApp conversation wallpaper (image stored in assets). */
.d4s-wa-panel .d4s-wa-chat-area {
    background-color: #ece8df;
    background-image: url('whatsapp-bg.png');
    background-position: center center;
    background-size: cover;
}
