/* Container for the buttons */
.custom-floating-nav .nav-btn {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.15); /* Very opaque initially */
    color: #ffffff;
    width: 60px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 24px;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 99999;
}

/* Hover effects */
.custom-floating-nav .nav-btn:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Becomes solid on hover */
    width: 80px; /* Expands slightly */
}

/* Positioning */
.prev-btn {
    left: 0;
    border-radius: 0 10px 10px 0;
}

.next-btn {
    right: 0;
    border-radius: 10px 0 0 10px;
}

/* Mobile: Move them to the bottom to avoid blocking text */
@media (max-width: 768px) {
    .custom-floating-nav .nav-btn {
        top: auto;
        bottom: 60px;
        height: 50px;
        width: 50px;
        background-color: rgba(0, 0, 0, 0.6); /* More visible on mobile */
    }
}






         /* 5. The Organic Scroll-Animated Way (Targeting Ultimate Addons Span) */
        span.ult-dual-adv-heading-text.ult-highlight-text {
            /* display: inline allows the text to wrap naturally on mobile */
            display: inline !important;
            font-weight: bold !important;
            
            /* Put the gradient DIRECTLY into the SVG. This removes the need for complex masks! */
            background-image: url("data:image/svg+xml,%3Csvg preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23a21caf'/%3E%3Cstop offset='50%25' stop-color='%23d946ef'/%3E%3Cstop offset='100%25' stop-color='%23f0abfc'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 1 12 Q 12 16, 24 11 Q 34 7, 45 11 Q 58 16, 70 10 Q 85 4, 100 10' stroke='url(%23grad)' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
            background-repeat: no-repeat !important;
            background-position: left bottom !important;
            
            /* Start hidden (0 width) */
            background-size: 0% 18px !important;
            
            /* Give some space below the text for the wave to sit comfortably */
            padding-bottom: 6px !important; 
            
            /* CRUCIAL: Makes the underline slice and apply individually to EACH line when text wraps on mobile */
            -webkit-box-decoration-break: clone !important;
            box-decoration-break: clone !important;
        }

        /* Using @keyframes instead of transition forces the animation to play reliably in WordPress */
        span.ult-dual-adv-heading-text.ult-highlight-text.is-visible,
        .is-visible span.ult-dual-adv-heading-text.ult-highlight-text {
            animation: drawSnakeLine 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
        }

        @keyframes drawSnakeLine {
            0% { background-size: 0% 18px; }
            100% { background-size: 100% 18px; }
        }