/* Funnel Attract & Interaction Effects */

/* balance - Gentle rocking motion */
.balance {
    animation: funnel-balance 3s ease-in-out infinite;
    transform-origin: center;
}

@keyframes funnel-balance {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(1.5deg); }
    75% { transform: rotate(-1.5deg); }
}

/* zigzag - Energetic horizontal shake */
.zigzag {
    animation: funnel-zigzag 0.6s ease-in-out infinite;
}

@keyframes funnel-zigzag {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(4px); }
    40% { transform: translateX(-4px); }
    60% { transform: translateX(3px); }
    80% { transform: translateX(-3px); }
}

/* pulse - Breathing effect */
.pulse {
    animation: funnel-pulse 2s ease-in-out infinite;
}

@keyframes funnel-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.03); }
}

/* float - Suspended in air */
.float {
    animation: funnel-float 3s ease-in-out infinite;
}

@keyframes funnel-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Hover - Scale up on hover (Utility) */
.hover-grow {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.hover-grow:hover {
    transform: scale(1.05);
}

/* Smart Button minimum padding safety net */
.funnel-button-smart {
    min-height: 48px;
    padding: 16px 24px;
    font-weight: 800;
    border-radius: 12px;
    cursor: pointer;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 13px;
    width: 100%;
}
