/* ==========================================================================
   THE GOOD COW COMPANY — ARTISANAL MOTION & MICRO-INTERACTIONS
   Organic, tactile transitions avoiding robotic AI effects
   ========================================================================== */

/* Sensory Marquee Ticker */
@keyframes tickerScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.sensory-ticker-track {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    will-change: transform;
    animation: tickerScroll 38s linear infinite;
}

.sensory-ticker-track:hover {
    animation-play-state: paused;
}

/* Wax Seal Gentle Organic Breathing */
@keyframes waxSealBreath {
    0%, 100% {
        transform: rotate(-8deg) scale(1);
    }
    50% {
        transform: rotate(-6deg) scale(1.03);
    }
}

.wax-seal-badge {
    animation: waxSealBreath 6s ease-in-out infinite;
}

/* Pulse Glow for Live Harvest / Wire Dots */
@keyframes pulseHarvest {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(45, 106, 79, 0.7);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(45, 106, 79, 0);
        transform: scale(1.15);
    }
}

.wire-pulse-dot {
    animation: pulseHarvest 2.2s infinite;
}

/* Butter Gold Glow */
@keyframes goldPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(250, 180, 22, 0.6);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(250, 180, 22, 0);
    }
}

/* Fade In Up Entrance */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Modal and Drawer Entrances */
@keyframes modalSlideUp {
    from {
        opacity: 0;
        transform: translate(-50%, -46%) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes drawerSlideRight {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes toastSlideUp {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.toast-item {
    animation: toastSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Subtle Shimmer for Skeleton States */
@keyframes paperShimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}
