#rjw-contact-widget,
#rjw-contact-widget * {
    box-sizing: border-box;
}

#rjw-contact-widget {
    --rjw-primary: #075a36;
    --rjw-primary-deep: #043f27;
    --rjw-accent: #efbd78;
    --rjw-cream: #fff8ef;
    --rjw-text: #15231b;
    --rjw-muted: #68746e;
    --rjw-line: #e6ece8;
    --rjw-shadow: 0 26px 70px rgba(4, 63, 39, .22), 0 8px 26px rgba(0, 0, 0, .10);
    --rjw-desktop-bottom: 24px;
    --rjw-mobile-bottom: 92px;

    position: fixed !important;
    bottom: var(--rjw-desktop-bottom) !important;
    z-index: 2147483000 !important;
    width: auto !important;
    height: auto !important;
    font-family: inherit !important;
    direction: rtl !important;
    line-height: 1.5 !important;
    isolation: isolate;
    overflow: visible !important;
}

#rjw-contact-widget.rjw-pos-right {
    right: 24px !important;
    left: auto !important;
}

#rjw-contact-widget.rjw-pos-left {
    left: 24px !important;
    right: auto !important;
}

#rjw-contact-widget .rjw-toggle-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#rjw-contact-widget .rjw-launcher {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    width: max-content !important;
    max-width: calc(100vw - 32px) !important;
}

#rjw-contact-widget.rjw-pos-left .rjw-launcher {
    flex-direction: row-reverse !important;
}

/* Persistent desktop conversion label */
#rjw-contact-widget .rjw-desktop-label {
    position: relative !important;
    min-width: 184px !important;
    max-width: 240px !important;
    padding: 10px 14px 10px 16px !important;
    margin: 0 !important;
    border: 1px solid rgba(7, 90, 54, .14) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.98) !important;
    color: var(--rjw-primary-deep) !important;
    box-shadow: 0 13px 34px rgba(4,63,39,.13), 0 2px 9px rgba(0,0,0,.05) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-align: right !important;
    user-select: none !important;
    transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease, visibility .2s ease !important;
    -webkit-tap-highlight-color: transparent;
}

#rjw-contact-widget .rjw-desktop-label::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 10px !important;
    height: 10px !important;
    background: #fff !important;
    border-top: 1px solid rgba(7, 90, 54, .14) !important;
    border-right: 1px solid rgba(7, 90, 54, .14) !important;
}

#rjw-contact-widget.rjw-pos-right .rjw-desktop-label::after {
    right: -6px !important;
    transform: translateY(-50%) rotate(45deg) !important;
}

#rjw-contact-widget.rjw-pos-left .rjw-desktop-label::after {
    left: -6px !important;
    transform: translateY(-50%) rotate(225deg) !important;
}

#rjw-contact-widget .rjw-desktop-label:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 38px rgba(4,63,39,.16), 0 3px 10px rgba(0,0,0,.06) !important;
}

#rjw-contact-widget .rjw-desktop-label-title {
    display: block !important;
    margin: 0 !important;
    color: var(--rjw-primary) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

#rjw-contact-widget .rjw-desktop-label-subtitle {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 3px !important;
    color: #657069 !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

#rjw-contact-widget .rjw-label-dot {
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    border-radius: 50% !important;
    background: #40bf73 !important;
    box-shadow: 0 0 0 3px rgba(64,191,115,.12) !important;
}

/* Main circular launcher */
#rjw-contact-widget .rjw-fab {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 3px solid var(--rjw-accent) !important;
    border-radius: 999px !important;
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    min-height: 70px !important;
    max-width: 70px !important;
    max-height: 70px !important;
    background: linear-gradient(145deg, #0a6941, var(--rjw-primary)) !important;
    color: #fff !important;
    box-shadow: 0 14px 34px rgba(5, 82, 49, .34), 0 3px 9px rgba(0, 0, 0, .10) !important;
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
    overflow: visible !important;
    text-decoration: none !important;
}

#rjw-contact-widget .rjw-fab::before {
    content: "" !important;
    position: absolute !important;
    inset: -7px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(239, 189, 120, .50) !important;
    opacity: 0;
    animation: rjw-ring 2.8s ease-out infinite;
    pointer-events: none !important;
}

@keyframes rjw-ring {
    0%, 42% { transform: scale(.88); opacity: 0; }
    52% { opacity: .72; }
    82%, 100% { transform: scale(1.22); opacity: 0; }
}

#rjw-contact-widget .rjw-fab:hover {
    transform: translateY(-2px) scale(1.025) !important;
    box-shadow: 0 18px 40px rgba(5, 82, 49, .38), 0 4px 11px rgba(0, 0, 0, .12) !important;
}

#rjw-contact-widget .rjw-fab:active {
    transform: scale(.97) !important;
}

#rjw-contact-widget .rjw-toggle-input:focus-visible + .rjw-launcher .rjw-fab,
#rjw-contact-widget .rjw-channel:focus-visible {
    outline: 3px solid var(--rjw-accent) !important;
    outline-offset: 3px !important;
}

