.stb-container-081c9276 {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 99999;
}

body.admin-bar .stb-container-081c9276 {
    /* Offset logic if needed, typically footer bottom stays pinned relative to screen */
}

.stb-btn-081c9276 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.stb-btn-081c9276:hover {
    transform: scale(1.1);
}

.stb-btn-081c9276 i, .stb-btn-081c9276 svg {
    font-size: 24px;
    width: 24px;
    height: 24px;
}

/* Continuous Expanding Wave animation (Optimized for Safari and iOS via scale & opacity transforms) */
.stb-btn-081c9276::before,
.stb-btn-081c9276::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--pulse-color, rgba(255, 71, 87, 0.4));
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.8;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    will-change: transform, opacity;
    animation: pulse-wave-081c9276 2s infinite cubic-bezier(0.25, 0, 0, 1);
    -webkit-animation: pulse-wave-081c9276 2s infinite cubic-bezier(0.25, 0, 0, 1);
}

.stb-btn-081c9276::after {
    animation-delay: 1s;
    -webkit-animation-delay: 1s;
}

@keyframes pulse-wave-081c9276 {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.6);
        opacity: 0;
    }
}

@-webkit-keyframes pulse-wave-081c9276 {
    0% {
        -webkit-transform: scale(1);
        opacity: 0.8;
    }
    100% {
        -webkit-transform: scale(1.6);
        opacity: 0;
    }
}

/* Tooltip Base Styling */
.stb-tooltip-081c9276 {
    position: absolute;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    pointer-events: none;
    z-index: 100000;
}

.stb-tooltip-081c9276::after {
    content: '';
    position: absolute;
    border-width: 6px;
    border-style: solid;
}

/* TOP Position */
.stb-tooltip-081c9276.stb-pos-top {
    bottom: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
}
.stb-tooltip-081c9276.stb-pos-top::after {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-color: #2f3542 transparent transparent transparent;
}
.stb-btn-081c9276:hover .stb-tooltip-081c9276.stb-pos-top {
    transform: translateX(-50%) translateY(0);
}

/* LEFT Position */
.stb-tooltip-081c9276.stb-pos-left {
    right: calc(100% + 15px);
    top: 50%;
    transform: translateY(-50%) translateX(10px);
}
.stb-tooltip-081c9276.stb-pos-left::after {
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-color: transparent transparent transparent #2f3542;
}
.stb-btn-081c9276:hover .stb-tooltip-081c9276.stb-pos-left {
    transform: translateY(-50%) translateX(0);
}

/* RIGHT Position */
.stb-tooltip-081c9276.stb-pos-right {
    left: calc(100% + 15px);
    top: 50%;
    transform: translateY(-50%) translateX(-10px);
}
.stb-tooltip-081c9276.stb-pos-right::after {
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-color: transparent #2f3542 transparent transparent;
}
.stb-btn-081c9276:hover .stb-tooltip-081c9276.stb-pos-right {
    transform: translateY(-50%) translateX(0);
}

/* Hover over rides and activates tooltip */
.stb-btn-081c9276:hover .stb-tooltip-081c9276 {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Periodic display animation (fades in and out to draw attention dynamically) */
.stb-tooltip-081c9276.stb-periodic-active {
    animation: periodic-tooltip-081c9276 10s infinite ease-in-out;
}

@keyframes periodic-tooltip-081c9276 {
    0%, 40%, 100% {
        opacity: 0;
        visibility: hidden;
    }
    45%, 95% {
        opacity: 1;
        visibility: visible;
    }
}
