
/* =========================================================
   EASY PADHAI — AIVA SITE-WIDE FLOATING BUTTON
   Bridge only. Original AIVA design/engine remains untouched.
   ========================================================= */

.ep-aiva-floating {
    position: fixed !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
    z-index: 2147483000 !important;
    width: 92px !important;
    height: 112px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    pointer-events: none !important;
    font-family: inherit !important;
}

.ep-aiva-floating-button {
    position: relative !important;
    width: 76px !important;
    height: 76px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    isolation: isolate !important;
}

.ep-aiva-floating-button img {
    position: relative !important;
    z-index: 3 !important;
    width: 76px !important;
    height: 76px !important;
    display: block !important;
    object-fit: contain !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    border-radius: 50% !important;
}

.ep-aiva-floating-button::before,
.ep-aiva-floating-button::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 86px !important;
    height: 86px !important;
    transform: translate(-50%, -50%) scale(.72) !important;
    border-radius: 50% !important;
    border: 2px solid rgba(45, 145, 255, .0) !important;
    box-shadow: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ep-aiva-floating.is-connecting .ep-aiva-floating-button::before {
    border-color: rgba(80, 180, 255, .72) !important;
    opacity: 1 !important;
    animation: epAivaFloatConnect 1.15s ease-out infinite !important;
}

.ep-aiva-floating.is-live .ep-aiva-floating-button::before {
    border-color: rgba(55, 185, 255, .72) !important;
    opacity: 1 !important;
    animation: epAivaFloatLive 1.55s ease-out infinite !important;
}

.ep-aiva-floating.is-user-speaking .ep-aiva-floating-button::after {
    border-color: rgba(0, 240, 255, .95) !important;
    opacity: 1 !important;
    animation: epAivaFloatUser .52s ease-in-out infinite !important;
}

.ep-aiva-floating.is-speaking .ep-aiva-floating-button::after {
    border-color: rgba(205, 85, 255, .82) !important;
    opacity: 1 !important;
    animation: epAivaFloatSpeak .72s ease-out infinite !important;
}

.ep-aiva-floating-label {
    position: relative !important;
    z-index: 5 !important;
    margin-top: 3px !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #252c43 !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

.ep-aiva-floating.is-live .ep-aiva-floating-label {
    background: #0c65c9 !important;
}

.ep-aiva-floating.is-user-speaking .ep-aiva-floating-label {
    background: #087f8c !important;
}

.ep-aiva-floating.is-speaking .ep-aiva-floating-label {
    background: #7628c8 !important;
}

.ep-aiva-floating-bars {
    position: absolute !important;
    left: 50% !important;
    bottom: 3px !important;
    transform: translateX(-50%) !important;
    z-index: 4 !important;
    width: 34px !important;
    height: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ep-aiva-floating-bars i {
    display: block !important;
    width: 3px !important;
    height: 5px !important;
    border-radius: 4px !important;
    background: #fff !important;
}

.ep-aiva-floating.is-live .ep-aiva-floating-bars,
.ep-aiva-floating.is-user-speaking .ep-aiva-floating-bars,
.ep-aiva-floating.is-speaking .ep-aiva-floating-bars {
    opacity: .92 !important;
}

.ep-aiva-floating.is-user-speaking .ep-aiva-floating-bars i {
    animation: epAivaBars .30s ease-in-out infinite !important;
}

.ep-aiva-floating.is-live .ep-aiva-floating-bars i {
    animation: epAivaBars 1s ease-in-out infinite !important;
}

.ep-aiva-floating.is-speaking .ep-aiva-floating-bars i {
    animation: epAivaBars .48s ease-in-out infinite !important;
}

.ep-aiva-floating-bars i:nth-child(2) { animation-delay: -.2s !important; }
.ep-aiva-floating-bars i:nth-child(3) { animation-delay: -.4s !important; }
.ep-aiva-floating-bars i:nth-child(4) { animation-delay: -.6s !important; }

.ep-aiva-floating-button:focus-visible {
    outline: 2px solid rgba(45, 145, 255, .85) !important;
    outline-offset: 4px !important;
    box-shadow: none !important;
}

.ep-aiva-floating-engine {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    width: 2px !important;
    height: 2px !important;
    min-width: 2px !important;
    max-width: 2px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    contain: strict !important;
}

@keyframes epAivaFloatConnect {
    0% { transform: translate(-50%, -50%) scale(.72); opacity: .9; }
    100% { transform: translate(-50%, -50%) scale(1.18); opacity: 0; }
}

@keyframes epAivaFloatLive {
    0% { transform: translate(-50%, -50%) scale(.78); opacity: .75; }
    100% { transform: translate(-50%, -50%) scale(1.14); opacity: 0; }
}

@keyframes epAivaFloatUser {
    0% { transform: translate(-50%, -50%) scale(.78); opacity: .95; }
    50% { transform: translate(-50%, -50%) scale(1.08); opacity: .55; }
    100% { transform: translate(-50%, -50%) scale(1.32); opacity: 0; }
}

@keyframes epAivaFloatSpeak {
    0% { transform: translate(-50%, -50%) scale(.78); opacity: .9; }
    100% { transform: translate(-50%, -50%) scale(1.28); opacity: 0; }
}

@keyframes epAivaBars {
    0%, 100% { height: 4px; }
    50% { height: 12px; }
}

@media (max-width: 767px) {
    .ep-aiva-floating {
        right: max(10px, env(safe-area-inset-right)) !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        width: 82px !important;
        height: 102px !important;
    }

    .ep-aiva-floating-button,
    .ep-aiva-floating-button img {
        width: 68px !important;
        height: 68px !important;
    }

    .ep-aiva-floating-button::before,
    .ep-aiva-floating-button::after {
        width: 78px !important;
        height: 78px !important;
    }

    .ep-aiva-floating-label {
        font-size: 10px !important;
        padding: 4px 8px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ep-aiva-floating-button::before,
    .ep-aiva-floating-button::after,
    .ep-aiva-floating-bars i {
        animation: none !important;
    }
}
