/* Global Border Radius Request */
.radius-8 { border-radius: 8px !important; }

/* Animations & Keyframes */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}
.animate-float { animation: float 5s ease-in-out infinite; }

@keyframes glow {
    0% { box-shadow: 0 0 5px rgba(34, 197, 94, 0.2); }
    50% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.6); }
    100% { box-shadow: 0 0 5px rgba(34, 197, 94, 0.2); }
}
.animate-glow { animation: glow 3s infinite; }

/* Animated gradient border for Pro plan */
@keyframes gradient-xy {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.animate-gradient-xy {
    background-size: 200% 200%;
    animation: gradient-xy 3s ease infinite;
}

/* Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    animation: marquee 30s linear infinite;
}
.animate-marquee:hover {
    animation-play-state: paused;
}

@keyframes marquee-reverse {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}
.animate-marquee-reverse {
    animation: marquee-reverse 35s linear infinite;
}
.animate-marquee-reverse:hover {
    animation-play-state: paused;
}

.marquee-container {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
}

/* Live Mockup Animations */
@keyframes wave-animation {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-wave {
    width: 200%;
    animation: wave-animation 4s linear infinite;
}
@keyframes wave-animation-slow {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-wave-slow {
    width: 200%;
    animation: wave-animation-slow 6s linear infinite;
}

@keyframes feed-scroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}
.animate-feed {
    animation: feed-scroll 8s linear infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}
.animate-shimmer {
    animation: shimmer 2s infinite linear;
}

.mask-image-y {
    mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
}

/* Glassmorphism */
.glass-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
}

.glass-dark {
    background: rgba(15, 23, 42, 0.8);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Custom Gradients */
.bg-gradient-primary {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}

.text-gradient {
    background: linear-gradient(to right, #16a34a, #047857);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Hide scrollbar for carousel */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Tilt Effect base */
.tilt-element {
    transform-style: preserve-3d;
    transform: perspective(1000px);
}
.tilt-inner {
    transform: translateZ(50px);
}
