/* Animaciones personalizadas */
@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);
    }
}

@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

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

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

.animation-delay-4000 {
    animation-delay: 4s;
}

.animation-delay-300 {
    animation-delay: 0.3s;
}

.animate-fade-in-up {
    animation: fade-in-up 0.8s ease-out;
}

/* Scroll suave */
html {
    scroll-behavior: smooth;
}

/* Mejoras de transición global */
* {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Mejora de la sombra en hover */
.hover\:shadow-2xl:hover {
    box-shadow: 0 25px 50px -12px rgba(0, 147, 217, 0.25);
}

/* Efecto de brillo en botones */
.group:hover .group-hover\:translate-x-1 {
    transform: translateX(0.25rem);
}

/* Mejoras responsivas adicionales */
@media (max-width: 640px) {
    .text-5xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    .text-7xl {
        font-size: 3rem;
        line-height: 1;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Fix para elementos que se salen del viewport en móviles */
@media (max-width: 640px) {
    .overflow-x-hidden {
        overflow-x: hidden;
    }

    body {
        overflow-x: hidden;
    }
}