/* Animaciones adicionales para UnitoolsPDF */

/* Animación para el área de carga cuando se selecciona un archivo */
.upload-area.upload-success {
    border-color: var(--secondary-color);
    background-color: rgba(28, 200, 138, 0.1);
    transform: scale(1.02);
    transition: all 0.5s ease;
}

.upload-area.upload-success .upload-icon {
    color: var(--secondary-color);
    animation: upload-success-bounce 0.8s ease-in-out;
}

@keyframes upload-success-bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-20px);
    }
    60% {
        transform: translateY(-10px);
    }
}

/* Mejoras en la animación de carga para toda la aplicación */
.loader-container {
    position: relative;
}

.loader-container::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle, rgba(78, 115, 223, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    animation: pulse-glow 2s ease-in-out infinite;
    z-index: -1;
}

@keyframes pulse-glow {
    0% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(1.5);
    }
    100% {
        opacity: 0.3;
        transform: scale(1);
    }
}

/* Efecto de transición para botones al hacer hover */
.action-btn {
    position: relative;
    overflow: hidden;
}

.action-btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    );
    transition: left 0.5s ease;
}

.action-btn:hover::after {
    left: 100%;
}

/* Mejora para previsualizar rangos */
.range-preview-container {
    min-height: 100px;
    transition: all 0.3s ease;
}

.range-thumbnails {
    opacity: 0;
    transform: translateY(10px);
    animation: fadeInUp 0.5s ease forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
