/* Boomerang Progress Bar Modern Styling System */
.boomerang-bar-wrapper {
    position: relative !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4) !important;
    overflow: hidden !important;
}

.boomerang-bar-fill {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    background: linear-gradient(90deg, #d97706, #f59e0b, #fbbf24) !important;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.5) !important;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.boomerang-bar-percent {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-shadow: 0 1px 3px #000000, 0 0 6px #000000, 0 0 10px #000000 !important;
    white-space: nowrap !important;
    z-index: 5 !important;
}

.boomerang-label span:first-child {
    color: #f59e0b !important;
    font-weight: 700 !important;
}

.boomerang-label span:last-child {
    color: #d1d5db !important;
}

/* Enhancements for Elementor Progress Bar Widgets */
.elementor-progress-wrapper.suna-boomerang-progress-active {
    position: relative !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 9999px !important;
    overflow: hidden !important;
}

.elementor-progress-bar.boomerang-progress {
    background: linear-gradient(90deg, #d97706, #f59e0b, #fbbf24) !important;
    border-radius: 9999px !important;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.5) !important;
    position: relative !important;
    overflow: visible !important;
    min-width: 4px !important;
}

.elementor-progress-wrapper.suna-boomerang-progress-active .elementor-progress-percentage {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-shadow: 0 1px 3px #000000, 0 0 6px #000000, 0 0 10px #000000 !important;
    white-space: nowrap !important;
    z-index: 10 !important;
}

/* Position text centered on low percentages (< 15%) vs right-aligned on higher percentages */
.elementor-progress-wrapper.suna-boomerang-progress-active.suna-low-percent .elementor-progress-percentage {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
}

.elementor-progress-wrapper.suna-boomerang-progress-active:not(.suna-low-percent) .elementor-progress-percentage {
    right: 12px !important;
    left: auto !important;
}

@keyframes boomerang-fill {
    from { width: 0; }
}

.boomerang-bar-fill {
    animation: boomerang-fill 1.2s ease-out forwards;
}