#rjw-contact-widget .rjw-fab-icon {
    width: 31px !important;
    height: 31px !important;
    display: grid !important;
    place-items: center !important;
    line-height: 0 !important;
}

#rjw-contact-widget .rjw-fab-icon svg {
    width: 31px !important;
    height: 31px !important;
    fill: currentColor !important;
}

#rjw-contact-widget .rjw-icon-close {
    display: none !important;
}

#rjw-contact-widget .rjw-toggle-input:checked + .rjw-launcher .rjw-icon-chat {
    display: none !important;
}

#rjw-contact-widget .rjw-toggle-input:checked + .rjw-launcher .rjw-icon-close {
    display: grid !important;
}

#rjw-contact-widget .rjw-toggle-input:checked + .rjw-launcher .rjw-fab::before {
    animation: none !important;
    opacity: 0 !important;
}

#rjw-contact-widget .rjw-toggle-input:checked + .rjw-launcher .rjw-desktop-label {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(8px) scale(.97) !important;
}

#rjw-contact-widget.rjw-pos-left .rjw-toggle-input:checked + .rjw-launcher .rjw-desktop-label {
    transform: translateX(-8px) scale(.97) !important;
}

#rjw-contact-widget .rjw-status-dot {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    width: 13px !important;
    height: 13px !important;
    border-radius: 50% !important;
    background: #47c778 !important;
    border: 3px solid #fff !important;
    box-shadow: 0 0 0 2px var(--rjw-accent) !important;
}

/* Panel */
#rjw-contact-widget .rjw-panel {
    position: absolute !important;
    bottom: 86px !important;
    width: min(366px, calc(100vw - 36px)) !important;
    max-width: min(366px, calc(100vw - 36px)) !important;
    max-height: min(650px, calc(100vh - var(--rjw-desktop-bottom) - 118px)) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    background: #fff !important;
    color: var(--rjw-text) !important;
    border: 1px solid rgba(7, 90, 54, .13) !important;
    border-radius: 22px !important;
    box-shadow: var(--rjw-shadow) !important;
    z-index: 2147483001 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) scale(.975) !important;
    transform-origin: bottom right !important;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
}

#rjw-contact-widget.rjw-pos-right .rjw-panel {
    right: 0 !important;
    left: auto !important;
    transform-origin: bottom right !important;
}

#rjw-contact-widget.rjw-pos-left .rjw-panel {
    left: 0 !important;
    right: auto !important;
    transform-origin: bottom left !important;
}

#rjw-contact-widget .rjw-toggle-input:checked ~ .rjw-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

#rjw-contact-widget .rjw-panel-head {
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, #0a6941 0%, var(--rjw-primary) 58%, var(--rjw-primary-deep) 100%) !important;
    color: #fff !important;
    padding: 19px 17px 18px !important;
    min-height: 108px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

#rjw-contact-widget .rjw-panel-head::before,
#rjw-contact-widget .rjw-panel-head::after {
    content: "" !important;
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
}

#rjw-contact-widget .rjw-panel-head::before {
    width: 132px !important;
    height: 132px !important;
    left: -64px !important;
    bottom: -90px !important;
    background: var(--rjw-accent) !important;
    opacity: .16 !important;
}

#rjw-contact-widget .rjw-panel-head::after {
    width: 72px !important;
    height: 72px !important;
    right: -35px !important;
    top: -38px !important;
    border: 1px solid rgba(255,255,255,.17) !important;
}

#rjw-contact-widget .rjw-panel-title-wrap {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    min-width: 0 !important;
}

#rjw-contact-widget .rjw-head-icon {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    border-radius: 14px !important;
    display: grid !important;
    place-items: center !important;
    background: var(--rjw-accent) !important;
    color: var(--rjw-primary-deep) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.32) !important;
}

#rjw-contact-widget .rjw-head-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
}

#rjw-contact-widget .rjw-head-copy {
    min-width: 0 !important;
}

#rjw-contact-widget .rjw-eyebrow {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    opacity: .76 !important;
    margin: 0 0 2px !important;
    color: #fff !important;
}

#rjw-contact-widget .rjw-panel-title {
    display: block !important;
    margin: 0 0 3px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    color: #fff !important;
    font-weight: 900 !important;
}

#rjw-contact-widget .rjw-panel-subtitle {
    display: block !important;
    font-size: 11.5px !important;
    line-height: 1.6 !important;
    opacity: .90 !important;
    font-weight: 500 !important;
    color: #fff !important;
}

#rjw-contact-widget .rjw-close {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    z-index: 3 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 11px !important;
    background: rgba(255,255,255,.11) !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: background .15s ease, transform .15s ease !important;
}

#rjw-contact-widget .rjw-close:hover {
    background: rgba(255,255,255,.20) !important;
    transform: scale(1.04) !important;
}

#rjw-contact-widget .rjw-close svg {
    width: 19px !important;
    height: 19px !important;
    fill: currentColor !important;
    pointer-events: none !important;
}

