/* Custom utility classes and animations */

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.perspective-1000 {
    perspective: 1000px;
}

.rotate-y-\\[-15deg\\] {
    transform: rotateY(-15deg);
}
.rotate-x-\\[5deg\\] {
    transform: rotateX(5deg);
}
.hover\:rotate-0:hover {
    transform: rotateY(0) rotateX(0);
}

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

/* Fluid Blob Animations */
@keyframes blob {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

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

.animate-fade-in-up {
    opacity: 0;
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Disable selection on physics elements */
.floating-element {
    user-select: none;
    touch-action: none; /* Better mobile touch handling */
}
