/* Custom Styles and Animations for Baby Snap */

:root {
    --primary: #00B2FF;
    --secondary: #14F195;
    --deep: #02060E;
}

body {
    scrollbar-width: thin;
    scrollbar-color: var(--primary) var(--deep);
}

body::-webkit-scrollbar {
    width: 6px;
}

body::-webkit-scrollbar-track {
    background: var(--deep);
}

body::-webkit-scrollbar-thumb {
    background-color: var(--primary);
    border-radius: 20px;
}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Typography Enhancements */
h1, h2, h3, h4, .font-heading {
    letter-spacing: -0.04em;
    font-weight: 900;
}

/* Animations */
@keyframes reveal-up {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes reveal-left {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes reveal-right {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes bar-reveal {
    from { width: 0; }
}

/* Scroll Reveal Classes */
.reveal {
    opacity: 0;
    transition: all 1s ease-out;
}

.reveal.active {
    opacity: 1;
    animation: reveal-up 1s ease-out forwards;
}

.reveal-left {
    opacity: 0;
    transition: all 1s ease-out;
}

.reveal-left.active {
    opacity: 1;
    animation: reveal-left 1s ease-out forwards;
}

.reveal-right {
    opacity: 0;
    transition: all 1s ease-out;
}

.reveal-right.active {
    opacity: 1;
    animation: reveal-right 1s ease-out forwards;
}

.reveal-inner-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: all 1s ease-out;
}

.reveal-inner-left.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-inner-right {
    opacity: 0;
    transform: translateX(40px);
    transition: all 1s ease-out;
}

.reveal-inner-right.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-bar.active {
    animation: bar-reveal 1.5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

/* Custom Utilities */
.text-glow {
    text-shadow: 0 0 20px rgba(0, 178, 255, 0.5);
}

.bg-mesh {
    background-image: 
        radial-gradient(at 0% 0%, rgba(0, 178, 255, 0.15) 0, transparent 50%),
        radial-gradient(at 100% 100%, rgba(20, 241, 149, 0.1) 0, transparent 50%);
}

/* Image Hover Effects */
.img-glow:hover {
    box-shadow: 0 0 50px rgba(0, 178, 255, 0.4);
    transform: scale(1.02);
    transition: all 0.5s ease;
}

/* Floating Animation */
@keyframes float-subtle {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-10px) rotate(1deg); }
}

.float-subtle {
    animation: float-subtle 4s ease-in-out infinite;
}