#rjw-contact-widget .rjw-channels {
    padding: 12px !important;
    display: grid !important;
    gap: 9px !important;
    background: #fff !important;
}

#rjw-contact-widget .rjw-channel {
    text-decoration: none !important;
    color: var(--rjw-text) !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 66px !important;
    padding: 9px 11px !important;
    margin: 0 !important;
    border: 1px solid var(--rjw-line) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

#rjw-contact-widget .rjw-channel:hover {
    transform: translateX(-2px) !important;
    border-color: rgba(7,90,54,.22) !important;
    background: #fcfdfc !important;
    box-shadow: 0 7px 18px rgba(5,58,34,.06) !important;
}

#rjw-contact-widget .rjw-channel-icon {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 13px !important;
    display: grid !important;
    place-items: center !important;
}

#rjw-contact-widget .rjw-channel-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
}

#rjw-contact-widget .rjw-channel-copy {
    min-width: 0 !important;
    flex: 1 !important;
}

#rjw-contact-widget .rjw-channel-copy strong {
    display: block !important;
    color: var(--rjw-text) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#rjw-contact-widget .rjw-channel-copy small {
    display: block !important;
    color: var(--rjw-muted) !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    margin-top: 2px !important;
    font-weight: 500 !important;
}

#rjw-contact-widget .rjw-ltr {
    direction: ltr !important;
    text-align: right !important;
    unicode-bidi: isolate !important;
}

#rjw-contact-widget .rjw-channel-arrow {
    color: #a3ada7 !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

#rjw-contact-widget .rjw-channel-whatsapp .rjw-channel-icon {
    background: #e8f8ee !important;
    color: #15914a !important;
}

#rjw-contact-widget .rjw-channel-phone .rjw-channel-icon {
    background: #fff3e3 !important;
    color: #a66a10 !important;
}

#rjw-contact-widget .rjw-channel-telegram .rjw-channel-icon {
    background: #e9f5fb !important;
    color: #2288bd !important;
}

#rjw-contact-widget .rjw-channel-bale .rjw-channel-icon {
    background: #f0edfa !important;
    color: #6654a1 !important;
}

#rjw-contact-widget .rjw-panel-note {
    border-top: 1px solid #eef2ef !important;
    background: var(--rjw-cream) !important;
    padding: 11px 14px 12px !important;
    color: #68736d !important;
    font-size: 10.5px !important;
    text-align: center !important;
}

#rjw-contact-widget .rjw-note-dot {
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    margin-left: 5px !important;
    border-radius: 50% !important;
    background: #47c778 !important;
    vertical-align: middle !important;
}

@media (max-width: 767px) {
    #rjw-contact-widget {
        bottom: var(--rjw-mobile-bottom) !important;
    }

    #rjw-contact-widget.rjw-pos-right {
        right: 15px !important;
    }

    #rjw-contact-widget.rjw-pos-left {
        left: 15px !important;
    }

    #rjw-contact-widget .rjw-launcher {
        gap: 0 !important;
        max-width: none !important;
    }

    #rjw-contact-widget .rjw-desktop-label {
        display: none !important;
    }

    #rjw-contact-widget .rjw-fab {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
        max-width: 64px !important;
        max-height: 64px !important;
    }

    #rjw-contact-widget .rjw-fab-icon,
    #rjw-contact-widget .rjw-fab-icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    #rjw-contact-widget .rjw-status-dot {
        width: 12px !important;
        height: 12px !important;
        top: 1px !important;
        right: 1px !important;
    }

    #rjw-contact-widget .rjw-panel {
        bottom: 78px !important;
        width: min(356px, calc(100vw - 30px)) !important;
        max-width: min(356px, calc(100vw - 30px)) !important;
        max-height: calc(100vh - var(--rjw-mobile-bottom) - 98px) !important;
        border-radius: 20px !important;
    }

    #rjw-contact-widget .rjw-panel-head {
        padding: 17px 15px 16px !important;
        min-height: 100px !important;
    }

    #rjw-contact-widget .rjw-head-icon {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
        border-radius: 13px !important;
    }

    #rjw-contact-widget .rjw-panel-title {
        font-size: 16px !important;
    }

    #rjw-contact-widget .rjw-panel-subtitle {
        font-size: 11px !important;
    }

    #rjw-contact-widget .rjw-channels {
        padding: 10px !important;
        gap: 8px !important;
    }

    #rjw-contact-widget .rjw-channel {
        min-height: 62px !important;
        border-radius: 14px !important;
    }

    #rjw-contact-widget .rjw-channel-icon {
        width: 41px !important;
        height: 41px !important;
        flex-basis: 41px !important;
    }

    #rjw-contact-widget.rjw-hide-mobile {
        display: none !important;
    }
}

@media (min-width: 768px) {
    #rjw-contact-widget.rjw-hide-desktop {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #rjw-contact-widget *,
    #rjw-contact-widget *::before,
    #rjw-contact-widget *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
